# US 12,015,587 B2 · Methods for updating route, access device, and convergence device

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

- Number: US 12,015,587 B2
- Document ID: US12015587B2
- Status: Granted
- Kind: B2
- Application number: 17/905,155
- Filed: 2020-02-28
- Published: 2023-03-23
- Granted: 2024-06-18
- Earliest claimed: 2020-02-28
- Assignees: New H3C Technologies Co., Ltd.
- Applicants: New H3C Technologies Co., Ltd.
- Inventors: Jinrong Ye; Haina Zhong; Qing Gong
- Web page: https://patentgrep.com/patent/US12015587B2

## CPC

- H04L 45/036: Updating the topology between route computation elements, e.g. between OpenFlow controllers
- H04L 45/00: Routing or path finding of packets in data switching networks (routing or path finding in wireless networks H04W40/00)
- H04L 45/04: {Interdomain routing, e.g. hierarchical routing}
- H04L 45/742: {Route cache; Operation thereof}
- H04L 61/103: across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
- H04L 61/58: Caching of addresses or names
- H04L 2101/622: Layer-2 addresses, e.g. medium access control [MAC] addresses
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Provided are methods and apparatuses for updating a route. In the present disclosure, when an access device receives a first host route and a first sequence number sent by a BGP peer of the access device, regardless of the value of the first sequence number, the first host route is used as a route used by the access device to forward data to a target host, and a recorded first ARP entry corresponding to the target host is deleted, so as to trigger the BGP peer of the access device, for example, a convergence device, to withdraw host routes associated with the first ARP entry based on the existing route withdrawal mechanism.

## Claims

### Claim 1

A method for updating a route, applied to an access device, the method comprising:
receiving a first host route and a first sequence number of the first host route which are sent by a Border Gateway Protocol (BGP) peer of the access device; wherein the first sequence number is a basis for the BGP peer to determine the first host route to be sent;
using the first host route as a route used by the access device to forward data to a host;
deleting a recorded Address Resolution Protocol (ARP) entry corresponding to the host, wherein an Internet Protocol (IP) address in the ARP entry and an IP address of the host are the same as a prefix in the first host route;
withdrawing a recorded third host route, wherein a type of the third host route is a specified type used to indicate that the third host route is generated based on ARP information in the ARP entry; and
sending a route withdrawal message to the BGP peer of the access device, wherein the route withdrawal message is used to indicate that the third host route has been withdrawn;
wherein withdrawing the recorded third host route is performed simultaneously with deleting the recorded ARP entry or after deleting the recorded ARP entry.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising:
sending an ARP request to the host, wherein a destination IP address of the ARP request is the same as the prefix in the first host route.

### Claim 3 (depends on 2)

The method according to claim 2, further comprising:
in response to no ARP response being received within a specified time period after the ARP request is sent, detecting whether a number of times for sending the ARP request has reached a preset number of times; and
in response to the number of times for sending the ARP request not reaching the preset number of times, sending the ARP request for another time.

### Claim 4 (depends on 2)

The method according to claim 2, further comprising:
in response to an ARP response being received, learning ARP information based on the ARP response;
generating a second host route from the ARP information, wherein a type of the second host route is a specified type used to indicate that the second host route is generated based on the ARP information;
determining a second sequence number of the second host route;
sending the second host route and the second sequence number to the BGP peer of the access device; and
updating the route used by the access device to forward data to the host from the first host route to the second host route.

### Claim 5 (depends on 4)

The method according to claim 4, wherein determining the second sequence number of the second host route comprises:
checking whether there are one or more recorded host routes satisfying a condition, wherein the host route satisfying the condition is a host route with a same prefix/prefix length as that in the second host route, sent by the BGP peer and having a sequence number;
in response to there being no recorded host route satisfying the condition, taking a predefined initial value of a sequence number as the second sequence number of the second host route; and
in response to there being one or more recorded host routes satisfying the condition, determining the second sequence number of the second host route based on sequence numbers of all of the recorded host routes satisfying the condition.

### Claim 6 (depends on 5)

The method according to claim 5, wherein determining the second sequence number of the second host route based on the sequence numbers of all of the recorded host routes satisfying the condition comprises:
selecting a maximum sequence number having a largest value from the sequence numbers of all of the recorded host routes satisfying the condition; and
taking a sum of the maximum sequence number and a specified value as the second sequence number of the second host route.

### Claim 7 (depends on 1)

The method according to claim 1, wherein using the first host route as a route used by the access device to forward data to the host comprises:
checking whether there is an existing route used by the access device to forward data to the host in an IP forwarding table;
if there is no existing route used by the access device to forward data to the host, distributing the first host route to the IF forwarding table; and
if there is an existing route used by the access device to forward data to the host, updating the existing route in the IP forwarding table to the first host route.

### Claim 8

An access device, comprising: a processor and a machine-readable storage medium;
wherein the machine-readable storage medium stores machine-executable instructions executable by the processor; and
the processor is configured to execute the machine-executable instructions to perform:
receiving a first host route and a first sequence number of the first host route which are sent by a Border Gateway Protocol (BGP) peer of the access device; wherein the first sequence number is a basis for the BGP peer to determine the first host route to be sent;
using the first host route as a route used by the access device to forward data to a host; and
deleting a recorded Address Resolution Protocol (ARP) entry corresponding to the host, wherein an Internet Protocol (IP) address in the ARP entry and an IP address of the host are the same as a prefix in the first host route;
wherein in deleting the recorded ARP entry, or after deleting the recorded ARP entry, the processor is further configured to execute the machine-executable instructions to perform:
withdrawing a recorded third host route, wherein a type of the third host route is a specified type used to indicate that the third host route is generated based on ARP information in the ARP entry; and
sending a route withdrawal message to the BGP peer of the access device, wherein the route withdrawal message is used to indicate that the third host route has been withdrawn.

### Claim 9 (depends on 8)

The access device according to claim 8, the processor is further configured to execute the machine-executable instructions to perform:
sending an ARP request to the host, wherein a destination IP address of the ARP request is the same as the prefix in the first host route.

### Claim 10 (depends on 9)

The access device according to claim 9, the processor is further configured to execute the machine-executable instructions to perform:
when no ARP response is received within a specified time period after the ARP request is sent, detecting whether a number of times for sending the ARP request has reached a preset number of times; and
when the number of times for sending the ARP request has not reached the preset number of times, sending the ARP request for another time.

### Claim 11 (depends on 9)

The access device according to claim 9, the processor is further configured to execute the machine-executable instructions to perform:
when an ARP response is received, learning ARP information based on the ARP response;
generating a second host route from the ARP information, wherein a type of the second host route is a specified type used to indicate that the second host route is generated based on the ARP information;
determining a second sequence number of the second host route;
sending the second host route and the second sequence number to the BGP peer of the access device; and
updating the route used by the access device to forward data to the host from the first host route to the second host route.

### Claim 12 (depends on 11)

The access device according to claim 11, in determining the second sequence number of the second host route, the processor is further configured to execute the machine-executable instructions to perform:
checking whether there are one or more recorded host routes satisfying a condition, wherein the host route satisfying the condition is a host route with a same prefix/prefix length as that in the second host route, sent by the BGP peer and having a sequence number;
when there is no recorded host route satisfying the condition, taking a predefined initial value of a sequence number as the second sequence number of the second host route; and
when there are one or more recorded host routes satisfying the condition, determining the second sequence number of the second host route based on sequence numbers of all of the recorded host routes satisfying the condition.

### Claim 13 (depends on 12)

The access device according to claim 12, in determining the second sequence number of the second host route based on the sequence numbers of all of the recorded host routes satisfying the condition, the processor is further configured to execute the machine-executable instructions to perform:
selecting a maximum sequence number having a largest value from the sequence numbers of all of the recorded host routes satisfying the condition; and
taking a sum of the maximum sequence number and a specified value as the second sequence number of the second host route.

### Claim 14 (depends on 8)

The access device according to claim 8, in using the first host route as a route used by the access device to forward data to the host, the processor is further configured to execute the machine-executable instructions to perform:
checking whether there is an existing route used by the access device to forward data to the host in an IP forwarding table;
if there is no existing route used by the access device to forward data to the host, distributing the first host route to the IF forwarding table; and
if there is an existing route used by the access device to forward data to the host, updating the existing route in the IP forwarding table to the first host route.
