NS-Mac-802_11 说明文档:实现 IEEE802.11 DCF

需积分: 10 1 下载量 33 浏览量 更新于2024-07-29 1 收藏 785KB PDF 举报
"NS-Mac-802_11-Document-Public_Release" 这篇文档是关于在NS(网络模拟器)环境中实现802.11无线局域网协议的详细说明。802.11是IEEE制定的一系列标准,主要用于定义无线局域网(WLAN)的技术规范,包括数据传输速率、信号频段和加密方式等。NS是一个广泛使用的网络仿真软件,用于研究和分析各种网络协议和系统。 文档中提到了几个关键的类和功能,如`Mac802_11`,它是基于`Mac`基类的,用于实现802.11的分布式协调功能(DCF)。DCF是802.11的一个核心特性,它规定了如何在多个设备之间公平地共享无线介质,以避免冲突。 文档中的`Mac802_11`类包含了多个定时器,它们在802.11协议的执行过程中起到关键作用: 1. `IFTimer`:接口定时器,可能用于处理接口相关的事件,如监听信道。 2. `NavTimer`:导航定时器(NAV,Network Allocation Vector),用于控制节点在多长时间内不能发送数据,以避免与正在进行传输的其他节点发生冲突。 3. `RxTimer`:接收定时器,可能用于处理接收到的数据包的处理和解码。 4. `TxTimer`:发送定时器,用于管理数据包的发送过程。 5. `DeferTimer`:退避定时器,用于在竞争期后随机等待一段时间再尝试发送数据,以减少冲突。 6. `BackoffTimer`:退避定时器,是DCF的一部分,用于在检测到信道忙时进行随机退避,进一步减少冲突。 此外,`Mac802_11`类还包含了一些状态变量,如`rx_state_`和`tx_state_`,分别表示接收和发送状态,它们可能有`MAC_RECV`, `MAC_IDLE`, `MAC_COLL`, `MAC_SEND`, `MAC_RTS`, `MAC_CTS`, 和 `MAC_ACK`等不同的状态,这些状态对应于802.11帧交换的不同阶段。 `tx_active_`是一个布尔变量,表明发送器是否处于活动状态。`uptarget_`, `EOTtarget_`和`downtarget_`则是指向不同层次的网络对象,例如上层逻辑链路层(LL)、传输结束目标和下层网络接口,它们在数据包的传输过程中扮演重要角色。 文档中还提到了几个用于存储数据包的变量,如`pktRTS_`, `pktCTRL_`, `pktRx_`和`pktTx_`,它们分别用于存储待发送的RTS(请求发送)包、控制包、接收到的包和待发送的数据包。 这份文档提供了关于NS中802.11 MAC层实现的详细信息,包括关键的定时器、状态管理和数据包处理机制,对于理解802.11协议在仿真环境中的工作原理非常有帮助。