Realization of IEEE802.11s draft standard in NS-3.3

Wireless Software R&D Group, IITP RAS
Realization of IEEE802.11s draft
standard in NS-3.3
Institute for Information
Transmission Problems, Russian
Academy of Sciences
Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
Wireless Software R&D Group, IITP RAS
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
Wireless Software R&D Group, IITP RAS
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
Wireless Software R&D Group, IITP RAS
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
Wireless Software R&D Group, IITP RAS
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
Wireless Software R&D Group, IITP RAS
L2Routing Protocol
Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
Wireless Software R&D Group, IITP RAS
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
Wireless Software R&D Group, IITP RAS
Structure of HWMP
Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
Wireless Software R&D Group, IITP RAS
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 multiinterface support
Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
Wireless Software R&D Group, IITP RAS
Scheme of PeerManager and MeshWifiMac
Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
Wireless Software R&D Group, IITP RAS
TX-statistics: how we form it

Connected WifiRemoteStationManager class,
and the following events are passed to TXstatistics module:



Each event like ACK (ReportDataOk method), or
retransmission success/failure (ReportDataFailed,
ReportFinalDataFailed methods), is passed to TXstatistics 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
Wireless Software R&D Group, IITP RAS
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
Wireless Software R&D Group, IITP RAS
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
Wireless Software R&D Group, IITP RAS
Our code
• You can see our code here (mercurial
repository):
http://forge.wenos.ru/hgprojects/ns3dev/
Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev
Wireless Software R&D Group, IITP RAS
Thank you for attention
Kirill Andreev, Aleksey Kovalenko, Dmitriy Lakontsev