Sei sulla pagina 1di 5

1

T-MAH: A Token Passing MAC protocol for Ad Hoc Networks1


Daniela Maniezzo ]§† , Giovanni Pau ] , Mario Gerla] , Gianluca Mazzini † , Kung Yao§
] UCLA Computer Science Department
§ UCLA Electric Engineering Department
† Dipartimento di Elettronica - Universitá di Ferrara - Italy
{dmaniezzo|g.mazzini@ieee.org; gpau|gerla@cs.ucla.edu; yao@ee.ucla.edu }

Abstract—The Token Passing MAC protocol for Ad Hoc networks Hence, we assume that each network node is equipped to transmit
(T-MAH), discussed in this paper, is a distributed medium access pro- an out-of-band signal, namely Reception Busy Tone (BTr ), when
tocol designed for wireless multi-hop networks. With T-MAH access acting as receiver. The BTr stops the receiver’s neighbors from
scheme the network is organized in clusters (called Token Groups) with
a Token Group Head as the leader of the group. In each single cluster transmitting; this helps the collision avoidance at the receiver. This
is used a token based technique, i.e. each node in the cluster is allowed assumption can eventually be relaxed using an appropriate signal-
to transmit the user data only after has received a particular packet ing schema (i.e. RTS/CTS mechanism).
(called token) and the time slot has not been expired. The combina- Other examples of MAC protocol based on control packets sent out-
tion of a controlled MAC protocol and a hierarchical network division,
reduces the number of the error due to packet collision and permits a
of-band are: DBTMA (Dual Busy Tone Multiple Access) [5] [6],
good channel reutilization. RI-BTMA (Receiver Initiated Busy Tone Multiple Access) [7] and
PAMAS (Power Aware Multi-Access Protocol with Signalling) [8].
The paper is organized as follow: in section II we describe the
I. I NTRODUCTION system and the general constrains. The network operating modes,
Token Group Election and the other management functionalities are
Wireless Ad Hoc networks have been largely deploying both
depicted in sections II-A, II-B. The paper is concluded by a prelim-
in civil and military applications thanks to the availability of cheap
inary performance analysis in section IV ad few final considerations
wireless NIC’s based on IEEE 802.11 [1]. The multi-hop Ad Hoc
are given in section V.
networks, based on IEEE 802.11, have poor performance with the
TCP/IP protocol stack [2] due to hidden terminal problem. In this
work, we propose a new MAC protocol that manages the media II. S YSTEM D ESCRIPTION
contention using a token based technique. The T-MAH design needs few general assumptions about the
The proposed protocol organizes the network in clusters (To- network and the nodes.
ken Groups) and introduces the concept of Token Group Head as In particular we assume that the network is composed by nodes
the leader of the group. The network flexibility and reliability are with almost the same networking capabilities, connected using ra-
assured using a set of mechanisms in order to reduce the needs of dio interfaces. Moreover, as introduced previously, each node is a
signaling interactions between the Token Group Heads and the reg- equipped to transmit an out-of-band signal, namely Reception Busy
ular nodes. Furthermore the proposed schema can naturally support Tone (BTr ) that is turned on when a node starts receiving from the
the QoS management using a pool of queues with different priori- radio interface. In the collision event, two different transmitters are
ties for each Token Group and a specific field in the packet header. detected, the receiver node turns off the Busy Tone BTr and the
The presented protocol is inspired to the IEEE 902.4 Token transmission is suddenly stopped.
Bus protocol [3] and to the Wireless Token Bus Protocol (WTBP) A T-MAH network is partitioned in clusters called Token
for Ad Hoc network described in [4]. The main differences between Groups (T Gs). Each TG is identified using an unique Token Group
our approach and the WTBP are in the signaling and in the network Identifier (T GID ). The network structure allows the TGs to be
architecture. overlapped by one or more nodes; each node, indeed, can be part
Our protocol creates a set of clusters and manages the packet trans- of different T Gs at the same time and a queuing pool at the MAC
mission in each cluster using a Token Passing protocol. We defined layer is maintained for each T G.
gateways between clusters and all signaling needed to manage the Any given node within a T Gs knows the address of the pre-
network at the MAC layer. vious and next nodes in the group logical infrastructure. The logi-
The WTBP, instead, proposes a protocol capable to create e manage cal Token Group organization is a virtual ring where each node is
a single logical ring, but pushes the management of whole network allowed to transmit the user data only after the Token has been re-
architecture out of the MAC protocol. ceived and the Token Time Slot (Tslot ) has not been expired. When
Moreover, in multi-hop networks, some nodes in the transmit- the Tslot expires, the node must forward the Token to the next node
ter and/or receiver radio range might not be able to hear a suc- in virtual ring.
cessful Request To Send/Clear To Send message exchange, used In each T G a timeout counter, namely Token Cycle (Tcycle ) is de-
by IEEE802.11 to reserve the shared channel. fined and each node within the same group knows its value that is
1 This work has been partially funded by the UC Core program Core01-
defined as the maximum time needed by the token to complete the
n n
10091 under the sponsorhip of ST Microelectronics. Coorensponding Au- virtual ring once: Tcycle = N ∗ Tslot where N is the number of
th
thor: Daniela Maniezzo UCLA Department of Computer Science, BH 3731, nodes in the n T G. Any given node maintains a different Tcycle
420 Westwood Plaza, Los Angeles, CA 90024 - USA; dmaniezzo@ieee.org for each T G it’s part of.
2

The transmission of all broadcast signaling packets is done us- • M ACi i.e. T GH MAC address;
ing CSMA/CD with Busy Tone BTr . • transmission order between the nodes within the same T G.
The T-MAH network operates through different phases: Otherwise, if the i MAC address is not the greatest (it’s part
• Normal Operating: In this phase each node just transmits user of at least another group), and i has directly connected neighbor(s)
data in a token passing fashion (see II-A); NOT in i T G(s), and the named neighbor(s) has a Lower MAC
• Token Group Head Election: In this phase the Token Groups address (i.e. the neighbor(s) waits i election as T GH), than i trans-
(T Gs), are defined and, for each T G, a Token Group Head mits a broadcast packet called N oT GHpkt. This advices other
(T GH) is elected and a Transmission Frame is defined (see neighbors that the node i must not be considered in the T GH elec-
II-B); tion.
• Node Death Detection and Recovery: In this phase the T G Among the remaining i neighbor nodes the T GH election pro-
adapts itself and the Transmission Frame in the event of the cedure MODE 2 is started. This procedure is the same to MODE 1
death of one T G’s node member (see II-C); but the M ACi is excluded to the election (because it has sent the
• New Node Entrance: In this phase the T G adapts itself and N oT GHpkt).
the Transmission Frame to the join of a new node (see II-D). The difference between MODE 1 and MODE 2 is that in the
first one the T GH’s MAC address is the greatest MAC address of
In the following details for all phases will be given. the nodes in the same T G; in the second one, the T GH has a MAC
address smaller than one of the nodes in its T GH.
A. Normal Operating phase In the T GH election procedure two other basics parameters of
the T-MAH network are defined: the Transmission Frame and the
In this phase the network is already partitioned in Token Time Slot.
Groups (T Gs), and each T G has its Token Group Head (T GH). 1) Transmission Frame Definition in MODE A and MODE B:
As introduced early, each node in a T G: As introduced previously, when the HELLOpkt exchange is fin-
• waits for the Token; ished, the T GH:
• once the Token is received and within the node Time Slot:
• builds the transmission frame (between the T G nodes), list-
– transmits the user data packet(s) if any; ing the directly connected neighbors by increasing the MAC
– forwards the Token to the next node in the transmission address.
frame; • Using the information from 1-hop connection table (built in
If for *any* reason, (i.e. BTr from neighbors), the node is unable with the HELLO procedure), the TGH verifies the full con-
to complete the transmission in its Time Slot, it misses the transmis- nectivity of the transmission order.
sion chance till the next Token Cycle. The transmission right goes If there are all direct links needed to complete the transmission
to the next node in the Transmission Frame. order, the transmission order is defined as MODE A.
If there are direct links missing, the T GH puts itself between
B. Token Group Head (T GH) Election Procedure two subsequent nodes not directly connected (transmission order
A Token Group (T G) contains all nodes directly connected to in MODE B). Note: the T GH is directly connected with all nodes
the Token Group Head (T GH). The T GH’s can be or not the nodes in the T G.
with the largest number of directly connected neighbors. The Token Group Head in MODE B has at least two timeout
Let consider a network with N nodes, the generic node i: counters for its group since it is present twice in the transmission
frame.
• waits (listening) a free channel for an exponential time.
2) Transmission Frame Time Slot Definition: Each Tcycle is
• transmits a broadcast packet with TTL=1 (HELLOpkt). The
spited in slots. The slot length is Tslot = Tcycle /n where n is the ]
HELLOpkt contains:
of established transmission frame (n = N in MODE A, n > N in
– the source node MAC address (M ACi );
MODE B).
– all known neighbor MAC addresses.
Each node has right to talk for 1 slot (of Tslot size) in each Tcycle .
Each node that catches the HELLOpkt turns on the Reception The T GH is allowed to talk more than 1Slot/Tcycle if the its a
Busy Tone and updates the 1-hop connection table adding M AC i MODE B frame.
as one-hop neighbor and as next hop to reach the i’s neighbors if The node currently owning the token (T oken − Owner) must for-
they are not present in the table. ward the token to the next node in the transmission frame before its
The procedure is repeated until the channel is detected free for slot time (Tslot ) elapses.
a time interval Tmax and then, if the MAC address of the node i is
the greatest within all neighbors directly connected, the node i:
• elects itself T GH (T GH Election Procedure MODE 1); C. Node Death Detection and Recovery
• defines the Token Group Identifier (T GID ); The Token Group Header of group x, T GHx , keeps a counter
• defines the transmission order between the T G nodes (from for each node part of the T Gx . The node i counter is increased by
the lower to the Greater MAC address in MODE A or MODE one any time the T GHx does not detect transmission activity by
B, see section II-B.1) node i in its time slot. The T GHx resets the counter anytime it
If i detects no BTr , it transmits a broadcast packet, called T GHpkt detects a node i transmission in its slot.
containing the following information: If the node i counter reaches a pre-defined maximum value Nmax ,
• T GID ; the T GHx declares that the node i no longer present in the T Gx
3

and it eliminates i from the 1-hop connection table.


The T GHx :
• transmits (during its Time Slot) a broadcast packet
ST OP pktx ; this stops the normal operation of the T Gx ;
• rebuilds the Transmission Frame using the updated 1-hop con-
1 2
nection table;
• transmits a broadcast packet with the new Transmission Frame
to all members of the T G(x).
The transmission restarts with the new frame. 3
The node i, next to the T GHx in the Transmission Frame,
counts how many consecutive times its timeout T Ox (i) expires.
If T Ox (i) expires more than a Nmax time, the node i starts a new
election procedure sending an HELLOpkt that triggers the elec- 4 5
tion procedure.
If timeout T Ox (i) expires consecutively for Nmax times, node 6
i states itself as no longer part of the group x; than, i stops any
transmission in the T Gx and waits the election/new node procedure
for the new group; moreover, the timeout T Ox (i) is set to KTcycle Fig. 1. Network Layout - MODE A
(see II-D). If T Ox (i) expires, the node i elects itself T GH since it
has not received the invitation to enter in a new group. Node #
1 1[2,3]
2 2[3]
D. New Node Entrance 3 3[4,5,6] Tmax
4 4[5,6]
Every K transmission cycle, a time slot of Tn−in is reserved 5 5[6]
for the procedure that allows new nodes to enter in the T Gx : 6 6[]

• the T GHx transmits an HELLOpkt to invite the new nodes


(if present) to join the T Gx ;
Fig. 2. Election Procedure: Message Exchange originate a MODE A Elec-
• a new node p receives the HELLOpkt and answers, using
tion
CSMA/CD, with an HELLOpkt that contains its MAC ad-
dress and the T GHn MAC address;
• the T GHx receives the reply of the new node p and transmits
As shown in figure 2, the HELLOpkt of node 5 follows the
the ST OP pkt, stopping the current transmission an triggering node 6 (note: the node 5 HELLOpkt contains its MAC and the
an HELLO procedure to redefine the Transmission Frame; information about the direct link 5-6).
no T GH election is performed; When the node 5 HELLOpkt is received by nodes 3,4,6, the
• the T GHx , rebuilds the Transmission Frame taking into ac-
nodes[3, 4, 6]:
count the new node;
• turn ON the Reception Busy Tone BTr for the whole receiving
• the T GHx , sends the new transmission frame and the network
phase;
restarts the regular operations.
• create an entry in the 1-hop connection table with the informa-
If the new node p is out of the T GHx transmission range, it
tion of a direct link with the node 5, moreover the information
waits KT and transmits an HELLOpkt (using CSMA/CD+BTr ).
about the connectivity to node 6 through node 5 is recorded (if
The HELLO procedure starts within the nodes in the node p trans-
not already present).
mission range.
A given node replies only to an HELLOpkt by an unknown node. The previous procedure (HELLO procedure) is repeated for
Each node part of a given T G is enabled to transmit an all network nodes.
HELLOpkt only if its Token-Owner. At the end of the HELLO procedure, the node with the higher
MAC address value (we are supposing an unique identifier) within
the nodes directly connected (in the considered network the node
III. E XAMPLES
6):
A. TGH Election Procedure: MODE A • builds the Transmission Frame of the Token Group (uniquely
Let consider the network depicted in figure 1, and the identified by the a T GID ) listing all the neighbors in the future
HELLO packets transmission sequence shown in figure 2. transmission order (i.e. 3 − 4 − 5 − 6);
Node 6 waits for a free channel for an exponential time, then • verify the connectivity between each couple of adjacent nodes
starts transmitting an HELLOpkt containing its M AC address. in the transmission frame using the 1-hop connection table; in
The HELLOpkt is received by all one hop neighbors (nodes the examples the links between 3 − 4, 4 − 5, 5 − 6, 6 − 3 are
3,4,5). Nodes [3, 4, 5]: present: a MODE A transmission frame has been successfully
• set the Busy Tone BTr ON for the whole receiving phase generated;
(note: this will deny nodes 1 or 2 to transmit); • waits a free channel for an exponential time T max and trans-
• create an entry in the 1-hop connection table with the informa- mits the T GHpkt packet (note: in the considered network the
tion of a direct link with the node 6. time Tmax starts after the node 1 ends its HELLOpkt trans-
4

mission since node 6 is in the range of the node 3 BTr ).// The address). The HELLOpkt is received by all neighbors in its radio
T GHpkt contains the following information: range (nodes: 3,4,6). These nodes:
– T GID6 : the T G Identifier (usually the MAC address of • turn on the BTr (Busy Tone for the whole receiving process);
the T GH, but here, for the sake of simplicity, we consider • add an entry in the 1-hop connection table (adding node 5).
the label T GID6 ); During the node 5 transmission, the node 1 detects node 6’s
– MAC6 : the T GH MAC address; Busy Tone. When the BTr (6) is turned off, node 1 listens a free
– [3 − 4 − 5 − 6]: the transmission frame. channel for an exponential time and transmits its HELLOpkt. The
All T GH neighbors will receive the T GHpkt and record the HELLOpkt of node 1 is received by nodes 2 and 6 and the 1-hop
information memorized in it. connection table is updated according to.
The other node in the networks act as follow: The process is repeated for all network nodes following the
• node 3 detects that nodes 1 and 2 are its neighbors but they time frame shown in figure 4.// In table I are shown the 1-hop con-
are not part of the T G leaded by node 6; then it transmits a nection table of node 6 at the end of the HELLO procedure.
N oT GHpkt to point out that it can’t be the T GH; After HELLO procedure, the node with the highest MAC ad-
• the N oT GHpkt is received by node 2 that: dress within the nodes directly connected (in this case node 6):
– elects itself as T GH; • elects itself as T GH;

– builds the Transmission Frame for the TG that contains • builds the transmission frame of the Token Group: 1 − 2 − 3 −

the nodes 1 − 2 − 3 (MODE A); 4 − 5 − 6 listing the nodes from the Lower to the Higher MAC
– checks the transmission frame validity using the 1-hop address;
connection table; • verifies (using the 1-hop connection table) if all adjacent nodes

– transmits the T GHpkt to the neighbors. in the transmission frame are directly connected. In the con-
Note: that node 3 is part of 2 different TG. sidered network the following links are present: 1 − 2, 3 − 4,
4 − 5, 5 − 6 and 6 − 1 but the link 2 − 3 is not present;
• builds a Transmission Frame using the MODE B: [1 − 2 − 6 −
B. TGH Election Procedure: MODE B
3 − 4 − 5 − 6];
Let now consider the network depicted in figure 3. The • listens for a free channel for an exponential time T max after
HELLO packet transmission sequence is shown in figure 4. node 2;
• transmits a T GHpkt containing:

– T GID6 : the token Group Identifier (usually the T GH


MAC address but for the sake of the simplicity in the con-
sidered network we use the label T GID6 ;
– MAC6 : the T GH MAC address;
1 2 – [1 − 2 − 6 − 3 − 4 − 5 − 6]: the Transmission Frame.
The T GHpkt(6) is received by all node 6 neighbors.// Note
that in at the end of the HELLO procedure there is only one Token
Group.
6
TABLE I
MODE B: 1 HOP C ONNECTION M ATRIX

3 4 S/D 1 2 3 4 5 6
1 - 2 6 6 6 6
2 1 - 6 6 6 6
5
3 6 6 - 4 5 6
4 6 6 3 - 5 6
Fig. 3. Network Layout 5 6 6 3 4 - 6
6 1 2 3 4 5 -

Node #
1 1[]
2 2[1,6] IV. P ERFORMANCE E VALUATION
6 6[1,5] Tmax
3 3[5,6]
In this section we present some preliminary performance eval-
4 4[356] uation of T-MAH protocol for the single cluster case.
5 5[]

A. Token Cycle Time


Fig. 4. Election Procedure: Message Exchange originate a MODE 2 We defined the Token Cycle time Tcycle as the time needed to
allow all nodes in a given cluster to transmit once.
i
After detecting the free channel for an exponential time, node We can split the Tcycle in Tctrl , defined as the amount of time
5 transmits in broadcast the HELLOpkt (containing the its MAC needed by the node i to transfer the control to the next node in the
5

i
virtual ring, and Tdata , defined as the amount of time needed by the C. Access Time
i
node i to transmit the user data.// Note that Tctrl can be considered The acces time is the sum of the Queuing time, the packet
as the sum of different factors such as the token transmission time, transmission time (TP KT ) and the propagation time (τP ):
the signal propagation time, and the time needed to synchronize the
stations. Tacc = E[TQ ] + E[TP KT ] + τP (6)
i
Let consider the following system of equations: E[Tcntr ] =
E[Tcntrl ] for each node i, where E[..] is the statistical average. We Considering, for the sake of the simplicity, the case of fixed packet
assume a inter-arrival packet time distribution as Poisson. Moreover size the access time is computed as follow:
given a single node i, we define λ as the packet arrival rate in that
node. The average number of packets arrived at i for a given Time (N − G)E[Tctrl ] G
Tacc = + + E[TP KT ] + τP (7)
Cycle is computed as λE[Tcycle ]. 2(1 − G) 2(1 − G)C
In a T-MAH network composed of a single Token Group, only
one node can access the channel per time, so, considering only the V. C ONCLUSION AND FUTURE WORK
uniform traffic case, it will be able to get an average bandwidth of In this paper a novel medium access scheme for wireless ad hoc
C/N where C is the channel capacity in bit/s and N is the number networks, T-MAH, is presented. The proposed schema uses a token
of the cluster’s nodes. passing mechanism to realize a wireless token bus infrastructure. T-
The throughput G is given by: MAH, moreover, realizes the network clustering using a clustering
N mechanism built in schema. We started the study of the T-MAH
G = λE[Psize ] (1) performances via an analytical study a simple case showing some
C
where E[Psize ] is defined as the average packet size. preliminary analytical results.
The average service time is given by: We are now working on the simulation model of T-MAH in order
start a comparative analysis with the main Wireless mac protocols
i λE[Tcycle ]E[Psize ] G
E[Tdata ]= = E[Tcycle ] (2) and to investigate issues the T-Mah scalability.
C N
The average Token Cycle time, Tcycle , can be computed as follows:
R EFERENCES
N N
X i
X i
[1] IEEE 802.11 Working Group, Part 11: “Wireless LAN Medium Access
E[Tcycle ] = E[Tctrl ] + E[Tdata ] = Control (MAC) and Physical Layer (PHY) Specifications”, ANSI/IEEE
i=1 i=1 Std. 802.11, Sept. 1999.
= N E[Tctrl ] + GE[Tcycle ] [2] S. Xu, T. Saadawi, “Revealing TCP Incompatibility Problem in 802.11-
based Wireless Multi-hop Networks”, Proc. of IEEE GlobeCom’01, Nov.
and, solving the previous equation, it is equal to: 2001.
[3] ISO International Standard Organization, ISO/IEC8802-4:1990 -
N E[Tctrl ] ANSI/IEEE Std. 802.4-1990.
E[Tcycle ] = (3)
1−G [4] D. Lee, R. Attias, A. Puri, R. Sengupta, S. Tripakis, P. Varaiya, “A
Token-Ring Medium-Access-Control with Quality of Service Guaran-
B. Queueing Time tees for Wireless Ad-Hoc Networks“, in Proceedings of ACM Mobicom
The Queuing Time main componets are the following: ’01, also Univeristy Of Californnia Berkeley Technical Report.
[5] Z. J. Haas, J. Deng, “Dual Busy Tone Multiple Access (DBTMA)- Per-
• TQ1 : time that elapses from the packet arrival time at the given
formance Evaluation”, in Proc. of IEEE VTC’99, Houston, TX, May
node to the token arrival time at the same node; 17-21, 1999.
• TQ2 : time elapsed from the token reception at the given node [6] J. Deng, Z. J. Haas, “Dual Busy Tone Multiple Access (DBTMA): A
to the packet transmission. New Medium access Control for Packet Radio Networks Performance”,
in Proc. of IEEE ICUPC’98, Italy 1998.
In order to evaluate TQ1 , we consider a node that does not
[7] C. S. Wu, V. O. K. Li, “Receiver Initiated Busy Tone Multiple Access
holds the token. From the eq. (2), we know that any node is out of in Packet Radio Networks”, in Proc. of ACM SIGCOMM’88.
G
service for E[Tcycle ] − N E[Tcycle ] time, on the average. Follows [8] S. Singh, C. S. Raghavendra, “PAMAS-Power Aware Multi-Access
that, considering the case of an uniform arrival distribution, the T Q1 Protocol with Signalling for Ad Hoc Networks”, Computer Communi-
can be computed as follows: cation Review, July 1998.

1 G (N − G)E[Tctrl ]
 
E[TQ1 ] = 1− E[Tcycle ] =
2 N 2(1 − G)
In order to compute TQ2 we can consider 0 the time needed to tran-
fer the control (E[Tctrl ] = 0) since considered in E[TQ1 ]. Under
this condition, we can consider the whole cluster as M/G/1 system
with the queue distributed within the N cluster’s nodes; so:
2
E[Psize ] G
E[TQ2 ] = (4)
2(1 − G)E[Psize ] C
We can sum together the (4) and (5) obtaining the queuing time as
follow:
(N − G)E[Tctrl ] E[Psize ]2 G
E[TQ ] = + (5)
2(1 − G) 2(1 − G)E[Psize ] C

Potrebbero piacerti anche