IP Library › Granted Patent US 11,997,004
Granted Patent B2
US 11,997,004 · App. 17/701,180 · Granted May 28, 2024

Reverse path forwarding RPF check method and apparatus

Inventors: Jingrong Xie (Beijing, CN); Yang Xia (Beijing, CN); Yisong Liu (Shenzhen, CN); Liangge Li (Nanjing, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L45/16H04L12/4633H04L45/50H04L45/70H04L45/72
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 11,997,004
App. No.
17/701,180
Granted
May 28, 2024
Kind
B2
Abstract

A reverse path forwarding (RPF) check method includes, after receiving a multicast data packet from a head node, a tail node may obtain a multicast source address, a multicast group address and encapsulation information that are carried in the multicast data packet. The tail node obtains, based on the multicast source address, the multicast group address, and a first correspondence, a first identifier identifying an upstream multicast hop (UMH) node corresponding to the multicast data packet. The tail node may further obtain, based on the encapsulation information of the multicast data packet and a second correspondence, a second identifier identifying the head node corresponding to the multicast data packet. After obtaining the first identifier and the second identifier, the tail node may perform an RPF check based on the first identifier and the second identifier.

Claims (76)

1. A method, comprising:

receiving a multicast data packet comprising a multicast source address, a multicast group address, and encapsulation information;

obtaining, based on the multicast source address, the multicast group address, and a first correspondence, a first identifier identifying an upstream multicast hop (UMH) node corresponding to the multicast data packet, wherein the first correspondence comprises the multicast source address, the multicast group address, and the first identifier;

obtaining, based on the encapsulation information and a second correspondence, a second identifier identifying a head node, wherein the second correspondence comprises the encapsulation information and the second identifier, and wherein each of the first identifier and the second identifier is less than or equal to 32 bits; and

performing, based on the first identifier and the second identifier, a reverse path forwarding (RPF) check.

2. The method of claim 1 , further comprising:

receiving a multicast join message comprising the multicast source address and the multicast group address;

obtaining, based on the multicast source address, a first address of the UMH node;

further obtaining, based on the first address, the first identifier corresponding to the first address; and

obtaining, based on the multicast source address, the multicast group address, and the first identifier, the first correspondence.

3. The method of claim 2 , wherein the first correspondence further comprises a third identifier of a first multicast instance, and wherein the method further comprises:

obtaining determining a fourth identifier of a second multicast instance to which an interface that receives the multicast join message belongs;

further obtaining, based on the multicast source address, a third correspondence, and the fourth identifier, the first address, wherein the third correspondence comprises the multicast source address, the fourth identifier, and the first address; and

further obtaining, based on the multicast source address, the multicast group address, the fourth identifier, and the first identifier, the first correspondence.

4. The method of claim 3 , wherein the fourth identifier comprises a fifth identifier of virtual routing and forwarding (VRF) or a sixth identifier of an Ethernet virtual private network (EVPN) instance.

5. The method of claim 1 , further comprising:

receiving multicast routing information comprising a second address of the head node and a seventh identifier of a Multiprotocol Label Switching (MPLS) point-to-multipoint (P2MP) tunnel between the head node and a tail node;

obtaining, based on the seventh identifier and a fourth correspondence, the encapsulation information, wherein the fourth correspondence comprises the seventh identifier and the encapsulation information, and wherein the encapsulation information comprises a label allocated by the tail node to the MPLS P2MP tunnel;

further obtaining, based on the second address, the second identifier corresponding to the second address; and

obtaining, based on the encapsulation information and the second identifier, the second correspondence.

6. The method of claim 5 , wherein the multicast routing information comprises multicast virtual private network (MVPN) routing information or Ethernet virtual private network (EVPN) routing information.

7. The method of claim 1 , further comprising:

receiving multicast routing information comprising a second address of the head node and an eighth identifier of a Bit Index Explicit Replication (BIER) tunnel between the head node and a tail node, wherein the eighth identifier comprises a BIER sub-domain identifier (ID);

obtaining, based on the eighth identifier and a fifth correspondence, the encapsulation information, wherein the fifth correspondence comprises the eighth identifier and the encapsulation information, and wherein the encapsulation information comprises a bit index forwarding table identifier (BIFT-id) corresponding to the tail node;

further obtaining, based on the second address, the second identifier corresponding to the second address; and

obtaining, based on the encapsulation information and the second identifier, the second correspondence.

8. The method of claim 1 , further comprising:

receiving multicast routing information comprising the encapsulation information and a second address of the head node, wherein the encapsulation information is a third address allocated by the head node to a multicast instance of a tail node;

further obtaining, based on the second address, the second identifier corresponding to the second address; and

obtaining, based on the encapsulation information and the second identifier, the second correspondence.

9. The RPF check method of claim 1 , wherein the first identifier and the second identifier fall within one of the following address ranges:

0x7F000000-0x7FFFFFFF; or

0xE0000000-0xEFFFFFFF.

10. An apparatus, comprising:

a memory configured to store instructions; and

one or more processors coupled to the memory, wherein the instructions cause the one or more processors to be configured to:

receive, from a head node, a multicast data packet comprising a multicast source address, a multicast group address, and encapsulation information;

obtain, based on the multicast source address, the multicast group address, and a first correspondence, a first identifier identifying an upstream multicast hop (UMH) node corresponding to the multicast data packet, wherein the first correspondence comprises the multicast source address, the multicast group address, and the first identifier;

obtain, based on the encapsulation information and a second correspondence, a second identifier identifying the head node, wherein the second correspondence comprises the encapsulation information and the second identifier, and wherein each of the first identifier and the second identifier is less than or equal to 32 bits; and

perform, based on the first identifier and the second identifier, a reverse path forwarding (RPF) check.

11. The apparatus of claim 10 , wherein the instructions further cause the one or more processors to be configured to:

receive, from a customer edge node, a multicast join message comprising the multicast source address and the multicast group address;

obtain, based on the multicast source address, a first address of the UMH node;

further obtain, based on the first address, the first identifier corresponding to the first address; and

obtain, based on the multicast source address, the multicast group address, and the first identifier, the first correspondence.

12. The apparatus of claim 11 , wherein the first correspondence further comprises a third identifier of a first multicast instance, and wherein the instructions further cause the one or more processors to be configured to:

obtain a fourth identifier of a second multicast instance to which an interface that receives the multicast join message belongs;

further obtain, based on the multicast source address, a third correspondence, and the fourth identifier, the first address, wherein the third correspondence comprises the multicast source address, the fourth identifier, and the first address; and

further obtain, based on the multicast source address, the multicast group address, the fourth identifier, and the first identifier, the first correspondence.

13. The apparatus of claim 12 , wherein the fourth identifier comprises a fifth identifier of virtual routing and forwarding (VRF) or a sixth identifier of an Ethernet virtual private network (EVPN) instance.

14. The apparatus of claim 10 , wherein the instructions further cause the one or more processors to be configured to:

receive, from the head node, multicast routing information comprising a second address of the head node and a seventh identifier of a Multiprotocol Label Switching (MPLS) point-to-multipoint (P2MP) tunnel between the head node and the apparatus;

obtain, based on the seventh identifier and a fourth correspondence, the encapsulation information, wherein the fourth correspondence comprises the seventh identifier and the encapsulation information, and wherein the encapsulation information comprises a label allocated by the apparatus to the MPLS P2MP tunnel;

further obtain, based on the second address, the second identifier corresponding to the second address; and

obtain, based on the encapsulation information and the second identifier, the second correspondence.

15. The apparatus of claim 14 , wherein the multicast routing information comprises multicast virtual private network (MVPN) routing information or Ethernet virtual private network (EVPN) routing information.

16. The apparatus of claim 10 , wherein the instructions further cause the one or more processors to be configured to:

receive multicast routing information comprising a second address of the head node and an eighth identifier of a Bit Index Explicit Replication (BIER) tunnel between the head node and the apparatus, wherein the eighth identifier comprises a BIER sub-domain identifier (ID);

obtain, based on the eighth identifier and a fifth correspondence, the encapsulation information, wherein the fifth correspondence comprises the eighth identifier and the encapsulation information, and wherein the encapsulation information comprises a bit index forwarding table identifier (BIFT-id) corresponding to the apparatus;

further obtain, based on the second address, the second identifier corresponding to the second address; and

obtain, based on the encapsulation information and the second identifier, the second correspondence.

17. The apparatus of claim 10 , wherein the instructions further cause the one or more processors to be configured to:

receive multicast routing information comprising the encapsulation information and a second address of the head node, wherein the encapsulation information is a third address allocated by the head node to a multicast instance of the RPF check apparatus;

further obtain, based on the second address, the second identifier corresponding to the second address; and

obtain, based on the encapsulation information and the second identifier, the second correspondence.

18. The apparatus of claim 10 , wherein each of the first identifier and the second identifier fall within one of the following address ranges:

0x7F000000-0x7FFFFFFF; or

0xE0000000-0xEFFFFFFF.

19. A computer program product comprising computer-executable instructions that are stored on a non-transitory computer-readable medium and that, when executed by one or more processors, cause a tail node to:

receive, from a head node, a multicast data packet comprising a multicast source address, a multicast group address, and encapsulation information;

obtain, based on the multicast source address, the multicast group address, and a first correspondence, a first identifier identifying an upstream multicast hop (UMH) node corresponding to the multicast data packet, wherein the first correspondence comprises the multicast source address, the multicast group address, and the first identifier;

obtain, based on the encapsulation information and a second correspondence, a second identifier identifying the head node, wherein the second correspondence comprises the encapsulation information and the second identifier, and wherein each of the first identifier and the second identifier is less than or equal to 32 bits; and

perform, based on the first identifier and the second identifier, a reverse path forwarding (RPF) check.

20. The computer program product of claim 19 , wherein the first identifier and the second identifier fall within one of the following address ranges:

0x7F000000-0x7FFFFFFF; or

0xE0000000-0xEFFFFFFF.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2024
From: XIE, JONGRONG; XIA, YANG; LIU, YISONG; LI, LIANGGE
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 067122/0676 →
Priority Claims (1)
CN 201910900954.0 · Sep 23, 2019 · national
Continuity (2)
Continuation PCTCN2020117112 · Sep 23, 2020
Related Publication 20220217075A1 · Jul 7, 2022