Mapping of routing traffic to switching networks
First Claim
1. An apparatus for receiving and transmitting data units within a network of nodes, each data unit being associated with a destination address, said apparatus comprising:
- a) at least one incoming port for receiving data units at said apparatus;
b) at least one outgoing port for transmitting data units from said apparatus;
c) a router device comprising a router database for mapping said destination address to an outgoing port, said router database being stored in a storage device; and
d) a linking database for mapping said destination address to a label associated with an outgoing port, said linking database being stored in a storage device, wherein one or a plurality of destination addresses are mapped to one or a plurality of labels, to build one or a plurality of switched connections in said network.
1 Assignment
0 Petitions
Accused Products
Abstract
IP based networks use a number of different IP routing protocols to determine how packets ought to be routed. However, due to the rapid growth of the Internet, there is a great need for higher packet forwarding performance. This invention describes a way to map IP routing information onto a technology that uses label switching and swapping, such as ATM, without the need to change the network paradigm. This allows a network to continue to function and appear as a standard IP network, but with much higher performance. In this invention, an Integrated Switch Router (ISR), is a switch that has been augmented with standard IP routing support. The ISR at an entry point to the switching environment performs standard IP forwarding of datagrams, but the "next hop" of the IP forwarding table has been extended to include a reference to a switched path (for example, the VCC in ATM technology). Each switched path may have an endpoint at a neighboring router (comparable to existing IP next hops on conventional routers), or may traverse a series of ISRs along the best IP forwarding path, to an ISR endpoint. This allows datagrams to be switched at hardware speeds through an entire ISR network.
-
Citations
48 Claims
-
1. An apparatus for receiving and transmitting data units within a network of nodes, each data unit being associated with a destination address, said apparatus comprising:
-
a) at least one incoming port for receiving data units at said apparatus; b) at least one outgoing port for transmitting data units from said apparatus; c) a router device comprising a router database for mapping said destination address to an outgoing port, said router database being stored in a storage device; and d) a linking database for mapping said destination address to a label associated with an outgoing port, said linking database being stored in a storage device, wherein one or a plurality of destination addresses are mapped to one or a plurality of labels, to build one or a plurality of switched connections in said network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of receiving and transmitting data units by building one or more switched connections by distributing and using labels within a network of nodes, said labels being assigned to network addresses by nodes within a network, wherein an initial node initiates a set-up message to every node adjacent to said initial node, the set-up message identifying a network address and an assigned label, and wherein each node in the network comprises at least one incoming and at least one outgoing port, a router device with a routing database, a switching device with a switching database, said method comprising:
-
a) each node that receives said set-up message then testing from its routing database, for the network address in the set-up message, whether said set-up message arrived from an adjacent node in the direction of the network address, b) each receiving node on which the test set forth in step(a) succeeds, and which has adjacent nodes other than the one from which the set-up message was received, then assigns a second label for each said adjacent node, c) each receiving node then transmits thereto a set-up message comprising the received network address and the newly assigned second label, d) each receiving node which transmits a set-up message as set forth in step (c), creates entries in the switching database to switch data units between the second labels assigned in step (b) and the label received in the set-up message, and e) each node of the network repeating steps (a) through (d) upon receiving any set-up message from any node other than the initiating node, wherein one or a plurality of destination addresses are mapped to one or a plurality of labels, to build said one or more switched connections in said network. - View Dependent Claims (10, 11, 12, 13, 14, 15, 26, 27, 28)
-
-
16. A method of receiving and transmitting data units using labels within a network of nodes by building one or more switched connections by requesting said labels, said labels being assigned to network addresses by nodes within a network, wherein each node in the network comprises at least one incoming and at least one outgoing port, a router device with a routing database, a switching device with a switching database, a linking database mapping a network address to a label, said method comprising:
-
a) a node sends a request message to a neighboring node for a label for a network address in the routing database, b) each node receiving a request message that does not have a label in its linking database for the network address in said request message discards said request message, and c) each node receiving a request message that has a label in its linking database for the network address in the said request message responds with a message containing said label, wherein one or a plurality of destination addresses are mapped to one or a plurality of labels, to build said one or more switched connections in said network. - View Dependent Claims (17, 18, 19)
-
-
20. A method of removing one or more switched connections by withdrawing labels assigned to one or more network addresses by nodes within a network, wherein each node in the network comprises at least one of incoming and at least one outgoing port, a router device with a routing database, a switching device with a switching database, and wherein each node which is to withdraw an assigned label for a network address removes the existing corresponding entry from the switching database and sends as sending node a withdraw message to a neighboring node, said message containing said network address and said label, said method comprising:
-
a) each said node receiving the said withdraw message thereupon testing via the routing database that said message arrived from a neighboring node in the direction of the network address in said message, b) said receiving node testing that said label exists in the switching database, c) each said receiving node on which the tests as set forth in step (a) and step (b) succeeds, then sends a withdraw message to its neighboring nodes for which a switching database entry exists that corresponds to said label, and d) each said node on which the test set forth in step (a) and step (b) succeeds then removes the switching database entry between the sending node'"'"'s label and the label assigned to each said neighboring node, wherein one or a plurality of destination addresses are mapped to one or a plurality of labels, to remove said one or more switched connections in said network. - View Dependent Claims (21, 24, 25)
-
-
22. A method of removing one or more switched connections by withdrawing labels assigned to one or more network addresses by nodes within a network, wherein each node in the network comprises at least one incoming port and at least one outgoing port, a router device with a routing database, a switching device with a switching database, a linking database which maps a routing database entry to a label, and wherein each node which is to withdraw an assigned label for a network address removes the existing corresponding entry from the switching database and sends as sending node a withdraw message to a neighboring node, said message containing said network address, said method comprising:
-
a) each said node receiving said withdraw message thereupon testing via the routing database that said message arrived from a neighboring node in the direction of the network address in said message, b) each said receiving node on which the tests as set forth in step (a) succeeds, then sends a withdraw message to its neighboring nodes for which a switching database entry exists that corresponds to said label, c) each said node on which the test set forth in step (a) succeeds then removes each existing switching database entry between the sending node'"'"'s label and the label assigned to each said neighboring node, and d) each said node receiving said withdraw message on which the test as set forth in (a) succeeds then removes each existing corresponding label from the linking database for the network address, wherein one or a plurality of destination addresses are mapped to one or a plurality of labels, to remove said one or more switched connections in said network. - View Dependent Claims (23)
-
-
29. A program storage device readable by a computing machine, tangibly embodying a program of instructions executable by the machine to perform method steps of a method of receiving and transmitting data units by building one or more switched connections by distributing and using labels within a network of nodes, said labels being assigned to network addresses by nodes within a network, wherein an initial node initiates a set-up message to every node adjacent to said initial node, the set-up message identifying a network address by and an assigned label, and wherein each node in the network comprises at least one incoming and at least one outgoing port, a router device with a routing database, a switching device with a switching database, said method comprising:
-
a) each node that receives said set-up message then testing from its routing database, for the network address in the set-up message, whether said set-up message arrived from an adjacent node in the direction of the network address, b) each receiving node on which the test set forth in step (a) succeeds, and which has adjacent nodes other than the one from which the set-up message was received, then assigns a second label for each said adjacent node, c) each receiving node then transmits thereto a set-up message comprising the received network address and the newly assigned second label, d) each receiving node which transmits a set-up message as set forth in step (c), creates entries in the switching database to switch data units between the second labels assigned in step (b) and the label received in the set-up message, and e) each node of the network repeating steps (a) through (d) upon receiving any set-up message from any node other than the initiating node, wherein one or a plurality of destination addresses are mapped to one or a plurality of labels, to build said one or more switched connections in said network. - View Dependent Claims (30, 31, 32, 33, 34, 35, 46, 47, 48)
-
-
36. A program storage device readable by a computing machine, tangibly embodying a program of instructions executable by the machine to perform method steps of a method of receiving and transmitting data units using labels within a network of nodes by building one or more switched connections by requesting said labels, said labels being assigned to network addresses by nodes within a network, wherein each node in the network comprises at least one incoming and at least one outgoing port, a router device with a routing database, a switching device with a switching database, a linking database mapping a network address to a label, said method comprising:
-
a) a node sends a request message to a neighboring node for a network address in the routing database, b) each node receiving a request message that does not have a label in its linking database for the network address in said request message discards said request message, and c) each node receiving a request message that has a label in its linking database for the network address in said request message responds with a message containing said label, wherein one or a plurality of destination addresses are mapped to one or a plurality of labels, to build said one or more switched connections in said network. - View Dependent Claims (37, 38, 39)
-
-
40. A program storage device readable by a computing machine, tangibly embodying a program of instructions executable by the machine to perform method steps of a method of removing one or more switched connections by withdrawing labels assigned to one or more network addresses by nodes within a network, wherein each node in the network comprises at least one incoming port and at least one outgoing port, a router device with a routing database, a switching device with a switching database, and wherein each node which is to withdraw an assigned label for a network address removes the existing corresponding entry from the switching database and sends as sending node a withdraw message to a neighboring node, said message containing said network address and said label, said method comprising:
-
a) each said node receiving said withdraw message thereupon testing via the routing database that said message arrived from a neighboring node in the direction of the network address in said message, b) said receiving node testing that said label exists in the switching database, c) each said receiving node on which the tests as set forth in step (a) and step (b) succeeds, then sends a withdraw message to its neighboring nodes for which a switching database entry exists that corresponds to said label, and d) each said node on which the test set forth in step (a) and step (b) succeeds then removes the switching database entry between the sending node'"'"'s label and the label assigned to each said neighboring node, wherein one or a plurality of destination addresses are mapped to one or a plurality of labels, to remove said one or more switched connections in said network. - View Dependent Claims (41, 44, 45)
-
-
42. A program storage device readable by a computing machine, tangibly embodying a program of instructions executable by the machine to perform method steps of a method of removing one or more switched connections by withdrawing labels assigned to one or more network addresses by nodes within a network, wherein each node in the network comprises at least one incoming port and at least one outgoing port, a router device with a routing database, a switching device with a switching database, a linking database which maps a routing database entry to a label, and wherein each node which is to withdraw an assigned label for a network address removes the existing corresponding entry from the switching database and sends as sending node a withdraw message to a neighboring node, said message containing said network address, said method comprising:
-
a) each said node receiving the said withdraw message thereupon testing via the routing database that said message arrived from a neighboring node in the direction of the network address in said message, b) each said receiving node on which the tests as set forth in step (a) succeeds, then sends a withdraw message to its neighboring nodes for which a switching database entry exists that corresponds to said label, c) each said node on which the test set forth in step (a) succeeds then removes each existing switching database entry between the sending nodes label and the label assigned to each said neighboring node, and d) each said node receiving said withdraw message on which the test as set forth in (a) succeeds then removes each existing corresponding label from the linking database for the network address, wherein one or a plurality of destination addresses are mapped to one or a plurality of labels, to remove said one or more switched connections in said network. - View Dependent Claims (43)
-
Specification