Internet Mobility Presented by: Nitin Bahadur Nitin Bahadur Distributed Systems Spring 2000 1 References • Mary Baker, Xinhua Zhao, Stuart Cheshire, Jonathan Stone, Supporting mobility in Mosquitonet, Proceedings of USENIX, Technical Conference, 1996. • Stuart Cheshire and Mary Baker, Internet Mobility 4x4, SIGCOMM ‘96. • Kevin Lai, Mema R., Diane Tang, Xinhua Zhao, Mary Baker, Experiences with a Mobile Testbed, Proceedings of WWCA ‘98. Nitin Bahadur Distributed Systems Spring 2000 2 References • C. Perkins, IP Mobility Support for IPv4, Internet Draft, draft-ietf-mobileip-rfc2002-bis-01.txt, Jan 2000. • C. Perkins, Route optimization in Mobile IP, Internet Draft, deaft-ietf-mobileip-opim-09.txt, Feb 2000. • David Maltz, Pravin Bhagwat, MSOCKS: An Architecture for transport layer mobility, IEEE INFOCOM ‘98. Nitin Bahadur Distributed Systems Spring 2000 3 Outline • Motivation and Challenges • Some proposed solutions • IP Mobility • Routing Optimizations • Security Issues • Recent Extensions • Conclusions Nitin Bahadur Distributed Systems Spring 2000 4 Motivation • Ubiquitous connectivity, continuous connectivity. • Ability to maintain current conversations/connections during movement. • Move from one kind of network to another. • Move to networks that do NOT provide support for mobility. Nitin Bahadur Distributed Systems Spring 2000 5 Challenges • Movement causes change in IP address • Problems with TCP connections • Maintaining transparency • Efficient routing to new location of mobile host • Security issues Nitin Bahadur Distributed Systems Spring 2000 6 Some Solutions • Use Host specific routes - possible with IPv6. • Link Layer solutions – Limited to a single medium – A new solution for every medium – Compatibility issues with other mediums • Use extended DNS to register COA with DNS – Information propagation time – Global change in DNS Nitin Bahadur Distributed Systems Spring 2000 7 Basic Terminology • • • • • Mobile Host (MH) Correspondent Host (CH) Home Agent (HA) Foreign Agent (FA) Care of Address (COA) Internet CH HA Nitin Bahadur FA Distributed Systems MH Spring 2000 8 Split TCP • Two TCP connections, CH<=>HA<=>MH • Transport Layer mechanism TCP - I Internet HA CH TCP - II Nitin Bahadur Distributed Systems Spring 2000 9 Split TCP • Two TCP connections instead of one • Changed end points • HA acks. packets to CH even before MH has received them. • Home agent is responsible for final packet delivery • Multiple traversal through the TCP protocol stack • HA needs to maintain a TCP connection for every TCP connection of all its mobile hosts Nitin Bahadur Distributed Systems Spring 2000 10 TCP Splicing • Two TCP connections, CH<=>HA<=>MH • Transport Layer mechanism • Acks are sent on TCP-I to CH only when MH sends them on TCP-II TCP - I Internet HA CH TCP - II Nitin Bahadur Distributed Systems Spring 2000 11 TCP Splicing + The scheme works like 1 TCP connection + Location transparency is maintained - Multiple traversal through the TCP protocol stack - HA still needs to maintain a TCP connection for every TCP connection of all its mobile hosts Nitin Bahadur Distributed Systems Spring 2000 12 Mobility using Foreign Agent • MH obtains COA from FA • FA discovery using Agent Advertisement or Agent Solicitation messages • MH host registers COA with HA through FA • • • • HA intercepts packets for MH HA encapsulates and sends packets to FA FA decapsulates packets and sends it to MH Everything done at IP level……no TCP Same mechanism in the reverse direction This is called Bidirectional tunneling Nitin Bahadur Distributed Systems Spring 2000 13 Mobility using Foreign Agent Internet HA CH FA Nitin Bahadur Distributed Systems Spring 2000 14 Encapsulation: IP in IP Source = HA Destn = COA Source = CH Destn = MH HA DATA Source = CH Destn = MH Source = CH Destn = MH FA DATA DATA • Encapsulation maintains consistency in Source and Destination address fields. • Allows MH to receive packets as it moves from network to network. Nitin Bahadur Distributed Systems Spring 2000 15 Encapsulation Issues • IP encapsulation and automatic decapsulation is dangerous • How can one verify if the inner packet has a source address if claims to be ! • Encapsulation can cause packet fragmentation – TCP breaks data in chunks of 1460 bytes and gives it to IP – Encapsulation will automatically lead to packet fragmentation in such cases. So extra overhead. Nitin Bahadur Distributed Systems Spring 2000 16 Mobility without Foreign Agent • MH obtains a COA using DHCP • MH registers COA with HA directly • MH performs encapsulation and decapsulation Internet HA Nitin Bahadur CH Distributed Systems Spring 2000 17 Implementation in MosquitoNet Altered the route lookup function ip_rt_route Mobile Policy Table helps in combination with ip_rt_route is used for making routing decisions Nitin Bahadur Distributed Systems Spring 2000 18 Home Agent Functionality • Maintaining information about MH’s current location • Acting as an ARP proxy for MH – ARP…. to get link-layer address for an IP address – Proxy ARP…..done to answer a new ARP request on behalf on MH – Gratuitous ARP….done to update ARP information of MH in all nodes • Forwarding packets to CH and MH Nitin Bahadur Distributed Systems Spring 2000 19 Movement of MH away from home network • Detection by MH – received a different agent advertisement message – stopped receiving agent advertisement messages • Disable ARP • Register with FA or HA • HA performs Gratuitous ARP on behalf of MH Nitin Bahadur Distributed Systems Spring 2000 20 Movement of MH to home network • Re-enable ARP • De-register itself with HA • HA performs Gratuitous ARP on behalf of MH Nitin Bahadur Distributed Systems Spring 2000 21 Advantages of using Foreign Agent • No need for a temporary COA for every MH • If MH leaves foreign network, then Inflight packets can de directed by FA to new location of MH – Less packet loss • Less complexity in MH Nitin Bahadur Distributed Systems Spring 2000 22 Advantages of NOT using Foreign Agent • MH can visit networks without a foreign agent • FA is not a bottleneck or single point of failure • No need for a FA on each network Nitin Bahadur Distributed Systems Spring 2000 23 Triangular Routing • Proposed by Mobile IP working group • CH sends packets to HA which forwards it to MH • MH sends directly packets to CH CH MH Internet HA CH HA COA CH MH Nitin Bahadur MH CH Distributed Systems Spring 2000 24 Problems with Routing Techniques • Bidirectional tunneling and Triangular routing – Inefficient, increase in RTT, increase in path length – HA is a bottleneck and a single point of failure – Source address filtering problem with triangular routing Nitin Bahadur Distributed Systems Spring 2000 25 Source Address Filtering Problem • Foreign network might not allow transit traffic Source = MH != foreign network Destination = CH != foreign network => TRANSIT TRAFFIC => DROP IT ! Nitin Bahadur Distributed Systems Spring 2000 26 Source Address Filtering Problem • Filtering at CH network Source = MH = CH network But packet has come from a different network …..hmmm….drop it ! Nitin Bahadur Distributed Systems Spring 2000 27 Routing Optimizations - I • Similar to triangular routing • MH encapsulates packet to avoid source-address filtering problem • Better than triangular routing and bidirectional tunneling ! Nitin Bahadur Distributed Systems Spring 2000 28 Routing Optimizations - I CH MH Internet CH HA MH CH HA COA CH MH Nitin Bahadur COA CH MH CH Distributed Systems Spring 2000 29 Routing Optimizations - I • • • • Direct delivery to CH Valid source address, so no source address problem Location transparency is maintained Will work in all situations • CH needs to have decapsulation capability • Indirect delivery for CH • Will fail if CH border router does not admit packets from current (foreign) network of MH Nitin Bahadur Distributed Systems Spring 2000 30 Routing Optimizations - II • Direct delivery mechanism • Both MH and CH encapsulate packets and send directly to each other Nitin Bahadur Distributed Systems Spring 2000 31 Routing Optimizations - II Internet CH HA CH MH CH MH Nitin Bahadur Distributed Systems CH COA CH MH Spring 2000 32 Routing Optimizations - II Internet CH HA MH CH MH CH Nitin Bahadur Distributed Systems COA CH MH CH Spring 2000 33 Routing Optimizations - II • Direct delivery between CH and MH • Valid source address, so no source address problem • CH needs to have en (de)capsulation capability • CH needs to be aware of current location of MH • Will fail if CH border router does not admit packets from current (foreign) network of MH • Validity of encapsulated packet ? Nitin Bahadur Distributed Systems Spring 2000 34 Routing Optimizations - III • Direct delivery mechanism • Both MH and CH DO NOT encapsulate packets and send directly to each other using MH and not COA Nitin Bahadur Distributed Systems Spring 2000 35 Routing Optimizations - III Internet HA CH CH MH Nitin Bahadur Distributed Systems Spring 2000 36 Routing Optimizations - III Internet HA CH MH CH Nitin Bahadur Distributed Systems Spring 2000 37 Routing Optimizations - III Applicability When MH and CH are on same link layer segment • Direct delivery between CH and MH • CH needs to be aware of current location of MH • Invalid source address - security • Location transparency ? Nitin Bahadur Distributed Systems Spring 2000 38 Routing Optimizations - IV • Direct delivery mechanism • Both MH and CH DO NOT encapsulate packets and send directly to each other using COA and not MH Nitin Bahadur Distributed Systems Spring 2000 39 Routing Optimizations - IV Internet HA CH CH COA Nitin Bahadur Distributed Systems Spring 2000 40 Routing Optimizations - IV Internet HA CH COA CH Nitin Bahadur Distributed Systems Spring 2000 41 Routing Optimizations - IV • Direct delivery between CH and MH • No encapsulation overhead • CH needs to be aware of current location of MH • No Location transparency • Packets will be lost if MH changes location Nitin Bahadur Distributed Systems Spring 2000 42 Routing Optimizations - IV Short lived connections such as HTTP browsing Situations where location transparency is not an issue Nitin Bahadur Distributed Systems Spring 2000 43 Making CH intelligent • Introducing mobile awareness in CH • Why - for efficient routing • How ? – Binding Warning messages are sent by MH to HA so that HA sends binding update message to CH – Binding update messages are sent by HA to CH whenever HA receives a tunneled packet – MH can also directly send binding update messages to CH MH can specify to HA which CH should be informed of its current location Nitin Bahadur Distributed Systems Spring 2000 44 Gains using optimizations Nitin Bahadur Distributed Systems Spring 2000 45 Practical implementation of optimizations • Optimizations must not cause break in connection or packet loss • Start with the most pessimistic routing method • do – Send ICMP echo messages in background using a better method – If that succeeds switch to the better method • while (no more methods) Nitin Bahadur Distributed Systems Spring 2000 46 Security Issues • For registrations and communication between HA and MH an authenticator is used • Authenticator is optional for communications among HA - {CH, FA} and MH - {CH,FA} • Authenticator default algorithm is 128-bit keyed MD5 • Since key distribution may be a problem, messages with FA and CH may not be authenticated • Replay protection done using timestamps and/or nonces Nitin Bahadur Distributed Systems Spring 2000 47 Mobile Policy Table Performance Nitin Bahadur Distributed Systems Spring 2000 48 Mobile Policy Table and Flexibility • Supports multiple packet delivery methods simultaneously • Adaptively selects the most appropriate method according to characteristics of each traffic flow • Makes use of multiple network interfaces simultaneously • Controls interface selection of both outgoing and incoming packets for different packet flows • MH can register with HA flow specification and corresponding interface binding for that flow Nitin Bahadur Distributed Systems Spring 2000 49 Why support multiple pkt delivery methods MH pays for extra cost of mobility support only when actually required Nitin Bahadur Distributed Systems Spring 2000 50 Why support multiple network intefaces • • • • • Smoother handoffs QoS Link asymmetry Cost and billing Privacy and Security Nitin Bahadur Distributed Systems Spring 2000 51 Conclusion • A schema for supporting ubiquitous and continuous connectivity • Support for multiple packet delivery methods • Use of multiple packet interfaces simultaneously • Dynamic adaptation of routing optimizations • MH can specify which CHs should be informed of current COA Nitin Bahadur Distributed Systems Spring 2000 52 Issues to think about • IP encapsulation overhead problem • IPSec and IP-in-IP interactions • Multicast for Mobile hosts….check out Alex Nitin Bahadur Distributed Systems Spring 2000 53