3.1 TCP
TCP is designed to ensure reliable end-to-end transmission. TCP owns several characteristics in the following to provide reliability:
• Retransmission: The application data is broken into what TCP considers the best sized chunks to send. The unit of information passed by TCP to IP is called a segment. When TCP sends a segment it maintains a timer, waiting for the other end to acknowledge reception of the segment. If an acknowledgment is not received in time, the segment is retransmitted.
• Segments in order: Since TCP segments are transmitted as IP datagrams, and since IP datagrams can arrive out of order, TCP segments may arrive out of order. A receiving TCP re-sequences the data if necessary, passing the received data in the correct order to the application.
• Flow control: Each end of a TCP connection has a finite amount of buffer space. A receiving TCP only allows the other end to send as much data as the receiver has buffers for. This prevents a fast host from taking all the buffers on a slower host.
• Congestion control: When free bandwidth is available in the network, TCP uses a number of mechanisms to archive high performance. When congestions occur in the network, TCP slow down the send rate to avoid network collapsing. This mechanism controls the rate of data entering the network, keeping the data flow below a rate that would trigger collapse.
In the following sections, we introduce several mechanisms used in TCP to explain flow control and congestion control in detail.
3.1.1 Sliding window
Figure 1 shows the sliding window. The window advertised by the receiver is called the offered window. When data is sent and acknowledged, the window closes as the left edge advances to the right. The window opens when the right edge moves to the right, allowing more data to be sent. This happens when the receiving process on the other end reads acknowledged data, freeing up space in its TCP receive buffer. If the left edge reaches the right edge, it is called a zero window, which means buffers in receiver are full. This tops the sender transmitting any data. Through sliding window protocol, flow control in TCP prevents sender send data too fast for the receiver to process it.
Figure 1: TCP sliding window.
3.1.2 Slow start
In congestion control mechanism, TCP supports an algorithm called slow start. Slow start adds another window to the sender’s TCP: the congestion window, called cwnd. The congestion window is initialized to one segment. Each time an ACK is received, the congestion window is increased by one segment. The sender can transmit up to the minimum of the congestion window and the advertised window. At some point the capacity of the network can be reached, and a router will start discarding packets. This tells the sender that its congestion window has gotten too large and TCP’s timeout implies the congestion avoidance algorithms.
3.1.3 Congestion avoidance algorithm
Congestion avoidance and slow start require that two variables be maintained for each connection: a congestion window, cwnd, and a slow start threshold size, ssthresh. When congestion occurs, one-half of the current window size (the minimum of cwnd and the
receiver’s advertised window) is saved in ssthresh. Additionally, if the congestion is indicated by a timeout, cwnd is set to one segment. When new data is acknowledged by the other end, we increase cwnd. If cwnd is less than or equal to ssthresh, TCP uses slow start; otherwise TCP uses congestion avoidance. Slow start has cwnd start at one segment, and be incremented by one segment every time an ACK is received. Congestion avoidance dictates that cwnd be incremented by one each time an ACK is received.
3.2 WiMAX Sleep Mode Operations
This section explains the basic sleep mode operation of IEEE 802.16e power management. In WiMAX system, an MSS can go into sleep mode to reduce power consumption if there is no packet to send or receive. Before going to sleep mode, the MSS sends the sleep mode request (MOB_SLP-REQ) message to the BS. This message defines the requested sleep profile, such as Power Saving Class type, the size of start frame, initial-sleep window, final-sleep window, and listening window. After receiving the sleep mode response (MOB_SLP-RSP) message with permission, the MSS enters sleep mode at corresponding MAC frame. The sleep window is associated with different Power Saving Class types.
Figure 2 illustrates sleep mode operation for Power Saving Class type I. During the listen interval, the MSS wakes up to receive traffic indication (MOB_TRF-IND) message from BS.
If there are no packets to receive or send, the MSS doubles the sleep period for next sleep. If MOB_TRF-IND indicates buffered packets for MSS, the MSS has to switch to awake-mode.
Figure 3 shows sleep mode operation for type II. MSS only wakes up to receive and send packet in listen period. Figure 4 shows sleep mode operation for type III. The MSS sleeps for a defined sleep interval and then return to normal operation.
Figure 2: Power Saving Class type I.
Figure 3: Power Saving Class type II.
Figure 4: Power Saving Class type III.
3.3 WiMAX Schedule Classes
WiMAX specifies several scheduling services for data transfer to support different QoS requirement. Each connection is associated with a single scheduling service which determining by a set of QoS parameters that quantify aspects of its behavior. The scheduling services supported in WiMAX are described in the following:
• Unsolicited Grant Service (UGS): The UGS is designed for real-time service flows that transport fix-size data packets on a periodic basis. The BS offers fixed-size of transmission bandwidth. UGS is suitable for constant bit rate (CBR) traffic such as
VoIP service without silence suppression.
• Enhanced Real-time Polling Service (ertPS): The ertPS is designed for VoIP service with silence suppression. Different from UGS, ertPS offers amounts of DL or UL resources to the MSS dynamically, and allocates the bandwidth request in the UL bursts to the MSS. Therefore, the MSS can use bandwidth request to change UL allocation. This mechanism prevents the waste of uplink resources when there are no packets to transmit during silence time.
• Real-time Polling Service (rtPS): The rtPS is designed for real-time flows that generate variable size data packets on a periodic basis, such as video streaming. The BS offers periodical bandwidth requests in UL bursts to the MSS, and provides polling to the MSS for suitable UL bursts requirement.
• Non-real-time Polling Service (nrtPS): For non-real-time traffic, such as Web access.
The BS grants unicast polls to nrtPS connections on a large time-scale, and an MSS that has packets to transmit should use contention-based bandwidth requests. Since the bandwidth request is not sent periodically, the bandwidth request might be lost due to collision and the delay for UL burst allocations cannot be guaranteed.
• Best Effort (BE): The BE is designed for applications that do not have specific delay requirements. Hence, this type of connection cannot provide any QoS.
Chapter 4 Design and Development of WiMAX