IP Library › Granted Patent US 10,291,511
Granted Patent B2
US 10,291,511 · App. 15/641,804 · Granted May 14, 2019

Bit index explicit replication (BIER) forwarding for network device components

Inventors: Zhaohui Zhang (Westford, MA); Alex Baban (San Jose, CA)
Assignee: Juniper Networks, Inc.
H04L45/16H04L49/201H04L49/30H04L49/3009
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,291,511
App. No.
15/641,804
Granted
May 14, 2019
Kind
B2
Abstract

A network device receives multicast packets that include information identifying destinations in the network, identifies next hops associated with the destinations, and populates a cache with the destinations and addresses of the identified next hops. The network device receives a particular multicast packet that includes information identifying particular destinations included in the cache, identifies one or more next hops for the particular destinations from the cache, and forwards the particular multicast packet to the identified one or more next hops to permit the identified one or more next hops to forward the multicast packet toward the particular destinations.

Claims (106)

1. A network device, comprising:

a memory; and

one or more processors to:

modify a forwarding table to generate a modified forwarding table,

the forwarding table including information associated with destinations and information associated with next hops for the destinations,

the forwarding table being modified to include:

information associated with one or more egress line cards of the network device,

 the information associated with the one or more egress line cards including identifiers for the one or more egress line cards, and

information associated with masks for the one or more egress line cards,

 the masks for the one or more egress line cards indicating destinations reachable via corresponding next hops, and

 at least one mask for an egress line card, of the masks for the one or more egress line cards, being created based on combining a plurality of masks for neighbor routers;

receive a multicast packet that includes information identifying destinations for the multicast packet;

identify a particular egress line card, of the one or more egress line cards, for forwarding the multicast packet based on the information identifying the destinations for the multicast packet and based on the modified forwarding table;

create two or more copies of the multicast packet; and

forward, via the particular egress line card, the two or more copies of the multicast packet toward two or more of the destinations.

2. The network device of claim 1 , where the one or more processors are further to:

program the modified forwarding table into a data plane used to forward multicast packets.

3. The network device of claim 1 , where the forwarding table includes a bit index forwarding table (BIFT).

4. The network device of claim 1 , where the one or more processors are further to:

identify particular next hops associated with the modified forwarding table and associated with the two or more of the destinations; and

forward the two or more copies of the multicast packet to the particular next hops to permit the particular next hops to forward the multicast packet toward the two or more of the destinations.

5. The network device of claim 4 , where the one or more processors are further to:

create a copy of the multicast packet for each of the particular next hops; and

forward a corresponding copy of the two or more copies of the multicast packet to a corresponding one of the particular next hops.

6. The network device of claim 1 , where the one or more processors are further to:

apply a transformation function to a header of the multicast packet to identify information contained in the header,

the transformation function including one of:

a hash function,

a checksum,

a check digit,

a fingerprint, or

a randomization function.

7. The network device of claim 1 , where the network device is associated with a bit index explicit replication (BIER) forwarding method.

8. A method, comprising:

modifying, by a network device, a forwarding table to generate a modified forwarding table,

the forwarding table including information associated with destinations and information associated with next hops for the destinations,

the forwarding table being modified to include:

information associated with one or more egress line cards of the network device,

the information associated with the one or more egress line cards including identifiers for the one or more egress line cards, and

information associated with masks for the one or more egress line cards,

the masks for the one or more egress line cards indicating destinations reachable via corresponding next hops, and

 at least one mask for an egress line card, of the masks for the one or more egress line cards, being created based on combining a plurality of masks for neighbor routers;

receiving, by the network device, a multicast packet that includes information identifying destinations for the multicast packet;

identifying, by the network device, a particular egress line card, of the one or more egress line cards, for forwarding the multicast packet based on the information identifying the destinations for the multicast packet and based on the modified forwarding table;

creating, by the network device, two or more copies of the multicast packet; and

forwarding, by the network device and via the particular egress line card, the two or more copies of the multicast packet toward two or more of the destinations.

9. The method of claim 8 , further comprising:

programming the modified forwarding table into a data plane used to forward multicast packets.

10. The method of claim 8 , where the forwarding table includes a bit index forwarding table (BIFT).

11. The method of claim 8 , further comprising:

identifying particular next hops associated with the modified forwarding table and associated with the two or more of the destinations; and

forwarding the two or more copies of the multicast packet to the particular next hops to permit the particular next hops to forward the multicast packet toward the two or more of the destinations.

12. The method of claim 11 , further comprising:

creating a copy of the multicast packet for each of the particular next hops; and

forwarding a corresponding copy of the two or more copies of the multicast packet to a corresponding one of the particular next hops.

13. The method of claim 8 , further comprising:

applying a transformation function to a header of the multicast packet to identify information contained in the header,

the transformation function including one of:

a hash function,

a checksum,

a check digit,

a fingerprint, or

a randomization function.

14. The method of claim 8 , where the network device is associated with a bit index explicit replication (BIER) forwarding method.

15. A non-transitory computer-readable medium storing instructions, the instructions comprising:

one or more instructions that, when executed by one or more processors of a network device, cause the one or more processors to:

modify a forwarding table to generate a modified forwarding table,

the forwarding table including information associated with destinations and information associated with next hops for the destinations,

the forwarding table being modified to include:

information associated with one or more egress line cards of the network device,

 the information associated with the one or more egress line cards including identifiers for the one or more egress line cards, and

information associated with masks for the one or more egress line cards,

 the masks for the one or more egress line cards indicating destinations reachable via corresponding next hops, and

 at least one mask for an egress line card, of the masks for the one or more egress line cards, being created based on combining a plurality of masks for neighbor routers;

receive a multicast packet that includes information identifying destinations for the multicast packet;

identify a particular egress line card, of the one or more egress line cards, for forwarding the multicast packet based on the information identifying the destinations for the multicast packet and based on the modified forwarding table;

create two or more copies of the multicast packet; and

forward, via the particular egress line card, the two or more copies of the multicast packet toward two or more of the destinations.

16. The non-transitory computer-readable medium of claim 15 , where the instructions further comprise:

one or more instructions that, when executed by the one or more processors, cause the one or more processors to:

program the modified forwarding table into a data plane used to forward multicast packets.

17. The non-transitory computer-readable medium of claim 15 , where the forwarding table includes a bit index forwarding table (BIFT).

18. The non-transitory computer-readable medium of claim 15 , where the instructions further comprise:

one or more instructions that, when executed by the one or more processors, cause the one or more processors to:

identify particular next hops associated with the modified forwarding table and associated with the two or more of the destinations; and

forward the two or more copies of the multicast packet to the particular next hops to permit the particular next hops to forward the multicast packet toward the two or more of the destinations.

19. The non-transitory computer-readable medium of claim 18 , where the instructions further comprise:

one or more instructions that, when executed by the one or more processors, cause the one or more processors to:

create a copy of the multicast packet for each of the particular next hops; and

forward a corresponding copy of the two or more copies of the multicast packet to a corresponding one of the particular next hops.

20. A network device, comprising:

a memory; and

one or more processors to:

store a forwarding table that includes:

information associated with one or more egress line cards of the network device,

the information associated with the one or more egress line cards including identifiers for the one or more egress line cards, and information associated with masks for the one or more egress line cards,

 the masks for the one or more egress line cards indicating destinations reachable via corresponding next hops, and

 at least one mask for an egress line card, of the masks for the one or more egress line cards, being created based on combining a plurality of masks for neighbor routers;

receive multicast packets that include information identifying destinations;

identify next hops associated with the destinations;

populate a cache with the information identifying the destinations and information identifying addresses of the next hops;

receive a particular multicast packet that includes information identifying particular destinations;

determine whether the information identifying the particular destinations are included in the cache; and

selectively

forward the particular multicast packet based on the forwarding table when the information identifying the particular destinations are not included in the cache; or

forward the particular multicast packet to one or more next hops to permit the one or more next hops to forward the multicast packet toward the particular destinations when the information identifying the particular destinations are included in the cache.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2017
From: ZHANG, ZHAOHUI; BABAN, ALEX
To: JUNIPER NETWORKS, INC.
Reel/Frame 042945/0106 →
Continuity (3)
Continuation 14753313 · Jun 29, 2015
Provisional Application 62098501 · Dec 31, 2014
Related Publication 20170302566A1 · Oct 19, 2017