150 likes | 267 Views
Institute for Information Transmission Problems, Russian Academy of Sciences. Realization of IEEE802.11s draft standard in NS-3.3. Goals of our model:. Multi-interface Mesh Point Routing protocol above multi-interface mesh point Portal mesh point (bridging with another wired/wireless network)
E N D
Institute for Information Transmission Problems, Russian Academy of Sciences Realization of IEEE802.11s draft standard in NS-3.3 Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
Goals of our model: • Multi-interface Mesh Point • Routing protocol above multi-interface mesh point • Portal mesh point (bridging with another wired/wireless network) • Peer selection algorithm (using information from all interfaces) Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
New conceptions and modules: • Layer-2 (MAC) routing network device • Layer-2 (MAC) routing protocol • 802.11s MAC-layer and peer link management • TX-statistics: obtain information about transmitted packets. Used to calculate metric Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
Conception of L2RoutingNetDevice: • For upper layers it’s like a bridge, but can modify received packets (while bridge can’t) • Interacts with L2RoutingProtocol, which selects a port to send a packet. • Doesn’t depend on the type of routing protocol • Forwarding rules for data frames are simple (packet received from port): • My packet – send to upper layers • Not my unicast packet – pass through routing protocol • Broadcast packet – pass through routing protocol and send to upper layers Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
Conception of L2RoutingProtocol: • Interface is the same as in Ipv4RoutingProtocol: just give it a packet with ethernet header and a callback to execute when the route is resolved • L2RoutingProtocol receives all packets to be retransmitted or sent by L2RoutingNetDevice • L2RoutingProtocol keeps pending packets in a queue (one queue per destination); requires the whole packet and “ethernet header” of the packet • L2RoutingProtocol MUST add all needed tags (which can be determined at MAC-layer). Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
L2Routing Protocol Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
HWMP protocol: • Consists of two parts: • Main part (Hwmp), inherited from L2RoutingProtocol, stores forwarding information and decides, where to send a packet; all data packets go through this part of protocol • State-machine part (HwmpState), attached to MeshWifiMac, handles HWMP action frames and schedules action frames transmission • Adds a HwmpTag: retransmitter address, TTL field, sequence number field. Needed by MeshWifiMac to fill MeshHeader. Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
Structure of HWMP Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
IEEE802.11s MAC: • Consists of two parts: • MeshWifiMac (inherited from WifiMac): • Sends beacons • Forms all management frames using information elements (received from peer manager and Hwmp protocol) and sends them • Sends and receives data frames through active peer links • WifiPeerManager (supports interaction with multiple MeshWifiMac classes): • Collects information from beacons and initiates peer link management state machine • Tells MAC when to send peer link management frames • Keeps state machine for each peer link • Implements beacon collision avoidance mechanism • Implements an algorithm to choose peers, because of multi-interface support Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
Scheme of PeerManager and MeshWifiMac Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
TX-statistics: how we form it • Connected WifiRemoteStationManager class, and the following events are passed to TX-statistics module: • Each event like ACK (ReportDataOk method), or retransmission success/failure (ReportDataFailed, ReportFinalDataFailed methods), is passed to TX-statistics module • Each time we request a wifi mode for a packet – we give the length of the packet to statistics module • Statistics is calculated for (2-d distribution): • Each transmission rate • Each packet length – you set an interval length (in bytes) and statistics is stored for each packet length Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
TX-statistics: what does it keep • TX-statistics keeps the following (2-d distribution for each value): • Number of successfully transmitted packets and bytes • Number of retransmitted packets and bytes • Number of failed packets and bytes • The same for packets sent with CTS/RTS mechanism Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
Conclusion: • The following things are beyond draft 2.07: • Multi-interface • Peer link manager handles many interfaces • The following thing we have not implemented yet: • Mesh portal is not implemented now • Link metric report is not implemented now Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
Our code • You can see our code here (mercurial repository): http://forge.wenos.ru/hgprojects/ns3dev/ Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
Thank you for attention Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev