IP Library › Granted Patent US 10,652,142
Granted Patent B2
US 10,652,142 · App. 15/873,895 · Granted May 12, 2020

SDN-based ARP implementation method and apparatus

Inventors: Xiaoqiang Qiao (Shenzhen, CN); Yan Li (Beijing, CN); Hui Ni (Beijing, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L45/32H04L45/64H04L45/745H04L61/103H04L61/6022H04L61/6009
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 10,652,142
App. No.
15/873,895
Granted
May 12, 2020
Kind
B2
Abstract

Embodiments of the present disclosure disclose an SDN-based ARP implementation method and apparatus. The method includes: receiving, by a controller, an ARP request sent by a first switch, and when it is determined that no ARP entry corresponding to the ARP request exists locally, sending, to the first switch, an instruction configured to instruct the first switch to flood the ARP request. In this way, the ARP request can be broadcast to an entire network by means of message forwarding between switches.

Claims (43)

1. A software defined networking (SDN) based Address Resolution Protocol (ARP) implementation method, comprising:

receiving, by a controller, a first ARP request from a first switch;

determining, by the controller, whether an ARP entry corresponding to the first ARP request does not exist locally;

when determining the ARP entry corresponding to the first ARP request does not exist locally, sending, by the controller, only to the first switch, a first instruction configured to instruct the first switch to flood the first ARP request;

if determining, by the controller, that the ARP entry corresponding to the first ARP request exists locally, determining, by the controller, a destination switch based on the ARP entry, and sending the first ARP request to the destination switch;

after sending the first ARP request to the destination switch, if an ARP response returned by the destination switch is not received within a specified duration, deleting the locally stored ARP entry corresponding to the first ARP request, and sending, to the first switch, a second instruction configured to instruct the first switch to flood the first ARP request,

wherein the second instruction is configured to instruct the first switch to send the first ARP request to both a switch that is adjacent to the first switch and a host that is connected to the first switch.

2. The method according to claim 1 , wherein the first instruction is configured to instruct the first switch to send the first ARP request to both a switch that is adjacent to the first switch and a host that is connected to the first switch.

3. The method according to claim 1 , before receiving the first ARP request, further comprising:

configuring, by the controller, a preset flow table rule for the first switch,

wherein the flow table rule specifies that when a switch receives an ARP request from an adjacent switch, the switch floods the ARP request.

4. The method according to claim 1 , after sending the first instruction, further comprising:

receiving a first ARP response, forwarding the first ARP response to the first switch, and locally storing an ARP entry in the first ARP response.

5. The method according to claim 1 , after sending the first ARP request to the destination switch, further comprising:

if a second ARP response returned by the destination switch is received, forwarding the second ARP response to the first switch.

6. The method according to claim 5 , after sending the second ARP response, further comprising:

when receiving a third ARP response from a second switch, locally storing an ARP entry included in the third ARP response; and

forwarding the third ARP response to the first switch.

7. A software defined networking (SDN)-based Address Resolution Protocol (ARP) implementation apparatus, comprising a transceiver, a processor, a memory, and a bus, wherein the transceiver, the processor, and the memory are connected to the bus, the memory is configured to store a set of machine readable instructions, and the processor is configured to invoke the set of machine readable instructions stored in the memory and cause the apparatus to perform a method comprising:

receiving a first ARP request from a first switch;

determining whether an ARP entry corresponding to the first ARP request does not exist locally;

sending, when it is determined that the ARP entry corresponding to the first ARP request does not exist locally, only to the first switch, a first instruction configured to instruct the first switch to flood the first ARP request;

if determining that the ARP entry corresponding to the first ARP request exists locally, determining a destination switch based on the ARP entry, and sending the first ARP request to the destination switch; and

after sending the first ARP request to the destination switch, if an ARP response returned by the destination switch is not received within a specified duration, deleting the locally stored ARP entry corresponding to the first ARP request, and sending, to the first switch, a second instruction configured to instruct the first switch to flood the first ARP request,

wherein the second instruction is configured to instruct the first switch to send the first ARP request to both a switch that is adjacent to the first switch and a host that is connected to the first switch.

8. The apparatus according to claim 7 , wherein the first instruction is configured to instruct the first switch to send the first ARP request to both a switch that is adjacent to the first switch and a host that is connected to the first switch.

9. The apparatus according to claim 7 , wherein the processor is configured to cause the apparatus to perform the method further comprising:

before receiving the first ARP request, configuring a preset flow table rule for the first switch, wherein

the flow table rule specifies that when a switch receives an ARP request from an adjacent switch, the switch floods the ARP request.

10. The apparatus according to claim 7 , wherein the processor is configured to cause the apparatus to perform the method further comprising:

after sending the first instruction to the first switch, receiving a first ARP response;

sending, to the first switch, the first ARP response; and

locally storing an ARP entry in the first ARP response.

11. The apparatus according to claim 7 , wherein the processor is configured to cause the apparatus—to perform the method further comprising:

after sending the second instruction to the first switch, when receiving a third ARP response from a second switch, locally storing an ARP entry comprised in the third ARP response; and

sending the third ARP response to the first switch.

12. The apparatus according to claim 7 , wherein the apparatus is a controller.

13. A non-transitory computer-readable medium for storing machine readable instructions executable by one or more processors, wherein the machine readable instructions instruct the one or more processors to perform operations of:

receiving a first ARP request from a first switch;

determining whether an ARP entry corresponding to the first ARP request does not exist locally;

sending, when it is determined that the ARP entry corresponding to the first ARP request does not exist locally, only to the first switch, a first instruction configured to instruct the first switch to flood the first ARP request;

if determining that the ARP entry corresponding to the first ARP request exists locally, determining a destination switch based on the ARP entry, and sending the first ARP request to the destination switch; and

after sending the first ARP request to the destination switch, if an ARP response returned by the destination switch is not received within a specified duration, deleting the locally stored ARP entry corresponding to the first ARP request, and sending, to the first switch, a second instruction configured to instruct the first switch to flood the first ARP request, wherein the second instruction is configured to instruct the first switch to send the first ARP request to both a switch that is adjacent to the first switch and a host that is connected to the first switch.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2018
From: QIAO, XIAOQIANG; LI, YAN; NI, HUI
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 045429/0600 →
Continuity (2)
Continuation PCTCN2015085215 · Jul 27, 2015
Related Publication 20180167313A1 · Jun 14, 2018