IP Library › Granted Patent US 9,923,780
Granted Patent B2
US 9,923,780 · App. 14/944,685 · Granted Mar 20, 2018

Refresh of the binding tables between data-link-layer and network-layer addresses on mobility in a data center environment

Inventors: Girija Raghavendra Rao (Chennai, IN); Victor Manuel Moreno (Carlsbad, CA); Marc Binderberger (San Jose, CA); Lev Shvarts (San Jose, CA); Vrushali Ashtaputre (San Jose, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04L41/12H04L45/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,923,780
App. No.
14/944,685
Granted
Mar 20, 2018
Kind
B2
Abstract

A method for assisting communication of a source host upon movement from a first Data center (DC) to a second DC is disclosed. The method includes identifying that the source host has moved from the first DC to the second DC, ensuring that packets identifying a source as the source host in the second DC are copied to a control plane network element, and, for a first destination host identified in a first packet copied to the control plane network element and identified as a host that is not in the second DC, updating an Address Resolution Protocol (ARP)/Neighbor Discovery Protocol (NDP) cache of the source host by sending, to the source host, a first ARP message/unsolicited neighbor advertisement specifying a Media Access Control (MAC) address of an edge router associated with the source host in the second DC as a destination MAC address for the first destination host.

Claims (80)

1. A method for an Address Resolution Protocol (ARP) refresh logic to assist communication of a source host upon movement from a first Data center (DC) to a second DC, the method comprising:

identifying that the source host has moved from the first DC to the second DC;

ensuring that packets identifying a source as the source host in the second DC are copied to the ARP refresh logic; and

for a first destination host identified in a first packet of the packets copied to the ARP refresh logic and identified as a host that is not in the second DC, updating an ARP cache of the source host in the second DC by sending, to the source host in the second DC, a first ARP message specifying a data link layer address of an edge router associated with the source host in the second DC as a destination data link layer address for the first destination host,

wherein,

ensuring that packets identifying the source as the source host in the second DC are copied to the ARP refresh logic includes creating a first entry in an access control list (ACL) of the edge router associated with the source host in the second DC, and instructing to copy matching packets to the ARP refresh logic.

2. The method according to claim 1 , wherein the first entry specifies a source with either a data link layer address of the source host in the second DC or a network layer address of the source host in the second DC.

3. The method according to claim 2 , wherein the first entry in the ACL of the edge router is configured to expire after a predetermined time period.

4. The method according to claim 2 , further comprising:

creating a second entry in the ACL of the edge router associated with the source host in the second DC, the second entry specifying a source with either the data link layer address of the source host in the second DC or the network layer address of the source host in the second DC, a destination with a network layer address of the destination host, and instructing to allow matching packets.

5. The method according to claim 1 , further comprising:

extracting, from the first packet copied to the ARP refresh logic, a network layer address of the first destination host; and

identifying the first destination host as a host that is not in the second DC by determining that the extracted network layer address of the first destination host is not present in a list of destination network layer addresses indicated as network layer addresses within the second DC.

6. The method according to claim 1 , further comprising:

extracting, from a second packet copied to the ARP refresh logic, a network layer address and a data link layer address of a second destination host,

determining that the extracted network layer address of the second destination host is present in a list of destination network layer addresses indicated as local to the second DC;

determining whether the extracted data link layer address of the second destination host matches a data link layer address associated with the extracted destination network layer address in the list of destination network layer addresses; and

when the extracted data link layer address of the second destination host does not match the data link layer address associated with the extracted destination network layer address in the list of destination network layer addresses, sending, to the source host, a second ARP message specifying the data link layer address associated with the extracted destination network layer address in the list of destination network layer addresses as a destination data link layer address for the second destination host.

7. The method according to claim 1 , further comprising:

extracting, from the first packet copied to the ARP refresh logic, a network layer address of the first destination host;

generating a first ARP request for the network layer address of the first destination host on behalf of the edge router associated with the source host in the second DC;

if no dynamic ARP inspection is enabled on the first destination host, generating a second ARP request for the network layer address of the first destination host on behalf of the source host in the second DC; and

identifying the first destination host as a host that is not in the second DC by determining that the first ARP request and/or the second ARP request has timed out.

8. The method according to claim 1 , further comprising:

extracting, from a second packet copied to the ARP refresh logic, a network layer address of a second destination host;

generating a first ARP request for the network layer address of the second destination host on behalf of the edge router associated with the source host in the second DC; and

if no dynamic ARP inspection is enabled on the second destination host, generating a second ARP request for the network layer address of the second destination host on behalf of the source host in the second DC,

wherein, when neither the first ARP request nor the second ARP requests timed out, the ARP cache of the source host is updated with a data link layer address of the second destination host in the second DC as a destination data link layer address for the second destination host.

9. One or more non-transitory computer readable storage media encoded with software comprising computer executable instructions and, when the software is executed, operable to carry out a method for an Address Resolution Protocol (ARP) refresh logic to assist communication of a source host upon movement from a first Data center (DC) to a second DC, the method comprising:

identifying that the source host has moved from the first DC to the second DC;

ensuring that packets identifying a source as the source host in the second DC are copied to the ARP refresh logic; and

for a first destination host identified in a first packet of the packets copied to the ARP refresh logic and identified as a host that is not in the second DC, updating an ARP cache of the source host in the second DC by sending, to the source host in the second DC, a first ARP message specifying a data link layer address of an edge router associated with the source host in the second DC as a destination data link layer address for the first destination host,

wherein

ensuring that packets identifying the source as the source host in the second DC are copied to the ARP refresh logic includes creating a first entry in an access control list (ACL) of the edge router associated with the source host in the second DC, and instructing to copy matching packets to the ARP refresh logic.

10. The one or more non-transitory computer readable storage media according to claim 9 , wherein the first entry specifies a source with either a data link layer address of the source host in the second DC or a network layer address of the source host in the second DC.

11. The one or more non-transitory computer readable storage media according to claim 9 , wherein the method further comprises:

extracting, from the first packet copied to the ARP refresh logic, a network layer address of the first destination host; and

identifying the first destination host as a host that is not in the second DC by determining that the extracted network layer address of the first destination host is not present in a list of destination network layer addresses indicated as network layer addresses within the second DC.

12. The one or more non-transitory computer readable storage media according to claim 9 , wherein the method further comprises:

extracting, from a second packet copied to the ARP refresh logic, a network layer address and a data link layer address of a second destination host,

determining that the extracted network layer address of the second destination host is present in a list of destination network layer addresses indicated as local to the second DC;

determining whether the extracted data link layer address of the second destination host matches a data link layer address associated with the extracted destination network layer address in the list of destination network layer addresses; and

when the extracted data link layer address of the second destination host does not match the data link layer address associated with the extracted destination network layer address in the list of destination network layer addresses, sending, to the source host, a second ARP message specifying the data link layer address associated with the extracted destination network layer address in the list of destination network layer addresses as a destination data link layer address for the second destination host.

13. The one or more non-transitory computer readable storage media according to claim 9 , wherein the method further comprises:

extracting, from the first packet copied to the ARP refresh logic, a network layer address of the first destination host;

generating a first ARP request for the network layer address of the first destination host on behalf of the edge router associated with the source host in the second DC;

if no dynamic ARP inspection is enabled on the first destination host, generating a second ARP request for the network layer address of the first destination host on behalf of the source host in the second DC; and

identifying the first destination host as a host that is not in the second DC by determining that the first ARP request and/or the second ARP request has timed out.

14. The one or more non-transitory computer readable storage media according to claim 9 , wherein the method further comprises:

extracting, from a second packet copied to the ARP refresh logic, a network layer address of a second destination host;

generating a first ARP request for the network layer address of the second destination host on behalf of the edge router associated with the source host in the second DC; and

if no dynamic ARP inspection is enabled on the second destination host, generating a second ARP request for the network layer address of the second destination host on behalf of the source host in the second DC,

wherein, when neither the first ARP request nor the second ARP requests timed out, the ARP cache of the source host is updated with a data link layer address of the second destination host in the second DC as a destination data link layer address for the second destination host.

15. A system for an Address Resolution Protocol (ARP) refresh logic to assist communication of a source host upon movement from a first Data center (DC) to a second DC, the system comprising:

at least one memory configured to store computer executable instructions, and

at least one processor coupled to the at least one memory and configured, when executing the instructions, to:

identify that the source host has moved from the first DC to the second DC;

ensure that packets identifying a source as the source host in the second DC are copied to the ARP refresh logic; and

for a first destination host identified in a first packet of the packets copied to the ARP refresh logic and identified as a host that is not in the second DC, update an ARP cache of the source host in the second DC by sending, to the source host in the second DC, a first ARP message specifying a data link layer address of an edge router associated with the source host in the second DC as a destination data link layer address for the first destination host,

wherein

ensuring that packets identifying a source as the source host in the second DC are copied to the ARP refresh logic includes creating a first entry in an access control list (ACL) of the edge router associated with the source host in the second DC, and instructing to copy matching packets to the ARP refresh logic.

16. The system according to claim 15 , wherein the first entry specifies a source with either a data link layer address of the source host in the second DC or a network layer address of the source host in the second DC.

17. The system according to claim 15 , wherein the at least one processor is further configured to:

extract, from the first packet copied to the ARP refresh logic, a network layer address of the first destination host; and

identify the first destination host as a host that is not in the second DC by determining that the extracted network layer address of the first destination host is not present in a list of destination network layer addresses indicated as network layer addresses within the second DC.

18. The system according to claim 15 , wherein the at least one processor is further configured to:

extract, from a second packet copied to the ARP refresh logic, a network layer address and a data link layer address of a second destination host,

determine that the extracted network layer address of the second destination host is present in a list of destination network layer addresses indicated as local to the second DC;

determine whether the extracted data link layer address of the second destination host matches a data link layer address associated with the extracted destination network layer address in the list of destination network layer addresses; and

when the extracted data link layer address of the second destination host does not match the data link layer address associated with the extracted destination network layer address in the list of destination network layer addresses, send, to the source host, a second ARP message specifying the data link layer address associated with the extracted destination network layer address in the list of destination network layer addresses as a destination data link layer address for the second destination host.

19. The system according to claim 15 , wherein the at least one processor is further configured to:

extract, from the first packet copied to the ARP refresh logic, a network layer address of the first destination host;

generate a first ARP request for the network layer address of the first destination host on behalf of the edge router associated with the source host in the second DC;

if no dynamic ARP inspection is enabled on the first destination host, generate a second ARP request for the network layer address of the first destination host on behalf of the source host in the second DC; and

identify the first destination host as a host that is not in the second DC by determining that the first ARP request and/or the second ARP request has timed out.

20. The system according to claim 15 , wherein the at least one processor is further configured to:

extract, from a second packet copied to the ARP refresh logic, a network layer address of a second destination host;

generate a first ARP request for the network layer address of the second destination host on behalf of the edge router associated with the source host in the second DC; and

if no dynamic ARP inspection is enabled on the second destination host, generate a second ARP request for the network layer address of the second destination host on behalf of the source host in the second DC,

wherein, when neither the first ARP request nor the second ARP requests timed out, the ARP cache of the source host is updated with a data link layer address of the second destination host in the second DC as a destination data link layer address for the second destination host.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2017
From: RAO, GIRIJA RAGHAVENDRA; MORENO, VICTOR MANUEL; BINDERBERGER, MARC; SHVARTS, LEV; ASHTAPUTRE, VRUSHALI
To: CISCO TECHNOLOGY, INC.
Reel/Frame 043835/0188 →
Continuity (2)
Continuation 14878716 · Oct 8, 2015
Related Publication 20170026246A1 · Jan 26, 2017