Method and system for routing packets
First Claim
1. A method for routing packets, the method comprising:
- receiving, at an interface of a first network device of a plurality of network devices in a leaf tier, a first packet, wherein the first packet comprises a first destination Internet Protocol (IP) address and wherein each of the plurality of network devices comprises a supernet table and a non-overlapping portion of a routing table;
determining, using the first destination IP address and the supernet table, a first IP address of a second network device to which the packet is to be sent, wherein the second network device is one of the plurality of network devices in the leaf tier, wherein the supernet table comprises a plurality of entries, wherein each of the plurality of entries comprises a non-overlapping IP address range and specifies a corresponding one of the plurality of network devices in the leaf tier, and wherein the non-overlapping portion of the routing table on the second network device comprises a route for the first packet;
determining, by the first network device, a first media access control (MAC) address of the second network device using the first IP address;
rewriting, by the first network device, the first packet to obtain a first rewritten packet, wherein the first rewritten packet comprises the first MAC address as a destination MAC address of the first rewritten packet and the first destination IP address;
sending the first rewritten packet to a third network device, wherein the third network device is not in the leaf tier;
determining, by the third network device using the destination MAC address of the first rewritten packet, to forward the first rewritten packet from the third network device to the second network device;
sending the first rewritten packet to the second network device;
performing, by the second network device using the destination MAC address of the first rewritten packet, a first MAC pointer table lookup to determine that a first routing table lookup is to be performed using the first destination IP address of the first rewritten packet;
performing, by the second network device, the first routing table lookup, wherein the first routing table lookup comprises using the non-overlapping portion of the routing table on the second network device to determine a second IP address corresponding to a first external network device to which the packet is to be sent;
determining, by the second network device, a second MAC address of the first external network device using the second IP address;
rewriting the first rewritten packet to obtain a second rewritten packet, by the second network device using the second MAC address, wherein the second rewritten packet comprises the second MAC address as a destination MAC address of the second rewritten packet and the first destination IP address;
sending the second rewritten packet from a first interface on the second network device to the first external network device, wherein the first interface is associated with the second MAC address.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for routing packets that includes leaf network devices, spine network devices, and a border gateway protocol controller to perform a method for routing packets in a network. The method includes receiving packets at a leaf device and, using the destination IP address of the packet to determine to which spine network device the packet is to be sent. The spine network devices each include a non-overlapping portion of a routing table. The spine network devices include functionality to determine a route for the packet based on its destination IP address, to determine to which leaf network device the packet is to be sent, and to send the packet to the discovered leaf network device. The leaf network device that receives the packet includes functionality to, based on the destination MAC address of the packet, determine out of which leaf network device interface to send the packet.
-
Citations
20 Claims
-
1. A method for routing packets, the method comprising:
-
receiving, at an interface of a first network device of a plurality of network devices in a leaf tier, a first packet, wherein the first packet comprises a first destination Internet Protocol (IP) address and wherein each of the plurality of network devices comprises a supernet table and a non-overlapping portion of a routing table; determining, using the first destination IP address and the supernet table, a first IP address of a second network device to which the packet is to be sent, wherein the second network device is one of the plurality of network devices in the leaf tier, wherein the supernet table comprises a plurality of entries, wherein each of the plurality of entries comprises a non-overlapping IP address range and specifies a corresponding one of the plurality of network devices in the leaf tier, and wherein the non-overlapping portion of the routing table on the second network device comprises a route for the first packet; determining, by the first network device, a first media access control (MAC) address of the second network device using the first IP address; rewriting, by the first network device, the first packet to obtain a first rewritten packet, wherein the first rewritten packet comprises the first MAC address as a destination MAC address of the first rewritten packet and the first destination IP address; sending the first rewritten packet to a third network device, wherein the third network device is not in the leaf tier; determining, by the third network device using the destination MAC address of the first rewritten packet, to forward the first rewritten packet from the third network device to the second network device; sending the first rewritten packet to the second network device; performing, by the second network device using the destination MAC address of the first rewritten packet, a first MAC pointer table lookup to determine that a first routing table lookup is to be performed using the first destination IP address of the first rewritten packet; performing, by the second network device, the first routing table lookup, wherein the first routing table lookup comprises using the non-overlapping portion of the routing table on the second network device to determine a second IP address corresponding to a first external network device to which the packet is to be sent; determining, by the second network device, a second MAC address of the first external network device using the second IP address; rewriting the first rewritten packet to obtain a second rewritten packet, by the second network device using the second MAC address, wherein the second rewritten packet comprises the second MAC address as a destination MAC address of the second rewritten packet and the first destination IP address; sending the second rewritten packet from a first interface on the second network device to the first external network device, wherein the first interface is associated with the second MAC address. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An integrated composite router, comprising:
-
a plurality of leaf network devices comprising a first network device and a second network device, wherein the leaf network devices are connected to a third network device and wherein each of the plurality of leaf network devices comprise a supernet table and a non-overlapping portion of a routing table; wherein the first network device is configured to; receive, at an interface of the first network device, a first packet, wherein the first packet comprises a first destination Internet Protocol (IP) address; determine, using the first destination IP address and a supernet table of the first network device, a first IP address of the second network device to which the packet is to be sent, wherein the supernet table of the first network device comprises a plurality of entries, wherein each of the plurality of entries comprises a non-overlapping IP address range and specifies a corresponding one of the plurality of leaf network devices; determine, by the first network device, a first media access control (MAC) address of the second network device using the first IP address; rewrite, by the first network device, the first packet to obtain a first rewritten packet, wherein the first rewritten packet comprises the first MAC address as a destination MAC address of the first rewritten packet and the first destination IP address; send the first rewritten packet to a third network device, wherein the third network device is not in the leaf tier; wherein the second network device comprises the non-overlapping portion of the routing table on the second network device which comprises a route for the first packet, and wherein the second network device is configured to; perform, using the destination MAC address of the first rewritten packet, a first MAC pointer table lookup to determine that a first routing table lookup is to be performed using the first destination IP address of the first rewritten packet; perform the first routing table lookup, wherein the first routing table lookup comprises using the non-overlapping portion of the routing table on the second network device to determine a second IP address corresponding to a first external network device to which the packet is to be sent; determine a second MAC address of the first external network device using the second IP address; rewrite the first rewritten packet to obtain a second rewritten packet, using the second MAC address, wherein the second rewritten packet comprises the second MAC address as a destination MAC address of the second rewritten packet and the first destination IP address; send the second rewritten packet from a first interface on the second network device to the first external network device, where the first interface on the second network device is associated with the second MAC address; and wherein the third network device comprises a forwarding table and is configured to; determine, using the destination MAC address of the first rewritten packet and the forwarding table, to forward the first rewritten packet from the third network device to the second network device; send the first rewritten packet to the second network device. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer readable medium comprising instructions, which when executed by a processor, perform a method for routing packets, the method comprising:
-
receiving, at an interface of a first network device of a plurality of network devices in a leaf tier, a first packet, wherein the first packet comprises a first destination Internet Protocol (IP) address and wherein each of the plurality of network devices comprises a supernet table and a non-overlapping portion of a routing table; determining, using the first destination IP address and the supernet table, a first IP address of a second network device to which the packet is to be sent, wherein the second network device is one of the plurality of network devices in the leaf tier, wherein the supernet table comprises a plurality of entries, wherein each of the plurality of entries comprises a non-overlapping IP address range and specifies a corresponding one of the plurality of network devices in the leaf tier, and wherein the non-overlapping portion of the routing table on the second network device comprises a route for the first packet; determining, by the first network device, a first media access control (MAC) address of the second network device using the first IP address; rewriting, by the first network device, the first packet to obtain a first rewritten packet, wherein the first rewritten packet comprises the first MAC address as a destination MAC address of the first rewritten packet and the first destination IP address; sending the first rewritten packet to a third network device, wherein the third network device is not in the leaf tier; determining, by the third network device using the destination MAC address of the first rewritten packet, to forward the first rewritten packet from the third network device to the second network device; sending the first rewritten packet to the second network device; performing, by the second network device using the destination MAC address of the first rewritten packet, a first MAC pointer table lookup to determine that a first routing table lookup is to be performed using the first destination IP address of the first rewritten packet; performing, by the second network device, the first routing table lookup, wherein the first routing table lookup comprises using the non-overlapping portion of the routing table on the second network device to determine a second IP address corresponding to a first external network device to which the packet is to be sent; determining, by the second network device, a second MAC address of the first external network device using the second IP address; rewriting the first rewritten packet to obtain a second rewritten packet, by the second network device using the second MAC address, wherein the second rewritten packet comprises the second MAC address as a destination MAC address of the second rewritten packet and the first destination IP address; sending the second rewritten packet from a first interface on the second network device to the first external network device, wherein the first interface is associated with the second MAC address. - View Dependent Claims (20)
-
Specification