# US 12,192,098 B2 · Data or packet forwarding method, node, and system

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

- Number: US 12,192,098 B2
- Document ID: US12192098B2
- Status: Granted
- Kind: B2
- Application number: 17/343,828
- Filed: 2021-06-10
- Published: 2021-09-23
- Granted: 2025-01-07
- Earliest claimed: 2018-12-24
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Xianjun He
- Web page: https://patentgrep.com/patent/US12192098B2

## CPC

- H04L 45/16: Multipoint routing
- H04L 45/44: Distributed routing
- H04L 45/74: Address processing for routing
- H04L 45/745: Address table lookup; Address filtering
- H04L 49/356: for storage area networks
- H04L 61/103: across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
- H04L 45/20: {Hop count for routing purposes, e.g. TTL}
- 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

The forwarding node includes a first processor, a first memory, and a network adapter. The network adapter includes a second processor, a second memory, and a transceiver. The transceiver includes a first port and a second port. The transceiver is configured to receive a broadcast packet through the first port. The second processor is configured to store a first entry in the second memory. The transceiver is configured to send the broadcast packet through the second port. The transceiver is configured to receive a response packet of the broadcast packet through the second port. The second processor is configured to query the first entry based on first address information to determine the first port. The transceiver is configured to send the response packet through the first port. The second processor is configured to store a second entry in the second memory.

## Claims

### Claim 1

A forwarding node, comprising a network adapter, wherein the network adapter comprises a network adapter memory, a plurality of ports, and at least one processor coupled to the network adapter memory and configured to:
receive a broadcast packet from a first node through a first port in the plurality of the ports of the forwarding node for querying a Medium Access Control (MAC) address of a second node, wherein the broadcast packet includes a MAC address of the first node and an Internet Protocol (IP) address of the second node;
compare the IP address of the second node carried in the broadcast packet with an IP address of the forwarding node to determine whether the forwarding node is a destination node; and
upon determining that the forwarding node is not the destination node, perform operations comprising:
recording a first correspondence between the first port of the forwarding node and the MAC address of the first node in the network adapter memory,
forwarding the broadcast packet through one or more ports in the plurality of ports other than the first port,
receiving a response packet of the broadcast packet through a second port in the plurality of the ports, wherein the response packet includes the MAC address of the second node and the MAC address of the first node, and
forwarding the response packet through the first port determined based on the first correspondence; and
when the IP address of the forwarding node is carried in the broadcast packet, store a correspondence between the MAC address of the first node and an IP address of the first node in the network adapter memory,
wherein the response packet further includes a response identifier indicating whether the forwarding node needs to determine whether a quantity of forwarding times of the response packet needs to be greater than a forwarding threshold.

### Claim 2 (depends on 1)

The forwarding node according to claim 1, wherein the at least one processor is further configured to:
record a second correspondence between the second port and the MAC address of the second node in the network adapter memory.

### Claim 3 (depends on 2)

The forwarding node according to claim 2, wherein the at least one processor is further configured to:
receive a data packet from the first node, wherein the data packet includes data and the MAC address of the second node; and
forward the data packet through the second port according to the second correspondence.

### Claim 4 (depends on 3)

The forwarding node according to claim 3, wherein the data packet further comprises a third quantity of forwarding times, the at least one processor is further configured to:
determine whether the third quantity of forwarding times is greater than a forwarding threshold;
discard the data packet upon determination that the third quantity of forwarding times is greater than the forwarding threshold; and
upon determination that the third quantity of forwarding times is not greater than the forwarding threshold, increase the third quantity of forwarding times by one, and forward the data packet through the second port.

### Claim 5 (depends on 4)

The forwarding node according to claim 4, wherein the forwarding threshold is determined based on a topology structure of a network in which the forwarding node is located.

### Claim 6 (depends on 1)

The forwarding node according to claim 1, wherein the broadcast packet further comprises a first quantity of forwarding times, the at least one processor is further configured to:
determine whether the first quantity of forwarding times is greater than a forwarding threshold;
discard the broadcast packet upon determination that the first quantity of forwarding times is greater than the forwarding threshold; and
upon determination that the first quantity of forwarding times is not greater than the forwarding threshold, increase the first quantity of forwarding times by one, and forward the broadcast packet through one or more ports in the plurality of ports other than the first port.

### Claim 7 (depends on 1)

The forwarding node according to claim 1, wherein the response packet further comprises a second quantity of forwarding times, the at least one processor is further configured to:
determine whether the second quantity of forwarding times is greater than a forwarding threshold;
discard the response packet upon determination that the second quantity of forwarding times is greater than the forwarding threshold; and
upon determination that the second quantity of forwarding times is not greater than the forwarding threshold, increase the second quantity of forwarding times by one, and forward the response packet through the first port.

### Claim 8 (depends on 1)

The forwarding node according to claim 1, wherein the first node is a source node, and the second node is a destination node.

### Claim 9 (depends on 8)

The forwarding node according to claim 8, wherein the at least one processor is further configured to query the first correspondence based on the MAC address of the first node in the network adapter memory to determine the first port of the forwarding node.

### Claim 10 (depends on 8)

The forwarding node according to claim 8, wherein the at least one processor is further configured to:
record a second correspondence between the second port and the MAC address of the second node in the network adapter memory,
query the second correspondence based on the MAC address of the second node in the network adapter memory to determine the second port, and
forward a data packet received from the first node via the second port determined based on the second correspondence.

### Claim 11

A forwarding method performed by a forwarding node including a network adapter, wherein the network adapter includes a network adapter memory, a plurality of ports, and at least one processor; wherein the method comprises:
receiving, by the at least one processor, a broadcast packet from a first node through a first port in the plurality of the ports for querying a Medium Access Control (MAC) address of a second node, wherein the broadcast packet includes a MAC address of the first node and an Internet Protocol (IP) address of the second node;
comparing the IP address of the second node carried in the broadcast packet with an IP address of the forwarding node to determine whether the forwarding node is a destination node; and
upon determining that the forwarding node is not the destination node, performing operations comprising:
recording, by the at least one processor, a first correspondence between the first port and the MAC address of the first node in the network adapter memory,
forwarding, by the at least one processor, the broadcast packet through one or more ports in the plurality of ports other than the first port,
receiving, by the at least one processor, a response packet of the broadcast packet through a second port in the plurality of the ports, wherein the response packet includes the MAC address of the second node and the MAC address of the first node, and
forwarding, by the at least one processor, the response packet through the first port determined based on the first correspondence; and
when the IP address of the forwarding node is carried in the broadcast packet, storing a correspondence between the MAC address of the first node and an IP address of the first node in the network adapter memory,
wherein the response packet further includes a response identifier indicating whether the forwarding node needs to determine whether a quantity of forwarding times of the response packet needs to be greater than a forwarding threshold.

### Claim 12 (depends on 11)

The method according to claim 11, further comprising:
recording, by the at least one processor, a second correspondence between the second port and the MAC address of the second node in the network adapter memory.

### Claim 13 (depends on 12)

The method according to claim 12, further comprising:
receiving, by the at least one processor, a data packet from the first node, wherein the data packet includes data and the MAC address of the second node; and
forwarding, by the at least one processor, the data packet through the second port according to the second correspondence.

### Claim 14 (depends on 13)

The method according to claim 13, wherein the data packet further comprises a third quantity of forwarding times, and the method further comprises:
determining whether the third quantity of forwarding times is greater than a forwarding threshold;
discarding, by the at least one processor, the data packet upon determination that the third quantity of forwarding times is greater than the forwarding threshold; and
upon determination that the third quantity of forwarding times is not greater than the forwarding threshold, increasing, by the at least one processor, the third quantity of forwarding times by one, and forwarding the data packet through the second port.

### Claim 15 (depends on 14)

The method according to claim 14, wherein the forwarding threshold is determined based on a topology structure of a network in which the forwarding node is located.

### Claim 16 (depends on 11)

The method according to claim 11, wherein the broadcast packet further comprises a first quantity of forwarding times, and the method further comprises:
determining whether the first quantity of forwarding times is greater than a forwarding threshold;
discarding, by the at least one processor, the broadcast packet upon determination that the first quantity of forwarding times is greater than the forwarding threshold; and
upon determination that the first quantity of forwarding times is not greater than the forwarding threshold, increasing, by the at least one processor, the first quantity of forwarding times by one, and forwarding the broadcast packet through one or more ports in the plurality of ports other than the first port.

### Claim 17 (depends on 11)

The method according to claim 11, wherein the response packet further comprises a second quantity of forwarding times, and the method further comprises:
determining whether the second quantity of forwarding times is greater than a forwarding threshold;
discarding, by the at least one processor, the response packet upon determination that the second quantity of forwarding times is greater than the forwarding threshold; and
upon determination that the second quantity of forwarding times is not greater than the forwarding threshold, increasing, by the at least one processor, the second quantity of forwarding times by one, and forwarding the response packet through the first port.
