US20130188651A1 - Mobility in ip without mobile ip - Google Patents
Mobility in ip without mobile ip Download PDFInfo
- Publication number
- US20130188651A1 US20130188651A1 US13/793,174 US201313793174A US2013188651A1 US 20130188651 A1 US20130188651 A1 US 20130188651A1 US 201313793174 A US201313793174 A US 201313793174A US 2013188651 A1 US2013188651 A1 US 2013188651A1
- Authority
- US
- United States
- Prior art keywords
- endpoint node
- node
- layer
- address
- layer address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 claims abstract description 30
- 230000008569 process Effects 0.000 claims description 16
- 230000008859 change Effects 0.000 abstract description 23
- 239000003795 chemical substances by application Substances 0.000 description 26
- 238000004891 communication Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 15
- 238000005457 optimization Methods 0.000 description 11
- 230000004044 response Effects 0.000 description 5
- 230000005641 tunneling Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000010420 art technique Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 241001620634 Roger Species 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/52—Multiprotocol routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/08—Mobility data transfer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/08—Mobility data transfer
- H04W8/14—Mobility data transfer between corresponding nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/04—Network layer protocols, e.g. mobile IP [Internet Protocol]
Definitions
- the invention relates to network communications, and more specifically to the Internet Protocol (IP).
- IP Internet Protocol
- IP-enabled devices that can maintain transport-layer and application-layer sessions despite changes in network-layer sessions, which ability is known as macro-mobility. For example, if two IP nodes have an established transport-layer session and an established application-layer session, then either node should be able to change its IP address (a network-layer change) without interrupting either that transport-layer session or that application-layer session.
- the present invention is a first node for a packet-switched network having a protocol stack comprising an upper layer and a lower layer.
- the first node comprises (i) a transceiver adapted to receive incoming packets and transmit outgoing packets and (ii) a processor adapted to process the incoming packets and generate the outgoing packets.
- the first node is adapted to establish an upper-layer session with a second node in which packets are transmitted between the first node and the second node via the packet-switched network during which the first node has a first lower-layer address.
- the first node is adapted to switch from the first lower-layer address to a second lower-layer address, different from the first lower-layer address, while maintaining the upper-layer session.
- the first node has no home lower-layer address.
- the present invention is a first node for a packet-switched network having a protocol stack comprising an upper layer and a lower layer.
- the first node comprises (i) a transceiver adapted to receive incoming packets and transmit outgoing packets and (ii) a processor adapted to process the incoming packets and generate the outgoing packets.
- the first node is adapted to receive, from a second node, (i) a current lower-layer address of the second node and (ii) an identifier for the second node.
- the first node If the first node does not have an existing association between the second node's identifier and any lower-layer address of the second node, then the first node (i) associates the second node's identifier with the current lower-layer address of the second node and (ii) establishes an upper-layer session with the second node, wherein packets transmitted by the first node to the second node are addressed to the current lower-layer address for the second node.
- the first node If the first node does have an existing association between the second node's identifier and a previous lower-layer address of the second node, different the current lower-layer address of the second node, then the first node (i) updates the existing association such that the second node's identifier is associated with the current lower-layer address of the second node and (ii) addresses packets to be transmitted to the second node with the current lower-layer address of the second node.
- the present invention is a router for a packet-switched network having a protocol stack comprising an upper layer and a lower layer.
- the router comprises (i) a transceiver adapted to receive incoming packets and transmit outgoing packets and (ii) a processor adapted to process the incoming packets and generate the outgoing packets.
- the router is adapted to support an upper-layer session between a first node and a second node in which packets are transmitted between the first node and the second node via the packet-switched network.
- the first node is adapted to establish the upper-layer session with the second node during which the first node has a first lower-layer address.
- the first node is adapted to switch from the first lower-layer address to a second lower-layer address, different from the first lower-layer address, while maintaining the upper-layer session with the second node.
- the first node has no home lower-layer address.
- the present invention is a packet-switched network having a protocol stack comprising an upper layer and a lower layer.
- the packet-switched network comprises two or more routers, wherein the packet-switched network enables a first node, having a first lower-layer address, but without a home lower-layer address, to (i) have an upper-layer session with a second node using the first lower-layer address and (ii) switch from the first lower-layer address to a second lower-layer address, different from the first lower-layer address, without terminating the upper-layer session.
- FIG. 1 is a simplified block diagram of typical node 100 for a communications network.
- FIG. 2 is a depiction of Mobility Support in Internet Protocol version 6 (MIPv6) network 200 .
- MIPv6 Internet Protocol version 6
- FIG. 3 is a top-level state diagram of a Not Mobile IP (NMIP) node, according to one embodiment of the present invention.
- NMIP Not Mobile IP
- FIG. 4 is a flowchart representing exemplary processing at a first NMIP node (Node 1) associated with an NMIP registration/update process according to one embodiment of the present invention.
- FIG. 5 is a flowchart representing exemplary processing at a second NMIP node (Node 2) corresponding to the NMIP registration/update processing of Node 1 depicted in FIG. 4 .
- FIG. 6 is a flowchart of address-update process 600 performed by an NMIP mobility router according to various embodiments of the present invention.
- a communications network comprises two or more nodes and the physical link(s) between the nodes.
- On a packet-switched communications network e.g., the Internet, communications are in the form of discrete units of information known as packets.
- a typical communication on the Internet is between two endpoint nodes generating and sending packets to each other via one or more links and zero, one, or more intermediate nodes.
- the term “session” refers to a communication between two nodes at a particular layer, e.g., a link-layer session or a transport session.
- the term “conversation” refers to a transport-layer session or an application-layer session or a combined transport/application layer session.
- the two nodes in a conversation are referred to as correspondent nodes.
- a typical node connects to the Internet via an access network.
- a typical access network comprises a router that manages an IP-address range also known as a subnet.
- a router is a network node that retransmits received packets towards one or more other network nodes.
- An exemplary subnet address range for a residential router is 192.168.1.x.
- a node connects to the Internet by first establishing a link-layer (e.g., Ethernet) connection with the access-network router. Typically, the router then assigns the next available address from the subnet to the node, e.g., 192.168.1.3. The node then can establish transport-layer sessions and conversations with other nodes on the Internet.
- link-layer e.g., Ethernet
- FIG. 2 is a depiction of Mobility Support in Internet Protocol version 6 (MIPv6) network 200 .
- Network 200 comprises correspondent nodes 210 and 220 , Internet 230 , and access networks 240 and 250 .
- Access network 240 comprises a router 242 and wireless access point 244
- access network 250 comprises a router 252 and wireless access point 254 .
- Router 242 is connected to wireless access point 244
- router 252 is connected to wireless access point 254 .
- Router 242 manages subnet 1.1.1.x
- router 252 manages subnet 2.2.2.x.
- Node 210 , router 240 , and router 250 connect to the Internet.
- Node 220 is initially connected to the Internet via wireless access point 244 and router 242 .
- Wireless access point 244 is exemplary, and node 220 can connect to router 242 via a copper-wire hub or switch, or connect directly to a fiber-optic port on router 242 with a fiber-optic cable.
- Node 220 has an IP home address of 1.1.1.1.
- node 220 While node 220 is attached to its home network, MIP behaves like traditional IP (e.g., IPv4) with regards to the routing of packets.
- IPv4 IP version 4
- node 210 transmits packets with a destination IP address of 1.1.1.1, which packets transit the Internet via route 212 to the home agent.
- the home agent routes the packets via route 246 to node 220 .
- the route-optimization procedure first performs a return-routability test wherein the other correspondent node sends messages to both the mobile node's home address and care-of address in order to authenticate the mobile node.
- Route optimization makes it more difficult for an adversary to hijack a conversation.
- route optimization is an elaborate procedure that typically is performed every time a mobile node acquires a new IP address.
- a mobile node must perform a separate route optimization routine for every other correspondent node with which the mobile node is in a conversation.
- security concerns dictate that return-routability tests, for each other correspondent node, be performed at regular, short intervals (the default is once every seven minutes).
- route optimization consumes significant resources and increases latency.
- IPsec/ESP Internet Protocol Security/Encapsulation Security Protocol
- HIP has a disadvantage of not backwards compatible with existing IP networks, and there does not appear to be any way to introduce it in a backwards-compatible way.
- NMIP does not assign a permanent home address to a node. Instead, a typical NMIP node possesses only one IP address: the IP address assigned to the node by the access network to which the node is currently attached. When a node possessing a first IP address moves from a first access network to a second, the node acquires a second IP address from the second network, and may retain the first IP address for a time period just long enough to receive any in-transition packets that were sent during the move. Once the time period expires, the first IP address is discarded. Without home addresses, there is no need in NMIP for home networks or home agents. Alternatively, in-transition packets to the first IP address may be forwarded to the second IP address by an agent in the first access network. Another alternative is that in-transition packets are not delivered and will be lost. A mechanism in a higher-level protocol may then be invoked to retransmit the lost packets to the second IP address.
- router 242 is the previous mobility router
- router 252 is the current mobility router
- Node 2 accepts address-update messages from Node 1 only if those updates are accompanied by the correct nonce. This implies that Node 2 can accept address updates from Node 1 only if Node 1 previously established a nonce before updating the address.
- nonce lifetimes can be associated with the nonce exchange such that a nonce ceases to be valid when the nonce's lifetime expires. This forces correspondents to refresh their nonce lifetimes periodically.
- Node 1 determines whether an NMIP registration-reply message is received from Node 2 before the registration-reply timer expires. If not, Node 1 determines that there will be no NMIP session with Node 2 for the current conversation. In that case, Node 1 continues its processing using a suitable prior-art technique, such as MIP, as reflected in step 410 .
- a suitable prior-art technique such as MIP
- Node 1 In response to its new network address, Node 1 transmits an NMIP address-update message to Node 2 at step 416 .
- the NMIP address-update message contains (i) Node 1's nonce, (ii) Node 1's old Network Address A, and (iii) Node 1's new Network Address C.
- Node 1 starts an address-update-reply timer.
- Node 1 receives the correct NMIP address-update-reply message from Node 2 in time, and Node 1 determines that Node 2 was able to handle the address change under the existing NMIP session. In that case, processing returns to step 414 to await another address change by Node 1.
- Node 1 runs two different nonce-expiration timers: one for its own nonce and one for Node 2's nonce. Prior to the expiration of the timer for its own nonce, Node 1 transmits to Node 2 an NMIP nonce-lifetime update message containing a new nonce lifetime value, and Node 1 resets that nonce-expiration timer based on the new nonce lifetime value.
- Node 1 For Node 2's nonce, if Node 1 receives an NMIP nonce-lifetime update message from Node 2 before the expiration of the nonce-expiration timer for Node 2's nonce, then Node 1 resets that nonce-expiration timer based on the new nonce lifetime value contained in that update message. If the nonce-expiration timer for Node 2's nonce expires before Node 1 receives an NMIP nonce-lifetime update message from Node 2, then Node 1 “un-registers” Node 2's nonce by deleting the corresponding record from its session table.
- Node 2 is not an NMIP node whose address might change (e.g., Node 2 is an NMIP node whose address is known not to change), then Node 2 does not need to establish its own nonce. In that case, Node 1 needs to run only one nonce-expiration timer—for Node 1's nonce.
- FIG. 5 is a flowchart representing exemplary processing at Node 2 corresponding to the NMIP registration/update processing of Node 1 depicted in FIG. 4 .
- step 502 Node 2 receives the NMIP registration message transmitted from Node 1 in step 404 of FIG. 4 .
- Node 2 registers Node 1's nonce by creating a session-table record correlating Node 1's address, nonce, and nonce lifetime.
- step 506 Node 2 transmits to Node 1 the NMIP registration-reply message referred to in step 406 of FIG. 4 .
- Node 2 receives the NMIP address-update message transmitted from Node 1 in step 416 of FIG. 4 .
- step 510 Node 2 determines whether there is an active NMIP session with Node 1. If not, then, in step 512 , Node 2 discards the NMIP address-update message from Node 1 and processing returns to step 508 to await receipt of another NMIP address-update message from Node 1.
- step 518 using Node 1's new address, Node 2 transmits to Node 1 the NMIP address-update-reply message referred to in step 420 of FIG. 4 , and processing returns to step 508 to await receipt of another NMIP address-update message from Node 1.
- Node 2 Until Node 2 receives another NMIP address-update message from Node 1, Node 2 will transmit all packets to Node 1 using Node 1's new network address. Any applications running on Node 2 that had been addressing packets to Node 1 using Node 1's old network address will address subsequent packets using Node 1's new network address.
- Node 2 when Node 2 is an NMIP node whose address might change, Node 2 also runs two different nonce-expiration timers: one for its own nonce and one for Node 1's nonce. Prior to the expiration of the nonce-expiration timer for its own nonce, Node 2 transmits to Node 1 an NMIP nonce-lifetime update message containing a new nonce lifetime value, and Node 2 resets that nonce-expiration timer based on the new nonce lifetime value.
- Node 2 is not an NMIP node whose address might change (e.g., Node 2 is an NMIP node whose address is known not to change), then Node 2 does not need to establish its own nonce. In that case, Node 2 needs to run only one nonce-expiration timer—for Node 1's nonce.
- An NMIP mobility router maintains a routing table.
- the NMIP mobility router assigns an IP address to a node
- the NMIP mobility router adds a record to the routing table that associates the IP address with the link-layer address (e.g., MAC address) of the node.
- the link-layer address e.g., MAC address
- the node typically sends an address-update message containing the node's new IP address to the first mobility router.
- the address-update message comprises the nodes new IP address, nonce, and nonce lifetime.
- the NMIP router in network X has three main tasks:
- Tasks (1) and (2) provide backward compatibility.
- Task 1 is also useful to streamline (prevent packet loss) mobility for connections that do understand NMIP.
- Task 3 is important to prevent another type of possible hijacking, namely that of adversaries trying to grab node A's old address after node A's move in order to fool node A's correspondent into believing the connection has not moved.
- FIG. 6 is a flowchart of address-update process 600 performed by an NMIP mobility router according to various embodiments of the present invention.
- the NMIP mobility router receives an address-update message from a node.
- the NMIP mobility router modifies the routing-table entry associated with the node such that the NMIP mobility router will forward received, in-transition packets bearing a destination address of the node's old IP address to the node's new IP address.
- the NMIP mobility router determines whether the routing-table record has expired, i.e., the nonce lifetime has expired. If the routing-table record has not expired, then the NMIP mobility router waits a certain amount of time (step 608 ) and then loops back to step 606 . If, instead, the record has expired, then, at step 610 , the NMIP mobility router deletes the routing-table record and releases the IP address for possible re-assignment to another node. The NMIP mobility router will now discard any packets addressed to the node's old address. Note that the node can keep the NMIP mobility router from deleting the record by sending repeated update-address messages that contained updated lifetime values.
- a first NMIP node sends an address-update message to a second node and does not receive an address-reply message before the address-update-reply timer expires
- the first node assumes that the second node is a non-NMIP node.
- the second node cannot interpret NMIP address-update messages, and will continue to send packets to the first node's old IP address, i.e., to the first node's old mobility router. Therefore, the first node will periodically send address-update messages to the old mobility router updating the nonce lifetime.
- the first node is causing the old NMIP mobility router to behave like an MIP home agent.
- Transport-layer protocols such as Terminal Control Protocol (TCP) and Stream Control Transmission Protocol (SCTP) can recover the lost in-transition packets.
- TCP Terminal Control Protocol
- SCTP Stream Control Transmission Protocol
- correspondent nodes exchange nonces in the clear at the initiation of an NMIP session.
- the exemplary embodiment assumes that the network is trusted, i.e., it is impossible to eavesdrop on the address-update messages. Otherwise, an adversary might simply eavesdrop on the address-update messages and copy the nonces from the messages. Then the adversary could send address-update messages instructing another node to redirect traffic to another, incorrect IP address, i.e., hijack the conversation.
- IPsec is defined IETF RFCs 2367, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2451, 2857, 3526, 3602, 3706, 3715, 3775, 3776, 3947, 3948, 4106, 4301, 4302, 4303, 4304, 4306, 4307, 4308, 4309, 4478, 4543, 4555, 4621, 4718, 4806, 4809, 4835, and 4945, all of which are herein incorporated by reference in their entirety.
- a public key infrastructure can be, but does not have to be, utilized to authenticate communications between NMIP nodes.
- the present invention has been described in the context of typical Ethernet network 200 of FIG. 2 , the invention is not so limited.
- the present invention can be implemented in the context of cellular IP networks having configurations different from that shown in FIG. 2 .
- the present invention has been described in the context of a node changing its assigned IP address as a result of moving from one access network to another access network, the present invention is not so limited.
- the present invention can be implemented in the context of a node that receives a new IP address without moving, e.g., a stationary, wired node changing its IP address in order to resolve an IP-address conflict with another node on the same network.
- the present invention can be embodied in the form of methods and apparatuses for practicing those methods.
- the present invention can also be embodied in the form of program code embodied in tangible media, such as magnetic recording media, optical recording media, solid state memory, floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention.
- the present invention can also be embodied in the form of program code, for example, whether stored in a storage medium or loaded into and/or executed by a machine, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention.
- the program code segments combine with the processor to provide a unique device that operates analogously to specific logic circuits.
- each numerical value and range should be interpreted as being approximate as if the word “about” or “approximately” preceded the value of the value or range.
- the term “compatible” means that the element communicates with other elements in a manner wholly or partially specified by the standard, and would be recognized by other elements as sufficiently capable of communicating with the other elements in the manner specified by the standard.
- the compatible element does not need to operate internally in a manner specified by the standard.
- figure numbers and/or figure reference labels in the claims is intended to identify one or more possible embodiments of the claimed subject matter in order to facilitate the interpretation of the claims. Such use is not to be construed as necessarily limiting the scope of those claims to the embodiments shown in the corresponding figures.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
- This application is a continuation of U.S. patent application Ser. No. 12/612,293, filed on Nov. 4, 2009, as Attorney Docket No. Bosch 31-13-11, which claims the benefit of the filing date of U.S. Provisional Patent Application No. 61/118,772, filed on Dec. 1, 2008, the teachings of both of which are incorporated herein by reference in their entirety.
- 1. Field of the Invention
- The invention relates to network communications, and more specifically to the Internet Protocol (IP).
- 2. Description of the Related Art
- In recent years, there has been a growing demand for IP-enabled devices that can maintain transport-layer and application-layer sessions despite changes in network-layer sessions, which ability is known as macro-mobility. For example, if two IP nodes have an established transport-layer session and an established application-layer session, then either node should be able to change its IP address (a network-layer change) without interrupting either that transport-layer session or that application-layer session.
- In one embodiment, the present invention is a first node for a packet-switched network having a protocol stack comprising an upper layer and a lower layer. The first node comprises (i) a transceiver adapted to receive incoming packets and transmit outgoing packets and (ii) a processor adapted to process the incoming packets and generate the outgoing packets. The first node is adapted to establish an upper-layer session with a second node in which packets are transmitted between the first node and the second node via the packet-switched network during which the first node has a first lower-layer address. The first node is adapted to switch from the first lower-layer address to a second lower-layer address, different from the first lower-layer address, while maintaining the upper-layer session. The first node has no home lower-layer address.
- In another embodiment, the present invention is a first node for a packet-switched network having a protocol stack comprising an upper layer and a lower layer. The first node comprises (i) a transceiver adapted to receive incoming packets and transmit outgoing packets and (ii) a processor adapted to process the incoming packets and generate the outgoing packets. The first node is adapted to receive, from a second node, (i) a current lower-layer address of the second node and (ii) an identifier for the second node. If the first node does not have an existing association between the second node's identifier and any lower-layer address of the second node, then the first node (i) associates the second node's identifier with the current lower-layer address of the second node and (ii) establishes an upper-layer session with the second node, wherein packets transmitted by the first node to the second node are addressed to the current lower-layer address for the second node. If the first node does have an existing association between the second node's identifier and a previous lower-layer address of the second node, different the current lower-layer address of the second node, then the first node (i) updates the existing association such that the second node's identifier is associated with the current lower-layer address of the second node and (ii) addresses packets to be transmitted to the second node with the current lower-layer address of the second node.
- In yet another embodiment, the present invention is a router for a packet-switched network having a protocol stack comprising an upper layer and a lower layer. The router comprises (i) a transceiver adapted to receive incoming packets and transmit outgoing packets and (ii) a processor adapted to process the incoming packets and generate the outgoing packets. The router is adapted to support an upper-layer session between a first node and a second node in which packets are transmitted between the first node and the second node via the packet-switched network. The first node is adapted to establish the upper-layer session with the second node during which the first node has a first lower-layer address. The first node is adapted to switch from the first lower-layer address to a second lower-layer address, different from the first lower-layer address, while maintaining the upper-layer session with the second node. The first node has no home lower-layer address.
- In still another embodiment, the present invention is a packet-switched network having a protocol stack comprising an upper layer and a lower layer. The packet-switched network comprises two or more routers, wherein the packet-switched network enables a first node, having a first lower-layer address, but without a home lower-layer address, to (i) have an upper-layer session with a second node using the first lower-layer address and (ii) switch from the first lower-layer address to a second lower-layer address, different from the first lower-layer address, without terminating the upper-layer session.
- Other aspects, features, and advantages of the invention will become more fully apparent from the following detailed description, the appended claims, and the accompanying drawings in which like reference numerals identify similar or identical elements.
-
FIG. 1 is a simplified block diagram oftypical node 100 for a communications network. -
FIG. 2 is a depiction of Mobility Support in Internet Protocol version 6 (MIPv6)network 200. -
FIG. 3 is a top-level state diagram of a Not Mobile IP (NMIP) node, according to one embodiment of the present invention. -
FIG. 4 is a flowchart representing exemplary processing at a first NMIP node (Node 1) associated with an NMIP registration/update process according to one embodiment of the present invention. -
FIG. 5 is a flowchart representing exemplary processing at a second NMIP node (Node 2) corresponding to the NMIP registration/update processing ofNode 1 depicted inFIG. 4 . -
FIG. 6 is a flowchart of address-update process 600 performed by an NMIP mobility router according to various embodiments of the present invention. - A communications network comprises two or more nodes and the physical link(s) between the nodes. On a packet-switched communications network, e.g., the Internet, communications are in the form of discrete units of information known as packets. A typical communication on the Internet is between two endpoint nodes generating and sending packets to each other via one or more links and zero, one, or more intermediate nodes.
-
FIG. 1 is a simplified block diagram oftypical node 100 for a communications network. Node 100 comprisesprocessor 102 andtransceiver 104.Processor 102 processes signals received bytransceiver 104 from one or more other nodes in the communications network and generates signals to be transmitted bytransceiver 104 to one or more other nodes in the communications network.Transceiver 104 communicates with one or more other nodes over one or more physical links, e.g., copper wire, optical fiber, or air (i.e., wireless). - The Internet is a digital packet-switched network that uses the four-layer Internet Protocol suite for the generation and processing of packets. The Internet Protocol suite (IP suite) is defined in Internet Engineering Task Force (IETF) Request for Comment (RFC) 1122, which is hereby incorporated by reference in its entirety. The lowest layer of the IP suite is the link layer (e.g., Ethernet), followed by the network layer (e.g., Internet Protocol (IP)), the transport layer (e.g., Transport Control Protocol (TCP)), and, highest, the application layer (e.g., Simple Mail Transport Protocol (SMTP) or Hypertext Transfer Protocol (HTTP)). The term “session” refers to a communication between two nodes at a particular layer, e.g., a link-layer session or a transport session. The term “conversation” refers to a transport-layer session or an application-layer session or a combined transport/application layer session. The two nodes in a conversation are referred to as correspondent nodes.
- The establishment of a session at a particular layer requires that all lower layers have established a session. For example, establishing a conversation requires sessions to be established at the transport, network, and link layers. Conversely, terminating a session at a particular layer typically terminates all sessions at higher layers, e.g., terminating an IP session (network layer) typically terminates transport-layer sessions and application-layer sessions (i.e., conversations).
- A typical node connects to the Internet via an access network. A typical access network comprises a router that manages an IP-address range also known as a subnet. A router is a network node that retransmits received packets towards one or more other network nodes. An exemplary subnet address range for a residential router is 192.168.1.x. A node connects to the Internet by first establishing a link-layer (e.g., Ethernet) connection with the access-network router. Typically, the router then assigns the next available address from the subnet to the node, e.g., 192.168.1.3. The node then can establish transport-layer sessions and conversations with other nodes on the Internet.
- Moving a node within an access network typically does not terminate the node's conversations. If a node changes its link-layer point of attachment (POA) within an access network, then the link-layer address of the node will change. For example, if a node moves from a POA of port A on a router to a new POA of port B on the same router, then the link-layer address of the node will change from the MAC (media access control) address of port A to the MAC address of port B. Theoretically, such a move would terminate the link-layer session on port A, and thus terminate all higher-level sessions, including any conversations. However, link-layer protocols, such as the Address Resolution Protocol (ARP), allow a node to change its link-layer address without disturbing higher-level protocols. In other words, a typical node is able to change its link-layer session without disturbing its network-layer, transport-layer, or application-layer sessions. This ability is known as micro-mobility.
- Macro-mobility is the ability to change a network-layer session without disturbing transport-layer and application-layer sessions. The most common network-layer protocol in use today, IP version 4 (IPv4), does not provide macro-mobility. IPv4 is defined in IETF RFC 791, which is hereby incorporated by reference in its entirety. Thus, when the network-layer session on an IPv4 node is interrupted, all of the node's conversations are terminated.
- For example, when an IPv4 mobile node moves from one access network to another, the mobile node moves between IP subnets, i.e., IP address ranges. Thus, the IPv4 mobile node typically must discard its current network-layer, e.g., IP, address, and acquire a new IP address from the address range managed by the new access network. Changing IP addresses interrupts the network-layer session and terminates all conversations. An IPv4 node's only option when changing IP addresses is to re-establish terminated conversations with correspondent nodes, a time-consuming and cumbersome process.
- There have been several responses to the lack of macro-mobility in IPv4. One of the responses is for the application-layer applications themselves to re-establish conversations with correspondent nodes, also known as application-layer mobility. Application-layer mobility must be integrated into each specific application by the application's designer. As such, application-layer mobility is an inefficient and incomplete macro-mobility solution when compared to network-layer macro-mobility. Application-layer mobility is inefficient because each application designer must design and integrate application-layer mobility into their applications, while macro-mobility support at the network layer would eliminate this duplicative effort. Application-layer mobility is incomplete because there is no guarantee that all application designers will integrate macro-mobility into their applications. Therefore, there is always the possibility of applications that will require manual re-establishment of a communications session when a mobile node moves from one access point to another. Again, macro-mobility support at the network layer would render this problem moot.
- Mobile IP (MIP)
- Another response to the lack of macro-mobility in IPv4 has been new network-layer protocols that support macro-mobility. One class of the new network-layer protocols is referred to as Mobile IP (MIP). MIP protocols include Mobility Support in IP version 4 (MIPv4), defined in IETF RFC 3344, which is hereby incorporated by reference in its entirety, and Mobility Support in IP version 6 (MIPv6), which is defined in IETF RFCs 3775 and 4866, which are hereby incorporated by reference in their entirety. MIPv6 includes most of the features of MIPv4 and adds some additional functionality. Thus, the following discussion will focus on MIPv6.
-
FIG. 2 is a depiction of Mobility Support in Internet Protocol version 6 (MIPv6)network 200.Network 200 comprisescorrespondent nodes Internet 230, andaccess networks Access network 240 comprises arouter 242 andwireless access point 244, andaccess network 250 comprises arouter 252 andwireless access point 254.Router 242 is connected towireless access point 244, androuter 252 is connected towireless access point 254.Router 242 manages subnet 1.1.1.x, androuter 252 manages subnet 2.2.2.x.Node 210,router 240, androuter 250 connect to the Internet. -
Node 220 is initially connected to the Internet viawireless access point 244 androuter 242.Wireless access point 244 is exemplary, andnode 220 can connect torouter 242 via a copper-wire hub or switch, or connect directly to a fiber-optic port onrouter 242 with a fiber-optic cable.Node 220 has an IP home address of 1.1.1.1. - In MIP, a node has a permanent association with a particular access network, known as the home network, and the node permanently retains its home-network IP address, known as the home address. The router managing the home network is known as the home agent. In
FIG. 2 ,access network 240 is the home network fornode 220,router 242 is the home agent ofnode 220, and IP address 1.1.1.1 isnode 220's home address. - While
node 220 is attached to its home network, MIP behaves like traditional IP (e.g., IPv4) with regards to the routing of packets. During a conversation betweennode 220 andnode 210,node 210 transmits packets with a destination IP address of 1.1.1.1, which packets transit the Internet viaroute 212 to the home agent. The home agent routes the packets viaroute 246 tonode 220. - Assume that
node 220 moves fromhome network 240 to accessnetwork 250, i.e.,node 220 is a mobile node. In the process, the mobile node acquires second IP address 2.2.2.2 fromrouter 252. In the terminology of MIP,access network 250 is a foreign network,router 252 is a foreign agent formobile node 220, and IP address 2.2.2.2 ismobile node 220′s care-of address. Typically, a node is associated with only one foreign network at a time. Thus, ifnode 220 were to move to a third access network, then the node would retain its home address of 1.1.1.1, but discard care-of address 2.2.2.2 for a new care-of address in the third access network. - Both MIPv4 and MIPv6 provide macro-mobility through triangular routing. Specifically, upon receiving a new care-of address,
mobile node 220 sends a binding-update message tohome agent 242, which message instructshome agent 242 to route any packets destined for IP address 1.1.1.1 to IP address 2.2.2.2.Node 210 continues to address packets destined formobile node 220 with the destination IP address 1.1.1.1, and those packets are still received byhome agent 242. The home agent encapsulates the received packets in another packet with care-of IP address 2.2.2.2, which encapsulation is also known as tunneling. The encapsulated packets transit the Internet viaroute 248 toforeign agent 252.Foreign agent 252 routes the packets viaroute 256 tomobile node 220.Mobile node 220 de-encapsulates the inner packet, and delivers the inner packet, addressed to the mobile node's home address of 1.1.1.1, to itself. - Triangular routing has a number of disadvantages, such as increased complexity, increased packet overhead, and exclusion of more-efficient routes. As an example of the last disadvantage, consider the scenario where
node 210 is attached to Internet viaaccess network 250. Even aftermobile node 220 moves to accessnetwork 250,node 210 will still send packets tohome agent 242, which home agent will tunnel those packets back toforeign agent 252. - MIPv6 addresses the disadvantages of triangular routing with a procedure called route optimization. In route optimization, a mobile correspondent node sends a binding-update message containing the mobile node's new care-of address to the other correspondent node. The other correspondent node updates its binding for the mobile node with the new care-of address. The other correspondent node then sends packets directly to the mobile node's care-of address, rather than through the mobile node's home agent, thus eliminating tunneling and triangular routing.
- However, route optimization represents a significant security threat. Specifically, an adversary can impersonate a mobile node and use the route-optimization procedure to re-direct packets bound for the mobile node to another location. For example, node A at IP address 3.3.3.3 and node B at IP address 4.4.4.4 are in a conversation. Adversary C at IP address 5.5.5.5 sends a binding-update message to node B stating, incorrectly, that node A's new care-of address is 5.5.5.5. Node B will now send all packets destined for node A to node C. This process is known as hijacking a conversation.
- To guard against this possibility, the route-optimization procedure first performs a return-routability test wherein the other correspondent node sends messages to both the mobile node's home address and care-of address in order to authenticate the mobile node. Route optimization makes it more difficult for an adversary to hijack a conversation. However, route optimization is an elaborate procedure that typically is performed every time a mobile node acquires a new IP address. Furthermore, a mobile node must perform a separate route optimization routine for every other correspondent node with which the mobile node is in a conversation. Yet further, even when a mobile node on a foreign network is not moving, security concerns dictate that return-routability tests, for each other correspondent node, be performed at regular, short intervals (the default is once every seven minutes). Especially when frequent moves are expected, e.g., in cellular systems, route optimization consumes significant resources and increases latency.
- Furthermore, although route optimization eliminates most of the tunneling and triangular routing of MIP, MIPv6 does not do away with the home agent. As a mobile node moves from visited network to visited network, the mobile node will need to repeatedly perform the return-routability procedure which, in turn, still requires a home agent. Since a home agent might be supporting hundreds if not thousands of mobile nodes, the home agent represents a significant possible point of failure.
- Host Identity Protocol
- A non-MIP-based IP macro-mobility solution is the Host Identity Protocol (HIP). HIP is defined in IETF RFC 4423, which is incorporated herein by reference in its entirety. In HIP, a new layer is added between the transport and IP layers. The new layer identifies a host by a Host Identifier (HI) public key and a 128-bit cryptographic hash, the Host Identifier Tag (HIT), generated from the public key. Domain Name Service (DNS) resolves a Fully Qualified Domain Name (FQDN) into an HI public key, and the generated HIT is then inserted into an IPv6 packet. When a packet is submitted for transmission, the HIP layer translates the HI/HIT into a pure IP address. Using the HI/HIT before establishing a communications session is a good step in providing secure communication within IP networks, and a HIP-initiated session can be used to establish an Internet Protocol Security/Encapsulation Security Protocol (IPsec/ESP, RFC 2406) tunnel between the correspondent nodes.
- Mobility in HIP is implemented by HIP clients exchanging address-update messages with their correspondent nodes over an IPsec/ESP tunnel at the HIP layer. By using IPsec/ESP, the update messages are integrity protected. HIP does require a reachability test like Mobile IPv6's route-optimization procedure. In HIP, the mapping between an HI public key and an IP address can be stored in either a DNS or a rendezvous server. This means that, when a cellular terminal obtains a new IP address, it must also update these name servers. RFC 4423 does not specify yet how a correspondent node selects between the various types of name servers.
- A disadvantage of HIP is that it is not backwards compatible with existing IP networks, and there does not appear to be any way to introduce it in a backwards-compatible way.
- Not Mobile IP
- There is a need for an IP macro-mobility solution that (i) eliminates the need for permanent home agents and permanent home addresses, (ii) avoids tunneling/triangular routing and establishes direct routes between correspondent nodes whenever possible, as soon as possible, (iii) is secure, i.e., that prevents adversaries from hijacking a conversation, and (iv) is backwards compatible.
- Embodiments of the present invention are referred to herein as Not Mobile IP (NMIP) to distinguish them from Mobile IP. NMIP comprises a set of extensions to the IP protocol that provide secure macro-mobility to IP-enabled nodes without the use of permanent home agents, return-routability tests, or extensive tunneling/triangular routing. An NMIP network therefore more closely resembles a traditional IP network, where state is maintained only at the endpoints, i.e., the correspondent nodes.
- NMIP Network
- NMIP does not assign a permanent home address to a node. Instead, a typical NMIP node possesses only one IP address: the IP address assigned to the node by the access network to which the node is currently attached. When a node possessing a first IP address moves from a first access network to a second, the node acquires a second IP address from the second network, and may retain the first IP address for a time period just long enough to receive any in-transition packets that were sent during the move. Once the time period expires, the first IP address is discarded. Without home addresses, there is no need in NMIP for home networks or home agents. Alternatively, in-transition packets to the first IP address may be forwarded to the second IP address by an agent in the first access network. Another alternative is that in-transition packets are not delivered and will be lost. A mechanism in a higher-level protocol may then be invoked to retransmit the lost packets to the second IP address.
- Thus, while an NMIP network is analogous to the MIP network depicted in
FIG. 2 , the functions and names of certain elements have changed. Without a concept of “home,” NMIP has no concept of “foreign” or “care-of.” Instead, in NMIP, there is a current access network to which a node is currently attached and a previous access network to which the node was attached immediately prior to the current access network. Thus, ifFIG. 2 representsNMIP network 200 afternode 220 has moved fromaccess network 240 to accessnetwork 250, then accessnetwork 250 is the current access network, andaccess network 240 is the previous access network. Ifnode 220 were then to move back toaccess network 240, the designations of previous access network and current access network would switch. - Instead of home agent and foreign agent, there is a current mobility router and a previous mobility router. Thus, in
FIG. 2 , ifnode 220 moves fromaccess network 240 to accessnetwork 250, thenrouter 242 is the previous mobility router, androuter 252 is the current mobility router. - NMIP-Node States
-
FIG. 3 is a top-level state diagram of a Not Mobile IP (NMIP) node, according to one embodiment of the present invention. The node starts in theIDLE state 302, wherein the node is powered on, but has no IP address. The node changes from the IDLE state to theACTIVE state 304 when the node acquires a first IP address. The node changes from the ACTIVE state to the INNMIP SESSION state 306 when the node establishes an NMIP session with another NMIP node. The node changes from the IN NMIP SESSION state to the ACTIVE state when NMIP session is terminated. The node changes from the ACTIVE state to the IDLE state when the node discards its sole IP address or the sole IP address expires. - NMIP Session
- An NMIP node can establish an NMIP session only with another NMIP node. A first NMIP node can establish separate, simultaneous NMIP sessions with two or more other NMIP nodes. An NMIP session allows one or both nodes to change IP addresses without interrupting any conversations (i.e., transport-layer and application-layer sessions) established by the nodes. Under certain circumstances, it is possible to combine multiple conversations between a single pair of NMIP nodes into one NMIP session. Two NMIP nodes execute a registration/update process to establish an NMIP session and to update the network addresses associated with the established NMIP session.
FIG. 4 is a flowchart representing exemplary processing at a first NMIP node (Node 1) associated with an NMIP registration/update process according to one embodiment of the present invention. In this scenario, NMIP Node 1 a Network Address A establishes a conversation withNode 2 at Network Address B, butNode 1 does not initially know whether or notNode 2 is also an NMIP node. At some point in time,Node 1's network address changes to Network Address C. - At
step 402,Node 1 at Network Address A establishes a conversation withNode 2 at Network Address B using a suitable prior-art technique for establishing such conversations. - At
step 404,Node 1 transmits an NMIP registration message toNode 2 to attempt to establish an NMIP session withNode 2. The NMIP registration message contains (i) anonce identifying Node 1 and (ii) a nonce lifetime value forNode 1's nonce. - A nonce chosen by a node is a random number that functions as a unique identifier for the node. The nonce lifetime is a specific duration associated with a nonce, after which the nonce is no longer valid. The term “nonce” was coined by Roger Needham and Michael Schroeder to refer to a value that is “used only once.” See R. Needham and M. Schroeder, “Using encryption for authentication in large networks of computers,” Communications of the ACM, 21 (12), December 1978, the teachings of which are incorporated herein by reference in their entirety.
- A typical NMIP node maintains a locally stored data structure called a session table. When two NMIP nodes establish a new NMIP session, both nodes add a record to their respective session tables. Each session-table record comprises (i) the network address of the other node in the NMIP session, (ii) the nonce of the other node, and (iii) the lifetime of the nonce of the other node. When the NMIP session is terminated by either node or the nonce of the other node expires (i.e., the lifetime has expired), the corresponding record is deleted from the session table.
- Nonces are intended to prevent adversaries from hijacking connections. When
Node 1 moves from its current network address to a new network address,Node 1 presents proof to itscorrespondent Node 2 that new packets arriving from the new network address belong to the conversation that started using the other network address. - To do this,
Node 1 sends to Node 2 a nonce that conveys the message: “If I change my address, then I'll use the same nonce value as proof that it's still me.” To prevent hijacking, (1)Node 1 sends this nonce from its current network address before using the nonce as proof of landing at a new network address, (2) adversaries cannot observe the nonce and cannot, therefore, forge a relocation message toNode 2, and (3)Node 1 uses the nonce afterNode 1 has relocated to convinceNode 2 thatNode 1's address has changed. - If eavesdroppers cannot observe the packets sent between a pair of nodes, then it suffices to use random numbers as nonces with sufficient entropy that the probability of an adversary guessing the nonce is negligible.
- If, on the other hand, the network is such that eavesdroppers may observe packets (or even modify them), then cryptographic means can be used to protect the conversation. Note that such means are almost always necessary in any case, because an adversary can also do damage without the existence of NMIP. Given an encrypted connection,
Nodes -
Node 2 accepts address-update messages fromNode 1 only if those updates are accompanied by the correct nonce. This implies thatNode 2 can accept address updates fromNode 1 only ifNode 1 previously established a nonce before updating the address. - For additional security, nonce lifetimes can be associated with the nonce exchange such that a nonce ceases to be valid when the nonce's lifetime expires. This forces correspondents to refresh their nonce lifetimes periodically.
- Referring again to
FIG. 4 , after transmitting the NMIP registration message instep 404,Node 1 starts a registration-reply timer at step 406. - At
step 408,Node 1 determines whether an NMIP registration-reply message is received fromNode 2 before the registration-reply timer expires. If not,Node 1 determines that there will be no NMIP session withNode 2 for the current conversation. In that case,Node 1 continues its processing using a suitable prior-art technique, such as MIP, as reflected instep 410. - Otherwise,
Node 1 receives the NMIP registration-reply message fromNode 2 in time, andNode 1 determines that there will be an NMIP session withNode 2 for the current conversation. There are two different types of NMIP sessions: one type in which either or both nodes can change their network addresses without interrupting the corresponding conversation(s) and a second type in which only one node can change its network address without causing an interruption. In the scenario depicted inFIG. 4 , it is assumed that either or both nodes can change their network addresses. In that case, the NMIP registration-reply message received fromNode 2 will contain (i) anonce identifying Node 2 and (ii) a nonce lifetime value forNode 2's nonce. As such, atstep 412,Node 1registers Node 2's nonce by creating a session-tablerecord correlating Node 2's address, nonce, and nonce lifetime. Note that, in the other type of NMIP session, whereNode 2 knows that its network address will not change, a nonce does not have to be established forNode 2, and step 412 is omitted. - At some point in time,
Node 1's network address changes from Network Address A to Network Address C, as reflected instep 414. This address change may result, for example, fromNode 1 physically moving from one access network to another, as depicted inFIG. 2 , or from a reconfiguration ofNode 1's current access network withoutNode 1 physically moving anywhere. - In response to its new network address,
Node 1 transmits an NMIP address-update message toNode 2 atstep 416. The NMIP address-update message contains (i)Node 1's nonce, (ii)Node 1's old Network Address A, and (iii)Node 1's new Network Address C. - At
step 418,Node 1 starts an address-update-reply timer. - At
step 420,Node 1 determines whether an NMIP address-update-reply message is received fromNode 2 addressed toNode 1's new network address before the address-update-reply timer expires. If not,Node 1 determines that, for some reason,Node 2 is not able to handle the address change under the existing NMIP session. In that case,Node 1 continues its processing using a suitable prior-art technique, such as MIP, as reflected instep 410. - Otherwise,
Node 1 receives the correct NMIP address-update-reply message fromNode 2 in time, andNode 1 determines thatNode 2 was able to handle the address change under the existing NMIP session. In that case, processing returns to step 414 to await another address change byNode 1. - Although not shown in
FIG. 4 ,Node 1 runs two different nonce-expiration timers: one for its own nonce and one forNode 2's nonce. Prior to the expiration of the timer for its own nonce,Node 1 transmits toNode 2 an NMIP nonce-lifetime update message containing a new nonce lifetime value, andNode 1 resets that nonce-expiration timer based on the new nonce lifetime value. ForNode 2's nonce, ifNode 1 receives an NMIP nonce-lifetime update message fromNode 2 before the expiration of the nonce-expiration timer forNode 2's nonce, thenNode 1 resets that nonce-expiration timer based on the new nonce lifetime value contained in that update message. If the nonce-expiration timer forNode 2's nonce expires beforeNode 1 receives an NMIP nonce-lifetime update message fromNode 2, thenNode 1 “un-registers”Node 2's nonce by deleting the corresponding record from its session table. - If
Node 2 is not an NMIP node whose address might change (e.g.,Node 2 is an NMIP node whose address is known not to change), thenNode 2 does not need to establish its own nonce. In that case,Node 1 needs to run only one nonce-expiration timer—forNode 1's nonce. -
FIG. 5 is a flowchart representing exemplary processing atNode 2 corresponding to the NMIP registration/update processing ofNode 1 depicted inFIG. 4 . - In
step 502,Node 2 receives the NMIP registration message transmitted fromNode 1 instep 404 ofFIG. 4 . In response, atstep 504,Node 2registers Node 1's nonce by creating a session-tablerecord correlating Node 1's address, nonce, and nonce lifetime. Atstep 506,Node 2 transmits toNode 1 the NMIP registration-reply message referred to in step 406 ofFIG. 4 . - At some point in time, at
step 508,Node 2 receives the NMIP address-update message transmitted fromNode 1 instep 416 ofFIG. 4 . - Using
Node 1's old network address indicated in the NMIP address-update message, instep 510,Node 2 determines whether there is an active NMIP session withNode 1. If not, then, instep 512,Node 2 discards the NMIP address-update message fromNode 1 and processing returns to step 508 to await receipt of another NMIP address-update message fromNode 1. - If
Node 2 determines that there is an active NMIP session withNode 1 instep 510, then processing continues to step 514, whereNode 2 determines whether the nonce forNode 1 indicated in the NMIP address-update message matchesNode 1's previously registered nonce stored inNode 2's session table. If not, the processing continues to step 512 as described above. Otherwise, the nonces match, and, instep 516,Node 2 updates the registration of this NMIP session in its corresponding session table record to reflectNode 1's new network address. - In
step 518, usingNode 1's new address,Node 2 transmits toNode 1 the NMIP address-update-reply message referred to instep 420 ofFIG. 4 , and processing returns to step 508 to await receipt of another NMIP address-update message fromNode 1. - Until
Node 2 receives another NMIP address-update message fromNode 1,Node 2 will transmit all packets toNode 1 usingNode 1's new network address. Any applications running onNode 2 that had been addressing packets toNode 1 usingNode 1's old network address will address subsequentpackets using Node 1's new network address. - Although not shown in
FIG. 5 , likeNode 1, whenNode 2 is an NMIP node whose address might change,Node 2 also runs two different nonce-expiration timers: one for its own nonce and one forNode 1's nonce. Prior to the expiration of the nonce-expiration timer for its own nonce,Node 2 transmits toNode 1 an NMIP nonce-lifetime update message containing a new nonce lifetime value, andNode 2 resets that nonce-expiration timer based on the new nonce lifetime value. ForNode 1's nonce, ifNode 2 receives an NMIP nonce-lifetime update message fromNode 1 before the nonce-expiration timer forNode 1's nonce expires, thenNode 2 resets that nonce-expiration timer based on the new nonce lifetime value contained in that update message. If the nonce-expiration timer forNode 1's nonce expires beforeNode 2 receives an NMIP nonce-lifetime update message fromNode 1, thenNode 2 “un-registers”Node 1's nonce by deleting the corresponding record from its session table. - If
Node 2 is not an NMIP node whose address might change (e.g.,Node 2 is an NMIP node whose address is known not to change), thenNode 2 does not need to establish its own nonce. In that case,Node 2 needs to run only one nonce-expiration timer—forNode 1's nonce. - If an NMIP node changes its network address, then there is the possibility that a correspondent node will send packets to the node's old network address in the duration between (i) the time that the node discards its old network address and (ii) the time that the correspondent node updates its processing for the new network address. Typically, such in-transition packets will be few in number. The handling of in-transition packets is discussed below.
- NMIP Router
- An NMIP mobility router maintains a routing table. When the NMIP mobility router assigns an IP address to a node, the NMIP mobility router adds a record to the routing table that associates the IP address with the link-layer address (e.g., MAC address) of the node. When an NMIP node moves from a first mobility router to a second mobility router and acquires a new IP address from the second mobility router, the node typically sends an address-update message containing the node's new IP address to the first mobility router. The address-update message comprises the nodes new IP address, nonce, and nonce lifetime.
- When a node A moves out of a network X having an NMIP router to a network Y, the NMIP router in network X has three main tasks:
- (1) Forward any traffic for node A (e.g., in-transit packets or packets sent by a node that does not understand NMIP) that arrives in network X to node A's new address in network Y;
- (2) Forward any traffic from node A in network Y to nodes that do not understand NMIP so it appears as if those packets still come from the old address; and
- (3) Make sure that no new node obtains node A's old address until all conversations making use of the old address have stopped.
- Tasks (1) and (2) provide backward compatibility.
Task 1 is also useful to streamline (prevent packet loss) mobility for connections that do understand NMIP. Task 3 is important to prevent another type of possible hijacking, namely that of adversaries trying to grab node A's old address after node A's move in order to fool node A's correspondent into believing the connection has not moved. -
FIG. 6 is a flowchart of address-update process 600 performed by an NMIP mobility router according to various embodiments of the present invention. Atstep 602, the NMIP mobility router receives an address-update message from a node. - At
step 604, the NMIP mobility router modifies the routing-table entry associated with the node such that the NMIP mobility router will forward received, in-transition packets bearing a destination address of the node's old IP address to the node's new IP address. - At
step 606, the NMIP mobility router determines whether the routing-table record has expired, i.e., the nonce lifetime has expired. If the routing-table record has not expired, then the NMIP mobility router waits a certain amount of time (step 608) and then loops back tostep 606. If, instead, the record has expired, then, atstep 610, the NMIP mobility router deletes the routing-table record and releases the IP address for possible re-assignment to another node. The NMIP mobility router will now discard any packets addressed to the node's old address. Note that the node can keep the NMIP mobility router from deleting the record by sending repeated update-address messages that contained updated lifetime values. - Backwards Compatibility
- As described in the discussion of
FIG. 4 , if a first NMIP node sends an address-update message to a second node and does not receive an address-reply message before the address-update-reply timer expires, then the first node assumes that the second node is a non-NMIP node. In that case, the second node cannot interpret NMIP address-update messages, and will continue to send packets to the first node's old IP address, i.e., to the first node's old mobility router. Therefore, the first node will periodically send address-update messages to the old mobility router updating the nonce lifetime. Viewed another way, the first node is causing the old NMIP mobility router to behave like an MIP home agent. - Where the old mobility router is a non-NMIP router, at worst, in-transition packets are lost. Transport-layer protocols such as Terminal Control Protocol (TCP) and Stream Control Transmission Protocol (SCTP) can recover the lost in-transition packets.
- NMIP Security
- In the exemplary embodiment described above, correspondent nodes exchange nonces in the clear at the initiation of an NMIP session. The exemplary embodiment assumes that the network is trusted, i.e., it is impossible to eavesdrop on the address-update messages. Otherwise, an adversary might simply eavesdrop on the address-update messages and copy the nonces from the messages. Then the adversary could send address-update messages instructing another node to redirect traffic to another, incorrect IP address, i.e., hijack the conversation.
- Other embodiments of the present invention do not presume a trusted network, and rely on other mechanisms to protect the nonces from eavesdropping. One of those mechanisms is Internet Protocol Security (IPsec), a protocol suite for securing IP communications by authenticating and encrypting each IP packet of the communication. IPsec is defined IETF RFCs 2367, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2451, 2857, 3526, 3602, 3706, 3715, 3775, 3776, 3947, 3948, 4106, 4301, 4302, 4303, 4304, 4306, 4307, 4308, 4309, 4478, 4543, 4555, 4621, 4718, 4806, 4809, 4835, and 4945, all of which are herein incorporated by reference in their entirety.
- In yet other embodiments of the present invention, a public key infrastructure (PKI) can be, but does not have to be, utilized to authenticate communications between NMIP nodes.
- Although the present invention has been described in the context of
typical Ethernet network 200 ofFIG. 2 , the invention is not so limited. For example, the present invention can be implemented in the context of cellular IP networks having configurations different from that shown inFIG. 2 . - Furthermore, although the present invention has been described in the context of a node changing its assigned IP address as a result of moving from one access network to another access network, the present invention is not so limited. For example, the present invention can be implemented in the context of a node that receives a new IP address without moving, e.g., a stationary, wired node changing its IP address in order to resolve an IP-address conflict with another node on the same network.
- Although the present invention has been described in the context of IP networks, the invention can be implemented in the context of any other suitable packet-switched network.
- The present invention can be embodied in the form of methods and apparatuses for practicing those methods. The present invention can also be embodied in the form of program code embodied in tangible media, such as magnetic recording media, optical recording media, solid state memory, floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of program code, for example, whether stored in a storage medium or loaded into and/or executed by a machine, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. When implemented on a general-purpose processor, the program code segments combine with the processor to provide a unique device that operates analogously to specific logic circuits.
- Unless explicitly stated otherwise, each numerical value and range should be interpreted as being approximate as if the word “about” or “approximately” preceded the value of the value or range.
- It will be further understood that various changes in the details, materials, and arrangements of the parts which have been described and illustrated in order to explain the nature of this invention may be made by those skilled in the art without departing from the scope of the invention as expressed in the following claims.
- As used herein in reference to an element and a standard, the term “compatible” means that the element communicates with other elements in a manner wholly or partially specified by the standard, and would be recognized by other elements as sufficiently capable of communicating with the other elements in the manner specified by the standard. The compatible element does not need to operate internally in a manner specified by the standard.
- The use of figure numbers and/or figure reference labels in the claims is intended to identify one or more possible embodiments of the claimed subject matter in order to facilitate the interpretation of the claims. Such use is not to be construed as necessarily limiting the scope of those claims to the embodiments shown in the corresponding figures.
- It should be understood that the steps of the exemplary methods set forth herein are not necessarily required to be performed in the order described, and the order of the steps of such methods should be understood to be merely exemplary. Likewise, additional steps may be included in such methods, and certain steps may be omitted or combined, in methods consistent with various embodiments of the present invention.
- Although the elements in the following method claims, if any, are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence for implementing some or all of those elements, those elements are not necessarily intended to be limited to being implemented in that particular sequence.
- Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments necessarily mutually exclusive of other embodiments. The same applies to the term “implementation.”
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/793,174 US20130188651A1 (en) | 2008-12-01 | 2013-03-11 | Mobility in ip without mobile ip |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11877208P | 2008-12-01 | 2008-12-01 | |
US12/612,293 US8451840B2 (en) | 2008-12-01 | 2009-11-04 | Mobility in IP without mobile IP |
US13/793,174 US20130188651A1 (en) | 2008-12-01 | 2013-03-11 | Mobility in ip without mobile ip |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/612,293 Continuation US8451840B2 (en) | 2008-12-01 | 2009-11-04 | Mobility in IP without mobile IP |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130188651A1 true US20130188651A1 (en) | 2013-07-25 |
Family
ID=42222767
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/612,293 Active 2031-11-25 US8451840B2 (en) | 2008-12-01 | 2009-11-04 | Mobility in IP without mobile IP |
US13/793,174 Abandoned US20130188651A1 (en) | 2008-12-01 | 2013-03-11 | Mobility in ip without mobile ip |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/612,293 Active 2031-11-25 US8451840B2 (en) | 2008-12-01 | 2009-11-04 | Mobility in IP without mobile IP |
Country Status (1)
Country | Link |
---|---|
US (2) | US8451840B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130251150A1 (en) * | 2010-06-15 | 2013-09-26 | Olivier Chassagne | Method of providing an authenticable time-and-location indication |
US20130282860A1 (en) * | 2012-04-20 | 2013-10-24 | Futurewei Technologies, Inc. | Name-Based Neighbor Discovery and Multi-Hop Service Discovery in Information-Centric Networks |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100333188A1 (en) * | 2009-06-29 | 2010-12-30 | Politowicz Timothy J | Method for protecting networks against hostile attack |
EP2434707B1 (en) * | 2010-09-23 | 2013-12-18 | Alcatel Lucent | Method and system for optimising routing between two network nodes, at least one of which is mobile |
US8448231B2 (en) | 2010-10-05 | 2013-05-21 | Guest Tek Interactive Entertainment Ltd. | Walled garden system for providing access to one or more websites that incorporate content from other websites and method thereof |
US9461875B2 (en) * | 2010-10-08 | 2016-10-04 | Virginia Tech Intellectual Properties, Inc. | Method and system for dynamically obscuring addresses in IPv6 |
KR20120060593A (en) * | 2010-12-02 | 2012-06-12 | 한국전자통신연구원 | Mobile terminal and method for maintaining session using logical interface |
US9130994B1 (en) * | 2011-03-09 | 2015-09-08 | Symantec Corporation | Techniques for avoiding dynamic domain name system (DNS) collisions |
EP2530898B1 (en) | 2011-06-03 | 2014-02-12 | Alcatel Lucent | Method and apparatus for mitigating buffering delay at a network edge |
US20130097046A1 (en) * | 2011-10-14 | 2013-04-18 | Balachander Krishnamurthy | System and Method of Providing Transactional Privacy |
EP2624521B1 (en) | 2012-02-02 | 2016-10-12 | Alcatel Lucent | Nodes and method for seamlessly processing RTP packets |
WO2015109583A1 (en) * | 2014-01-26 | 2015-07-30 | 华为技术有限公司 | Data packet sending method and mobile router |
JP6364866B2 (en) * | 2014-03-27 | 2018-08-01 | 富士通株式会社 | Terminal device, communication control system, and communication control method |
CN106658479B (en) * | 2016-11-16 | 2020-12-11 | 广东新岸线科技有限公司 | Method for realizing wireless network convergence |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030147537A1 (en) * | 2002-02-07 | 2003-08-07 | Dongfeng Jing | Secure key distribution protocol in AAA for mobile IP |
US20040157585A1 (en) * | 2003-02-05 | 2004-08-12 | Nec Corporation | Mobile communication network system and mobile terminal authentication method |
US20050041634A1 (en) * | 2003-08-06 | 2005-02-24 | Aura Anssi Tuomas | Verifying location of a mobile node |
US20070283149A1 (en) * | 2006-05-30 | 2007-12-06 | Nokia Corporation | Home address auto-configuration during use of a mobile protocol authentication option protocol |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6609198B1 (en) * | 1999-08-05 | 2003-08-19 | Sun Microsystems, Inc. | Log-on service providing credential level change without loss of session continuity |
US7215772B2 (en) * | 1999-11-09 | 2007-05-08 | Chaoticom, Inc. | Method and apparatus for remote digital key generation |
GB2367980B (en) * | 2000-10-09 | 2004-03-17 | Ericsson Telefon Ab L M | Mobile hosts |
US7490152B2 (en) * | 2003-04-11 | 2009-02-10 | Alcatel-Lucent Usa Inc. | Version caching mechanism |
JP4353056B2 (en) * | 2004-07-06 | 2009-10-28 | パナソニック株式会社 | Mobile router, home agent, router location registration method, and mobile network system |
WO2009039891A1 (en) * | 2007-09-28 | 2009-04-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of controlling a communication device |
US7877503B2 (en) * | 2008-07-02 | 2011-01-25 | Verizon Patent And Licensing Inc. | Method and system for an intercept chain of custody protocol |
-
2009
- 2009-11-04 US US12/612,293 patent/US8451840B2/en active Active
-
2013
- 2013-03-11 US US13/793,174 patent/US20130188651A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030147537A1 (en) * | 2002-02-07 | 2003-08-07 | Dongfeng Jing | Secure key distribution protocol in AAA for mobile IP |
US20040157585A1 (en) * | 2003-02-05 | 2004-08-12 | Nec Corporation | Mobile communication network system and mobile terminal authentication method |
US20050041634A1 (en) * | 2003-08-06 | 2005-02-24 | Aura Anssi Tuomas | Verifying location of a mobile node |
US20070283149A1 (en) * | 2006-05-30 | 2007-12-06 | Nokia Corporation | Home address auto-configuration during use of a mobile protocol authentication option protocol |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130251150A1 (en) * | 2010-06-15 | 2013-09-26 | Olivier Chassagne | Method of providing an authenticable time-and-location indication |
US8948392B2 (en) * | 2010-06-15 | 2015-02-03 | The European Union, Represented By The European Commission | Method of providing an authenticable time-and-location indication |
US20130282860A1 (en) * | 2012-04-20 | 2013-10-24 | Futurewei Technologies, Inc. | Name-Based Neighbor Discovery and Multi-Hop Service Discovery in Information-Centric Networks |
US9515920B2 (en) * | 2012-04-20 | 2016-12-06 | Futurewei Technologies, Inc. | Name-based neighbor discovery and multi-hop service discovery in information-centric networks |
Also Published As
Publication number | Publication date |
---|---|
US20100135301A1 (en) | 2010-06-03 |
US8451840B2 (en) | 2013-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8451840B2 (en) | Mobility in IP without mobile IP | |
CN1817013B (en) | Terminal and communication system | |
Johnson et al. | Mobility support in IPv6 | |
Le et al. | A review of mobility support paradigms for the internet. | |
JP4226553B2 (en) | Routing in data communication networks | |
US8095130B2 (en) | Controlling hand-off in a mobile node with two mobile IP clients | |
US7787476B2 (en) | Layer 2 switch network system | |
EP1714434B1 (en) | Addressing method and apparatus for establishing host identity protocol (hip) connections between legacy and hip nodes | |
JP5199314B2 (en) | Method and apparatus for extending mobile IP | |
US20130083734A1 (en) | Dynamic discovery of home agent with specific binding | |
CN101212393A (en) | Transmission method, system and equipment for medium-independent handover message | |
US20110296027A1 (en) | Host identity protocol server address configuration | |
US20120271965A1 (en) | Provisioning mobility services to legacy terminals | |
EP1700430B1 (en) | Method and system for maintaining a secure tunnel in a packet-based communication system | |
EP1988679B1 (en) | A new flow based Layer 2 handover mechanism for mobile node with multi network interfaces | |
US20110013562A1 (en) | Method and apparatus for providing mobility to a mobile node | |
US9480090B2 (en) | Method and system for optimising routing between two network nodes, at least one of which is mobile | |
JPWO2008114496A1 (en) | Packet communication device | |
CN1774903A (en) | Proxy Server Support for Mobile Internet Protocol | |
Kavitha et al. | A secure route optimization protocol in mobile IPv6 | |
Schefczik | i, Patent Application Publication to, Pub. No.: US 2010/0135301 A1 | |
Wasserman | IPv6 Neighbor Discovery Optimizations for Wired and Wireless Networks draft-chakrabarti-nordmark-6man-efficient-nd-05 | |
Arkko | IETF Mobile IP Working Group D. Johnson Internet-Draft Rice University Obsoletes: 3775 (if approved) C. Perkins (Ed.) Expires: January 14, 2010 WiChorus Inc. | |
Wasserman | Wired and Wireless IPv6 Neighbor Discovery Optimizations draft-chakrabarti-nordmark-6man-efficient-nd-04 | |
Arkko | IETF Mobile IP Working Group D. Johnson Internet-Draft Rice University Expires: November 24, 2003 C. Perkins Nokia Research Center |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ALCATEL-LUCENT USA INC., NEW JERSEY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BOSCH, PETER;MULLENDER, SAPE J.;SCHEFCZIK, PETER;SIGNING DATES FROM 20091102 TO 20091106;REEL/FRAME:029963/0182 |
|
AS | Assignment |
Owner name: CREDIT SUISSE AG, NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:ALCATEL LUCENT;REEL/FRAME:030322/0222 Effective date: 20130422 |
|
AS | Assignment |
Owner name: ALCATEL LUCENT, NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:CREDIT SUISSE AG;REEL/FRAME:033654/0968 Effective date: 20140819 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |
|
AS | Assignment |
Owner name: OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP, NEW YORK Free format text: SECURITY INTEREST;ASSIGNOR:WSOU INVESTMENTS, LLC;REEL/FRAME:043966/0574 Effective date: 20170822 Owner name: OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP, NEW YO Free format text: SECURITY INTEREST;ASSIGNOR:WSOU INVESTMENTS, LLC;REEL/FRAME:043966/0574 Effective date: 20170822 |
|
AS | Assignment |
Owner name: WSOU INVESTMENTS, LLC, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:OCO OPPORTUNITIES MASTER FUND, L.P. (F/K/A OMEGA CREDIT OPPORTUNITIES MASTER FUND LP;REEL/FRAME:049246/0405 Effective date: 20190516 |