IP Library › Granted Patent US 10,887,225
Granted Patent B1
US 10,887,225 · App. 16/588,691 · Granted Jan 5, 2021

Building a label sequence in Border Gateway Protocol (BGP) labeled network layer reachability information (NLRI) on next hop (NH) attribute change

Inventors: Wai Tong Louis Chan (Kowloon, HK); Rafal Jan Szarecki (San Jose, CA); Krzysztof Grzegorz Szarkowicz (Vienna, AT); Jeffrey M. Haas (Ypsilanti, MI); Santosh S. Kolenchery (Cary, NC); Srihari Ramachandra Sangli (Bengaluru, IN); Shraddha Hegde (Bangalore, IN)
Assignee: Juniper Networks, Inc.
H04L45/507H04L12/4633H04L12/66H04L45/04H04L45/20H04L45/74
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,887,225
App. No.
16/588,691
Granted
Jan 5, 2021
Kind
B1
Abstract

The use and processing of update messages (e.g., BGP UPDATEs) that bind (e.g., MPLS) labels to address prefixes is improved such that labels are used more efficiently, and/or such that such update messages can be processed more efficiently. A distance vector control signaling protocol (e.g., BGP) peer device receives a control plane message (e.g., BGP Update) from a downstream peer device, the control plane message including (1) a network address of the downstream device as a next hop value, (2) a prefix value, and (3) at least one label associated with the prefix value. Responsive to receiving the control plane message, the peer device generates a new control plane message including (1) a network address of the peer device as a next hop value, (2) the prefix value from the control plane message, and (3) a label stack including (i) the at least one label from the control plane message, and (ii) a local label associated with the peer device. The peer device then sends the new control plane message to an upstream peer device.

Claims (99)

1. A computer-implemented method for use on a distance vector control signaling protocol peer device, the computer-implemented method comprising:

a) receiving, by the peer device, a control plane message from a downstream peer device, the control plane message including

1) a network address of the downstream device as a next hop value,

2) a prefix value, and

3) at least one label associated with the prefix value; and

b) responsive to receiving the control plane message,

1) generating, by the peer device, a new control plane message including

A) a network address of the peer device as a next hop value,

B) the prefix value from the control plane message, and

C) a label stack including (i) the at least one label from the control plane message, and (ii) a local label associated with the peer device, and

2) sending, by the peer device, the new control plane message to an upstream peer device.

2. The computer-implemented method of claim 1 wherein, responsive to receiving the control plane message, further comprises:

3) adding, by the peer device, an entry to a forwarding information base (FIB) in

a data-plane of the peer device, the entry including

A) the local label as a key, and

B) a forwarding operation associated with the local label.

3. The computer-implemented method of claim 2 wherein the forwarding operation is one of (i) pop and forward, (ii) swap and forward, or (iii) pop, encapsulate and forward.

4. The computer-implemented method of claim 2 wherein the distance vector control signaling protocol is the border gateway protocol (BGP),

wherein the peer device is a BGP peer device,

wherein the control plane message is a BGP message,

wherein the BGP message was received by the BGP peer device from the downstream BGP peer device over a single hop BGP session in which the next hop value is an address belonging to locally attached network, and

wherein the forwarding operation is pop and forward over an egress interface that connects the BGP peer directly to the downstream BGP peer.

5. The computer-implemented method of claim 2 wherein the distance vector control signaling protocol is the border gateway protocol (BGP),

wherein the peer device is a BGP peer device,

wherein the control plane message is a BGP message,

wherein the BGP message was received by the BGP peer device from the downstream BGP peer device over a multi-hop BGP session in which a MPLS tunnel (LSP) is used by BGP peer device to resolve the next hop value, and

wherein the forwarding operation is a swap and forward.

6. The computer-implemented method of claim 2 wherein the distance vector control signaling protocol is the border gateway protocol (BGP),

wherein the peer device is a BGP peer device,

wherein the control plane message is a BGP message,

wherein the BGP message was received by the BGP peer device from the downstream BGP peer device over a multi-hop BGP session in which a non-MPLS tunnel is used by BGP peer device to resolve the next hop value, and

wherein the forwarding operation is a pop, encapsulate and forward.

7. The computer-implemented method of claim 1 wherein the distance vector control signaling protocol is the border gateway protocol (BGP),

wherein the peer device is a BGP peer device,

wherein the control plane message is a BGP message,

wherein the BGP peer device is configured with an explicit label value binding for the network address of the downstream BGP device provided as the next hop value, and

wherein the local label is set to the explicit label value binding.

8. The computer-implemented method of claim 1 wherein the distance vector control signaling protocol is the border gateway protocol (BGP),

wherein the peer device is a BGP peer device,

wherein the control plane message is a BGP message,

wherein the next hop value is resolved via a tunnel that has a binding segment identifier (BSID) value, and

wherein the local label is set to the BSID value.

9. The computer-implemented method of claim 1 wherein the distance vector control signaling protocol is the border gateway protocol (BGP),

wherein the peer device is a BGP peer device,

wherein the control plane message is a BGP message,

wherein the next hop value is resolved via tunnel that is instantiated by processing one of (i) a prefix segment identifier (SID), (ii) a node SID, or (iii) an anycast SID,

wherein the BGP peer device has a Segment Routing Global Block (SRGB) which defines a range of label values reserved for segment routing, and

wherein the local label is derived from the SRGB of the BGP peer device.

10. The computer-implemented method of claim 1 wherein the distance vector control signaling protocol is the border gateway protocol (BGP),

wherein the peer device is a BGP peer device,

wherein the control plane message is a BGP message,

wherein the BGP peer device has previously allocated local label for a tunnel used for resolution of the next hop value, and

wherein the local label is set to the previously allocated local label.

11. The computer-implemented method of claim 1 wherein the distance vector control signaling protocol is the border gateway protocol (BGP),

wherein the peer device is a BGP peer device,

wherein the control plane message is a BGP message,

wherein the BGP peer device has a dynamic label block, and

wherein the local label is assigned one of available labels of the dynamic label block.

12. A distance vector control signaling protocol peer device comprising:

a) a plurality of communications interfaces;

b) at least one control processor; and

c) a storage device storing processor-executable instructions which, when executed by the at least one control processor, cause the at least one control processor to perform a method comprising:

1) receiving, by the peer device on one of the plurality of communications interfaces, a control plane message from a downstream peer device, the control plane message including

A) a network address of the downstream device as a next hop value,

B) a prefix value, and

C) at least one label associated with the prefix value; and

2) responsive to receiving the control plane message,

A) generating, by the peer device, a new control plane message including

i) a network address of the peer device as a next hop value,

ii) the prefix value from the message, and

iii) a label stack including (i) the at least one label from the control plane message, and (ii) a local label associated with the peer device, and

B) sending, by the peer device, the new control plane message to an upstream peer device.

13. The peer device of claim 12 wherein, responsive to receiving the control plane message, the method further includes

C) adding, by the peer device, an entry to a forwarding information base (FIB) in a data-plane of the peer device, the entry including

A) the local label as a key, and

B) a forwarding operation associated with the local label.

14. The peer device of claim 13 wherein the forwarding operation is one of (i) pop and forward, (ii) swap and forward, or (iii) pop, encapsulate and forward.

15. The peer device of claim 12 wherein the distance vector control signaling protocol is the border gateway protocol (BGP),

wherein the peer device is a BGP peer device, and

wherein the control plane message is a BGP message.

16. A non-transitory computer-readable storage medium for use with distance vector control signaling protocol peer device, the non-transitory computer-readable storage medium storing processor executable instructions which, when executed by at least one processor, cause the at least one processor to perform a method comprising:

a) receiving, by the peer device, a control plane message from a downstream peer device, the control plane message including

1) a network address of the downstream peer device as a next hop value,

2) a prefix value, and

3) at least one label associated with the prefix value; and

b) responsive to receiving the control plane message,

1) generating, by the peer device, a new control plane message including

A) a network address of the peer device as a next hop value,

B) the prefix value from the control plane message, and

C) a label stack including (i) the at least one label from the control plane message, and (ii) a local label associated with the peer device, and

2) sending, by the peer device, the new control plane message to an upstream peer device.

17. A non-transitory computer-readable storage medium of claim 16 wherein, responsive to receiving the control plane message, the method further includes

3) adding, by the peer device, an entry to a forwarding information base (FIB) in a data-plane of the peer device, the entry including

A) the local label as a key, and

B) a forwarding operation associated with the local label.

18. The non-transitory computer-readable storage medium of claim 17 wherein the forwarding operation is one of (i) pop and forward, (ii) swap and forward, or (iii) pop, encapsulate and forward.

19. The non-transitory computer-readable storage medium of claim 16 wherein the distance vector control signaling protocol is the border gateway protocol (BGP),

wherein the peer device is a BGP peer device, and

wherein the control plane message is a BGP message.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2019
From: CHAN, WAI TONG LOUIS; SZARECKI, RAFAL JAN; SZARKOWICZ, KRZYSZTOF GRZEGORZ; HAAS, JEFFEREY M.; KOLENCHERY, SANTOSH S.; SANGLI, SRIHARI RAMACHANDRA; HEDGE, SHRADDHA
To: JUNIPER NETWORKS, INC.
Reel/Frame 051381/0500 →
Cited By (8)
US 12,199,866 US 12,309,058 US 12,341,695 US 12,470,487 US 12,476,907 US 12,483,493 US 12,556,478 US 12,744,733