350 likes | 520 Views
T-110.6120 Special Course in Data Communication Software Mobility in the Internet 17.10.2008. Prof. Sasu Tarkoma. Contents. Overview Mobile IP NEMO Transport layer solutions i3 SIP mobility. Mobility in the Internet. This topic pertains to mobility of Networks Hosts
E N D
T-110.6120 Special Course in Data Communication SoftwareMobility in the Internet17.10.2008 Prof. Sasu Tarkoma
Contents • Overview • Mobile IP • NEMO • Transport layer solutions • i3 • SIP mobility
Mobility in the Internet • This topic pertains to mobility of • Networks • Hosts • Transport connections • Sessions • Objects (passive, active) • Services • Users • Many solutions are needed on multiple layers • Link layer, network, transport, application
Mobility • What happens when network endpoints start to move? • What happens when networks move? • Problem for on-going conversations • X no longer associated with address • Solution: X informs new address • Problem for future conversations • Where is X? what is the address? • Solution: X makes contact address available • In practice not so easy. Security is needed!
Topology in address vs. routing table Reactive AD HOC (MANET) routing Proactive ad hoc (MANET) routing Original IP routing CIDR Pure source routing (minimal state in intermediate nodes) Host-based hop-by-hop (more state in intermediate nodes)
Multi- homing end-host multihoming SoHo site multihoming enterprise multihoming moving, multi-homed networks ad hoc networks end-host mobility Moving networks (NEMO) Mobility One host Single subnet Parts of topology All hosts
Classifying Mobility Protocols Mobility Global Macro Micro MIP (1996) Hierarchical MIP (1996) Cellular IP (1998) Hawaii (1999) Dynamic Mobility Agent (2000) Time (evolutionary path) MIPv6 (2001) TMIP (2001) HMIPv6 (2001) Intra-subnet Inter-domain Intra-domain
Routing vs. mobility • Topology data aggregation is necessary • Cannot track all hosts in the world • IP addresses determined by topology • Network gives the routing prefix • Mobile hosts must change their IP addresses • Causes sockets / connections to break • How to communicate address changes? • Two approaches: • Let routing handle it not scalable • Done by ad hoc routing protocols • Let end-systems handle it protocol is needed • Goal of a mobility protocol • Transport and applications do not see address changes • Mobility transparency
Rendezvous • How to find the moving end-point? • Tackling double jump • What if both hosts move at the same time? • Requires a rendezvous point • Mobility management is needed! • Initial rendezvous • Can be based on directories • Requires fast updates to directories • Does not work well for DNS
Security issues • Address stealing • Alice and Bob communicate • Mallory tells Alice • Bob is now at C • Address flooding • Mallory downloads from Alice, Bob, etc. • Mallory tells everybody • I have moved to C
Mobile IP • Two versions • IPv4 (optional) • integrated into IPv6 (with IPSec security) • Home Agent (HA) • Home address • Initial reachability • Triangular routing / reverse tunneling • Route optimization • Tunnels to bypass HA • HA as a rendezvous point
DELAY! Mobility Example:Mobile IP Triangular Routing Ingress filtering causes problems for IPv4 (home address as source), IPv6 uses CoA so not a problem . Solutions: (reverse tunnelling) or route optimization Correspondent host Foreign agent left out of MIPv6. No special support needed with IPv6 autoconfiguration Foreign agent Home agent Home link Foreign link Mobile host Care-of-Address (CoA)
DELAY! Reverse Tunnelling Firewalls and ingress filtering no longer a problem Double triangular routing leads to overhead and increases congestion Correspondent host Router Home agent Home link Foreign link Mobile host Care-of-Address (CoA)
Mobility Example:Mobile IPv6 Route Optimization CH sends packets using routing header Correspondent host First, a Return Routability test to CH. CH sends home test and CoA test packets. When MH receives both, It sends the BU with the Kbm key. Router Secure tunnel (ESP) Home agent MH sends a binding update to CH when it receives a tunnelled packet. Home link Foreign link Mobile host
MIPv6 • MIP6 utilizes IPv6 header options for signalling between the HA and CN. • The important changes are a new extension header (mobility header) for the creation and management of binding, a new routing header type to allow packets to be routed directly from CN to a MN CoA (home address in ext), and a new destination type (MN to CN, home address again) • MIP6 uses the new IPv6 autoconfiguration mechanism to determine the CoA, and thus does not need a FA. • Using autoconfiguration, the MN receives Router Advertisements that contain the routing prefixes of the visited network. This prefix information is then combined with the interface ID (MAC address) of the MN to obtain the CoA. • MIP6 also supports the dynamic discovery of the HA or HAs.
Security in Mobile IP • MIPv6 RFC 3775/3776 • Protection of Binding Updates HA, CNs • IPsec extension headers or the binding authorization data option • Binding management key, Kbm, which is established through return routability procedure • Protection of mobile prefix discovery • Protection of the mechanisms that MIPv6 uses for transporting data • Protecting binding updates • Must be secured through IPsec • ESP is used for updates and acks • Shoulds: init messages, prefix discovery
Hierarchical Mobile IP • HMIPv6 is specified in RFC 4140 • Introduces local Mobility Anchor Points (MAP) that are essentially Home Agents • MAPs can be located at any level in a hierarchical network of routers, including the access routers. • The aim of the HMIPv6 is to minimize the signaling latency and reduce the number of required signaling messages. • As long as the MN stays inside one MAP domain it only needs to update its location with the MAP. • The localized mobility management can also be completely handled on the network side without MN's involvement at the IP mobility protocol level.
NEMO • It is also possible for a whole subnetwork to roam from one part of the Internet to another. • Network Mobility (NEMO) is specified in RFC 3963 • The technical solution of NEMO is based on MIP6. NEMO allows subnetworks to change their location in a network. • This is realized using a mobile router that manages the mobile network. The mobile router updates its HA regarding the CoA of the mobile router. • A NEMO compliant HA can act also as a MIP6 HA. The basic solution creates a bi-directional tunnel between the mobile router and the HA, which effectively keeps the mobile network reachable. • Hosts behind the mobile router do not need to be aware of mobility in any way.
Multi-layer Operation • Mobility and multi-homing can be realized on different layers • Network • Mobile IP, HMIP, NEMO • Between network and transport • Host Identity Protocol (HIP) • Transport (SCTP) • TCP extensions, SCTP (TrASH) • Application • SIP, Wireless CORBA, overlays • Re-establish TCP-sessions after movement
SIP Mobility • Session mobility allows a user to maintain and manage a media session across devices • Terminal mobility allows a device to move between IP subnets while continuing to be reachable for incoming requests and maintaining sessions across subnet changes • Personal mobility allows the addressing of a single user • Located at different terminals by using the same logical address • Service mobility allows users to maintain access to services while moving or changing devices and network service providers • SIP implements these using URLs, proxies, and redirect servers. The home domain keeps track of users and devices. Message forking
Host Identity Protocol • New cryptographic namespace • Connection endpoints mapped to 128 bit host identity tags (hashes of public keys) • Mapping at HIP layer • 4-phase Base Exchange with cryptographic puzzle for DoS prevention • IPSec for network-level security
Application-layer mobility • Many application-layer protocols are, in principle, similar to Mobile IP • Moving entity may differ • Instead of host we have object, session, entity, or interests • For example: • Object mobility • Wireless CORBA • Session mobility • SIP • Interest mobility • Content-based routing • Generic mobility • i3 overlay, service composition
Internet Indirection Infrastructure (i3) • An Overlay infrastructure. • Every packet is associated with an identifier. • Receiver receives using identifier A Trigger Movement with a different address (Natural Support for Mobility) [Source: http://i3.cs.berkeley.edu/]
Mobile Web Server Browser Webserver 2 1 3 2.5/3G Operator Firewall DNS Internet Gateway By courtesy of Johan Wikman Presented in EuroOSCON 2006
Mobile Middleware I • Middleware is typically designed and implemented for fixed-network hosts • High bandwidth, low latency, reliable communication • Persistent storage and sufficient computing power • No mobility • Mobile environment requires new solutions • Existing middleware services do not scale • Previous lectures: mobility is challenging • Small devices / embedded systems pose totally different challenges
Mobile Middleware II • Goals for middleware: • fault-tolerance, adaptability, heterogeneity,scalability, resource sharing • Mobile middleware • dynamically changing context • decoupled • events, tuple spaces • Basic solution for wireless • Use a proxy
WAP Programming model encodedrequest Client Gateway Server request Encoders Decoders HTTPServer WebBrowser wireless ProtocolGateways CGI,.. encodedresponse response
WAE: current status • WAP Forum now in OMA (Open Mobile Alliance) • WAP 2.0, is a re-engineering of WAP using a cut-down version of XHTML with end-to-end HTTP • Gateway and custom protocol suite is optional. • WAP used by many handsets • 1.2 version introduced WAP Push (typically using an SMS message) • Typically versatile networking stacks with also IPv6 support
Wireless CORBA • CORBA does not support accessing mobile objects or wireless communication • Wireless CORBA specification • Three basic requirements • Invocations from mobile objects • Invocations to mobile objects • Wireless communication • Home bridge • Access bridges • Tunnelling over wireless • Handoff protocols
Mobile IP vs. WCORBA • MIP addresses host mobility, not object mobility • MIP does not specifically support wireless protocols • MIP hides all handoff events • location-aware services difficult to implement
Architecture • Redirects requests for • services on the terminal • Keeps track of the current • access bridge • Abstract transport-independent • tunnel for GIOP messages • Concrete tunnels for TCP/IP, • UDP/IP and WAP WDP. • Protocol requires reliable and • ordered delivery • Other side end of the Access Bridge • Encapsulate/decapsulates msgs • Generates mobility events • Encapsulates, forwards or ignores • incoming GIOP messages • Decapsulates and forwards • messages from the GIOP tunnel • Generates mobility events • Lists available services
Handoffs • Network initiated handoff • started by an external application • optional to support make-before-break • Terminal initiated handoff • terminal discovered a new Access Bridge • make-before-break is required • Access recovery • The Home Location Agent is updated • Old Access Bridges are informed • Mobility events are generated in the visited domain and the terminal domain
Indirection Points • Mobility may be characterized by indirection points • Mobile IP • Single fixed indirection point • Location / Identity split • Single indirection point • SIP • Single fixed indirection point (home domain) (other are possible) • Content-based routing • Many indirection points
Lessons to learn • Hierarchical routing likely to stay • Addresses carry topological information • Efficient and well established • Applications face changing connectivity • QoS varies • periods of non-connectivity • Identifiers and locators likely to split • Mobility management is needed • Probably changes in directory services • Overlays have been proposed
Summary • Topology based routing is necessary • Mobility causes address changes • Address changes must be signalled end-to-end • Alternative: use triangular routing as in Mobile IP • Mobility management needed • Initial rendezvous: maybe a directory service • Double jump problem: rendezvous needed • Many engineering trade-offs