Mechanism for Enabling Layer Two Host Addresses to be Shielded from the Switches in a Network
First Claim
1. A method performed by a border component situated at a border of a network of switches, comprising:
- receiving, from a first host, a first packet destined for a first destination host, wherein the first host has a first L2 (layer
2) address and a first L3 (layer
3) address associated therewith, and wherein the first packet includes the first L2 address as a source L2 address for the first packet, and includes the first L3 address as a source L3 address for the first packet;
deriving a first updated packet from the first packet, wherein deriving the first updated packet comprises replacing the first L2 address with a substitute L2 address associated with a communication channel of the border component, thereby making the substitute L2 address the source L2 address for the first updated packet; and
sending the first updated packet to the network of switches.
3 Assignments
0 Petitions
Accused Products
Abstract
A mechanism is disclosed that enables layer two host addresses (e.g. a MAC addresses) to be shielded from a network. In one implementation, the mechanism updates each packet sent by the hosts into the network to indicate that the source layer two (L2) address for that packet is a shared L2 address instead of the actual L2 address of the sending host. By doing so, the mechanism exposes only the shared L2 address to the network, and shields the actual L2 addresses of the hosts from the network. The effect of this is that the switches in the network will need to store only the shared L2 address in their forwarding tables, not the actual L2 addresses of the hosts. By reducing the number of L2 addresses that need to be stored in the forwarding tables of the switches, the mechanism improves the scalability of the network.
-
Citations
99 Claims
-
1. A method performed by a border component situated at a border of a network of switches, comprising:
-
receiving, from a first host, a first packet destined for a first destination host, wherein the first host has a first L2 (layer
2) address and a first L3 (layer
3) address associated therewith, and wherein the first packet includes the first L2 address as a source L2 address for the first packet, and includes the first L3 address as a source L3 address for the first packet;deriving a first updated packet from the first packet, wherein deriving the first updated packet comprises replacing the first L2 address with a substitute L2 address associated with a communication channel of the border component, thereby making the substitute L2 address the source L2 address for the first updated packet; and sending the first updated packet to the network of switches. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A border component situated at a border of a network of switches, comprising:
-
a communication channel; and a communication manager, wherein the communication manager comprises; means for receiving, from a first host coupled to the communication channel, a first packet destined for a first destination host, wherein the first host has a first L2 (layer
2) address and a first L3 (layer
3) address associated therewith, and wherein the first packet includes the first L2 address as a source L2 address for the first packet, and includes the first L3 address as a source L3 address for the first packet;means for deriving a first updated packet from the first packet, wherein the means for deriving the first updated packet comprises means for replacing the first L2 address with a substitute L2 address associated with the communication channel, thereby making the substitute L2 address the source L2 address for the first updated packet; and means for sending, via the communication channel, the first updated packet to the network of switches. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A border component situated at a border of a network of switches, comprising:
-
a communication channel; and a communication manager configured to; receive, from a first host coupled to the communication channel, a first packet destined for a first destination host, wherein the first host has a first L2 (layer
2) address and a first L3 (layer
3) address associated therewith, and wherein the first packet includes the first L2 address as a source L2 address for the first packet, and includes the first L3 address as a source L3 address for the first packet;derive a first updated packet from the first packet, wherein deriving the first updated packet comprises replacing the first L2 address with a substitute L2 address associated with the communication channel, thereby making the substitute L2 address the source L2 address for the first updated packet; and send, via the communication channel, the first updated packet to the network of switches. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method performed by a border component situated at a border of a network of switches, comprising:
-
receiving, from the network of switches, a first packet intended for a first host coupled to the border component, wherein the first host has a first L2 (layer
2) address and a first L3 (layer
3) address associated therewith, and wherein the first packet includes the first L3 address as a destination L3 address, and includes a substitute L2 address as a destination L2 address, wherein the substitute L2 address is associated with a communication channel of the border component;accessing a data structure, wherein the data structure comprises a first set of information that indicates an association between the first L3 address and the first L2 address; determining, based at least partially upon the first L3 address in the first packet and the first set of information, that the destination L2 address for the first packet should be the first L2 address; deriving a first updated packet from the first packet, wherein deriving the first updated packet comprises replacing the substitute L2 address with the first L2 address, thereby making the first L2 address the destination L2 address for the first updated packet; and sending the first updated packet to the first host. - View Dependent Claims (17, 18)
-
-
19. A border component situated at a border of a network of switches, comprising:
-
a communication channel; and a communication manager, wherein the communication manager comprises; means for receiving, from the network of switches via the communication channel, a first packet intended for a first host coupled to the communication channel, wherein the first host has a first L2 (layer
2) address and a first L3 (layer
3) address associated therewith, and wherein the first packet includes the first L3 address as a destination L3 address, and includes a substitute L2 address as a destination L2 address, wherein the substitute L2 address is associated with the communication channel;means for accessing a data structure, wherein the data structure comprises a first set of information that indicates an association between the first L3 address and the first L2 address; means for determining, based at least partially upon the first L3 address in the first packet and the first set of information, that the destination L2 address for the first packet should be the first L2 address; means for deriving a first updated packet from the first packet, wherein the means for deriving the first updated packet comprises means for replacing the substitute L2 address with the first L2 address, thereby making the first L2 address the destination L2 address for the first updated packet; and means for sending, via the communication channel, the first updated packet to the first host. - View Dependent Claims (20, 21)
-
-
22. A border component situated at a border of a network of switches, comprising:
-
a communication channel; and a communication manager configured to; receive, from the network of switches via the communication channel, a first packet intended for a first host coupled to the communication channel, wherein the first host has a first L2 (layer
2) address and a first L3 (layer
3) address associated therewith, and wherein the first packet includes the first L3 address as a destination L3 address, and includes a substitute L2 address as a destination L2 address, wherein the substitute L2 address is associated with the communication channel;access a data structure, wherein the data structure comprises a first set of information that indicates an association between the first L3 address and the first L2 address; determine, based at least partially upon the first L3 address in the first packet and the first set of information, that the destination L2 address for the first packet should be the first L2 address; derive a first updated packet from the first packet, wherein deriving the first updated packet comprises replacing the substitute L2 address with the first L2 address, thereby making the first L2 address the destination L2 address for the first updated packet; and send, via the communication channel, the first updated packet to the first host. - View Dependent Claims (23, 24)
-
-
25. A system comprising:
-
a first border component comprising a first communication channel and a first communication manager, wherein the first border component is situated at a border of a network of switches and coupled to the network of switches via the first communication channel, wherein the first border component is also coupled to a first host via the first communication channel, and wherein the first communication channel has a particular L2 (layer
2) address associated therewith; anda second border component comprising a second communication channel and a second communication manager, wherein the second border component is also situated at a border of the network of switches and coupled to the network of switches via the second communication channel, wherein the second border component is also coupled to a second host via the second communication channel, and wherein the second communication channel has a certain L2 address associated therewith; wherein the first communication manager is configured to; receive, from the first host via the first communication channel, a first packet destined for the second host, wherein the first host has a first L3 (layer
3) address and a first L2 address associated therewith, wherein the second host has a second L3 address and a second L2 address associated therewith, and wherein the first packet includes the first L3 address as a source L3 address, includes the first L2 address as a source L2 address, includes the second L3 address as a destination L3 address, and includes the certain L2 address associated with the second communication channel of the second border component as a destination L2 address;derive a first updated packet from the first packet, wherein deriving the first updated packet comprises replacing the first L2 address with the particular L2 address associated with the first communication channel of the first border component, thereby making the particular L2 address the source L2 address for the first updated packet; and send, via the first communication channel, the first updated packet to the network of switches to be switched to the second border component; and wherein the second communication manager is configured to; receive, from the network of switches via the second communication channel, the first updated packet; access a certain data structure, wherein the certain data structure comprises a first set of information that indicates an association between the second L3 address and the second L2 address; determine, based at least partially upon the second L3 address in the first updated packet and the first set of information, that the destination L2 address for the first updated packet should be the second L2 address; derive a second updated packet from the first updated packet, wherein deriving the second updated packet comprises replacing the certain L2 address associated with the second communication channel of the second border component with the second L2 address, thereby making the second L2 address the destination L2 address for the second updated packet; and send, via the second communication channel, the second updated packet to the second host. - View Dependent Claims (26, 27)
-
-
28. A method performed by a border component situated at a border of a network of switches, comprising:
-
receiving, from a first host, a first request packet requesting a L2 (layer
2) address for a first target host, wherein the first host has a first L2 address and a first L3 (layer
3) address associated therewith, wherein the first target host has a first target L3 address associated therewith, and wherein the first request packet includes the first L2 address as a source L2 address, includes the first L3 address as a sending L3 address, includes the first target L3 address as a target L3 address, and includes an indication that the first request packet is to be broadcasted;obtaining the first L2 address and the first L3 address associated with the first host from the first request packet; updating a data structure to include a first set of information indicating an association between the first L3 address and the first L2 address; deriving a first updated request packet from the first request packet, wherein deriving the first updated request packet comprises replacing the first L2 address with a substitute L2 address associated with a communication channel of the border component, thereby making the substitute L2 address the source L2 address for the first updated request packet; and sending the first updated request packet to the network of switches to be broadcasted throughout the network of switches. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. A border component situated at a border of a network of switches, comprising:
-
a communication channel; and a communication manager, wherein the communication manager comprises; means for receiving, from a first host coupled to the communication channel, a first request packet requesting a L2 (layer
2) address for a first target host, wherein the first host has a first L2 address and a first L3 (layer
3) address associated therewith, wherein the first target host has a first target L3 address associated therewith, and wherein the first request packet includes the first L2 address as a source L2 address, includes the first L3 address as a sending L3 address, includes the first target L3 address as a target L3 address, and includes an indication that the first request packet is to be broadcasted;means for obtaining the first L2 address and the first L3 address associated with the first host from the first request packet; means for updating a data structure to include a first set of information indicating an association between the first L3 address and the first L2 address; means for deriving a first updated request packet from the first request packet, wherein the means for deriving the first updated request packet comprises means for replacing the first L2 address with a substitute L2 address associated with a communication channel of the border component, thereby making the substitute L2 address the source L2 address for the first updated request packet; and means for sending, via the communication channel, the first updated request packet to the network of switches to be broadcasted throughout the network of switches. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. A border component situated at a border of a network of switches, comprising:
-
a communication channel; and a communication manager configured to; receive, from a first host coupled to the communication channel, a first request packet requesting a L2 (layer
2) address for a first target host, wherein the first host has a first L2 address and a first L3 (layer
3) address associated therewith, wherein the first target host has a first target L3 address associated therewith, and wherein the first request packet includes the first L2 address as a source L2 address, includes the first L3 address as a sending L3 address, includes the first target L3 address as a target L3 address, and includes an indication that the first request packet is to be broadcasted;obtain the first L2 address and the first L3 address associated with the first host from the first request packet; update a data structure to include a first set of information indicating an association between the first L3 address and the first L2 address; derive a first updated request packet from the first request packet, wherein deriving the first updated request packet comprises replacing the first L2 address with a substitute L2 address associated with a communication channel of the border component, thereby making the substitute L2 address the source L2 address for the first updated request packet; and send, via the communication channel, the first updated request packet to the network of switches to be broadcasted throughout the network of switches. - View Dependent Claims (49, 50, 51, 52, 53, 54, 55, 56, 57)
-
-
58. A method performed by a border component situated at a border of a network of switches, comprising:
-
receiving, from the network of switches via a communication channel, a request packet requesting a L2 (layer
2) address for a target host, wherein the target host has a first target L3 (layer
3) address associated therewith, and wherein the request packet includes a first L2 address as a source L2 address, includes a first L3 address as a sending L3 address, includes the first target L3 address as the L3 address for the target host for which a requested L2 address is being requested, includes an indication as to whether the request packet is a standard or non-standard address request packet, and includes an indication that the request packet is to be broadcasted;determining whether the request packet is a standard address request packet; in response to a determination that the request packet is a standard address request packet; broadcasting the request packet to all hosts coupled to the communication channel; receiving a first reply packet from the target host, wherein the target host has a target host L2 address associated therewith, and wherein the first reply packet includes the first L3 address, includes the first L2 address as a destination address, includes the first target L3 address, includes the target host L2 address as the requested L2 address for the target host, and includes the target host L2 address as a source L2 address; deriving a first updated reply packet from the first reply packet, wherein deriving the first updated reply packet comprises replacing the target host L2 address with a substitute L2 address associated with the communication channel, thereby making the substitute L2 address the requested L2 address for the target host, and making the substitute L2 address the source L2 address for the first updated reply packet; and sending the first updated reply packet to the network of switches via the communication channel. - View Dependent Claims (59, 60, 61, 62, 63, 64, 65, 66, 67)
-
-
68. A border component situated at a border of a network of switches, comprising:
-
a communication channel; and a communication manager, wherein the communication manager comprises; means for receiving, from the network of switches via the communication channel, a request packet requesting a L2 (layer
2) address for a target host, wherein the target host has a first target L3 (layer
3) address associated therewith, and wherein the request packet includes a first L2 address as a source L2 address, includes a first L3 address as a sending L3 address, includes the first target L3 address as the L3 address for the target host for which a requested L2 address is being requested, includes an indication as to whether the request packet is a standard or non-standard address request packet, and includes an indication that the request packet is to be broadcasted;means for determining whether the request packet is a standard address request packet; means for broadcasting, in response to a determination that the request packet is a standard address request packet, the request packet to all hosts coupled to the communication channel; means for receiving, via the communication channel, a first reply packet from the target host, wherein the target host has a target host L2 address associated therewith, and wherein the first reply packet includes the first L3 address, includes the first L2 address as a destination address, includes the first target L3 address, includes the target host L2 address as the requested L2 address for the target host, and includes the target host L2 address as a source L2 address; deriving a first updated reply packet from the first reply packet, wherein the means for deriving the first updated reply packet comprises means for replacing the target host L2 address with a substitute L2 address associated with the communication channel, thereby making the substitute L2 address the requested L2 address for the target host, and making the substitute L2 address the source L2 address for the first updated reply packet; and means for sending the first updated reply packet to the network of switches via the communication channel. - View Dependent Claims (69, 70, 71, 72, 73, 74, 75, 76, 77)
-
-
78. A border component situated at a border of a network of switches, comprising:
-
a communication channel; and a communication manager configured to; receive, from the network of switches via the communication channel, a request packet requesting a L2 (layer
2) address for a target host, wherein the target host has a first target L3 (layer
3) address associated therewith, and wherein the request packet includes a first L2 address as a source L2 address, includes a first L3 address as a sending L3 address, includes the first target L3 address as the L3 address for the target host for which a requested L2 address is being requested, includes an indication as to whether the request packet is a standard or non-standard address request packet, and includes an indication that the request packet is to be broadcasted;determine whether the request packet is a standard address request packet; in response to a determination that the request packet is a standard address request packet; broadcast the request packet to all hosts coupled to the communication channel; receive a first reply packet from the target host, wherein the target host has a target host L2 address associated therewith, and wherein the first reply packet includes the first L3 address, includes the first L2 address as a destination address, includes the first target L3 address, includes the target host L2 address as the requested L2 address for the target host, and includes the target host L2 address as a source L2 address; derive a first updated reply packet from the first reply packet, wherein deriving the first updated reply packet comprises replacing the target host L2 address with a substitute L2 address associated with the communication channel, thereby making the substitute L2 address the requested L2 address for the target host, and making the substitute L2 address the source L2 address for the first updated reply packet; and send the first updated reply packet to the network of switches via the communication channel. - View Dependent Claims (79, 80, 81, 82, 83, 84, 85, 86, 87)
-
-
88. A method performed by a border component situated at a border of a network of switches, comprising:
-
receiving, from the network of switches via a communication channel, a request packet requesting a L2 (layer
2) address for a target host, wherein the target host has a first target L3 (layer
3) address associated therewith, and wherein the request packet includes a first L2 address as a source L2 address, includes a first L3 address as a sending L3 address, and includes the first target L3 address as the L3 address for the target host for which a requested L2 address is being requested;determining whether the target host is a host that is coupled to the communication channel; in response to a determination that the target host is a host that is coupled to the communication channel, deriving a reply packet from the request packet, wherein deriving the reply packet comprises replacing the first L2 address with a substitute L2 address associated with the communication channel, thereby making the substitute L2 address the source L2 address for the reply packet, inserting the substitute L2 address into the reply packet to represent the requested L2 address for the target host, and making the first L2 address the destination L2 address for the reply packet; and sending the reply packet to the network of switches via the communication channel. - View Dependent Claims (89)
-
-
90. A border component situated at a border of a network of switches, comprising:
-
a communication channel; and a communication manager, wherein the communication manager comprises; means for receiving, from the network of switches via the communication channel, a request packet requesting a L2 (layer
2) address for a target host, wherein the target host has a first target L3 (layer
3) address associated therewith, and wherein the request packet includes a first L2 address as a source L2 address, includes a first L3 address as a sending L3 address, and includes the first target L3 address as the L3 address for the target host for which a requested L2 address is being requested;means for determining whether the target host is a host that is coupled to the communication channel; means for deriving, in response to a determination that the target host is a host that is coupled to the communication channel, a reply packet from the request packet, wherein the means for deriving the reply packet comprises means for replacing the first L2 address with a substitute L2 address associated with the communication channel, thereby making the substitute L2 address the source L2 address for the reply packet, means for inserting the substitute L2 address into the reply packet to represent the requested L2 address for the target host, and means for making the first L2 address the destination L2 address for the reply packet; and means for sending the reply packet to the network of switches via the communication channel. - View Dependent Claims (91)
-
-
92. A border component situated at a border of a network of switches, comprising:
-
a communication channel; and a communication manager configured to; receive, from the network of switches via the communication channel, a request packet requesting a L2 (layer
2) address for a target host, wherein the target host has a first target L3 (layer
3) address associated therewith, and wherein the request packet includes a first L2 address as a source L2 address, includes a first L3 address as a sending L3 address, and includes the first target L3 address as the L3 address for the target host for which a requested L2 address is being requested;determine whether the target host is a host that is coupled to the communication channel; in response to a determination that the target host is a host that is coupled to the communication channel, derive a reply packet from the request packet, wherein deriving the reply packet comprises replacing the first L2 address with a substitute L2 address associated with the communication channel, thereby making the substitute L2 address the source L2 address for the reply packet, inserting the substitute L2 address into the reply packet to represent the requested L2 address for the target host, and making the first L2 address the destination L2 address for the reply packet; and send the reply packet to the network of switches via the communication channel. - View Dependent Claims (93)
-
-
94. A method performed by a border component situated at a border of a network of switches, comprising:
-
receiving, from the network of switches via a communication channel, a request packet requesting a L2 (layer
2) address for a target host, wherein the target host has a first target L3 (layer
3) address associated therewith, and wherein the request packet includes a first L2 address as a source L2 address, includes a first L3 address as a sending L3 address, and includes the first target L3 address as the L3 address for the target host for which a requested L2 address is being requested;determining whether the target host is a host that is coupled to the communication channel; in response to a determination that the target host is a host that is coupled to the communication channel, sending the request packet, or an updated version thereof, to the target host; receiving a reply packet from the target host, wherein the target host has a target host L2 address associated therewith, and wherein the reply packet includes the first L3 address, includes the first L2 address as a destination address, includes the first target L3 address, includes the target host L2 address as the requested L2 address for the target host, and includes the target host L2 address as a source L2 address; deriving an updated reply packet from the reply packet, wherein deriving the updated reply packet comprises replacing the target host L2 address with a substitute L2 address associated with the communication channel, thereby making the substitute L2 address the requested L2 address for the target host, and making the substitute L2 address the source L2 address for the updated reply packet; and sending the updated reply packet to the network of switches via the communication channel. - View Dependent Claims (95)
-
-
96. A border component situated at a border of a network of switches, comprising:
-
a communication channel; and a communication manager, wherein the communication manager comprises; means for receiving, from the network of switches via the communication channel, a request packet requesting a L2 (layer
2) address for a target host, wherein the target host has a first target L3 (layer
3) address associated therewith, and wherein the request packet includes a first L2 address as a source L2 address, includes a first L3 address as a sending L3 address, and includes the first target L3 address as the L3 address for the target host for which a requested L2 address is being requested;means for determining whether the target host is a host that is coupled to the communication channel; means for sending, in response to a determination that the target host is a host that is coupled to the communication channel, the request packet, or an updated version thereof, to the target host; means for receiving a reply packet from the target host, wherein the target host has a target host L2 address associated therewith, and wherein the reply packet includes the first L3 address, includes the first L2 address as a destination address, includes the first target L3 address, includes the target host L2 address as the requested L2 address for the target host, and includes the target host L2 address as a source L2 address; means for deriving an updated reply packet from the reply packet, wherein the means for deriving the updated reply packet comprises means for replacing the target host L2 address with a substitute L2 address associated with the communication channel, thereby making the substitute L2 address the requested L2 address for the target host, and making the substitute L2 address the source L2 address for the updated reply packet; and means for sending the updated reply packet to the network of switches via the communication channel. - View Dependent Claims (97)
-
-
98. A border component situated at a border of a network of switches, comprising:
-
a communication channel; and a communication manager configured to; receive, from the network of switches via the communication channel, a request packet requesting a L2 (layer
2) address for a target host, wherein the target host has a first target L3 (layer
3) address associated therewith, and wherein the request packet includes a first L2 address as a source L2 address, includes a first L3 address as a sending L3 address, and includes the first target L3 address as the L3 address for the target host for which a requested L2 address is being requested;determine whether the target host is a host that is coupled to the communication channel; send, in response to a determination that the target host is a host that is coupled to the communication channel, the request packet, or an updated version thereof, to the target host; receive a reply packet from the target host, wherein the target host has a target host L2 address associated therewith, and wherein the reply packet includes the first L3 address, includes the first L2 address as a destination address, includes the first target L3 address, includes the target host L2 address as the requested L2 address for the target host, and includes the target host L2 address as a source L2 address; derive an updated reply packet from the reply packet, wherein deriving the updated reply packet comprises replacing the target host L2 address with a substitute L2 address associated with the communication channel, thereby making the substitute L2 address the requested L2 address for the target host, and making the substitute L2 address the source L2 address for the updated reply packet; and send the updated reply packet to the network of switches via the communication channel. - View Dependent Claims (99)
-
Specification