The present invention relates to the routing of data within communications networks, including but not confined to networks such as the Internet, and particularly, but not exclusively, to a method of routing data directed to a mobile node. The mobile node may be a mobile host, such as a portable computer, or it may be a router which is responsible for the mobility of one or more entire networks, for example, the mobile data network within an aircraft. In either case, the mobile node may change its point of attachment from one network or sub-network to another.
The routing of data around the diverse networks which make up the Internet is based on a protocol known as the Internet Protocol (IP). Data is transferred in the form of data units known as IP datagrams between points in the Internet specified by IP addresses. The use of IP hides the physical nature of the underlying networks from application processes running over the Internet. These networks may, for example, be a combination of wired and wireless local and wide area networks using different physical protocols such as Ethernet and token-ring, including networks linked by telephone through an Internet Service Provider (ISP), or through satellite or ground based radio or infra-red links.
The detailed specification of IP is available in a “Request for Comments” document, RFC 791, maintained by the Internet Engineering Task Force (IETF). RFC documents are widely available on the Internet at, for example, “ftp://ds.internic.net/rfc/rfcxxxx.txt”, where “xxxx” represents the RFC number, so that RFC 791 is available as rfc791.txt.
The current version of IP, known as IPv4, does not itself support mobility, but a protocol entitled “IP Mobility Support”, commonly referred to in this description as Mobile IP, has been designed to enhance IPv4 to support mobility. This protocol is described in document RFC 2002, available as detailed above. The next generation of IP (IPv6) is being designed to deal with the mobility requirement.
IPv4 assumes that a node's IP address uniquely identifies the node's fixed point of attachment to the Internet. If the node is transferred to a different point, it can only be contacted by allocating it a new IP address. Mobile IP, however, enables a mobile node, such as a laptop or palmtop computer, to send and receive IP datagrams over the Internet regardless of the physical location at which it is connected to the Internet and without changing its IP address. One example of the mechanism by which it does so is illustrated in FIG. 1.
The Internet comprises a large number of networks and sub-networks 1, 2, 3, 4 connected via routers 5. A router may be a general purpose computer programmed to perform routing tasks. Increasingly, routers throughout the Internet are dedicated pieces of hardware, controlled by software or firmware, provided by companies such as Cisco Systems, California, USA.
A mobile node (MN) 6 is normally connected to the Internet via a home network 1. The unique IP address assigned to the node 6 is known as its home address. Mobility agents, known as foreign agents (FA) and home agents (HA), advertise their presence on a network via availability messages known as Agent Advertisements. A mobility agent is typically a router connected to a particular network; for example, a home agent 7 is a router connected to the home network 1 and a foreign agent 8 is a router connected to a foreign network 2. The mobile node 6 may optionally solicit an Agent Advertisement message from any local mobility agents via an Agent Solicitation message. By receiving Agent Advertisements, the mobile node 6 is able to determine whether it is on its home network 1 or on a foreign network 2, 3, 4.
While the mobile node 6 is on its home network, it has no need for mobility services. When the mobile node 6 is temporarily moved to a foreign network 2 it obtains a temporary care-of address on the foreign network 2. This can be a foreign agent care-of address, which is the IP address of the foreign agent, obtained by receiving or soliciting Agent Advertisements from any foreign agents based on the foreign network 2. Alternatively, the care-of address may be obtained by using an external assignment mechanism, such as Dynamic Host Configuration Protocol (DHCP) (the reader is referred to RFC 1541 for further information), in which case it is known as a co-located care-of address.
The mobile node 6 then registers its new care-of address with its home agent 7 by exchanging Registration Request and Registration Reply messages with it. Registration provides a mechanism by which mobile nodes can communicate their current reachability information to their home agent. The registration process is described in more detail below, assuming that the mobile node 6 on the foreign network 2 is registering a foreign agent care-of address received via an Agent Advertisement from, for example, foreign agent 8.
First, the mobile node 6 sends a Registration Request message to the foreign agent 8, which processes it and forwards it to the mobile node's home agent 7. The Registration Request message includes the IP address of the foreign agent. The home agent 7 sends a Registration Reply message to the foreign agent 8 granting (or denying) the registration request. The foreign agent 8 processes this Reply and forwards it to the mobile node 6. This process establishes a temporary address for the mobile node 6 to which datagrams can be delivered while the node is roaming away from its home network 1.
If the mobile node 6 is returning to its home network 1 having been on a foreign network 2, it deregisters with its home agent 7, as specified in the IETF RFC 2002 (C. Perkins. IP Mobility Support. Request for Comments (Proposed Standard) 2002, Internet Engineering Task Force, October 1996.
When a correspondent node (CN) 9 attached to a network 4 is required by an application running on the node 9 to send a message intended for the mobile node 6 the correspondent node must first determine the address of node 6. The correspondent node performs domain name server (DNS) lookup as described in “Internet system Handbook”, Daniel C. Lynch and Marshall T. Rose, Addison Wesley Publishing Company, 1993 and RFC 1123 by sending a message to a domain name server 11 indicated by arrows D and D′ in FIG. 1. DNS lookup provides the permanent (or home) IP address of the mobile node 6. As mentioned previously this IP address uniquely identifies a fixed point of attachment to the Internet. The IP address thus obtained is then used by that application for the duration of the session or until the lifetime expiry as will be explained later.
When the correspondent node 9 sends the datagram intended for the mobile node 6, while the mobile node is connected to the foreign network 2, the datagram is intercepted by the home agent 7, as shown by arrow A. The home agent 7 encapsulates the datagrams forming the message with the care-of address for the mobile node 6, in this example being the IP address of the foreign agent 8, and forwards the message to the foreign agent 8. The transmission of the encapsulated datagrams, shown by arrow B, is known as tunnelling. The foreign agent 8 receives the datagrams, decapsulates them and forwards them to the mobile node 6, as shown by arrow C. A common misconception is that messages from the mobile node 6 to other nodes in the Internet need not follow this route, but may be sent directly via an appropriate router, which may be foreign agent 8. However, ‘firewalls’ in the routers prevent transmission of datagrams which do not appear to originate from the network to which the router is connected. Therefore it is necessary for messages from the mobile node 6 to be intercepted by the foreign agent 8. The foreign agent 8 then encapsulates the datagrams before sending them. Datagrams from the MN to the CN are routed in accordance the specification of IETF RFC 2002 or alternatively using reverse tunneling as specified in the IETF RFC 2344.
The concepts of encapsulation and tunnelling are described in detail in IETF RFC 2003, “IP Encapsulation within IP”. The model is that a tunnel is the path followed by a datagram while encapsulated. Encapsulation allows an IP datagram to be hidden from intermediate routers which would incorrectly attempt to route it to the mobile node. Instead, the datagram is routed between the encapsulator and a knowledgeable decapsulator, such as a foreign agent, which can correctly route the datagram. The home agent 7 and foreign agent 8 are known as the endpoints of the tunnel. In the case of the co-located care-of address, the mobile node itself acts as an endpoint of the tunnel.
To enable the tunnelling process described above to function correctly, the home agent 7 maintains reachability information for the mobile node 6, in a form known as a mobility binding. This is the association of the mobile node's identity with a care-of address and a parameter known as the Lifetime, which is the number of seconds remaining before the registration of the node 6 with the home agent 7 expires. The aim behind a Lifetime value is to maintain the dynamic nature of the system, with a binding expiring within a set time unless positively maintained by the mobile node 6. As an example, the default Router Advertisement Lifetime value, which may be used where a mobile node is registering with a foreign agent which it has acquired via an Agent Advertisement, is 1800 seconds.
On receipt of a Registration Request message, the home agent 7 creates or modifies the mobility binding, for example, by re-setting the Lifetime value where the Request is a re-registration request and the mobility binding has not yet expired. If the Lifetime value for a given mobility binding expires before a re-registration request has been received, the home agent 7 deletes the mobility binding from its record. The Registration Reply message from the home agent 7 informs the mobile node 6 (via the foreign agent 8) of the status of its Request, including the Lifetime value allocated by the home agent 7.
The simplified description of Mobile IP is used only to highlight the main features relevant to the description of current invention, however, for additional details interested readers should refer to the relevant reference (i.e. RFC 2002). The non-optimal routing introduced as a result of this protocol is referred to as triangular routing which is defined a situation in which datagrams follow a path which is longer than the optimal path
In order to avoid the problem of triangular routing, route optimisation techniques have been devised, for example, as described in Internet Engineering Task Force (IETF) Draft “Route Optimization in Mobile IP” which may be found at URL: http://www.ietf.org/internet-drafts/draft-ietf-mobileip-optim-09.txt.
This route optimisation technique provides a means for nodes to cache the mobility binding of a mobile node and to then tunnel their own datagrams directly to the care-of address indicated in that binding, bypassing the mobile node's home agent. When sending an IP datagram to a mobile node, if the sender has a binding cache entry for the destination mobile node, it may tunnel the datagram directly to the care-of address indicated in the cached mobility binding.
The protocol also allows datagrams in flight when a mobile node moves, and datagrams sent based on an out-of-date cached binding, to be forwarded directly to the mobile node's new care-of address.
An example of routing using route optimisation will now be described with reference to FIG. 2. Again as for Mobile IP, only a brief description of Mobile IP with route optimisation is described and interested readers should refer to the IETF draft (i.e http://www.ietf.org/internet-drafts/draft-ietf-mobileip-optim-09.txt). The mobile node 6 obtains a care-of address and registers this with the home agent 7 as described previously. Initially datagrams sent by the correspondent node 9 are intercepted by the home agent 7, encapsulated and tunnelled to the foreign agent 8 as described with reference to Mobile IP.
When the home agent 7 intercepts such a datagram the home agent 7 deduces that the correspondent node 9 has no binding cache entry for the destination mobile node 6. The home agent 7 sends a Binding Update message to the correspondent node as shown by arrow E, informing it of the mobile node's current mobility binding. No acknowledgement for the the Binding Update message is needed, since additional future datagrams from the correspondent node intercepted by the home agent for the mobile node will cause transmission of another Binding Update. The correspondent node 9 creates a binding cache entry for the mobile node 6, and tunnels future datagrams directly to the mobile node 6 as indicated by arrow F.
However, if the MN registration has a private bit known as the ‘p’ bit set then the GHA does not send the binding update message to the correspondent node. Of course in this case Mobile IP with direct routing cannot be used, just as Mobile IP with route optimisation cannot be used either.
As before, each binding in a binding cache also has an associated lifetime, specified in the Binding Update message in which the node obtained the binding. After the expiration of this time period, the binding must be deleted from the cache.
The problem with this approach is that although triangular routing has been eliminated the datagrams are still encapsulated and tunnelled to the mobile node. Thus the bandwidth and protocol overhead associated with encapsulation of the datagrams is still present. Furthermore there are other problems with tunneling and QoS related protocols (such as RSVP as described in Internet Draft “Resource ReSerVation Protocol”—Version 1 Functional Specification” Internet draft draft-ietf-rsvp-spec16.txt).
According to the present invention there is provided a method of allocating a network address for an application to use during a session between a first node in a domain and a mobile node in a visited domain, said method comprising the steps of allocating a care-of address to the mobile node; registering the allocated care-of address with a global home agent associated with the mobile node; the global home agent informing the first node of the allocated care of address; and the first node informing the application of the care-of address.
Preferably the global home agent informs the first node of the allocated care-of address in response to a request from the first node.
The care-of address may be allocated to the mobile node using dynamic host configuration protocol.
The method may further comprise the steps of: registering the care of address with a regional home agent when the mobile node moves from the visited domain to a second visited domain; the regional home agent tunnelling received packets to the mobile node; and the mobile node tunnelling packets for the session to the first node via the regional home agent.
Preferably registering the allocated care of address with the global home agent includes an indication that the mobile node supports direct routing. Advantageously the global home agent informing the first node of the allocated care of address includes an indication that the mobile node supports direct routing.
The protocol constituting this embodiment of the invention is referred to in this description as “Mobile IP with direct routing”.