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 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 *
17 * Author: Pavel Boyko <boyko@iitp.ru>
18 *
19 * This is doxygen module description, don't include
20 */
21/**
22 * \ingroup mesh
23 * \defgroup dot11s IEEE 802.11s draft
24 *
25 * \brief IEEE 802.11s (mesh) draft standard implementation
26 *
27 * Current model conforms IEEE 802.11s D3.0 draft version and includes
28 * Peer Management Protocol and HWMP (routing) Protocol implementations.
29 *
30 * The multi-interface mesh points are supported as an
31 * extension of IEEE draft version 3.0. Note that corresponding helper
32 * creates single interface station by default.
33 * \section Dot11s Overview of IEEE 802.11s
34 * Implementation of 802.11s draft standard consists of two main parts:
35 * Peer management protocol and HWMP - Hybrid Wireless Mesh Protocol.
36 *
37 * The task of peer management protocol is the following:
38 * -open links detecting beacons and starting peer link finite
39 * state machine.
40 * -close peer links due to transmission failures or beacon loss.
41 *
42 * If peer link between sender and receiver does not exist, the packet will be dropped.
43 * So, the plug-in to peer management protocol is the first in the list of
44 * ns3::MeshWifiInterfaceMacPlugin
45 * \subsection PMP Peer management protocol
46 * Peer management protocol consists of three main parts:
47 * - Protocol itself ns3::dot11s::PeerManagementProtocol, which keeps all active peer links on
48 * interfaces, handles all changes of their states and notifies a routing protocol about link
49 * failures.
50 * - MAC plug-in ns3::dot11s::PeerManagementProtocolMac which drops packet, if there is no peer
51 * link, and peek all needed information from management frames and information elements from
52 * beacons.
53 * - Peer link ns3::dot11s::PeerLink which keeps finite state machine of each peer link, keeps
54 * beacon loss counter and counter of successive transmission failures.
55 *
56 * Procedure of closing peer link is not described detailed in 802.11s draft standard, so in our
57 * model the link may be closed by:
58 * - beacon loss (see an appropriate attribute of ns3::dot11s::PeerLink class)
59 * - transmission failure -- when a predefined number of successive packets have failed to
60 * transmit, the link will be closed.
61 *
62 * Also Peer management protocol is responsible for beacon collision avoidance, because it keeps
63 * beacon timing elements from all neighbours.
64 * Note, that PeerManagementProtocol is not attached to MeshPointDevice as a routing protocol,
65 * but the structure is similar: the upper tier of protocol ns3::dot11s::PeerManagementProtocol
66 * and its plug-in is ns3::dot11s::PeerManagementProtocolMac.
67 *
68 * \subsection HWMP Hybrid Wireless Mesh Protocol
69 * HWMP is implemented in both modes -- reactive and proactive. Also we have implemented an ability
70 * to transmit broadcast data and management frames as unicasts (see appropriate attributes).
71 * This feature turns off at a station when the number of neighbours of the station is more than a
72 * threshold.
73 */