EP2225856A1 - A method for the route aggregation of mobile ip routes - Google Patents
A method for the route aggregation of mobile ip routesInfo
- Publication number
- EP2225856A1 EP2225856A1 EP07870551A EP07870551A EP2225856A1 EP 2225856 A1 EP2225856 A1 EP 2225856A1 EP 07870551 A EP07870551 A EP 07870551A EP 07870551 A EP07870551 A EP 07870551A EP 2225856 A1 EP2225856 A1 EP 2225856A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- routes
- route
- trie
- count
- node
- 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.)
- Withdrawn
Links
Classifications
-
- 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
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/74591—Address table lookup; Address filtering using content-addressable memories [CAM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
-
- 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
- HA Mobile IP Home Agent
- FA Foreign Agent
- CAM Content Address Memory
- ORTC Optimal Routing Table Constructor Algorithm.
- ORTC optimizes a routing table using three passes over the binary tree in which routes are stored. The 1st pass propagates routing information down to the tree's leaves. The second pass finds the most prevalent next hops, by percolating information (sets of next hops) from the leaves back up towards the root. Finally, a third pass moves down the tree, choosing a next hop from the set of possibilities for a prefix and eliminating redundant routes.
- the computation complexity of the ORTC is O(N) where N is number of nodes in the tree. Since the computation complexity is linear the algorithms become expensive with increase in mobile nodes.
- the present invention provides a method by which the (Home Agent) HA can maintain the forwarding table with minimal use of the Content Access Memory (CAM).
- the method utilizes the characteristics of mobile routes to aggregate IP routes. These being (1) mobile routes are 32 bit routes (2) Forwarding Link of mobile routes is point-to-point tunnels and number of tunnels is far less than number of mobile routes (3) Home Agent has the liberty to allocate IP address to the mobile nodes.
- the method uses a radix trie data structure, which is based on the trie that is used to store a set of strings.
- the mobile routes are segregated based on the forwarding tunnel.
- the segregated routes are stored in separate radix tries.
- each radix trie Since each radix trie stores the routes belonging to same tunnel they can be aggregated using simple Leaf Counting Algorithm (LCA) to the trie.
- Leaf counting algorithm counts the number of leaf nodes that are children of a particular node. If the leaf count reaches to maximum that a node can hold for its prefix level, then the route is aggregated and installed in CAM and all children routes are withdrawn from CAM.
- Figure 1 represents a simple prefix based trie.
- Figure 2 represents a graph showing the percentage of saving on number of routes against the percentage of mobile missing from the tunnel on which they are registered initially.
- FIG. 3 represents a 3 bit binary trie.
- a network connection between two hosts is defined by the tuple of source IP address, source port and destination IP address, destination port. Any changes to these could lead to a termination of connection.
- An IP address can be divided into network part and a host part. The network part of the IP address defines the network to which the host is a part of. This is called the home network.
- a mobile node like any other host is assigned an IP address by the home network. When the mobile node moves out of range of the home network, it is said to have moved into a foreign network. The IP address that was assigned to the mobile node in the home network is no longer reachable from the home network and it is not valid in the foreign network.
- Mobile IP defines two modules, a home agent and foreign agent which will ensure that mobile node can still remain connected to the network without a change in its IP address. It enables this to happen by introducing another IP address called the "care-of-address".
- the mobile node When the mobile node moves out of range of the home network, it registers a "care-of-address" with the home agent via the foreign agent. Any packet that is destined for the mobile node will first reach the home network. The home agent will tunnel the packet to the "care-of-address”. The packet is de-encapsulated at the end of tunnel by the "care-of-address" and then forwarded to the mobile node.
- the Home agent defines the module in the home network that will ensure the network connectivity of the mobile node irrespective of the location of the mobile node.
- the Home Agent serves two million mobile nodes and generally CAM has a space of 32MB.
- To store the two million routes in a CAM will require up to 24 mega bytes of CAM space (considering 1 route require 12 bytes (destination, netmask, nexthop pointer)) This leaves very little space to store normal routes, ARP entries, Access List etc. Since larger CAMs require more power, it is not always possible to add larger CAMs to the system. Hence without route aggregation it is virtually impossible to support two million Mobile Nodes Routes.
- the IP routes are pre-sorted before entering them in the Home Agent.
- the invention provides a method of aggregating IP routes in a binary trie having a plurality of radix tries.
- the radix trie is associated with a forwarding link, which is a point-to-point tunnel.
- a new IP route received is inserted into the binary trie using the characteristics of radix trie.
- First a radix tree associated with the IP route is identified.
- the identified radix trie is traversed to reach a node therein, under which the new IP route is to be inserted. For every node traversed a count of leaf nodes that are children of the given node is incremented. The count is compared to the maximum leaf count for the given node.
- the given node is then installed as an aggregated IP route in the binary trie, a prefix associated with the given node responsive to the count reaching the maximum leaf count. Once the maximum leaf count is reached the routes to the leaf nodes that are children of the given node is removed from the binary trie.
- the leaf nodes of the trie are 32 bit nodes and the maximum leaf count of the node is dependent upon a prefix level of the given node which is calculated as 2**(32-N) where N is the prefix level.
- the invention is illustrated using the example in Figure 1.
- the IP addresses are 2 bit and * are arranged in the prefix tree for Tunnel 1.
- Each node stores the prefix, which it represents and from which the prefix level can be derived.
- the prefix level of 0* is 1 in 2 bit trie, since * represents 1 missing bit.
- prefix level of * is 2 since 2 bits are missing.
- the node keeps the count of actual leaf nodes attached to that node.
- the dull nodes in Figure 1 represent the nodes for which routes are withdrawn from FIB/CAM.
- a simple prefix based trie shown in Figure 1 Binary TrieA stores following IP addresses 00 and 10. Each node in the trie keeps the count of the number of leaf routes that are attached to it. If the count reaches the maximum for a particular node that it can support then the node prefix is installed as the aggregated route and the leaf nodes are removed (Note the leaf count are still maintained).
- the 0* node in a 2 bit trie can support maximum of 2 leaf nodes and when both IP address 00 and 01 are present the Leaf Count of 0* node becomes 2 and can be installed as a aggregated route. Further when 11 route is also added to trie the node * can act as an aggregated route to support all four routes.
- FIG. 3 Another example shown in Figure 3, describes the 3 bit Binary trie.
- the route entries for various trie shown in Figure 3 will be as follows:
- While traversing the trie for insertion of route increment the leaf count on each node and verify whether leaf count has reached the maximum.
- the memory requirement of the CAM and forwarding table will be reduced by the amount of aggregation. Also memory requirement for maintaining routes at MIP will be approximately same as what is required in maintaining one radix trie.
- the graph ( Figure 2) shows the amount of saving achieved for different percentage of random routes are missing from aggregated route.
- the missing route can happen when the mobile node is moved out of the tunnel on which first registration happened and IP address was allocated.
- the graph shows that even if 30% mobiles are missing then the saving is at least 30 %.
- ORTC ORTC
- the advantages of the present invention over the previous ORTC solutions is that the proposed algorithm is very simple and executed on every insertion/deletion of route and is not periodic as done in ORTC which is a three stage process and has a complex algorithm.
- the computation complexity of the ORTC is O(N) where N is number of nodes in the tree. Since the computation complexity is linear the algorithms become expensive with increase in mobile nodes.
- the computation complexity of our solution is constant 0(32), and is therefore much faster to execute than the prior art ORTC technique.
- the ORTC is tailored for variable length-prefix routes and does not provide much benefit for constant 32 bit prefix-routes, which is typical scenario in Mobile Nodes.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
A method for aggregating IP routes in a mobile communication network using a binary trie having a plurality of radix tries. The method comprises the steps of receiving a new IP route for insertion in the binary trie; identifying a radix trie associated with the new IP route; traversing the radix trie to reach a node therein under which the new IP route is to be inserted; incrementing, for a given node so traversed, a count of leaf nodes that are children of the given node; comparing the count to a maximum leaf count for the given node; and installing as an aggregated IP route in the binary trie, a prefix associated with the given node responsive to the count reaching the maximum leaf count for the given node.
Description
Title
A method for the route aggregation of mobile IP routes
Background of the Invention
Mobile IP Home Agent (HA) has to support millions of Mobile Nodes. This amounts to millions of IP route in forwarding table. All of these routes are 32 bit routes and have point-to-point Tunnels as a forwarding link. These tunnels run between Home Agent and Foreign Agent (FA). Typically these tunnels run in the order of 800-1000. The major problem the HA faces, is to maintain these million routes which can exhaust the CAM (Content Address Memory) used for maintaining forwarding table.
The route aggregation problem exists in all routing protocol and is solved by algorithms like Optimal Routing Table Constructor (ORTC) Algorithm. ORTC optimizes a routing table using three passes over the binary tree in which routes are stored. The 1st pass propagates routing information down to the tree's leaves. The second pass finds the most prevalent next hops, by percolating information (sets of next hops) from the leaves back up towards the root. Finally, a third pass moves down the tree, choosing a next hop from the set of possibilities for a prefix and eliminating redundant routes. The computation complexity of the ORTC is O(N) where N is number of nodes in the tree. Since the computation complexity is linear the algorithms become expensive with increase in mobile nodes.
Summary of the Invention
The present invention provides a method by which the (Home Agent) HA can maintain the forwarding table with minimal use of the Content Access Memory (CAM). The method utilizes the characteristics of mobile routes to aggregate IP routes. These being (1) mobile routes are 32 bit routes (2) Forwarding Link of mobile routes is point-to-point tunnels and number of tunnels is far less than number of mobile routes (3) Home Agent has the liberty to allocate IP address to the mobile nodes. The method uses a radix trie data structure, which is based on the trie that is used to store a set of strings. The mobile routes are segregated based on the forwarding tunnel. The segregated routes are stored in separate radix tries. Since each radix trie stores the routes belonging to same tunnel they can be aggregated using simple Leaf Counting Algorithm (LCA) to the trie. Leaf counting algorithm counts the number of leaf nodes that are children of a particular node. If the leaf count reaches to maximum that a node can hold for its prefix level, then the route is aggregated and installed in CAM and all children routes are withdrawn from CAM.
Brief description of the drawings
Figure 1 represents a simple prefix based trie.
Figure 2 represents a graph showing the percentage of saving on number of routes against the percentage of mobile missing from the tunnel on which they are registered initially.
Figure 3 represents a 3 bit binary trie.
Detailed Description Of The Drawings
A network connection between two hosts is defined by the tuple of source IP address, source port and destination IP address, destination port. Any changes to these could lead to a termination of connection. An IP address can be divided into network part and a host part. The network part of the IP address defines the network to which the host is a part of. This is called the home network. A mobile node, like any other host is assigned an IP address by the home network. When the mobile node moves out of range of the home network, it is said to have moved into a foreign network. The IP address that was assigned to the mobile node in the home network is no longer reachable from the home network and it is not valid in the foreign network. Mobile IP defines two modules, a home agent and foreign agent which will ensure that mobile node can still remain connected to the network without a change in its IP address. It enables this to happen by introducing another IP address called the "care-of-address". When the mobile node moves out of range of the home network, it registers a "care-of-address" with the home agent via the foreign agent. Any packet that is destined for the mobile node will first reach the home network. The home agent will tunnel the packet to the "care-of-address". The packet is de-encapsulated at the end of tunnel by the "care-of-address" and then forwarded to the mobile node. The Home agent defines the module in the home network that will ensure the network connectivity of the mobile node irrespective of the location of the mobile node.
Typically the Home Agent serves two million mobile nodes and generally CAM has a space of 32MB. To store the two million routes in a
CAM will require up to 24 mega bytes of CAM space (considering 1 route require 12 bytes (destination, netmask, nexthop pointer)) This leaves very little space to store normal routes, ARP entries, Access List etc. Since larger CAMs require more power, it is not always possible to add larger CAMs to the system. Hence without route aggregation it is virtually impossible to support two million Mobile Nodes Routes.
In the present invention the IP routes are pre-sorted before entering them in the Home Agent. The invention provides a method of aggregating IP routes in a binary trie having a plurality of radix tries. The radix trie is associated with a forwarding link, which is a point-to-point tunnel. A new IP route received is inserted into the binary trie using the characteristics of radix trie. First a radix tree associated with the IP route is identified. Then the identified radix trie is traversed to reach a node therein, under which the new IP route is to be inserted. For every node traversed a count of leaf nodes that are children of the given node is incremented. The count is compared to the maximum leaf count for the given node. The given node is then installed as an aggregated IP route in the binary trie, a prefix associated with the given node responsive to the count reaching the maximum leaf count. Once the maximum leaf count is reached the routes to the leaf nodes that are children of the given node is removed from the binary trie. The leaf nodes of the trie are 32 bit nodes and the maximum leaf count of the node is dependent upon a prefix level of the given node which is calculated as 2**(32-N) where N is the prefix level.
The invention is illustrated using the example in Figure 1. The IP addresses are 2 bit and* are arranged in the prefix tree for Tunnel 1. Each
node stores the prefix, which it represents and from which the prefix level can be derived. For example the prefix level of 0* is 1 in 2 bit trie, since * represents 1 missing bit. Similarly prefix level of * is 2 since 2 bits are missing. Also the node keeps the count of actual leaf nodes attached to that node. The dull nodes in Figure 1 represent the nodes for which routes are withdrawn from FIB/CAM.
A simple prefix based trie shown in Figure 1 Binary TrieA stores following IP addresses 00 and 10. Each node in the trie keeps the count of the number of leaf routes that are attached to it. If the count reaches the maximum for a particular node that it can support then the node prefix is installed as the aggregated route and the leaf nodes are removed (Note the leaf count are still maintained).
For example in Binary Trie B, the 0* node in a 2 bit trie can support maximum of 2 leaf nodes and when both IP address 00 and 01 are present the Leaf Count of 0* node becomes 2 and can be installed as a aggregated route. Further when 11 route is also added to trie the node * can act as an aggregated route to support all four routes.
The route entries for various trie shown above will be as follows:
Another example shown in Figure 3, describes the 3 bit Binary trie. The route entries for various trie shown in Figure 3 will be as follows:
On registration of Mobile Node the following steps are performed:
1. When a new Mobile Node is registered and tunnel exists for its IP5 then identify the radix trie corresponding to the tunnel.
2. While traversing the trie for insertion of route increment the leaf count on each node and verify whether leaf count has reached the maximum. The maximum leaf count for a node is = 2**(32-N), where N is the prefix level
the node is supporting. If the count has reached maximum, add the prefix route of the node in forwarding table and withdraw all the children node routes.
3. If tunnel doesn't exist for the Mobile Node then after the tunnel creation is done the new radix trie is created and no aggregation is required.
Similarly on deregistration of Mobile Node while traversing the trie for deletion of route decrement the leaf count on traversing node and verify if the count is max-1. If yes then it implies that, between the two children of the current node, one has max leaf count and the other has leaf count = max- 1. Withdraw the aggregate route for the current node and add a new route (Possibly aggregate if the level of the current node is 2 or higher) for the child with max leaf count. Repeat this process for the other child that has leaf count = max - 1 , until you reach the actual route to be deleted.
The memory requirement of the CAM and forwarding table will be reduced by the amount of aggregation. Also memory requirement for maintaining routes at MIP will be approximately same as what is required in maintaining one radix trie.
On Mobile N registration if the aggregation happened at Nth prefix level then (32-N) route withdrawals will be required and 1 addition will be required.
On Mobile Nodes Deregistration if the de-aggregation happened at Nth prefix level then (32-N) routes are added and two routes (the aggregated route and other is the actual route which was deregistered) are withdrawn.
. The graph (Figure 2) shows the amount of saving achieved for different percentage of random routes are missing from aggregated route. The missing route can happen when the mobile node is moved out of the tunnel on which first registration happened and IP address was allocated. The graph shows that even if 30% mobiles are missing then the saving is at least 30 %.
In this method, if the IP addresses are allocated properly, routes are aggregated at the root of a complete binary tree. So at any point if there are 2Λm active mobile nodes in a foreign agent and their IP addresses are allocated correctly, all the 2Λm specific routes will be aggregated to one route. However this is an ideal condition. After the aggregation if one mobile node is removed, this will lead to adding m routes. However the worst-case behavior is also efficient. Let's assume that 2Λk routes are aggregated to one route and 2Λm (m < k) routes are selectively deleted. Then it can be shown that even in the worst-case behavior, no more than (k-m)*2Λm routes will be added.
The advantages of the present invention over the previous ORTC solutions is that the proposed algorithm is very simple and executed on every insertion/deletion of route and is not periodic as done in ORTC which is a three stage process and has a complex algorithm. The computation complexity of the ORTC is O(N) where N is number of nodes in the tree. Since the computation complexity is linear the algorithms become expensive
with increase in mobile nodes. The computation complexity of our solution is constant 0(32), and is therefore much faster to execute than the prior art ORTC technique. Also the ORTC is tailored for variable length-prefix routes and does not provide much benefit for constant 32 bit prefix-routes, which is typical scenario in Mobile Nodes.
Claims
1. A method of aggregating IP routes in a mobile communication network using a binary trie having a plurality of radix tries, the said method comprising the steps of:
- receiving a new IP route for insertion in the binary trie;
- identifying a radix trie associated with the new IP route;
- traversing the radix trie to reach a node therein under which the new IP route is to be inserted; - incrementing, for a given node so traversed, a count of leaf nodes that are children of the given node;
- comparing the count to a maximum leaf count for the given node;
- installing as an aggregated IP route in the binary trie, a prefix associated with the given node responsive to the count reaching the maximum leaf count for the given node.
2. The method as claimed in claim 1 wherein the routes to the leaf nodes that are children of the given node are removed from the binary trie.
3. The method as claimed in claim 1, wherein the said radix trie is associated with a forwarding link being a point-to-point tunnel.
4. The method of claim 1, wherein the routes to the leaf nodes are 32 bit routes and the maximum leaf count being 2**(32-N) is dependent upon a prefix level N of the given node.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IN2007/000592 WO2009078028A1 (en) | 2007-12-14 | 2007-12-14 | A method for the route aggregation of mobile ip routes |
Publications (1)
Publication Number | Publication Date |
---|---|
EP2225856A1 true EP2225856A1 (en) | 2010-09-08 |
Family
ID=39547103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP07870551A Withdrawn EP2225856A1 (en) | 2007-12-14 | 2007-12-14 | A method for the route aggregation of mobile ip routes |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP2225856A1 (en) |
WO (1) | WO2009078028A1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7835304B2 (en) | 2007-11-28 | 2010-11-16 | Alcatel-Lucent Usa Inc. | Method and apparatus for assigning IP addresses |
US8488571B2 (en) | 2007-11-28 | 2013-07-16 | Alcatel Lucent | Method and apparatus for managing an IP address space of an address server in a mobility network |
US9442927B2 (en) | 2014-05-07 | 2016-09-13 | Red Hat Israel, Ltd. | Offline generation of compressed radix tree with key sequence skip |
US9396286B2 (en) | 2014-05-07 | 2016-07-19 | Red Hat Israel, Ltd. | Lookup with key sequence skip for radix trees |
US9355133B2 (en) | 2014-05-07 | 2016-05-31 | Red Hat Israel, Ltd. | Offline compression for limited sequence length radix tree |
CN112685404A (en) * | 2020-12-18 | 2021-04-20 | 威盛电子股份有限公司 | Encoding method applied to key tree, decoding method applied to key tree and electronic device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7398278B2 (en) * | 2005-03-04 | 2008-07-08 | Nec Electronics Corporation | Prefix processing technique for faster IP routing |
-
2007
- 2007-12-14 EP EP07870551A patent/EP2225856A1/en not_active Withdrawn
- 2007-12-14 WO PCT/IN2007/000592 patent/WO2009078028A1/en active Application Filing
Non-Patent Citations (1)
Title |
---|
See references of WO2009078028A1 * |
Also Published As
Publication number | Publication date |
---|---|
WO2009078028A1 (en) | 2009-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9871728B2 (en) | Exact match hash lookup databases in network switch devices | |
US11108696B2 (en) | Next hop groups | |
Kim et al. | Revisiting route caching: The world should be flat | |
EP1358739B1 (en) | Method and apparatus for routing table management | |
US20120136889A1 (en) | Hash Collision Resolution with Key Compression in a MAC Forwarding Data Structure | |
EP2225856A1 (en) | A method for the route aggregation of mobile ip routes | |
US6747979B1 (en) | Method and apparatus for bridging between networks | |
US20060083247A1 (en) | Prefix lookup using address-directed hash tables | |
US9537793B2 (en) | Ensuring any-to-any reachability with opportunistic layer 3 forwarding in massive scale data center environments | |
US8767757B1 (en) | Packet forwarding system and method using patricia trie configured hardware | |
US9882809B2 (en) | Just-in time forwarding information base | |
CN101505279B (en) | Route searching method and apparatus | |
US20080151899A1 (en) | Data transmission method and a system thereof | |
CN100466627C (en) | Method and device for searching address prefixion and message transfer method and system | |
US20070165543A1 (en) | Routing system and route update method | |
CN107426343B (en) | Method, system and apparatus for proxying traffic within a subnet across multiple interfaces within a network | |
CN103581022A (en) | MAC address finding and transmitting method and device | |
CN102291472A (en) | Network address lookup method and device | |
CN106713144A (en) | Read-write method of message exit information and forwarding engine | |
CN108600099A (en) | A kind of message forwarding method, device and Leaf equipment | |
US20140321470A1 (en) | Communication device and address learning method | |
CN106803809A (en) | A kind of method and apparatus of message forwarding | |
US6337862B1 (en) | Network switch with truncated trie look-up facility | |
CN109921992B (en) | Path selection method and device, network equipment and ED equipment | |
CN109194574B (en) | IPv6 route searching method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20100714 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC MT NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL BA HR MK RS |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20100915 |