Routing methods, systems, and computer program products
First Claim
1. An apparatus, comprising:
- at least one non-transitory memory configured to store instructions; and
one or more processors in communication with the at least one non-transitory memory, wherein the one or more processors is configured to execute the instructions to;
receive a packet at a current node in a network path between a source node and a destination node, the network path including a path node between the current node and the destination node that is not the destination node and that is reachable by a plurality of path portions including a first path portion that includes multiple hops, and a second path portion;
in response to the receipt of the packet at the current node, identify a header of the packet, the header configured for use in identifying a segment identifier that identifies the path node that is not the destination node, where the destination node is outside a domain utilizing at least one aspect of a Multiprotocol Label Switching (MPLS) network protocol in accordance with which the path node operates and the segment identifier identifies the path node in the domain utilizing the at least one aspect of the Multiprotocol Label Switching (MPLS) network protocol;
identify the segment identifier that identifies the path node that is not the destination node;
determine, based on the segment identifier that identifies the path node that is not the destination node, that data is to be sent to the path node; and
based on the determination, send the data to the path node via at least one of the plurality of path portions.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, an apparatus is provided, comprising: at least one non-transitory memory configured to store instructions; and one or more processors in communication with the at least one non-transitory memory, wherein the one or more processors is configured to execute the instructions to: receive a packet at a current node in a network path between a source node and a destination node, the network path including a path node between the current node and the destination node that is not the destination node and that is reachable by a plurality of path portions including a first path portion that includes multiple hops, and a second path portion; in response to the receipt of the packet at the current node, identify a header and data of the packet, the header including a segment identifier that identifies the path node that is not the destination node, where the destination node is outside a domain of a multiple protocol-labeling switch (MPLS) network protocol in accordance with which the path node operates and the segment identifier identifies the path node in the domain of the MPLS network protocol; detect the segment identifier that identifies the path node that is not the destination node; determine, based on the segment identifier that identifies the path node that is not the destination node, that the data is to be sent to the path node; and based on the determination, send the data to the path node via at least one of the plurality of path portions.
376 Citations
29 Claims
-
1. An apparatus, comprising:
-
at least one non-transitory memory configured to store instructions; and one or more processors in communication with the at least one non-transitory memory, wherein the one or more processors is configured to execute the instructions to; receive a packet at a current node in a network path between a source node and a destination node, the network path including a path node between the current node and the destination node that is not the destination node and that is reachable by a plurality of path portions including a first path portion that includes multiple hops, and a second path portion; in response to the receipt of the packet at the current node, identify a header of the packet, the header configured for use in identifying a segment identifier that identifies the path node that is not the destination node, where the destination node is outside a domain utilizing at least one aspect of a Multiprotocol Label Switching (MPLS) network protocol in accordance with which the path node operates and the segment identifier identifies the path node in the domain utilizing the at least one aspect of the Multiprotocol Label Switching (MPLS) network protocol; identify the segment identifier that identifies the path node that is not the destination node; determine, based on the segment identifier that identifies the path node that is not the destination node, that data is to be sent to the path node; and based on the determination, send the data to the path node via at least one of the plurality of path portions. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus, comprising:
-
at least one non-transitory memory configured to store instructions; and one or more processors in communication with the at least one non-transitory memory, wherein the one or more processors is configured to execute the instructions to; receive, from a previous node, a packet at a current node in a network path between a source node and a destination node where the previous node is included in a portion of the network path that starts with the source node and ends before the current node, the network path including a path node between the current node and the destination node that is not the destination node and that is reachable by a plurality of path portions including a first path portion that includes multiple hops, and a second path portion; in response to the receipt of the packet at the current node, identify a header of the packet, the header configured for use in identifying a segment identifier that identifies the path node that is not the destination node, where the destination node is outside a domain utilizing at least one aspect of a Multiprotocol Label Switching (MPLS) network protocol in accordance with which the path node operates; perform, by the current node, a mapping that results in the header being configured for use in identifying another segment identifier that identifies the path node that is not the destination node, for use by the path node that is not the destination node in transmitting data; and based on the segment identifier that identifies the path node that is not the destination node, send the another segment identifier and the data to the path node via at least one of the plurality of path portions. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An apparatus, comprising:
-
at least one non-transitory memory configured to store instructions; and one or more processors in communication with the at least one non-transitory memory, wherein the one or more processors is configured to execute the instructions to; receive a packet at a current node in a network path between a source node and a destination node, the network path including a path node, that is in a same region as the current node and that is not the destination node, between the current node and the destination node, the path node being reachable by a plurality of path portions including a first path portion that includes multiple hops, and a second path portion; in response to the receipt of the packet at the current node, identify a header of the packet, the header including a plurality of segment identifiers including a first region scoped segment identifier that is in a region scoped identifier space of the same region and that globally identifies the path node within the same region, and a second segment identifier; identify at least one of the plurality of segment identifiers from the header of the packet; in the event that the first region scoped segment identifier is identified determine, based on the first region scoped segment identifier, that data of the packet is to be sent to the path node; and based on the determination, send the data to the path node via at least one of the plurality of path portions. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. An apparatus, comprising:
-
at least one non-transitory memory configured to store instructions; and one or more processors in communication with the at least one non-transitory memory, wherein the one or more processors is configured to execute the instructions to; receive, from a previous node, a packet at a current node in a network path between a source node and a destination node where the previous node is included in a portion of the network path that starts with the source node and ends before the current node, the network path including a path node between the current node and the destination node that is not the destination node and that is reachable by a plurality of path portions including a first path portion that includes multiple hops, and a second path portion; in response to the receipt of the packet at the current node, identify a header of the packet, the header including a plurality of segment identifiers including a segment identifier that identifies the path node; identify at least one of the plurality of segment identifiers from the header of the packet; replace, in the header and based on a mapping performed by the current node, the segment identifier with another segment identifier that identifies the another segment identifier for use by the path node that is not the destination node in transmitting data; and based on the segment identifier that identifies the path node, send the another segment identifier and the data of the packet to the path node via at least one of the plurality of path portions. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
-
Specification