美文网首页
NS3:802.11 DCF (一个AP,多节点)

NS3:802.11 DCF (一个AP,多节点)

作者: 小超超爱超超 | 来源:发表于2017-07-20 19:55 被阅读0次

一. 一些基础必备点:

           无线AP,即Access Point,也就是无线接入点。简单来说就是无线网络中的无线交换机,它是移动终端用户进入有线网络的接入点。

         可以实现两个无线设备通讯,也可以起到放大信号的作用,而产品的SSID也可以不同。

        AP的一个重要的功能就是中继,所谓中继就是在两个无线点间把无线信号放大一次,使得远端的客户端可以接受到更强的无线信号。

            最后一个功能是“主从模式”,在这个模式下工作的AP会被主AP或者无线路由看做是一台无线客户端。

           一般的无线AP还带有接入点客户端模式,也就是说AP之间可以进行无线链接。

         单纯型AP由于缺少了路由功能,相当于无线交换机,仅仅是提供一个无线信号发射的功能。

          它的工作原理是将网络信号通过双绞线传送过来,经过无线AP的编译,将电信号转换成为无线电讯号发送出来,形成无线网络的覆盖。根据不同的功率,网络覆盖程度也是不同的,一般无线AP的最大覆盖距离可达400米。

          扩展型AP就是我们常说的无线路由器了。无线路由器,顾名思义就是带有无线覆盖功能的路由   器,它主要应用于用户上网和无线覆盖。通过路由功能,可以实现家庭无线网络中的Internet连接共享,也能实现ADSL和小区宽带的无线共享接入 。值得一提的是,可以通过无线路由器把无线和有线连接的终端都分配到一个子网,使得子网内的各种设备可以方便的交换数据。

二. 设置RTS阈值和Fragmentation阈值

图一  RTS/CTS模式使能

三. 设置网络为饱和状态

myClient.SetAttribute ("MaxPackets", UintegerValue (4294967295u));  // 饱和状态???

四. 设置slot(时隙)、SIFS等参数

图二 设置  slot, SIFS 图三 添加命令行参数用于启用和停止记录组件,改变设备创建的数量 图四 重新配置标准定时值 图五 无RTS/CTS模式和无分包方式

五. 实际在802.11a中slot、SIFS、DIFS和仿真是一致的,不需修改。

图六 802.11a 设置符合论文参数设计

这里仍然是RTS阈值的设置;

图七 RTS/CTS模式转换

六. 问题出现:

       数据包PacketSize只能小于1500bytes,否则报错,下面是PacketSize设置为1200bytes的吞吐量:

图八 50节点1个AP

       这里是设置速率为54Mbps:

图九 设置速率

     下面是节选自参考网上RTS阈值设置,起初以为是RTS阈值设置错误或者设置不起作用等原因造成报错:

uint32_t rtsThreshold = 65535;

cmd.AddValue ("rtsThreshold", "RTS threshold", rtsThreshold);

wifi.SetRemoteStationManager (staManager, "RtsCtsThreshold", UintegerValue (rtsThreshold));

wifi.SetRemoteStationManager (apManager, "RtsCtsThreshold", UintegerValue (rtsThreshold));

std::string staManager = "ns3::MinstrelHtWifiManager";

std::string apManager = "ns3::MinstrelHtWifiManager";

查看classess:发现udp-client中数据包设置在12-1500bytes范围:

图十 udpclient数据包大小(12-1500bytes)

在udp-client.cc中发现命令MakeUintegerChecker<uint32_t> (12, 1500)

图十一 PacketSize设置

 重点:

       起初数据包只要超过1500bytes,程序就会出错,几天下来以为是RtsCtsThreshold的设置不起作用,几经折腾,最后在udp-client.cc头文件中修改packetSize(1500bytes变为999999bytes),重新运行和编译,这样当仿真数据包长大于1500bytes时不会再报错了。

图十二 更改udp-client.cc中PacketSize1500为999999 图十三 更改数据包长1500为999999bytes成功获得吞吐量

相关文章

网友评论

      本文标题:NS3:802.11 DCF (一个AP,多节点)

      本文链接:https://www.haomeiwen.com/subject/lopjkxtx.html