当前位置: 首页 > news >正文

ns-3仿真_wifi发送链路简单解析

 

  ns3的官方手册很全,相关书籍也是有的,官网先贴在这里:

ns-3 | a discrete-event network simulator for internet systemsa discrete-event network simulator for internet systemshttps://www.nsnam.org/相关的脚本介绍也都有一些:

ns-3.35_wifi-he-network.cc_ns-3网络仿真工具wifi脚本解析_wifi脚本网络拓扑_ns-3wifi6吞吐脚本关键注释_吞吐部分_基础ns-3_ns3.35-CSDN博客

ns-3-model-library wifi 浅析_ns-3wifi部分解析_ns-3网络模拟器wifi部分文档分析_Part1_ns3 wifiphy物理层冲突-CSDN博客

ns-3-model-library wifi 浅析_ns-3wifi部分解析_ns-3网络模拟器wifi部分文档分析_Part2_yansphy-CSDN博客

在进行wifi仿真的时候,我们偶尔会因为网络结构复杂,找不到数据包如何逐级下发上传,所以我单独建立了一个很简单的网络,网络拓扑如下:

  positionAlloc->Add (Vector (0.0, 0.0, 0.0)); // AP1positionAlloc->Add (Vector (20.0, 0.0, 0.0)); // AP2positionAlloc->Add (Vector (10.0, 0.0, 0.0)); // STA

只看AP1和STA的数据交换,STA的NodeID是0,AP1的NodeID是1,以下是传输的log

+3.300000000s 0 UdpClient:Send(0x61ce9c70d9f0)
+3.300000000s 0 Ipv4L3Protocol:SourceAddressSelection(0x61ce9c807680, 1, " ", 192.168.1.0)
+3.300000000s 0 Ipv4L3Protocol:Send(0x61ce9c807680, 0x61ce9c80c4b0, 192.168.1.2, 192.168.1.1, 17, 0x61ce9c6b1500)
+3.300000000s 0 Ipv4L3Protocol:BuildHeader(0x61ce9c807680, 192.168.1.2, 192.168.1.1, 17, 1480, 64, 0, 1)
+3.300000000s 0 Ipv4L3Protocol:Send(): [LOGIC] Ipv4L3Protocol::Send case 1b:  passed in with route and valid gateway
+3.300000000s 0 Ipv4L3Protocol:SendRealOut(0x61ce9c807680, 0x61ce9c6b1500, 0x61ce9c745e00, 0x7ffc95366f08)
+3.300000000s 0 Ipv4L3Protocol:SendRealOut(): [LOGIC] Send via NetDevice ifIndex 0 ipv4InterfaceIndex 1
+3.300000000s 0 Ipv4L3Protocol:SendRealOut(): [LOGIC] Send to destination 192.168.1.1
+3.300000000s 0 WifiMac:Enqueue(0x61ce9c7e4750, 0x61ce9c745e00, 00:00:00:00:00:02)
+3.300000000s 0 WifiMac:Enqueue(0x61ce9c7e4750, 0x61ce9c745e00, 00:00:00:00:00:02, 00:00:00:00:00:01)
+3.300000000s 0 WifiMac:Enqueue(0x61ce9c7e4750, 0x61ce9c745e00, 00:00:00:00:00:02, 00:00:00:00:00:01, 0)
+3.300000000s 0 UdpClient:Send(): [INFO ] TraceDelay TX 1472 bytes to 192.168.1.1:9 Uid: 368 Time: +3.3s
+3.300240066s 1 WifiMac:ForwardUp(0x61ce9c7ef100, 0x61ce9c745e00, 00:00:00:00:00:01, 00:00:00:00:00:02)
+3.300240066s 1 Ipv4L3Protocol:Receive(0x61ce9c800fa0, 0x61ce9c61bbd0, 0x61ce9c7e4680, 2048, 06-06-00:00:00:00:00:01, 06-06-00:00:00:00:00:02, 0)
+3.300240066s 1 Ipv4L3Protocol:Receive(): [LOGIC] Packet from 06-06-00:00:00:00:00:01 received on node 1
+3.300240066s 1 Ipv4L3Protocol:IsDestinationAddress(): [LOGIC] For me (destination 192.168.1.1 match)
+3.300240066s 1 Ipv4L3Protocol:LocalDeliver(0x61ce9c800fa0, 0x61ce9c814470, 0x7ffc95365528, 1)
+3.300240066s 1 UdpServer:HandleRead(0x61ce9c7ec870, 0x61ce9c81a0b0)
+3.300240066s 1 UdpServer:HandleRead(): [INFO ] TraceDelay: RX 1472 bytes from 192.168.1.2 Sequence Number: 23 Uid: 368 TXtime: +3.3e+09ns RXtime: +3.30024e+09ns Delay: +240066ns

可以看到UDP先发,数据包到达IP,数据包进入MAC,Enqueue后FowardUP,再IP,最终到UDPserver。

http://www.xdnf.cn/news/679825.html

相关文章:

  • IEEE出版|2025年智能制造、机器人与自动化国际学术会议 (IMRA2025)
  • 精准调控:基于 SWMM 动态控制规则的合流制排水系统溢流污染防治技术
  • 开源模型应用落地-模型上下文协议(MCP)-安全认证的创新与实践探索(十)
  • 商城前端监控体系搭建:基于 Sentry + Lighthouse + ELK 的全链路监控实践
  • Unity Sherpa-onnx 笔记
  • Python冲刺10天-如何实现基本的矩阵运算
  • 多线程(1)
  • async和await如何捕获异常
  • 两个线程交替打印1-100
  • UWB:litepoint获取txquality里面的NRMSE
  • CSV数据处理全指南:从基础到实战
  • 第六十八篇 从“超市收银系统崩溃”看JVM性能监控与故障定位实战
  • 递归函数,数学表达式转化成递归函数
  • Spring Boot 深度集成 Ollama 指南:从聊天模型配置到生产级应用开发
  • 【STM32】HAL库 之 CAN 开发指南
  • 常用的数据分布
  • [小白]Docker部署kingbase(人大金仓)数据库[超详细]
  • win11如何重启
  • 算法打卡第八天
  • 工业控制系统的神经网络:TSN交换机是如何改变自动化通信的?
  • Python训练营打卡Day38
  • 【DSP笔记】解锁频率之秘:Z 变换与离散傅里叶变换的深度探索
  • 一些视觉应用中的数学小知识点总结
  • Mate桌面环境系统与终端模拟器参数配置
  • ai客服平台哪家好:AnKo多模型AI聚合时代!
  • Python实现自动物体识别---基于深度学习的AI应用实战
  • 【Git】Commit Hash vs Change-Id
  • 浏览器缓存详细介绍
  • API平台(API网关)的API监控预警机制
  • 欧几里得 ---> 裴蜀定理 ---> 拓展欧几里得