Mobile IP Introduction In the last few years the number of notebook users has been increased tremendously, due to the great improvement in this technology with respect to size, speed, and weight. In addition, most organizations depend on sophisticated networks that link their employees with their PC’s and workstations. Besides, telecommuters, mobile salespersons, and other highly mobile individuals, are becoming part of a mobile workforce. The previous reasons motivate the need for mobile computers to communicate with other computers, fixed or mobile. 10/5/98 Mohamed Khalil IP10 Page 1 MKIPM001 Mobile IP The requirements which drove the design of Mobile IP 1. A mobile node must be able to communicate with other nodes after changing its Link-layer point of attachment to the Internet. 2. A mobile node must be able to communicate using only its home (permanent) IP address, regardless of its current Link-layer point of attachment to the Internet. 3. A mobile node must be able to communicate with other computers that do not implement the Mobile IP mobility functions. 4. A mobile node must not be exposed to any new security threats over and above those to which any fixed node on the Internet is exposed. 10/5/98 Mohamed Khalil IP10 Page 2 MKIPM001 Mobile IP Design goals for Mobile IP 1. In order to make Mobile IP suitable for use over a wide range of wireless links, the size and frequency of network routing updates should be small. To reach this goal all of the protocol messages defined by Mobile IP consists of a small, fixed-length portion followed by one or more extensions. 2. Mobile IP protocol should be as simple as possible to be implemented. This increases the number of nodes which can potentially make use of Mobile IP, especially memory and processing-constrained devices such as pagers, smart cellular telephones, and personal organizers, in addition to fully functional notebook computers. 3. Avoid solutions which require mobile node to use multiple addresses, or which require large pools of addresses to be made available for use by mobile nodes, unless absolutely necessary. This assumption makes mobile IP suitable to be implemented over IPv4 which has a limited set of available addresses. To make the Mobile IP suitable for wide range of communication technology the size, number and frequency of network routing updates should be small. 10/5/98 Mohamed Khalil IP10 Page 3 MKIPM001 Mobile IP Assumptions made by Mobile IP 1. Unicast packets destined to a single recipient should be routed based only upon the IP Destination Address and typically only the network prefix portion of that address. 2. The Internet should be capable of delivering packets between any pair of nodes in the network. 3. All Mobile IP requires an infrastructure of routers and links that is capable of routing packets to any node which is connected to its home link. 10/5/98 Mohamed Khalil IP10 Page 4 MKIPM001 Mobile IP Mobile IP Terminology 1. Agent Advertisement - an ICMP advertisement message with one or more extensions. 2. Care of Address - a care of address is an IP address associated with a mobile node while visiting a particular foreign link. 3. Correspondent Node - A peer with which a mobile node is communicating. A correspondent node may be either mobile or stationary. 4. Foreign Network - Any network other than the mobile node’s Home Network. 5. Home Address - An IP address that is assigned for an extended period of time to a mobile node. 6. Link - A facility or medium over which nodes can communicate at the Link layer. 7. Link layer Address - The address used to identify an endpoint of some communication over a physical link. 8. Mobility Agent - Either a home agent or a foreign agent. 9. Mobility Binding - The association of a home address with a care of address, along with the remaining lifetime of that association. 10. Tunnel - The path followed by a datagram while it is encapsulated. 11. Visited Network - A network other than a mobile node’s Home Network, to which the mobile node is currently connected. 12. Visitor List - the list of mobile nodes visiting a foreign agent. 10/5/98 Mohamed Khalil IP10 Page 5 MKIPM001 Mobile IP New Architectural Entities Mobile IP introduces the following new functional entities: 1. Mobile Node - a node which can change its point of attachment to the Internet from one link to another while maintaining any ongoing communications and using only its (permanent) IP home address. 2. Home Agent - a router with an interface on the mobile node’s home link which: a. the mobile keeps informed of its current location, as represented by its care of address, as the mobile node moves from link to link. b. advertises reachability to the network-prefix of the mobile node’s home address, thereby attracting IP packets that are destined to the mobile node’s home address. c. intercepts packets destined to the mobile node’s home address and tunnels them to the mobile node’s current location. 3. Foreign Agent - a router on a mobile node’s foreign link which: a. Assists the mobile node in informing its home agent of its current care of address. b. In some cases provides a care of address and de-tunnels packets for the mobile node that have been tunneled by its home agent. c. Serve as a default router for packets generated by the mobile node while its is connected to this foreign link. 10/5/98 Mohamed Khalil IP10 Page 6 MKIPM001 Mobile IP Mobile node visiting a foreign Link Mobile node at home Foreign Agent X Home Agent Foreign Link Arbitrary Topology of Routers and Links X Home Link X Foreign Link Mobile IP entities and relationships 10/5/98 Mohamed Khalil IP10 Page 7 MKIPM001 Mobile IP Summary of How Mobile IP works The purpose of this section is to illustrate Mobile IP at a very high level. A. Mobile agents advertise their presence on any attached link by periodically multicasting or broadcasting special Mobile IP messages called Agent Advertisement. Home agents and foreign agents periodically broadcast Agent Advertisements which are received by all nodes on the link. Mobile Node Mobile Agent Agent Advertisement X Host 10/5/98 Host Mohamed Khalil IP10 Page 8 MKIPM001 Mobile IP B. Mobile nodes listen to these Agent Advertisements and from the contents of this message it determines whether they are connected to their home link or a foreign link. If it discovers that it is connected to the home link, then it acts as any stationary node in this link, therefore, it does not use any mobile IP functionality. Mobile nodes examine Agent Advertisements and determine whether they are connected to this home or a foreign link. IP Header IPsrc = Agent’s Address IPdst = Broadcast IP protocol = ICMP Agent Advertisement FA Care of Address Agent Advertisement 10/5/98 Mohamed Khalil IP10 Page 9 MKIPM001 Mobile IP C. A Mobile node connected to a foreign link acquires a care of address. A foreign agent care of address can be read from one of the fields within the foreign agent’s Agent Advertisement. A collocated care of address must be acquired by some assignment procedure, such as the Dynamic Host configuration Protocol (DHCP), the Point to Point Protocol’s IP Control Protocol (IPCP), or manual configuration. Mobile nodes connected to a foreign link obtain a care of address from the Agent Advertisement. 10/5/98 Mohamed Khalil IP10 Page 10 MKIPM001 Mobile IP D. The mobile node registers the care of address acquired in step 3 with its home agent using Registration Request. If the registration is granted by the Home Agent it will send and Acceptance reply message to the Mobile Node, otherwise a denial Reply message will be received by the Mobile Node from the Home Agent. Mobile node registers its care of address with its Home Agent. Registration Request 1 2 X Foreign Link X Arbitrary Topology of Routers and Links Foreign Agent 3 4 Home Link Home Agent Registration Reply 10/5/98 Mohamed Khalil IP10 Page 11 MKIPM001 Mobile IP E. The home agent or some other router on the home link advertisers reachability to the network prefix of the mobile node’s home address. The Home Agent will send an ARP reply on behalf of the mobile node if it is attached to a Foreign Link and it is receiving an ARP request from other nodes to identify its Data Link layer Address. This type of ARP reply is called a proxy ARP. The Home Agent sends a number of gratuitous ARPs to update the ARP caches for the other nodes which still have the original Data Link layer Address for the Mobile Node in their caches. This Data Link layer Address will be substituted with the Data Link layer Address of the Home Agent. When the Mobile node returns back to its Home link it will send a number of gratuitous ARPs to update the ARP caches for other nodes with its Data Link layer Address as opposed to the Data Link layer of Home Agent. Home agent or other router advertisers reachability to mobile node’s Home Address. X Routing Update Router X X Router Home Agent 10/5/98 Mohamed Khalil IP10 I can reach all destinations with network - prefix equal to mobile node’s home address. Page 12 MKIPM001 Mobile IP F. The Home Agent will intercept any packets sent to the mobile node. Host X Home Link X Home Agent Router 10/5/98 Mohamed Khalil IP10 Page 13 MKIPM001 Mobile IP G. The Home Agent tunnels the intercepted packets and send them to the Mobile node care of address. Mobile Node Foreign Agent Home Agent X X Foreign Agent removes original packets from the tunnel and delivers the original packet to the mobile node over the foreign link. 10/5/98 Mohamed Khalil IP10 Page 14 MKIPM001 Mobile IP H. If the mobile node wants to send packets, they will be sent directly to their destination without the need for tunneling. The foreign Agent serves as a router for all packets generated by a visiting mobile node. Correspondent Node Mobile Node Foreign Agent Home Agent X 10/5/98 X Mohamed Khalil IP10 Page 15 MKIPM001 Mobile IP What is agent discovery? 1. Determine Mobile Node if it is connected to foreign or home link. 2. Determine Mobile Node if it is moved from one link to another link. 3. Obtain a care of address if it is connected to foreign link. 10/5/98 Mohamed Khalil IP10 Page 16 MKIPM001 Mobile IP What Messages Comprise Agent Discovery? Agent Advertisement It is a message sent periodically as a multicast or broadcast message to each link the Mobile Agent Node is configured to perform as Home Agent, Foreign Agent or both. It is identical to ICMP router advertisement with IP time to live equal 1. Agent Solicitation When a Home Agent or Foreign Agent receives one, it should immediately respond by transmitting an Agent Advertisement. Agent Solicitations are identical to ICMP Router Solicitations, with IP time to live equal 1. The IP header of an agent advertisement is used by the mobile node to determine whether it is connected to its home link or a foreign link. 10/5/98 Mohamed Khalil IP10 Page 17 MKIPM001 Mobile IP Vers = 4 IHL Type of Service identification Time to Live= 1 Total Length Flags Protocol= ICMP Fragment offset Header check sum IP Header (RFC791) Source Address = Foreign Agent IP Address Destination = 255.255.255.255 (broadcast) or 224.0.0.1 (multi) Type = 9 Num addresses code check sum Address entry size Line time of this advert Router Address (1) Preference Level (1) ICMP Router Advertisement (RFC1256) Router Address (2) Preference Level (2) Type = 16 Length Sequence # Registration Lifetime R B H F M G V rsd Care of address (1) Mobility Agent Advertisement Extension (RFC2002) Care of address (2) Type - 19 10/5/98 Length Prefix 1 Prefix 2 Mohamed Khalil IP10 Prefix-Length Extension (RFC2002) Page 18 MKIPM001 Mobile IP Vers = 4 IHL Type of Service identification Time to Live= 1 Total Length Flags Protocol= ICMP Fragment offset Header check sum Source Address = mobile node’s home address Destination = 255.255.255.255 (broadcast) or 224.0.0.1 (multi) Type = 10 10/5/98 code=0 IP Header (RFC791) check sum Mohamed Khalil IP10 ICMP Router Advertisement (RFC1250) Page 19 MKIPM001 Mobile IP Agent Advertisement = receive Agent Advertisement ( ) srcIP address = receive SrcIP address (agent Advertisement) Network Prefix (SrcIP address = = Network Prefix (Mobile Node Home address) NO (Node in Foreign Link) NO YES (Node in Home Link) Has Mobile Node moved? Has Mobile Node moved? YES NO YES Mobile Node Deregister with Home Agent ( ) COA = get COA (agent Advertisement) Register Home Agent (COA, Mobile Node Home Address) Home Agent sends gratuitous ARPs to update nodes caches on the Home Link Mobile Node location detection 10/5/98 Mohamed Khalil IP10 Page 20 MKIPM001 Mobile IP How Does a Mobile Node Determine That It Has Moved Move Detection Using Lifetime The first method uses the Lifetime field within the ICMP router advertisement portion if an Agent Advertisement. This field effectively tells the mobile node how soon it should expect to hear another advertisement from the same agent. If a mobile node is registered with a foreign agent, and fails to hear an advertisement from that agent within the specified lifetime, then the Mobile node assumes that it has moved to a different link or that its foreign agent is broken. Move Detection Using Network Prefix In this method we assume that the mobile node is registered with a foreign agent on some link and has recorded the Agent Advertisement by which it discovered that foreign agent. To determine whether two advertisements were received on the same link, the mobile node computes the network prefix(es) of the respective advertisements, and the recorded advertisement. If those network prefix(es) are equal, so the node doesn’t move otherwise it is moved. 10/5/98 Mohamed Khalil IP10 Page 21 MKIPM001 Mobile IP Lifetime = get Lifetime (Agent Advertisement) wait for lifetime period We receive Agent Advertisement and Lifetime for the current Agent Advertisement not equal to the old Lifetime for the old Agent Advertisement yes Moved moved We did not receive Agent Advertisement at Lifetime period We receive Agent Advertisement at exactly Lifetime period Send Agent Solicitation Not Moved no get Agent solicitation Foreign Agent is broken error Mohamed Khalil IP10 Page 22 MKIPM001 Mobile IP Recorded Net Prefix = get Sub-network Prefix (recorded Agent Advertisement New Agent Advertisement = get Agent Advertisement ( ) New Net Prefix = get Sub-network Prefix (new Agent Advertisement) Length (recorded Net Prefix) = = length (new Net Prefix) YES i=0 NOT MOVED NO NO MOVED YES i < length (new Net Prefix) YES Recorded Net Prefix [ i ] = = new Net Prefix [ I ] i=i+1 YES NO MOVED Move Detection Using Network Prefixes 10/5/98 Mohamed Khalil IP10 Page 23 MKIPM001 Mobile IP Mobile Node Registration Mobile node registers with its Home Agent in the following situation: a. whenever it detects that its point of attachment to the network has changed from one link to another. b. when its registration time has expired. The Registration process includes the following tasks 1. Get a care of address from the Foreign Agent. 2. Inform its home agent of its current care of address. 3. Renew a registration when it is about to expire. 4. Deregister when it returns to its home link. 10/5/98 Mohamed Khalil IP10 Page 24 MKIPM001 Mobile IP Message Comprise Registration The registration process consists of the exchange of two messages: a Registration Request and a Registration Reply. Registration messages are carried in a Data Portion of a UDP packet. 10/5/98 Mohamed Khalil IP10 Page 25 MKIPM001 Mobile IP IHL Type of Service identification Time to Live= 1 Total Length Flags Protocol= UDP Fragment offset Header check sum IP Header (RFC791) Source Address Destination address Source Port Destination Port = 434 Length Type=1 Check sum S B D M G Y res Lifetime Mobile Node’s Home Address Home Agent Address UDP Header (RFC768 Fixed length portion of Registration Required (RFC2002) Care of Address Optional Extension Type = 32 Length Security Parameter Index (SPI) Authentication (Default equal keyed MD5) Mobile Home Authentication Extension (RFC2002) Mandatory Registration Request Message 10/5/98 Mohamed Khalil IP10 Page 26 MKIPM001 Mobile IP Type = 3 Code Lifetime Mobile Node’s Home Address Home Agent Address Fixed length portion of Registration Reply (RFC2002) Identification Registration Reply 10/5/98 Mohamed Khalil IP10 Page 27 MKIPM001 Mobile IP Registration Scenarios The purpose of registration is for the mobile node to inform its Home Agent of its current care of address(es), the address(es) to which the Home Agent will tunnel packets forwarded to the mobile node. The Home Agent will construct a table of binding entries, as a result of this registration process, each entry has a Mobile Node Home address and care of address. There are three scenarios of registration process: 1. A mobile node registers on a foreign link using a Foreign Agent care of address. 2. A mobile node registers on a foreign link using a collocated care of address (perhaps because no foreign agent is present on a Foreign Link). 3. A mobile node deregisters upon returning to its home link. 10/5/98 Mohamed Khalil IP10 Page 28 MKIPM001 Mobile IP Mobile Node 1 Registration Request Arbitrary Topology of Routers and Links X Foreign Link 4 Foreign Agent 2 Home Link X 3 Home Agent Registration Reply Link Layer Header IP Header UDP Header Registration Request Source Address = mobile mode’s Link Layer Address Destination Address = copied from Foreign Agent Advertisement Source Address = Home Address IP Destination Address = Foreign Agent IP Source Port = anything Destination Port = 434 B = 1 if mobile mode want a copy of broadcast OM Home Link D = o, tell the HA that the Foreign Agent is doing encapsulation Mobile Node’s IP Home Address Home Agent IP Address Copied from a Foreign Agent Advertisement Life Time Fields of Registration Request as set by Mobile Node for Foreign Agent care of Address 10/5/98 Mohamed Khalil IP10 Page 29 MKIPM001 Mobile IP Registration Request Home Link Foreign Link Arbitrary Topology of Routers and Links X Home Agent Registration Reply Source Address = mobile node’s Link Layer Address Link Layer Header IP Header Registration Request 10/5/98 Router Address = Select Router in Foreign Link without FA ( ) Destination Address = ARP (COA, Router Address) Source Address = cane of Address Dst Address = Home Agent IP Address Source Port = anything Dst Port = 434 B = 1 if a mobile node want a copy of broadcast on Home Agent D=1 Tell the Home Agt. that the mobile node is doing decapsulation Mobile Node’s IP Home Address Home Agent IP Address Collocated care of address Life Time Mohamed Khalil IP10 Page 30 MKIPM001 Mobile IP deregistration request X Arbitrary Topology of Routers and Links Home Link Home Agent deregistration reply Link Layer Header Src Address = mobile node Link Layer Address IP Header Src Address = Mobile Node IP Address Dst Address = ARP (Home Agent IP Address) Dst Address = Home Agent IP Address Registration Request Mobile Node Home IP Address Home Agent IP Address mobile node Home Address Life Time = 0 Fields in Deregistration Request as set by Mobile Node 10/5/98 Mohamed Khalil IP10 Page 31 MKIPM001 Mobile IP How Does a Foreign Agent Process a Registration Request We assume that we are registering through the Foreign Agent. When the foreign agent receives the Registration Request it applies a sequence of validity checks. If any of them fails it send a Registration Reply with the cause of the failure. Otherwise, it consumes the IP and UDP header, constructs new IP and UDP headers containing the original Registration Request, and sends it to the home agent. How Does a Home Agent Process a Registration Request When a Home Agent receives a Registration request, it applies a set of validity checks. If it is invalid, the Home Agent sends a Registration Reply to the Mobile Node with error code defining the problem. If it is a valid Registration Request then the Home Agent updates the binding entry according to the specified care of address, Mobile node Home Address, Lifetime, and S field. 10/5/98 Mohamed Khalil IP10 Page 32 MKIPM001 Mobile IP reg Request = Read Registration Request From Mobile Node ( ) invalid Authentication Field valid Registration Reply ( ) yes Registration Reply ( ) Lifetime > maximum no Sufficient Resources to handle Mobile Node yes no Registration Reply ( ) no Type of Tunneling is supported Registration Reply ( ) Payload = get Pay Load (reg Request) Src Address = Foreign Agent IP address Dst Address = Home Agent Field of Registration Request Construct Packet (Src Address,Dst Address, payload) Send Packet How Foreign Agent Process a Registration Request Mohamed Khalil IP10 Page 33 MKIPM001 Mobile IP Create a Binding for the specified care-of Address leaving any existing Binding unmodified No registration Req = get Registration Request ( ) Invalid Authentication valid No Sufficient Resources No LifeTime > 0 Yes Care of Address = = home Address No No LifeTime = = 0 No S==1 Replace all the mobile node existing binding with new binding for the specified care of address Registration Reply ( ) big problem Yes S==0 Yes Registration Reply ( ) Yes Delete the mobile node binding for the specified care of address leaving the rest untouched Delete all the mobile node Binding Yes Successful Registration Reply ( ) Send Gratuitous ARPs How Does a Home Agent Process A Registration Request 10/5/98 Mohamed Khalil IP10 Page 34 MKIPM001 Mobile IP registration Reply = get Registration Reply ( ) Link Layer Header Src Addr = Data Link for Foreign Agent ) Dst Addr = stored Data Link Address for Mobile Node IP Header Src Addr = IP address for Foreign Agent Dst Addr = stored IP address for Mobile Node Src Port # = Any Registration Reply Dst Port # = stored Port # NO Valid Reply YES update Reply code with the error Payload = get Payload (registration Reply) transmit Reply to Mobile Node Update list of Visiting Mobile Node transmit Reply to Mobile Node How Does a Foreign Agent Process a Registration Reply 10/5/98 Mohamed Khalil IP10 Page 35 MKIPM001 Mobile IP How Does a Foreign Agent Process a Registration Reply When the foreign agent receives the reply, it applies a validity check for the reply. If the reply is invalid because it contains an unrecognized extension, or fails homeagent-to foreign-agent authentication then the foreign agent forms another reply with the proper error code and relays the new reply to the Mobile Node. If it is valid then it relays the reply to the Mobile Node using some of the fields which has recorded during registration Request. 10/5/98 Mohamed Khalil IP10 Page 36 MKIPM001 Mobile IP IPsrc = Original Sender IPdst = Ultimate Destination original IP packet Header payload IPsrc = Tunnel Entry-Point (Home Agent) IPdst= Tunnel Exit-Point (care of address) Header Outer Header payload Encapsulating IP Packet Mobile Node Foreign Agent Home Agent X X A tunnel from a home agent to a foreign agent IP Tunneling 10/5/98 Mohamed Khalil IP10 Page 37 MKIPM001 Mobile IP Correspondent Node Foreign Link Arbitrary Topology of Routers and Links Home Link X X Foreign Agent Home Agent Mobile Node How Packets are Routed when a Mobile Node is at Home Mohamed Khalil IP10 Page 38 MKIPM001 Mobile IP Correspondent Node Mobile Node Foreign Link Arbitrary Topology 01 Home Link Router and Links X X Home Agent Foreign Agent How Packets are Routed when a Mobile Node is at Foreign Link and Correspondent Node is sending Packets to Mobile Node Mohamed Khalil IP10 Page 39 MKIPM001 Mobile IP Correspondent Node Mobile Node Foreign Link Arbitrary Topology of Routers and Links Home Agent X X Home Agent Foreign Agent How Packets are Routed when a Mobile Node is at Foreign Link and Mobile Node is sending Packets to Correspondent Node Mohamed Khalil IP10 Page 40 MKIPM001 Mobile IP Correspondent Node Mobile Node Using Routing Header Foreign Link Arbitrary Topology of Routers and Links X Home Link X Home Agent Foreign Agent How Packets are Routed when a Mobile Node is at Foreign Link and Correspondent Node is sending Packets to Mobile Node in case of collocated Care of Address Mohamed Khalil IP10 Page 41 MKIPM001 Mobile IP Receiving a Broadcast Message with a Foreign Agent Care of Address The Mobile node should instruct the Home Agent to deliver a copy of all broadcast messages by setting the B=1. Also, it instructs the Home Agent that the foreign Agent will do the de-capsulation process. The Home Agent will use nested encapsulation to deliver broadcast packets to mobile node. The encapsulated packet forwarded to the Src Addr 255.225.285.255 Data Foreign Agent is formed as follows: network prefix.111…. Home Agent Home Agent IP Mobile Node IP COA When the Foreign Agent receives this packet it will remove, decapsulate a unicase packet whose destination address is the Mobile Node Home address. The resulting Unicast message will be decapsulated again and the Routing Algorithm will send the resulting broadcast packet to the Mobile Node. 10/5/98 Mohamed Khalil IP10 Page 42 MKIPM001 Mobile IP Mobile Nodes Receiving Broadcast messages The destination address for the broadcast message is in the form of network-prefix .11……….11 (prefix-specific broadcast or 255.255.255.255) (link specific broadcast). The delivery mechanism depends upon whether the mobile node is using Foreign Agent care of address or collocated care of address. Receiving a Broadcast Message with a Collocated care of address The Mobile Node should instruct the Home Agent to deliver a copy of all broadcast messages by setting the B-1. Also, it should instruct the Home Agent that it will do the decapsulation by setting the process D bit. The encapsulated packet sent by the Home Agent is formed as follows: Src Addr Home Agent IP 10/5/98 255.255.255.255. Data COA IP Mohamed Khalil IP10 Page 43 MKIPM001 Mobile IP Sending Broadcast Message by Mobile Node There are three types of broadcast message which are sent by the Mobile Node a. If the destination broadcast address is a link-specific broadcast (255.255.255.255) intended for the Foreign Link, then Mobile node will use the data link broadcast Address to deliver this packet to all nodes in the Foreign Link. b. if the destination broadcast address is a link-specific broadcast (255.255.255.255) intended for the Home Link, then the Mobile Node should encapsulate this broadcast message as follows: Src Addr Mobile Node Home Address 255.255.255.255 Data Home Agent address The resulting packet will be routed to the Home Agent. 10/5/98 Mohamed Khalil IP10 Page 44 MKIPM001 Mobile IP “Normal Registration Scenario - 1 (IPv4)” Emad RAS MN Firewall Internet Firewall HA DS Russ GTE.com Nortel.com Wi re P PP s s le MN FA 1 Agent Advertisement 2 Reg Req 3 Reg Req. 4 User profile lookup 5 Reg Reply Reg Reply 6 7 n o sessi Start 8 Not explicitly specified in MIP (RFC2002) 10/5/98 Mohamed Khalil IP10 Page 45 MKIPM001 Mobile IP “Registration Scenario - 2 (IPv4) MN does not rcv advertisement DS HA FA 1 MN Adv Agent x ent 2 Ag ation it Solic Age nt A dv 4 Reg R Reg Req. Wait for agent Adv. 3 eq 5 6 Reg Req. Reg Req. 7 8 9 10 10/5/98 Mohamed Khalil IP10 Page 46 MKIPM001 Mobile IP “Registration Scenario - 3 (IPv4)” MN does not rcv advertisement MN does not rcv response for solicitation HA DS DCHP FA tA Age n 5 7 Reg Req. x Wait for agent adv x 3 Wait for agent adv Wait for rtrn adv. c t Soli Age n 2 x lic o S t n Age 1 Query DH MN dv CP 4 No response from agent DHCP resp onses HCP dr from D Req IP ad 6 Reply from DHCP wit h IP(COA ) 9 eq 8 Reg R 10 Reg Req. Reg Req. 11 12 13 14 10/5/98 Mohamed Khalil IP10 Page 47 MKIPM001 Mobile IP “Registration Scenario - 4 (IPv4)” HOME AGENT DISCOVERY MN does not rcv adv. MN does not rcv response for solicitation HA-3 HA-2 HA-1 FA DCHP tA Age n dv MN c t Soli Age n 2 x c t Soli Age n 3 1 x CP Query DH 4 DHCP resp onses 5 HCP dr from D Req IP ad 6 Reply from DHCP wit h IP(CO 7 Reg Req (BC T AST, MCAS A) ) Reg Req rejecting reg RCP rej 10 Reg Rep. 9 eq 8 Reg R 12 Reg Req. 13 Reg Rep. 11 14 10/5/98 Mohamed Khalil IP10 Page 48 MKIPM001 Mobile IP “Data Routing Scenarios” CN Internet Internet MN ISP FA Internet ISP HA ISP ISP Internet HA CN MN FA HA by -passed for optimization Internet ISP HA Internet ISP FA CN MN IPv6 HA, FA are by-passed ISPs CN MN 10/5/98 Normal routing with FA, HA involvement Mohamed Khalil IP10 Page 49 MKIPM001 Mobile IP • Russ, Emad, Al and Leo must have a video conference. • Russ’ mobile registers in France. - How does the VLR fetch Russ’ profile? - How does GGSN interface to the Internet? - What address should Russ use to conference others? • Emad has the same issues in Mexico. • Leo is Calgary in his hotel room and would have similar issues as Russ and Emad. • Al dials up using ISDN from home. • How would Russ, Emad, Al and Leo have a real-time video conference? 10/5/98 Mohamed Khalil IP10 Page 50 MKIPM001 Mobile IP Ottawa ISDN Dialup Calgary Nortel.com HA AOL ISP MIP Slip Dialup Internet Leo MPN MPN GGSN IWF IP GSN/UMTS France NAC Mexico SGSN Wireless PPP Russ 10/5/98 2G 3G Mohamed Khalil IP10 Emad Wireless PPP Page 51 MKIPM001 Mobile IP Interface Option-1 France SGSN HLRIVLR GGSN 1 2 Resolve user profile MN 3G Reg. Req. 3 Create content 4 3G Loc update Nortel HA/HAD IP Network MPN IP 5 IP Hdr 3G Loc update DS Convert to MIP 6 Tunnel 7 MN 3G Reg. Resp. Tunnel 10 Current 3G Loc 8 up Response 9 3G Loc up Resp - 2G system is similar; however, IWF replaces SGSN & GGSN - Calgary’s interface is already MIP compatible. 10/5/98 Mohamed Khalil IP10 Page 52 MKIPM001 Mobile IP - 3G & 2.5G Place MIP elements such as FA, HA at SGSN, GGSN & IWF Adv. - Eliminate the MPN passthrough function - Eliminate the protocol conversion at the HA/HAD - Unify network mobility across different platforms Dis. - All infrastructures have to incorporate MIP components. - MIP is not mature for real time commercial systems. 10/5/98 Mohamed Khalil IP10 Page 53 MKIPM001 Mobile IP MIP Signaling Issues IP Network HA In MIP Registration procedure is repeated during handoff to inform HA of new location FA X Dropped in the network due to 2 congestion X - - Reg Reg R MN Req 1 eq 3 Dropped due to congestion Today IP network does not provide any preference for MIP/signaling messages? - congestion can cause latency - normal conditions also may cause latency Therefore, unpredicted impact on handoff latency. 10/5/98 Mohamed Khalil IP10 Page 54 MKIPM001 Mobile IP ICMPv6 Router Discovery ICMPv6 Router Discovery consists of two Messages: a. Router Advertisement Message: Routers Transmit router Advertisement Message on a periodic basis - or in response to a host’s Router Solicitation on message. The source address is the address of the senders interface and the destination is the source address of an invoking Router Solicitation, or the all-nodes multicast address. b. Router Solicitation Message: The Router Solicitation Message is transmitted by a host to prompt routers to generate Routers Advertisement massage quickly. The source address defines the sending interface address and the destination is all-routes multicast address. 10/5/98 Mohamed Khalil IP10 Page 55 MKIPM001 Mobile IP Mobile Node Home Address Care of Address Max sequence # Lifetime Value Binding Cache (maintained by each IPv6 node) IP address for node Lifetime Care of Address Binding Update List (maintained by each mobile node) Lifetime Home Agent IP Address Home Agent List 10/5/98 Mohamed Khalil IP10 Page 56 MKIPM001 Mobile IP Vers = 6 prio=ls payload length Flow Label next header=58 Hop limits Source address-router or home agent’s address IPMv6 Header (RFC 1883) Destination address=mobile node’s address or All-Nodes Multicast Address Type=134 code=0 current Hop Limit M O check sum reserve IPv6 Router Advertisement (Fixed Portion) RFC 1970 Router lifetime Reachable Time Retransmission Times Type=3 Length=4 Prefix Length valid lifetime preferred lifetime Reserved Prefix information option RFC1970 Reserves 2 Network Prefix 10/5/98 Mohamed Khalil IP10 Page 57 MKIPM001 Mobile IP Vers = 6 prio=l5 payload length=8 (_______) Flow Label next header=58 Source address= the Mobile Node’s unicast address Hop limits IPv6 Header (RFC 1883) Destination address=the All-router Multicast Address Type=133 code=0 check sum reserved ICMPv6 Router solicitation (RFC 1970) ICMPv6 Router Solicitation 10/5/98 Mohamed Khalil IP10 Page 58 MKIPM001 Mobile IP Location Detection The mobile node examines the network prefix contained in the received advertisement against its home address network prefix. If there is a match then the mobile node is connected to its Home Link, otherwise it is connected to a foreign link. 10/5/98 Mohamed Khalil IP10 Page 59 MKIPM001 Mobile IP Router Advertisement=get Router Advertisement ( ) Network Prefix = get Network Prefixes (router Advertisement) i=o i< length (network Prefixes) i = i+1 NO NO (connected to foreign Link) YES Moved Network Prefixes [i]= = network Prefix [mobile Node Home Address] YES Coa=get Care Of Address ( ) YES YES Deregister ( ) NO Register with Home Agent ( ) Moved NO Location Detection Algorithm 10/5/98 Mohamed Khalil IP10 Page 60 MKIPM001 Mobile IP Old Network Prefixes=get Network Prefixes (old Router Advertisement New Router Advertisement=get Router Advertisement ( ) New Network Prefixes=get Network Prefixes (new Router Advertisement size of (new Network Prefixes) = = size of (old Network Prefixes) NO Moved i=0 i < size of (new Network Prefix) YES Not Moved NO New Network Prefixes [i]= = old Network Prefixes [i] YES i=i+1 NO Moved Motion Detection Algorithm 10/5/98 Mohamed Khalil IP10 Page 61 MKIPM001 Mobile IP Movement Detection: The mobile node checks the most recent set of network Prefixes with those set of network prefixes belongs to previous Router Advertisements. How Does a Mobile Node Obtain A Care of Address One the Mobile node detected that it has moved, it will acquire a new care of address by one of two methods. The M=1 in the Router Advertisement message informs the Mobile Node that it will use Stateful Address Auto configuration method otherwise it will use Stateless Address Auto. An example for stateful address assignment is the dynamic Host configuration Protocol (DHCP) for IPv6 which is similar to Dynamic Host Configuration Protocol in IPv4. 10/5/98 Mohamed Khalil IP10 Page 62 MKIPM001 Mobile IP The stateless Address Auto configuration is a method to acquire care of address automatically or without server. There is no functionality similar to this functionality in IPv4. This method works as follows: 1. Acquire the interface token which is similar to data link layer address for the network interface. For example the network interface address for Ethernet is 98 bits. 2. Get the Network Prefix for the current link from the prefix Information Option contained in the Router Advertisement. 3. Concatenate the interface token with the network prefix to form a care of address. In order to proof the uniquenin of a generated address a Neighbor Solicitation message is transmitted with the generated address as the target address. If another node is using this address a Neighbor Advertisement Message will be returned. In this event, auto configuration stops and some manual intervention is required. 10/5/98 Mohamed Khalil IP10 Page 63 MKIPM001 Mobile IP YES NO M=1 Coa=get COA from DHCP ( ) Interface Address=get Interface Address ( ) Network prefix=get link Network Prefix ( ) Coa=merge (interface Address, Network Prefix) Transmit Neighbor Solicitation (COA) Not Received Wait for Neighbor Advertisement Address is unique Received Address is not unique, Manual Intervention is required Done Done Acquiring Care of Address 10/5/98 Mohamed Khalil IP10 Page 64 MKIPM001 Mobile IP Registration In IPv4 the mobile node informs its Home Agent about its care of address through Registration Request and Registration Reply message. These Registration Request and Reply are carried in the payload of UDP/IP packet. In IPv6 the Mobile Node informs the Home Agents and various other nodes about its care of address using the Destination Options. When the Mobile node obtains its care of address it informs it Home Agent about this care of address. The Home Agent will use this care of address as an exit point of the tunnel to get back to the mobile agent. The mobile node also informs a set of correspondent nodes of its current care of address, which will be used by the correspondent nodes to route packets directly to mobile nodes. Messages which are involved in Registration are: 10/5/98 Mohamed Khalil IP10 Page 65 MKIPM001 Mobile IP 1. Binding Update - this message is sent to the Home Agent or the correspondent nodes to inform them about its care of address. The A bit is set by the mobile node to inform the receiver of the option should send Binding Acknowledgement. The H bit is set by the mobile node to inform the recipient that the mobile node wishes it to serve as a Home Agent. The L bit is set by the mobile node to receive packets destined not only to its globally routable home address but also to its link local Home Address. 2. Binding Acknowledgement - a binding acknowledgement message is sent by the Home Agent or correspondent node to indicate that it has successfully received the Mobile Node Binding Update. 3. Binding Request - a binding request is sent to a mobile node by a correspondent node to request that the mobile node sent Binding Updates. This is useful when Lifetime in an original Binding Update is near expiration and the correspondent node has reason to believe that it will continue to send packets to the mobile node. 10/5/98 Mohamed Khalil IP10 Page 66 MKIPM001 Mobile IP Ver=6 payload length prio Flow label next header=51 Hop Limit Source Address=mobile node’s globally routable home address Destination Address=Home Agent or correspondent node next header=60 length=9 RESERVED Security Parameters Index (SPI) Authentication Data next header Hdr Ext len option type=16 option length A H L Reserved Lifetime Identification Mobile Node’s Home Address care of Address Mobile Node’s Link Local Home Address (only present if L bit equal 1) IPv6 Payload (if this Binding Update is being piggy backed) IPv6 Header (RFC 1883) Authentication Header for IVv4 and IPv6 (RFC 1820) Destination option header RFC 1883 containing IPv6 Binding Update Option Binding Update 10/5/98 Mohamed Khalil IP10 Page 67 MKIPM001 Mobile IP Ver=6 payload length prio Flow label next header=51 Hop Limit Source Address=home Agent or Correspondent node Destination Address=mobile node’s home address (or care of address) next header=60 length=9 RESERVED Security Parameters Index (SPI) Authentication Data next header Hdr Ext len option type=193 option length Status Refresh Lifetime Identification Mobile Node’s Home Address IPv6 Payload (if this Binding Acknowledgement is being piggy backed) IVv6 Header (RFC 1883) Authentication Header for IPv4 and IPv6 (RFC 1826) Destination option header RFC 1883 containing the Mobile IPv6 Binding Acknowledgement Option Binding Acknowledgement 10/5/98 Mohamed Khalil IP10 Page 68 MKIPM001 Mobile IP Vers=6 Prio payload length next header=60 Flow label IPv6 Header (RFC 1883) Hop Limit Source Address=home agent or correspondent node Destination Address=mobile node home address (or care of address) next header Hdr Ext Len Option Type=199 Option length=0 IPv6 Payload (if this Binding Request is being piggy backed Destination Option Header (RFC 1883) containing the Mobile IPv6 Binding Request Option Binding Request 10/5/98 Mohamed Khalil IP10 Page 69 MKIPM001 Mobile IP Binding Update Mobile Node Home Link X Foreign Link Home Agent Binding Acknowledgement 1. A mobile node connects to the Foreign Link and informs its home agent of its new care of address Binding Update Binding Acknowledgement X Home Link Foreign Link 2. Home Agent A mobile node connects to a Foreign link and informs a correspondent node of its new care of address 10/5/98 Mohamed Khalil IP10 Page 70 MKIPM001 Mobile IP Binding Update X Home Link Home Agent Binding Acknowledgement 3. A mobile node returns to its home link and informs its home agent that it is no longer attached to a foreign link Binding Request Mobile Node Correspondent Node Binding Update Foreign Link 4. Home Link X Home Agent The correspondent node requesting an update for the Mobile Node care of address when the Lifetime is an original Binding Update near expiration. 10/5/98 Mohamed Khalil IP10 Page 71 MKIPM001 Mobile IP Mobile IP address Care of Address Data Link layer address Port # Lifetime Visiting list kept by Foreign Agent Mobile IP address Care of Address Lifetime Binding list kept by Home Agent 10/5/98 Mohamed Khalil IP10 Page 72 MKIPM001 Mobile IP Vers=6 prui Flow label payload length next header=43 Hop limit IPv6 Header (RFC 1883) Source Address=correspondent Node Address Destination Address=mobile node’s care of address next header=6 Hdr Ext Len=2 Routing type=0 Reserved strict/loose bit map=all 0’s segments left=1 IPv6 Type 0 Routing Header (RFC 1883) Address [i] = mobile node’s home address tcp header and user date Source-Routed Packet from Correspondent Node to Mobile Node 10/5/98 Mohamed Khalil IP10 Page 73 MKIPM001