原文:http://fajun82.blog.163.com/blog/static/1629225272010417114025200/
ns3 中 MAC 层专门为 WMN (802.11s)定制了很多类,还有一个专门的 Helper 类:
MeshPointDevice 与 WifiNetDevice 对应,MeshPointDevice 是个虚拟设备,而WifiNetDevice 是实体网络设备,MeshPointDevice 积聚了多个实体网络设备,有一个属性 m_ifaces 是Ptr<NetDevice> 的 Vector 类型。而WifiNetDevice 包含了 WifiChannel, WifiPhy, WifiMac 和WifiRemoteStationManger 这些对象。
一个Mesh Point 最后一般安装了三个 NetDevice, 一个是 MeshPointDevice, 另一个就是WifiNetDevice, 还有一个是LoopBackNetDevice. 其中前两个是在 MeshHelper::install的时候安装上去的, WifiNetDevice 还是 MeshPointDevice 的 m_ifaces 的一个成员,而LoopBackNetDevice 是 InternetStackerHelper::install 的时候安装上去的。
MeshPointDevice 最重要的目的就是加入 L2 层路由协议。路由协议必定涉及到链路状态管理,所以定义了自己的 Beacon以及 PeerManagement 等。
ns3 中 MAC 层专门为 WMN (802.11s)定制了很多类,还有一个专门的 Helper 类:
- ns3::MeshHelper,Helper to create IEEE 802.11s mesh networks;
- ns3::MeshWifiInterfaceMac, Basic MAC of mesh point Wi-Fiinterface. Its function is extendable through pluginsmechanism;
- ns3::MeshWifiInterfaceMacPlug
in, Common interface for meshpoint interface MAC plugins;
- ns3::Dot11sStack,Helper class to allow easy installation of 802.11s stack
- ns3::MeshPointDevice,Virtual net device modeling mesh point;
- ns3::MeshL2RoutingProtocol, Interface for L2 mesh routingprotocol and mesh point communication;
- ns3::MeshStack,Prototype for class, which helps to install MAC-layer routing stackto ns3::MeshPointDevice;
- ns3::MeshWifiBeacon,Beacon is beacon header + list of arbitrary informationelements;
- ns3::dot11s::PeerManagementProtocolMa
c, This is plugin to MeshWiFi MAC, which implements interface to dot11s peer managementprotocol: it takes proper frames from MAC-layer, extracts peer linkmanagement information element and mesh configuration element andpasses it to main part of protocol - ns3::dot11s::MeshHeader, Mesh Control field, see IEEE 802.11sdraft 3.0 section 7.1.3.5b;
- ns3::dot11s::PeerLinkFrameStart, 802.11s Peer link managementframe:
- ns3::dot11s::PeerLink, Peer link model for 802.11s PeerManagement protocol;
- ns3::dot11s::Dot11sMeshCapability, See 7.3.2.86.7 in 802.11sdraft 3.0;
- ns3::dot11s::HwmpProtocolHybrid wireless mesh protocol -- arouting protocol of IEEE 802.11s draft
- ns3::dot11s::HwmpProtocolMacInterface MAC plugin for HWMP --802.11s routing protocol
- ns3::dot11s::HwmpRtableRouting table for HWMP -- 802.11srouting protocol
- ns3::dot11s::HwmpTagHwmp tag implements interaction betweenHWMP protocol and MeshWifiMac
- ns3::dot11s::PeerManagementProtocol, 802.11s Peer ManagementProtocol model;
- ns3::dot11s::IeBeaconTimingSee 7.3.2.89 of 802.11s draft2.07
- ns3::dot11s::IeConfigurationDescribes Mesh ConfigurationElement see 7.3.2.86 of 802.11s draft 3.0
- ns3::dot11s::IeLinkMetricReportIEEE 802.11s Mesh ID 7.3.2.88 of802.11s draft 3.0
- ns3::dot11s::IeMeshIdIEEE 802.11s Mesh ID 7.3.287 of 802.11sdraft 3.0
-
ns3::dot11s::IePeeringProtocol - ns3::dot11s::IePeerManagementSee 7.3.2.85 of draft 2.07
- ns3::dot11s::IePerrSee7.3.2.98 of 802.11s draft 2.07
- ns3::dot11s::IePrepSee7.3.2.97 of 802.11s draft 2.07
- ns3::dot11s::IePreqSee7.3.2.96 of 802.11s draft 2.07
- ns3::dot11s::IeRannSee7.3.2.95 of 802.11s draft 2.07
MeshPointDevice 与 WifiNetDevice 对应,MeshPointDevice 是个虚拟设备,而WifiNetDevice 是实体网络设备,MeshPointDevice 积聚了多个实体网络设备,有一个属性 m_ifaces 是Ptr<NetDevice> 的 Vector 类型。而WifiNetDevice 包含了 WifiChannel, WifiPhy, WifiMac 和WifiRemoteStationManger 这些对象。
一个Mesh Point 最后一般安装了三个 NetDevice, 一个是 MeshPointDevice, 另一个就是WifiNetDevice, 还有一个是LoopBackNetDevice. 其中前两个是在 MeshHelper::install的时候安装上去的, WifiNetDevice 还是 MeshPointDevice 的 m_ifaces 的一个成员,而LoopBackNetDevice 是 InternetStackerHelper::install 的时候安装上去的。
MeshPointDevice 最重要的目的就是加入 L2 层路由协议。路由协议必定涉及到链路状态管理,所以定义了自己的 Beacon以及 PeerManagement 等。