220 likes | 509 Views
M-TCP : TCP for Mobile Cellular Networks. Kevin Brown and Suresh Singh Department of Computer Science Univ. of South Carolina ACM Computer Communications Review, 1997 2005.07.29 Hyun-Jin Kim. Introduction – TCP in Mobile Environment. Traditional TCP
E N D
M-TCP : TCP for Mobile Cellular Networks Kevin Brown and Suresh Singh Department of Computer Science Univ. of South Carolina ACM Computer Communications Review, 1997 2005.07.29 Hyun-Jin Kim
Introduction – TCP in Mobile Environment • Traditional TCP • TCP is designed to work on wired networks • Negligible medium loss • Buffer overflow at routers leads network congestion • TCP under wireless mobile networks • High BER and frequent disconnections lead packet losses • But, TCP simply interprets them as a indication of congestion • Significant degradation of end-to-end performance • Approaches for improving TCP performance • Snoop TCP [1] • I-TCP[2] & MTCP[3] • M-TCP
Former Solutions – SNOOP TCP • Snoop module resides at the BS (Base Station) • Inspects TCP header of data packets and ACK packets • Keeps track of packets in both direction • Local retransmission between BS and MH (Mobile Host) • Pros • Preserves end-to-end TCP semantics • Changes are restricted to BS and optionally to MH • Cons • Under long and frequent disconnections, sender times out • Frequent handoffs – snoop module needs to build its cache up
Former Solutions – I-TCP & MTCP • Split connection protocols • FH to BS, BS to MH • Wireless connection can even use another transport protocol that suits wireless medium • Pros • When a handoff occurs, the old BS can deliver the packets of its buffer to the new BS • Sender does not concern about wireless environment • Cons • Breaks end-to-end TCP semantics • BS can be a bottleneck BS FH MH Standard TCP Wireless TCP FH Socket MH Socket
SH FH (Fixed Host) MH MSS TCP M - TCP SH-TCP M-TCP M-TCP - Overview • TCP connection is split in two at the SH • Maintains end-to-end TCP semantics • “Persist mode” – keeps timer of sender • SH (Supervisor Host) • Maintains several MSS (Mobile Support Station) – reduces handoff overheads • Serves function of gateway • Bandwidth manager, local recovery
M-TCP – The SH-TCP client • Goal – keeps the FH’s congestion window size • FH uses unmodified TCP to send data to the SH • SH-TCP client • Passes packets from the FH on to M-TCP • Does not ACK those packets until the MH does • So, end-to-end TCP semantics are maintained • Sends ACK to the sender except ACK for one last byte • When the MH is disconnected, sends ACK for the last byte with a window size set to ‘0’ – “persist mode” • When a MH regains its connection, it sends a greeting packet • This packet allows the sender to leave “persist mode”
M-TCP – M-TCP between the SH and MH • Goal – fast local recovery from disconnection events • Has responds to notifications of wireless link connectivity • M-TCP at the MH is notified the connection is lost • Freezes all M-TCP timer • Connection is regained • Unfreezes all M-TCP timers • MH sends a specially marked ACK to M-TCP at the SH which contains the highest received sequence number • How to determine the connection is lost? • Assumes the SH assigns fixed bandwidth • No ACK from the MH within Timeout of M-TCP (See next slide)
FH MH SH (2) (3) RTT(1) (4) M-TCP– How to estimate RTO ? • Therefore, the SH can estimate RTO between itself and the MH • The SH can determine the connection is lost by using estimated RTO (1): FTCPRTO (2+4): STCPRTO (3): SM-TCPRTO Therefore (1) = (2+4)+(3)
M-TCP – Other Issues • Compressed M-TCP • Packets are compressed at the SH and decompressed at the MH • When a handoff occurs • Freezes connection state • Some of the state about the connection is passed to the new SH • Removes the contents of the socket buffers at the old SH • Unfreezes connection state • Connection setup • Two different operations for setting up • FH SH and SH MH • Transparent SH • FH MH • SH automatically creates sockets for the FA and the MH
M-TCP - Normal Transmission (1/2) (2,1) buffered SH cwnd=2 cwnd=3 SH-TCP M-TCP This is for freezing sender’s window.
M-TCP - Normal Transmission (2/2) (4,3) buffered SH cwnd=3 cwnd=5 M-TCP SH-TCP This is for freezing sender’s window.
M-TCP - Disconnection (8,7,6,5) buffered SH cwnd=5 cwnd=6 Freezing Freezing M-TCP SH-TCP Freezing Notifydisconnection
M-TCP - Recovery (8,7,6,5) buffered SH Notify reconn. cwnd=6 cwnd=9 M-TCP SH-TCP
M-TCP - Performance Evaluation • Experimental set up • All nodes are Pentium PCs • Wireless link is emulated at the SH • 32Kbps downlink, 8Kbps uplink • Disconnection length – 0.5 ~ 4.5 sec • Cell latency mean – 5 sec (12 disconnection events in 5 sec) FH1 Distance Sender SH MH Emulated 32kbps Link 14 Hops FH2 Close Sender 4 Hops
M-TCP - Performance Evaluation • M-TCP vs TCP performance
M-TCP - Performance Evaluation • Compressed M-TCP vs normal M-TCP
M-TCP - Performance Evaluation • M-TCP processing time
Conclusion • M-TCP • Solution to improve TCP in mobile networks • Splits TCP connection, but it makes an effort to maintain end-to-end TCP semantics • Persist mode • Still exists problems • When the MH sends cumulative ACK • When the FH finishes to send data • High processing at SH • Does M-TCP really maintain end-to-end TCP semantics?
References • [1] H. Balakrishnan, S.Seshan, and Randy Katz, “Improving Reliable Transport and Handoff Performance in Cellular Wireless Networks”, Wireless Networks, Vol 1 No.4 December 1995 • [2] A.Bakre and B.R.Badrinath, “I-TCP: Indirect TCP for Mobile Hosts”, IC on Distributed Computing Systems 1995 • [3] R. Yavatkar and N. Bhagawat, “Improving End-to-End Performance of TCP over Mobile Internetworks”, IEEE Workshop on Mobile Computing Systems and Applications, 1994