A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
dot11s.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2009 IITP RAS
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Author: Pavel Boyko <boyko@iitp.ru>
7 *
8 * This is doxygen module description, don't include
9 */
10/**
11 * \ingroup mesh
12 * \defgroup dot11s IEEE 802.11s draft
13 *
14 * \brief IEEE 802.11s (mesh) draft standard implementation
15 *
16 * Current model conforms IEEE 802.11s D3.0 draft version and includes
17 * Peer Management Protocol and HWMP (routing) Protocol implementations.
18 *
19 * The multi-interface mesh points are supported as an
20 * extension of IEEE draft version 3.0. Note that corresponding helper
21 * creates single interface station by default.
22 * \section Dot11s Overview of IEEE 802.11s
23 * Implementation of 802.11s draft standard consists of two main parts:
24 * Peer management protocol and HWMP - Hybrid Wireless Mesh Protocol.
25 *
26 * The task of peer management protocol is the following:
27 * -open links detecting beacons and starting peer link finite
28 * state machine.
29 * -close peer links due to transmission failures or beacon loss.
30 *
31 * If peer link between sender and receiver does not exist, the packet will be dropped.
32 * So, the plug-in to peer management protocol is the first in the list of
33 * ns3::MeshWifiInterfaceMacPlugin
34 * \subsection PMP Peer management protocol
35 * Peer management protocol consists of three main parts:
36 * - Protocol itself ns3::dot11s::PeerManagementProtocol, which keeps all active peer links on
37 * interfaces, handles all changes of their states and notifies a routing protocol about link
38 * failures.
39 * - MAC plug-in ns3::dot11s::PeerManagementProtocolMac which drops packet, if there is no peer
40 * link, and peek all needed information from management frames and information elements from
41 * beacons.
42 * - Peer link ns3::dot11s::PeerLink which keeps finite state machine of each peer link, keeps
43 * beacon loss counter and counter of successive transmission failures.
44 *
45 * Procedure of closing peer link is not described detailed in 802.11s draft standard, so in our
46 * model the link may be closed by:
47 * - beacon loss (see an appropriate attribute of ns3::dot11s::PeerLink class)
48 * - transmission failure -- when a predefined number of successive packets have failed to
49 * transmit, the link will be closed.
50 *
51 * Also Peer management protocol is responsible for beacon collision avoidance, because it keeps
52 * beacon timing elements from all neighbours.
53 * Note, that PeerManagementProtocol is not attached to MeshPointDevice as a routing protocol,
54 * but the structure is similar: the upper tier of protocol ns3::dot11s::PeerManagementProtocol
55 * and its plug-in is ns3::dot11s::PeerManagementProtocolMac.
56 *
57 * \subsection HWMP Hybrid Wireless Mesh Protocol
58 * HWMP is implemented in both modes -- reactive and proactive. Also we have implemented an ability
59 * to transmit broadcast data and management frames as unicasts (see appropriate attributes).
60 * This feature turns off at a station when the number of neighbours of the station is more than a
61 * threshold.
62 */