IEEE 802.11s (mesh) draft standard implementation. More...
Classes | |
class | ns3::dot11s::AirtimeLinkMetricCalculator |
Airtime link metric calculator. More... | |
struct | ns3::dot11s::PeerManagementProtocol::BeaconInfo |
Keeps information about beacon of peer station: beacon interval, association ID, last time we have received a beacon. More... | |
class | ns3::dot11s::DestinationAddressUnit |
Describes an address unit in PREQ information element See 7.3.2.96 for more details. More... | |
class | ns3::dot11s::Dot11sMeshCapability |
A set of values indicating whether a mesh STA is a possible candidate for mesh peering establishment (Section 8.4.2.100.8 of IEEE 802.11-2012) More... | |
class | ns3::Dot11sStack |
Helper class to allow easy installation of 802.11s stack. More... | |
struct | ns3::dot11s::HwmpProtocol::FailedDestination |
structure of unreachable destination - address and sequence number More... | |
class | ns3::dot11s::HwmpProtocol |
Hybrid wireless mesh protocol – a mesh routing protocol defined in IEEE 802.11-2012 standard. More... | |
class | ns3::dot11s::HwmpProtocolMac |
Interface MAC plugin for HWMP – 802.11s routing protocol. More... | |
class | ns3::dot11s::HwmpRtable |
Routing table for HWMP – 802.11s routing protocol. More... | |
class | ns3::dot11s::HwmpTag |
Hwmp tag implements interaction between HWMP protocol and MeshWifiMac. More... | |
class | ns3::dot11s::IeBeaconTiming |
See 7.3.2.89 of 802.11s draft 2.07. More... | |
class | ns3::dot11s::IeBeaconTimingUnit |
Information element describing one unit of beacon timing element. More... | |
class | ns3::dot11s::IeConfiguration |
Describes Mesh Configuration Element see 7.3.2.86 of 802.11s draft 3.0. More... | |
class | ns3::dot11s::IePeeringProtocol |
Mesh Peering Protocol Identifier information element Note that it does not permit to set any value besides zero (corresponding to mesh peering management protocol) More... | |
class | ns3::dot11s::IePerr |
See 7.3.2.98 of 802.11s draft 2.07. More... | |
class | ns3::dot11s::IePrep |
See 7.3.2.97 of 802.11s draft 2.07. More... | |
class | ns3::dot11s::IePreq |
See 7.3.2.96 of 802.11s draft 2.07. More... | |
class | ns3::dot11s::IeRann |
Root announcement (RANN) element. More... | |
struct | ns3::dot11s::HwmpRtable::LookupResult |
Route lookup result, return type of LookupXXX methods. More... | |
class | ns3::dot11s::MeshHeader |
Mesh Control field, see Section 8.2.4.7.3 IEEE 802.11-2012. More... | |
class | ns3::MeshHelper |
Helper to create IEEE 802.11s mesh networks. More... | |
struct | ns3::dot11s::HwmpProtocolMac::MyPerr |
MyPerr structure. More... | |
struct | ns3::dot11s::HwmpProtocol::PathError |
Structure of path error: IePerr and list of receivers: interfaces and MAC address. More... | |
class | ns3::dot11s::PeerLink |
Peer link model for 802.11s Peer Management protocol. More... | |
class | ns3::dot11s::PeerLinkCloseStart |
802.11s Peer link close management frame More... | |
class | ns3::dot11s::PeerLinkConfirmStart |
802.11s Peer link confirm management frame More... | |
class | ns3::dot11s::PeerLinkOpenStart |
802.11s Peer link open management frame More... | |
class | ns3::dot11s::PeerManagementProtocol |
802.11s Peer Management Protocol model More... | |
class | ns3::dot11s::PeerManagementProtocolMac |
This is plugin to Mesh WiFi MAC, which implements the interface to dot11s peer management protocol: it takes proper frames from MAC-layer, extracts peer link management information element and mesh configuration element and passes it to main part of protocol. More... | |
struct | ns3::dot11s::PeerLinkCloseStart::PlinkCloseStartFields |
fields: More... | |
struct | ns3::dot11s::PeerLinkConfirmStart::PlinkConfirmStartFields |
fields: More... | |
struct | ns3::dot11s::PeerManagementProtocolMac::PlinkFrameStart |
This structure keeps all fields in peer link management frame, which are not subclasses of WifiInformationElement. More... | |
struct | ns3::dot11s::PeerLinkOpenStart::PlinkOpenStartFields |
fields: More... | |
struct | ns3::dot11s::HwmpRtable::Precursor |
Route found in reactive mode. More... | |
struct | ns3::dot11s::HwmpProtocol::PreqEvent |
PreqEvent structure. More... | |
struct | ns3::dot11s::HwmpRtable::ProactiveRoute |
Route found in proactive mode. More... | |
struct | ns3::dot11s::HwmpProtocol::QueuedPacket |
Packet waiting its routing information. More... | |
struct | ns3::dot11s::HwmpRtable::ReactiveRoute |
Route found in reactive mode. More... | |
struct | ns3::dot11s::PeerManagementProtocol::Statistics |
Statistics structure. More... | |
struct | ns3::dot11s::PeerManagementProtocolMac::Statistics |
Statistics structure. More... | |
struct | ns3::dot11s::HwmpProtocol::Statistics |
Statistics structure. More... | |
struct | ns3::dot11s::HwmpProtocolMac::Statistics |
Statistics structure. More... | |
Typedefs | |
typedef std::vector< Ptr< IeBeaconTimingUnit > > | ns3::dot11s::IeBeaconTiming::NeighboursTimingUnitsList |
This type is a list of timing elements obtained from neighbours with their beacons: More... | |
IEEE 802.11s (mesh) draft standard implementation.
Current model conforms IEEE 802.11s D3.0 draft version and includes Peer Management Protocol and HWMP (routing) Protocol implementations.
The multi-interface mesh points are supported as an extension of IEEE draft version 3.0. Note that corresponding helper creates single interface station by default.
Implementation of 802.11s draft standard consists of two main parts: Peer management protocol and HWMP - Hybrid Wireless Mesh Protocol.
The task of peer management protocol is the following: -open links detecting beacons and starting peer link finite state machine. -close peer links due to transmission failures or beacon loss.
If peer link between sender and receiver does not exist, the packet will be dropped. So, the plug-in to peer management protocol is the first in the list of ns3::MeshWifiInterfaceMacPlugin
Peer management protocol consists of three main parts:
Procedure of closing peer link is not described detailed in 802.11s draft standard, so in our model the link may be closed by:
Also Peer management protocol is responsible for beacon collision avoidance, because it keeps beacon timing elements from all neighbours. Note, that PeerManagementProtocol is not attached to MeshPointDevice as a routing protocol, but the structure is similar: the upper tier of protocol ns3::dot11s::PeerManagementProtocol and its plug-in is ns3::dot11s::PeerManagementProtocolMac.
HWMP is implemented in both modes – reactive and proactive. Also we have implemented an ability to transmit broadcast data and management frames as unicasts (see appropriate attributes). This feature turns off at a station when the number of neighbours of the station is more than a threshold.
typedef std::vector< Ptr<IeBeaconTimingUnit> > ns3::dot11s::IeBeaconTiming::NeighboursTimingUnitsList |
This type is a list of timing elements obtained from neighbours with their beacons:
Definition at line 98 of file ie-dot11s-beacon-timing.h.
Spread/not spread frequency channels of MP interfaces.
If set to true different non-overlapping 20MHz frequency channels will be assigned to different mesh point interfaces.
Enumerator | |
---|---|
SPREAD_CHANNELS | |
ZERO_CHANNEL |
Definition at line 132 of file mesh-helper.h.
|
private |
Peer link events, see 802.11s draft 11B.3.3.2.
Definition at line 134 of file peer-link.h.
Peer Link state:
Enumerator | |
---|---|
IDLE | |
OPN_SNT | |
CNF_RCVD | |
OPN_RCVD | |
ESTAB | |
HOLDING |
Definition at line 58 of file peer-link.h.
Codes used by 802.11s Peer Management Protocol.
Definition at line 34 of file ie-dot11s-peer-management.h.