Title: M-TCP : TCP for Mobile Cellular Networks
1M-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
2Introduction 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-TCP2 MTCP3
- M-TCP
3Former 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
4Former 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
Wireless TCP
Standard TCP
FH Socket?? MH Socket
5M-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
6M-TCP The SH-TCP client
- Goal keeps the FHs 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
7M-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)
8M-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 (24) STCPRTO (3)
SM-TCPRTO Therefore (1) (24)(3)
9M-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
10M-TCP - Normal Transmission (1/2)
(2,1) buffered
SH
2 1
2 1
1
1 2
cwnd2
cwnd3
SH-TCP
M-TCP
1 2
2
This is for freezing senders window.
11M-TCP - Normal Transmission (2/2)
(4,3) buffered
SH
4 3
4 3
3 2
3 4
cwnd3
cwnd5
M-TCP
SH-TCP
3 4
4
2
This is for freezing senders window.
12M-TCP - Disconnection
(8,7,6,5) buffered
SH
8 7 6 5
4
cwnd5
cwnd6
Freezing
Freezing
M-TCP
SH-TCP
Freezing
4
Notify disconnection
13M-TCP - Recovery
(8,7,6,5) buffered
SH
5 6 7 8
4
16 15 14 13 12 11 10 9
Notify reconn.
5 6 7 8
5 6 7
cwnd6
cwnd9
M-TCP
SH-TCP
8
5 6 7 8
14M-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
15M-TCP - Performance Evaluation
16M-TCP - Performance Evaluation
- Compressed M-TCP vs normal M-TCP
17M-TCP - Performance Evaluation
18Conclusion
- 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?
19References
- 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