Скачать книгу
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 bits, which can be questionable in the case of a frames with . In practice it takes many fewer bits to identify a node (in this case the disconnected device) compared to the number of bits in an average data packet used in a broadband communication system. It is noted that this can be violated in systems that operate with very short data packets, such as wireless sensors or other devices under the umbrella of the Internet of Things (IoT), but in this introductory discussion we mostly refer to packets where the amount of data bits in a packet is large.
The circuit-switched allocation has an additional degree of flexibility, since Basil decides when to set the transmission timing by sending the headers at appropriate instants. Even more, the circuit-switched allocation is “realistic” in a sense that it does not start in the infinite past, but instead it starts with a link establishment and ends with a link termination.
The reader can easily extend the system design to address the case of multiple base stations that have overlapping communication areas, as for the example depicted in Figure 1.3(a). In this case, a frame header should also contain an address that identifies the base station sending the header. There is again the issue of collision between the frames, observed at a device that is in the communication range of both base stations. As discussed in the problem of link establishment, this issue can be solved by randomization.
1.3.4 Still Not a Practical TDMA System
The system design presented above is not a proper one that can thrive in real life, but rather a sketch of a system that works reasonably well under the assumed collision model. Let us first define Basil's cell to be the area around the base station Basil in which a terminal is in