首页 > 编程语言 >NS-3源码学习(四)wifi-ent-network.cc

NS-3源码学习(四)wifi-ent-network.cc

时间:2023-11-29 12:22:33浏览次数:51  
标签:OFDMA network cc double 确认 ACK 源码 bool STA

NS-3源码学习(四)wifi-ent-network.cc

设定的参数

  • bool udp{true};udp/tcp 通信选择

  • bool downlink{true};AP -> STA : downlink = true / STA -> AP : downlink = false 数据发送方向选择

  • bool useExtendedBlockAck{false}; 启用扩展块确认,默认不启用,即块确认的大小为64,启用后块确认缓冲区大小会被修改为256

  • Enhanced Multi-Level Soft Recovery(增强型多级软恢复),暂时不知道这个参数有什么用

    • bool useExtendedBlockAck{false};

    • std::string emlsrLinks;

    • uint16_t paddingDelayUsec{32};

    • uint16_t transitionDelayUsec{128};

    • uint16_t channelSwitchDelayUsec{100};

    • bool switchAuxPhy{true};

  • double simulationTime{10};仿真时间,即该仿真网络运行的时间,单位为秒

  • double distance{1.0};AP结点和STA结点之间的距离,该仿真系统是一个静态系统,AP与STA之间的距离保持不变

    • 默认情况下原始的仿真程序仅含有一个STA和一个AP,因此这里仅提供了一个距离的参数。所以在这种仅提供一个距离参数的情况下,若设置了多个STA结点,多余的STA节点的位置是无法受控制的
  • 三个频率:double frequency{5}; 、double frequency2{0}; 、double frequency3{0};

    • 这里应该是指的STA或AP结点支持的频率,这三个频率吧不能设置为同样的值,除非为0
  • std::size_t nStations{1};STA结点的数量

  • std::string dlAckSeqType{"NO-OFDMA"};802.11ACK报文的确认格式

    • 此处提供了四个选项:NO-OFDMA, ACK-SU-FORMAT, MU-BAR, AGGR-MU-BAR

    • NO-OFDMAACK-SU-FORMAT:默认的块确认类型,不使用OFDMA,确认块占用一整个信道,仅对单一的某个数据的发送方进行确认

    • MU-BAR:使用WifiAcknowledgment::DL_MU_TF_MU_BAR机制进行块确认,即单个用户发送块之前先通知,并使用Multi-User Block Acknowledgment机制来进行确认,该机制允许接收端在一个块确认帧中对多个发送的用户进行确认

    • AGGR-MU-BAR:改进的多用户确认格式

  • bool enableUlOfdma{false}; 对上行链路启动OFDMA,一般来说在TCP通信中使用,因为UDP通信的过程中数据接收端仅需要向发送端回复MAC层的ACK报文,因此上下行的划分是清晰明了的,对ACK报文的确认格式也可以在上面的参数进行设置,而且即使不启动上行的OFDMA,考虑到ACK报文很短,也不会对速度造成很大的影响。但是对于TCP通信,上下行都会传输大量的数据包,因此需要设定上行链路是否启动OFDMA。

    • bool enableBsrp{false};该参数的设置和上述参数相关,在设置上下行均启动OFDMA且使用TCP通信的情况下,该参数决定是否启动BSRP报告,BSRP 可用于在 Wi-Fi 6 网络中报告传输缓冲区的状态信息
  • int mcs{0}; mcs值设置,默认为0,下表来源 新华三Wi-Fi 7技术白皮书-6W100

    img

  • int channelWidth{20};信道宽度,单位为MHz,对于2.4GHz可以取20,40;对于5GHz和6GHz,可以取20,40,80,160;暂时不能取320MHz(仅存在于6GHz)宽度的信道

    • 而且,当前国内对无线电的管理政策中也没有允许WiFi使用6GHz的信道
  • int gi{3200};物理层传输的符号之间的间隔,可以取800,1600和3200,单位为纳秒

  • uint32_t payloadSize =700;一个UDP或TCP包的大小,注意到这个值不能过大,过大会导致在过小的mcs值的情况下无法在规定的时间内传输完整个数据包

  • Time tputInterval{0};每隔tputInterval时间输出一次这段时间的传输速率

  • double minExpectedThroughput{0};、double maxExpectedThroughput{0};设置了最小和最大的传输速率,若统计的速率超过这个范围则会报错

  • Time accessReqInterval{0};多用户请求信道访问之间的时间间隔,一般来说,会用到某个信道内多个STA,或单一STA与AP进行TCP通信时使用

  • u_int64_t udpMaxPackets{4294967295U};UDP通信过程中传输的数据包的数量,这里设置为了一个很大的数字,代表将在整个仿真时间内大量的传输数据,用来测试该网络中传输速率的极限。

开启RTS机制

img

img

ACK报文类型

img

标签:OFDMA,network,cc,double,确认,ACK,源码,bool,STA
From: https://www.cnblogs.com/polariszg/p/17864545.html

相关文章

  • 亚马逊云科技基于 Polygon 推出首款 Amazon Managed Blockchain Access,助 Web3 开发人
     2023年11月26日,亚马逊(Amazon)旗下AmazonWebServices(Amazon)在其官方博客上宣布,AmazonManagedBlockchain(AMB)Access已支持PolygonProof-of-Stake(POS)网络,并将满足各种场景的需求,包括需要以高可用方式频繁访问PolygonJSON-RPCAPI的场景以及需要间歇性、不......
  • 论文:FEED-FORWARD NETWORKS WITH ATTENTION CAN SOLVE SOME LONG-TERM MEMORY PROBLEM
    题目:FEED-FORWARDNETWORKSWITHATTENTIONCANSOLVESOMELONG-TERMMEMORYPROBLEMS”(Raffel和Ellis,2016,p.1)“带有注意力的前馈网络可以解决一些长期记忆问题”(Raffel和Ellis,2016,p.1)(pdf)这篇论文提出了一种适用于前馈神经网络的简化注意力模型,并展示了......
  • Nacos源码(三):SpringCloud-Nacos客户端注册源码分析
    1、服务注册源码入口在笔记(二):Nacos环境搭建中提到Nacos作为注册中心,在服务启动类中可通过添加可选配置注解@EnableDiscoveryClient,那么就先从这个注解入手,开启SpringCloud的Nacos注册中心的源码分析。EnableDiscoveryClient注解详情:EnableDiscoveryClientImport......
  • 3. Linux 源码编译 001
    重点:rpm-i-e-qi-ql-qf-qa--scripts。yuminstallremoveinfolistrepolistprovides。配置系统源。搭建私有仓库服务器。源码编译安装。ubuntudpkgapt/etc/apt/sources.list。1)介绍源码编译虽然有很多开源项目将软件打成RPM包,供人们使用,但并不是所有源代......
  • 使用Accelerate库在多GPU上进行LLM推理
    大型语言模型(llm)已经彻底改变了自然语言处理领域。随着这些模型在规模和复杂性上的增长,推理的计算需求也显著增加。为了应对这一挑战利用多个gpu变得至关重要。所以本文将在多个gpu上并行执行推理,主要包括:Accelerate库介绍,简单的方法与工作代码示例和使用多个gpu的性能基准测......
  • 20231128 - 重启Centos后无法远程连接,重启网络服务报错:Error:Failed to start LSB: Br
    1.https://blog.csdn.net/m0_74953387/article/details/1329143062.https://blog.csdn.net/weixin_45894220/article/details/130487066......
  • 基于springboot的课程作业管理系统-计算机毕业设计源码+LW文档
    一、 研究目的和意义当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能......
  • 基于springboot的社区团购系统-计算机毕业设计源码+LW文档
    1、立论依据(课题来源、选题依据和背景情况、课题研究目的、理论意义和实际应用价值)(1)课题来源、选题依据和背景情况 本课题来自于自拟项目。 近年来,全球经济的高速发展,在一定程度上,促进了互联网技术的发展,信息化管理行业在生活中占据着越来越重要的地位,使得人们的生活方式发......
  • SQLC - ERROR: relation "accounts" does not exist
    Copiedtheexampleofsqlc.yamlgeneratedby'sqlcinit'from https://docs.sqlc.dev/en/stable/tutorials/getting-started-postgresql.html#.Changeditasfollowing:version:"2"sql:-engine:"postgresql"queries:&quo......
  • 在idea中无法查看org.springframework.cglib.core.Signature.java 源码
    一、现象1.点击ideaDownloadSource,没有变化;ChouseSource也无济于事。2.打开下载的源码包,惊奇的发现确实没有对应的源码。3.问题发生在哪儿?原来是这些包原本不属于spring,spring在编译的时候直接修改了包名称。 ......