Mobile IP & Wireless Transport
Announcements Feedback on presentations Presentation schedule Altered one more time! Student presentations for this set will happen only on October 19th and October 24th No review class before exam
Puzzle 10 bags with coins. 9 bags have coins of equal weights. 1 bag has defective coins (heavier or lighter by 1 lb) Using a spring balance, how many weighings do you need to find the defective bag? Take 1 coin from 1st bag, 2 coins from 2nd bag, …, and 10 coins from the 10th bag. If X is the weight of a good coin, ideally total weight should be 55X. Assume the observed weight is 55X+/-Y. Yth bag is the defective bag.
Outline What is the problem at the routing layer when Internet hosts move?! Can the problem be solved? What is the standard solution? – mobile IP What are the problems with the solution? Other approaches?
Internet hosts & Mobility Wireless networking – allows Internet users to become mobile As users move, they have to be handed over from one coverage area to another (since the coverage areas of access points are finite) … Ongoing connections need to be maintained as the user moves …
Problems? What are the problems? The IP address associated with a mobile host is network dependent! When user connects to another network, IP address needs to change Packets belonging to ongoing connections somehow need to be delivered to the mobile host
Problems (Contd.)? What are the options? Make IP address host specific instead of network specific – obvious pitfalls? Change IP address of host and start using the new IP address in the subsequent packets belonging to the connections
Intuitive Solution Take up the analogy of you moving from one apartment to another What do you do? Leave a forwarding address with your old post-office! The old post-office forwards mails to your new post-office, which then forwards them to you
Mobile IP Basics Same as the post-office analogy Two other entities – home agent (old post-office), foreign agent (new post-office) Mobile host registers with home agent the new location Home agent captures packets meant for mobile host, and forwards it to the foreign agent, which then delivers it to the mobile host
Reverse path? Same as in the post-office analogy Packets originating from the mobile host go directly to the static corresponding host … Hence the name triangular routing MH HA SH FA MH
Mobile IP Entities Mobile host Corresponding host Home address Care-of address Home agent Foreign agent
Mobile IP in detail … Combination of 3 separable mechanisms: Discovering the care-of address Registering the care-of address Tunneling to the care-of address
Discovering the care-of address Discovery process built on top of an existing standard protocol: router advertisement (RFC 1256) Router advertisements extended to carry available care-of addresses called: agent advertisements Foreign agents (and home agents) send agent advertisements periodically A mobile host can choose not to wait for an advertisement, and issue a solicitation message
Agent advertisements Foreign agents send advertisements to advertise available care-of addresses Home agents send advertisements to make themselves known Mobile hosts can issue agent solicitations to actively seek information If mobile host has not heard from a foreign agent its current care-of address belongs to, it seeks for another care-of address
Registering the Care-of Address Once mobile host receives care-of address, it registers it with the home agent A registration request is first sent to the home agent (through the foreign agent) Home agent then approves the request and sends a registration reply back to the mobile host Security?
Registration Authentication Mobile IP requires the home agent and mobile host to share a security association MD5 with 128-bit keys to create digital signatures for registration requests to be used (registration message & header used for creating signature) Any problems? – replay attacks Solved by using an unique message identifier (timestamp or pseudorandom number)
Illustration
Foreign Agent Security? No foreign agent authentication required Foreign agent can potentially discard data once registration happens However, the problem is same as in unauthenticated route advertisements (RFC 1256) in the wireline context
Home agent discovery If the mobile host is unable to communicate with the home agent, a home agent discovery message is used The message is sent as a broadcast to the home agents in the home network
Tunneling to the Care-of address When home agent receives packets addressed to mobile host, it forwards packets to the care-of address How does it forward it? - encapsulation The default encapsulation mechanism that must be supported by all mobility agents using mobile IP is IP-within-IP (RFC 2003) Using IP-within-IP, home agent inserts a new IP header in front of the IP header of any datagram
Tunneling (contd.) Destination address set to the care-of address Source address set to the home agent’s address Tunnel header uses 4 for higher protocol id – this ensures that IP after stripping out the first header, processes the packet again Tunnel header of 55 used if IP minimal encapsulation used (RFC 2004)
Illustration
Recap Host mobility and Internet addresses Post-office analogy Home agent, foreign agent, care-of address, home address Registration and Tunneling IPv6 and Mobility support …
Outline TCP over wireless networks TCP assumptions Wireless network characteristics Impact on TCP performance Approaches to improve TCP performance Link layer approaches TCP-aware link layer approaches Split connection approaches End-to-end approaches TCP over satellite and ad-hoc networks
TCP Congestion control Window based Slow start LIMD Congestion detection Self-clocking Window limitation
TCP (Contd.) Reliability Cumulative ACKs DUPACKs and Timeouts Timeout calculation RTTavg + 4 * RTTmdev Coupling between congestion control and reliability
Wireless Networks Wide-area wireless Metropolitan-area wireless Local-area wireless Ad-hoc wireless Satellite wireless
Wireless Characteristics Low bandwidths 10-20Kbps WWANs, 1-10Mbps WLANs, 100-500Kbps satellite Random wireless losses Upto 10% packet loss rates Hand-offs Depending on cell coverage and user mobility (30m/s in an 802.11 network will result in a hand-off every 10-15 seconds)
Wireless Characteristics (Contd.) Black-outs Fading, temporary disconnections etc. Can last from a few seconds to less than a minute Large and Varying Delay WWANs have typical RTTs of 400ms and deviations of up-to a few seconds Path asymmetry Reverse path characteristics different from forward path characteristics (e.g. satellite, WWANs)
Characteristics (Contd.) Local-area wireless Frequent hand-offs when mobile Ad-hoc wireless Routers mobile! Frequent disconnections Network partitions? Satellite wireless Large bandwidth delay products (why?)
TCP on Wireless – Random Losses TCP uses losses as indication of congestion Reduces congestion window by half (LIMD) when it experiences congestion Even when no congestion, if packets are dropped due to random losses, TCP will cut down its rate (is this right?)
Other Losses TCP will interpret hand-offs related losses also as congestion based losses Hence, it will reduce the congestion window every time hand-offs related losses occur Black-outs will further result in TCP experiencing multiple timeouts of increasing granularity
Large and Varying Delay TCP uses RTTavg + 4 * RTTmdev as the retransmission timeout If there is large variance in delay, mean deviation is high resulting in inflated timeout values Hence, if there are burst losses resulting in a timeout, the sender would take longer time to detect losses and recover
Path Asymmetry TCP relies on ACK arrivals for congestion window progression If path asymmetry exists, a TCP connection’s performance will be influenced by the reverse path characteristics also Indirect effects of path asymmetry (ACK bunching)
Low Bandwidths TCP uses window based congestion control If there is free space in the congestion window, TCP will transmit Hence, TCP’s output can be bursty This coupled with the low bandwidths can result in queue build-ups in the network adversely affecting RTT calculations and causing packet drops
Large Bandwidth Delay Products TCP’s header has 16 bits allocated for receiver window advertisement Maximum of 64KB can be advertised Consider a satellite link with 1Mbps bandwidth and 1 second RTT (BDP = 1Mb) But, TCP can only achieve 500Kbps (resulting in only 50% utilization)
Slow-start TCP uses slow-start to ramp up rate to the available capacity Whenever timeouts occur, TCP uses slow-start If hand-offs, black-outs, or route re-computations are frequent, TCP will constantly be in slow-start, lowering performance
Recap TCP over wireless networks Several factors contribute to the performance degradation of TCP when used in a wireless environment Approaches to improve TCP performance …
Approaches Reliable link layers TCP-aware link layers Split connection protocols
Reliable Link Layers Help in recovering from losses that occur on the wireless link Can potentially hide such losses from the TCP layer Can be implemented without requiring any changes at all to the sender and the receiver
Reliable Link Layer (contd.) Losses can still occur Retransmission can interfere with TCP retransmissions worsening the performance TCP timeouts similar LL timeouts DUPACKs Can introduce variations in TCP’s rtt estimation increasing the RTO
Snoop Module Resides in the base-station Caches packets sent from fixed host to mobile host TCP-aware functionality for retransmissions, and ACK suppression Improves on the performance of reliable link layers
Snoop (Contd.) Two modules: Snoop_data() – for processing data packets on the forward path (from FH – MH) Snoop_ACK() – for processing ACK packets on the reverse path (from MH – FH)
Snoop_data() 3 scenarios Normal packet in sequence Cache packet Forward to MH Timestamp if necessary (once per window) – for RTOs
Snoop_data() Scenario 2 Out of sequence (S) but already cached If highestACK < S Forward packet Else Generate an ACK from the snoop module for the highestACK
Snoop_data() Scenario 3 Out of sequence (S) and has not been cached earlier Either out-of-order or packet that was lost earlier Heuristically assume retransmission Packet forwarded, and marked as having been retransmitted due to congestion loss
Snoop_ACK() Scenario 1 New ACK Spurious ACK Clean snoop cache Round-trip estimate updated Spurious ACK ACK# less than highestACK# Discard ACK
Snoop_ACK() Duplicate ACK (DUPACK) If sender retransmitted packet or packet not in cache, forward ACK to sender Unexpected DUPACK (loss between BS and MH) Retransmit packet Keep track of maximum number of relevant DUPACKs possible Expected DUPACKs Suppress
Mobile host to Fixed host Cannot use only base-station based mechanisms Need to change the mobile host NACKs from the base-station to the mobile-station Mobile-station retransmits immediately and does not perform window reduction for NACKed losses
Split Connection Approaches Fixed Host Base Station Mobile Host TCP Wireless aware TP
Advantages Wireless aware congestion control and flow control Wireless link characteristics completely decoupled from the progress of TCP on the wired leg Better service to mobile applications possible Potentially simpler protocol stack at mobile Improved performance
Cons Application layer re-linking End-to-end semantics Software overheads Hand-off latency
Puzzle Two great mathematicians S & P S knows the sum of two positive integers (> 1) x and y P knows the product of x and y S calls P and says “You cannot find the two numbers” P replies “I know the two numbers” S responds “I know the two numbers too” What are the two numbers?!! Why?