# US 2013/0155906 A1 · Scaling address resolution for massive data centers

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0155906 A1
- Document ID: US20130155906A1
- Status: Published application
- Kind: A1
- Application number: 13/717,095
- Filed: 2012-12-17
- Published: 2013-06-20
- Earliest claimed: 2011-12-16
- Assignees: Marvell Israel (M.I.S.L) Ltd.
- Inventors: Youval Nachum; Ilan YERUSHALMI
- Web page: https://patentgrep.com/patent/US20130155906A1

## CPC

- H04L 12/4675: {Dynamic sharing of VLAN information amongst network nodes (configuration of the network or of network elements H04L41/08)}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- H04L 45/66: {Layer 2 routing, e.g. in Ethernet based MAN's}
- H04L 45/74: Address processing for routing
- H04L 61/103: across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

There is provided a network device disposed at an interface between an access segment and an interconnecting layer of a data center. The network device includes an address resolution processor configured to receive an address request addressed to virtual machines in a transmission domain of the network device. The address request specifying a source layer 2 address, requesting a layer 2 address of a target virtual machine in the data center, and specifying a layer 3 address of the target virtual machine. The network device is further configured to transmit a local message over the first access segment requesting the respective layer 2 address of a virtual machine which has the specified layer 3 address. In response to receiving a reply, the network device transmits a message to the specified source layer 2 address to provide the layer 2 address of the network device and the specified layer 3 address.

## Claims

### Claim 1

A network device disposed at an interface between a first access segment and an interconnecting layer of a data center, comprising:
an address resolution processor configured to:
receive an address request addressed to virtual machines in a broadcast domain of the network device, the address request:
specifying a source layer 2 address,
requesting a layer 2 address of a target virtual machine in the data center, and
specifying a layer 3 address of the target virtual machine;
transmit a local message over the first access segment requesting the respective layer 2 address of a virtual machine which has a respective layer 3 address corresponding to the specified layer 3 address; and
in response to receiving a local reply to the local message from the virtual machine which has the specified layer 3 address, transmit a reply message to the specified source layer 2 address, the reply message providing the layer 2 address of the network device and the layer 3 address of the virtual machine which has the specified layer 3 address.

### Claim 2 (depends on 1)

The network device as set forth in claim 1, wherein the address resolution processor is configured to receive the address request through the interconnection layer as an edge device of the first access segment of the data center.

### Claim 3 (depends on 1)

The network device as set forth in claim 1, wherein the address resolution processor is configured to transmit the local message to one or more virtual machines that have migrated to the first access segment from a different access segment of the data center.

### Claim 4 (depends on 1)

The network device as set forth in claim 1, wherein the address resolution processor is configured to receive the access request from a second access segment different from the first access segment, and the first access segment and the second access segment are implemented by the same VLAN.

### Claim 5 (depends on 1)

The network device as set forth in claim 1, wherein:
the address resolution processor is configured to receive the local reply to the local message; and
the local reply to the local message includes the respective layer 3 address and the respective layer 2 address of the responding virtual machine; and
the address resolution processor is configured to construct the response message by replacing the respective layer 2 address of the responding virtual machine with the layer 2 address of the network device.

### Claim 6 (depends on 1)

The network device as set forth in claim 1, wherein:
the address resolution processor is configured to receive the access request from a second access segment different from the first access segment; and
the specified source layer 2 address is the layer 2 address of a network device disposed at the interface between the second access segment and the interconnecting layer.

### Claim 7 (depends on 6)

The network device as set forth in claim 6, wherein:
the address resolution processor is configured to store in a cache the specified source layer 2 address in association with a particular layer 3 address of a first virtual machine originating the address request.

### Claim 8 (depends on 7)

The network device as set forth in claim 7, wherein:
the address resolution processor is configured to store more than one particular layer 3 address in association with a single instance of the same specified layer 2 address, when more than one request message includes the same specified layer 2 address.

### Claim 9 (depends on 1)

The network device as set forth in claim 1, wherein:
the address request further specifies a particular layer 3 address of a source;
the address resolution processor is configured to store in a cache the specified layer 2 address in association with the particular layer 3 address of the first virtual machine originating the address request; and
when more than one request message includes the same specified layer 2 address, the cache is configured to store more than one particular layer 3 address in association with a single instance of the same specified layer 2 address.

### Claim 10

A network device disposed at an interface between a first access segment and an interconnecting layer of a data center, comprising:
an address resolution processor configured to:
receive a local data packet from the first access segment, the local data packet including a specified layer 3 address;
selectively broadcast an address resolution request in a broadcast domain of the data center, the address resolution request:
requesting a layer 2 address corresponding to the specified layer 3 address;
receive a response to the address resolution request; and
update an address cache, based on the received response, to include an entry specifying the layer 2 address of an edge device of an access segment which has a virtual machine having a respective layer 3 address corresponding to the specified layer 3 address, the entry also specifying said respective layer 3 address.

### Claim 11 (depends on 10)

The network device as set forth in claim 10, wherein:
the address resolution processor is configured to make a determination as to whether the cache includes an entry corresponding to the specified layer 3 address; and
the address resolution processor broadcasts the address resolution requests when the determination is not affirmative.

### Claim 12 (depends on 10)

The network device as set forth in claim 10, wherein:
the entry specifying the access segment is a layer 2 address of a particular network device of the access segment which has the virtual machine having the respective layer 3 address corresponding to the specified layer 3 address; and
the entry is used for subsequently selectively broadcasting to virtual machines located in the access segment specified by the layer 2 address of the particular network device.

### Claim 13 (depends on 10)

The network device as set forth in claim 10, wherein:
the local data packet further specifies a particular layer 2 address of a first virtual machine sending the local data packet; and
the network device is configured to construct the address resolution request from the local data packet and is further configured to replace the particular layer 2 address of the first virtual machine with a layer 2 address of the network device.

### Claim 14

An address resolution method, which when executed by a network device disposed at an interface between a first access segment and an interconnecting layer of a data center, comprises:
receiving a local data packet from the first access segment, the local data packet including a specified layer 3 address;
selectively broadcasting an address resolution request in a broadcast domain of the data center, the address resolution request:
requesting a layer 2 address corresponding to the specified layer 3 address;
receiving a response to the address resolution request; and
updating an address cache, based on the received response, to include an entry specifying an access segment which has a virtual machine having a respective layer 3 address corresponding to the specified layer 3 address.

### Claim 15

A network including a plurality of access segments joined by an interconnecting layer, and selected access segments of the plurality of access segments each comprises a network device, the network device comprising:
an address resolution processor configured to:
receive an address request addressed to machines in a broadcast domain of the network, the address request:
specifying a layer 2 address,
requesting a layer 2 address of some other virtual machine in the network, and
specifying a layer 3 address;
transmit a local message over an access segment requesting the respective layer 2 address of a virtual machine which has a respective layer 3 address corresponding to the specified layer 3 address; and
in response to receiving a local reply to the local message, transmit a reply message to the specified layer 2 address, the reply message providing the layer 2 address of the network device and the specified layer 3 address.

### Claim 16

A network including a plurality of access segments joined by an interconnecting layer, and selected access segments of the plurality of access segments each comprises a network device, the network device comprising:
an address resolution processor configured to:
receive a local data packet from a first access segment, the local data packet including a specified layer 3 address;
selectively broadcast an address resolution request in a broadcast domain of the network, the address resolution request requesting a layer 2 address corresponding to the specified layer 3 address;
receive a response to the address resolution request; and
update an address cache, based on the received response, to include an entry specifying a second access segment which has a virtual machine having a respective layer 3 address corresponding to the specified layer 3 address.

### Claim 17

A cache table reduction method for a network device, the method comprising:
the network device configured to receive a first address request indicating one source layer 3 address and a specified layer 2 address;
the network device further configured to receive a second address request indicating another source layer 3 address and the same specified layer 2 address; and
an address resolution processor of the network device configured to store, in a cache, the one and the another source layer 3 address in association with only a single instance of the specified layer 2 address.

### Claim 18 (depends on 17)

The cache table reduction method as set forth in claim 17, further comprising the address resolution processor using the cache in response to receiving a subsequent address request to make a determination about whether to broadcast a related address request.

### Claim 19 (depends on 18)

The cache table reduction method as set forth in claim 18, wherein the determination is affirmative only when the cache does not include an entry matching a requested layer 3 address specified in the subsequent address request.
