Improving Reliable Transport and Handoff Performance in Cellular Wireless Networks H. Balakrishnan, S. Seshan, and R. H. Katz ACM Wireless Networks Vol. 1, No. 4, pp. 469-482 Dec. 1995 P. 1
Introduction Properties of Wireless Communication: Limited bandwidth High latencies High bit-error rates Temporary disconnection Handoff result in either packet loss or packet delay Properties of Traditional TCP: Reliable end-to-end comm. Low bit-error rates Packets losses are assumed to be caused by congestion P. 2
Drawbacks of TCP used in Wireless networks: In the presence of the characteristics of wireless environments, TCP reacts packet losses as it in the wired networks: It drops its transmission window size before retransmitting packets Initiate congestion control These result in reduction the link s BW utilization, poor performance, and high interactive delays. Goals of this paper: To improve the end-to-end performance without changing existing TCP implementations at host in fixed network and without recompiling or relinking existing applications. P. 3
Design Alternatives and Related Work The Split Connection Approach: The Indirect-TCP was one of the first protocols to use this method. It involves splitting a TCP connection between a fixed and mobile host into two separate connections at the base station- one TCP connection between the fixed host and base station, and the the other between base station to mobile host. Advantages: It achieves a separation of flow and congestion control of the wireless link from that of the fixed network and hence result in good bandwidth at the sender. P. 4
Drawbacks: Loss of Semantics: Acks are not end-to-end. Application Relinking: Applications running on the mobile host have to be relinked with the I-TCP library. Software Overhead Handoff Latency: The latency of handoff is proportional to the size of the socket buffers on the base station and ranging from 265 ms (empty buffer) to 1430 ms (32 KB socket buffers) The Fast-Retransmit Approach: After a handoff the mobile host send a certain threshold number of duplicate acks to the sender. This cause TCP at the sender to retransmit packets from the first missing one. P. 5
Drawbacks: It only addresses handoffs and not the error characteristics of the wireless link. Link-level Retransmission The wireless link implements a retransmission protocol at the data-link level. Advantage: It improves the reliability of communication independent of the high-level protocol. Drawback: Since TCP also implements its own end-to-end retransmission protocol, it will result in poor performance, especially as error rates become significant. P. 6
The Snoop Module The snoop module: To cache packets and performing local retransmission across the wireless link by monitoring the ACKs to TCP packets generated by the receiver. Data Transfer From a Fixed Host: The snoop module maintains a cache of TCP packets sent from the FH that haven t yet been ACK by the MH. When a packet loss is detected, it retransmits the lost packet to the MH if it has the packet cached. P. 7
Snoop_data(): It processes packets sent from FH. There are three cases of packets to be processed: A new packet in the normal TCP sequence: This is common case. We do the following actions. Add the packet to snoop cache and forwarded to the MH. A timestamp also place on the packet to estimate the round-trip time of wireless link. An out-of-sequence packet that has been cached earlier: It happens when dropped packets cause timeouts at the sender. We do the following actions. If the seq. # is greater than the last ACK #, then forward this packet to the MH. On the other hand, the packet has been received by the MH. The last ACK # sent from MH is forwarded to FH. P. 8
An out-of-sequence packet that has not been cached earlier: It happens either the packet was lost due to congestion on the wired network or has been delivered out of order by the network. We do the following actions. Forwarded the packet to MH and also marked it having been retransmitted by the sender. Snoop_ack() uses this i n f o r m a t i o n t o p r o c e s s D U P A C K f r o m M H. Snoop-ack() monitors and processes the ACKs sent back by the MH with the following cases. A new ACK: This is the common case. This ACK initiates the cleaning of the snoop cache and all ACK packets are freed. ACK is forwarded to FH P. 9
A spurious ACK: This is an ACK # less than the last ACK seen by the snoop module. It is discarded and the packet processing continues. A duplicate ACK (DUPACK): There are several cases. The first case occurs when the DUPACK is for a packet that is either not in the snoop cache or has been marked retransmitted by the sender. If the packet is not in the cache, it needs to be resent from the FH. If the packet is marked retransmitted the DUPACK needs to be routed to the FH. The second case occurs when the snoop module gets a DUPACK that it does not expect. This typically happens when the first DUPACK arrive. P. 10
The lost packet is retransmitted as soon as loss is detected. The third case occurs when an expected DUPACK arrives. The missing packet have been retransmitted when the first DUPACK arrived, so this ACK is discarded. Data Transfer from a Mobile Host There is no way for the mobile sender to know if the loss of a packet happened on the wireless link or in the network due to congestion. Since TCP performs retransmissions on the basis of roundtrip time estimates for the connection, sender timeouts for packets lost on the wireless link will happen much later than they should. P. 11
There is a slight modification to the TCP code at the MH. At the BS, we keep track of the packets that were lost in any transmitted window and generate NACKs for those packets to the mobile. Encoding these NACKs as a bit vector, the MH used these NACKs to selectively retransmit lost packets. The implementation of NACKs is based on using the Selective ACK (SACK) option in TCP. The snoop modules use SACKs to cause the MH to quickly retransmit packets. P. 12
The Routing Protocol Packets from MH to FH utilize the normal IP routing support. Three Basic Parts to Route Packets to a MH The first part deals with delivering the packet to a machine that understands mobility. The second responsibility of the routing system is to determine the physical location of the mobile host. Finally, the routing system must support the delivery of packets from the home agent to the MH. P. 13
The task of the first routing part: Each MH is assigned a long-term IP address (home address) associated with its home location. Each MH is also assigned a temporary IP multicast address (28 bits) which can support 256 million groups at the same time. The HA encapsulates packets destined for the MH and forwards them to its associated multicast group. The members of this multicast group include the base stations in the nearby of the MH, but the MH itself not join the group. Standard IP multicast routing is used to deliver the packet to the MH s current base station. P. 14
The task of the second routing part: The second task of the routing system is to determine the current location of the MH. Each BS periodically broadcasts a beacon message to all the MHs in its range. The MH use the received signal strength of the beacons and communication quality to identify which BSs are nearby. The MH also determines which cell it should join as well as which cells it is likely to handoff to in the near future. P. 15
The task of the third routing part: The BS containing the MH joins the IP multicast group. Each packet transmitted from the HA is forwarded by this BS to the MH. In addition, BSs that are identified as likely handoff targets are asked to join the multicast group. Each of these BS buffer the last several packets transmitted from the HA. When a MH enters a new cell, the new BS begins transmitting packets from its buffer of packets. P. 16
Handoff: When the MH discovers a BS with a stronger signal than the current one. BS1 MH BS2 pkt1 beacon pkt2 stronger beacon buffer request pkt3 pkt4 forward request Handoff Latency pkt5 P. 17
Implementation MH: IBM ThinkPad laptops BS: i486 running BSD/OS 2.0 Wireless Communication: AT&T Wavelan (2 M bits/s) Performance: For a bit error rate greater than 5 x 10 ** -7, the throughput is up to 20 times compared to regular TCP. handoffs complete in 5-70 ms and this results in a less than 1% degradation in snoop throughput. P. 18