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, a packet, wherein the packet comprises a destination Internet Protocol (IP) address;
determining, using the destination IP address, 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 a plurality of network devices in a spine tier, wherein each of the plurality of network devices in the spine tier comprises a non-overlapping portion of a routing table, wherein the non-overlapping portion of the routing table on the second network device comprises a route for the 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 the 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 destination IP address;
sending the first rewritten packet to the second network device;
performing, by the second network device using the destination IP address, a routing table lookup, wherein the 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 third network device to which the packet is to be sent;
determining, by the second network device, a second MAC address of the third network device using the second IP address;
rewriting the first rewritten packet to obtain a second rewritten packet, wherein the second rewritten packet comprises the second MAC address as a destination MAC address of the second rewritten packet and the destination IP address;
sending the second rewritten packet to the third network device;
rewriting the second rewritten packet, by the third network device using the second MAC address and an egress table, to obtain a third rewritten packet, wherein the third rewritten packet comprises a third MAC address as the destination MAC address of the third rewritten packet and the destination IP address; and
sending the third rewritten packet from an interface on the third network device to an external network device, wherein the interface is associated with the third MAC address,wherein the first network device and the third network device are not in the spine tier.
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, a packet, wherein the packet comprises a destination Internet Protocol (IP) address; determining, using the destination IP address, 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 a plurality of network devices in a spine tier, wherein each of the plurality of network devices in the spine tier comprises a non-overlapping portion of a routing table, wherein the non-overlapping portion of the routing table on the second network device comprises a route for the 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 the 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 destination IP address; sending the first rewritten packet to the second network device; performing, by the second network device using the destination IP address, a routing table lookup, wherein the 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 third network device to which the packet is to be sent; determining, by the second network device, a second MAC address of the third network device using the second IP address; rewriting the first rewritten packet to obtain a second rewritten packet, wherein the second rewritten packet comprises the second MAC address as a destination MAC address of the second rewritten packet and the destination IP address; sending the second rewritten packet to the third network device; rewriting the second rewritten packet, by the third network device using the second MAC address and an egress table, to obtain a third rewritten packet, wherein the third rewritten packet comprises a third MAC address as the destination MAC address of the third rewritten packet and the destination IP address; and sending the third rewritten packet from an interface on the third network device to an external network device, wherein the interface is associated with the third MAC address, wherein the first network device and the third network device are not in the spine tier. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system, comprising:
-
a plurality of leaf network devices comprising a first network device and a third network device; a plurality of spine network devices, wherein a second device is one of the plurality of spine network devices; wherein each of the plurality of spine network devices comprises a non-overlapping portion of a routing table; wherein each of the plurality of leaf network devices is connected to each of the plurality of spine network devices, wherein none of the plurality of leaf network devices are connected to each other; wherein none of the plurality of spine network devices are connected to each other; wherein the first network device is configured to; receive, at an interface of the first network device, a packet, wherein the packet comprises a destination Internet Protocol (IP) address; determine, using the destination IP address, a first IP address of the second network device to which the packet is to be sent; determine a first media access control (MAC) address of the second network device using the first IP address; rewrite the 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 destination IP address; send the first rewritten packet to the second network device; wherein the second network device is configured to; perform, using the destination IP address, a routing table lookup, wherein the 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 the third network device to which the packet is to be sent; determine a second MAC address of the third network device using the second IP address; rewrite the first rewritten packet to obtain a second rewritten packet, wherein the second rewritten packet comprises the second MAC address as a destination MAC address of the second rewritten packet and the destination IP address; send the second rewritten packet to the third network device; wherein the third network device is configured to; rewrite the second rewritten packet, using the second MAC address and an egress table, to obtain a third rewritten packet, wherein the third rewritten packet comprises a third MAC address as the destination MAC address of the third rewritten packet and the destination IP address; and send the third rewritten packet from an interface on the third network device to an external network device, wherein the interface is associated with the third MAC address. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. 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, a packet, wherein the packet comprises a destination Internet Protocol (IP) address; determining, using the destination IP address, 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 a plurality of network devices in a spine tier, wherein each of the plurality of network devices in the spine tier comprises a non-overlapping portion of a routing table, wherein the non-overlapping portion of the routing table on the second network device comprises a route for the 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 the 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 destination IP address; sending the first rewritten packet to the second network device; performing, by the second network device using the destination IP address, a routing table lookup, wherein the 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 third network device to which the packet is to be sent; determining, by the second network device, a second MAC address of the third network device using the second IP address; rewriting the first rewritten packet to obtain a second rewritten packet, wherein the second rewritten packet comprises the second MAC address as a destination MAC address of the second rewritten packet and the destination IP address; sending the second rewritten packet to the third network device; rewriting the second rewritten packet, by the third network device using the second MAC address and an egress table, to obtain a third rewritten packet, wherein the third rewritten packet comprises a third MAC address as the destination MAC address of the third rewritten packet and the destination IP address; and sending the third rewritten packet from an interface on the third network device to an external network device, wherein the interface is associated with the third MAC address, wherein the first network device and the third network device are not in the spine tier. - View Dependent Claims (17, 18, 19, 20)
-
Specification