detect the header and it subsequently takes action as instructed by the header.
We first describe how the headers and work. A frame that starts with either of these two headers has a total duration of s. For the example in Figure 1.7(a), it is assumed that . During the link establishment process, a terminal is allocated a number between 1 and 4. Zoya is allocated the slot number 2 and if Zoya detects a header , she expects a downlink packet (of bits) in slot 2 after that header. If Zoya detects , she is allowed to transmit an uplink packet in slot 2. It should be noted that, by system design, after or is sent, then no new header from Basil can arrive within the next s.
The header is treated as an invite packet. If Basil has already established links and cannot accommodate a new terminal, then he simply just does not send a frame with the header . If Xia has already established a link with Basil, then she ignores this header. Otherwise, if Xia is still not connected to Basil, then one of the sequences depicted in Figure 1.7(b) occurs, where Xia sends an invite_accept packet to Basil within the slot that follows the header. In the second slot, following the one in which she transmits, Xia enters the receive state. Basil sends back a link_established packet, which also contains the number of the slot that is allocated to Xia for uplink/downlink transmission. Hence, the frame starting with has a duration s. Unlike the other frame types, this frame can feature both downlink and uplink data transmission. A device that has not yet established link with Basil ignores the headers .
If more than one device, say Xia and Walt, respond simultaneously to the same , then Basil observes a collision and does not send back a link_established packet. Receiving no packet from Basil in the second slot after , both Xia and Walt conclude that there has been a collision; this is because the simple collision model does not contain other sources of error. To deal with this situation, a randomization mechanism should be used, similar to the one introduced in Section 1.2: when the next comes, Xia and Walt should flip a coin in order to decide whether to send invite_accept to the next that they will receive.
Figure 1.7(c) depicts a worked-out example, including all of the system elements introduced so far.
Next, let us look at the issue of link disconnection. When a terminal receives , then it waits in the next slot for another packet from Basil. This packet contains the name of the terminal that will be disconnected from the network. All terminals receive this packet from Basil and the terminal that reads its own address considers itself detached from the network, such that if it needs to communicate with Basil, it has to go again through the link establishment procedure. A frame that starts with has a single data slot, such that its total duration is seconds.
Figure 1.7 Illustration of several ingredients required in a simple wireless TDMA system with centralized control. (a) Using for downlink/uplink allocation to/from Zoya, where . (b) Link establishment between Basil and Xia using . (c) Example of the system in action with terminals.
In general, and, in fact, in many practical systems the objective is to have , in order to maximize the time during which the wireless channel is loaded with useful data. However, in that case, our concept of a time slot, as defined above, is ruined, as there is no single, atomic, time duration that can be used as a time slot. In order to still have a common time reference that describes the events important for the MAC protocol, we can define a slot structure as follows. Assume that the ratio of and can be represented as a ratio of two integers:
(1.3)
Then the duration of a time slot can be defined to be . From the perspective of a MAC protocol, this is indeed an atomic time unit that can be used to describe all the important time instants. Note that now one TDMA slot corresponds to time slots, while a TDMA frame consists of slots.
And, that is it! We have specified a very simple, but functional system with centralized MAC in which a single node (Basil) decides who will enter or leave the network, or when a device should receive or transmit. For the sake of simplicity, we have made several design choices that are sub-optimal. Each data packet contains