IP Library Granted Patent US 11,050,681
Granted Patent B2
US 11,050,681 · App. 16/555,836 · Granted Jun 29, 2021

Fast routing convergence for border gateway protocl (BGP) systems including one or more route reflectors (RRs)

Inventors: Nirmalya Mukhopadhyay (Sunnyvale, CA); Nischal Singh (Ottawa, CA); John G. Scudder (Ann Arbor, MI); Rahul Unnikrishnan (Herndon, VA)
Assignee: Juniper Networks, Inc.
H04L49/251H04L45/028H04L45/42H04L45/00H04L45/02H04L45/04H04L45/22
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,050,681
App. No.
16/555,836
Granted
Jun 29, 2021
Kind
B2
Abstract

Responsive to receiving the BGP UPDATE message, a route reflector may (1) update a CLUSTER_LIST value and, if needed, an ORIGINATOR_ID value, in a path attribute section in the BGP UPDATE message to generate a revised BGP UPDATE message, and (2) send the revised BGP UPDATE message to a client of the route reflector, regardless of whether or not one of (A) field validity checking of the BGP UPDATE message, (B) Adj-RIBS-In update using the BGP UPDATE message, (C) decision processing for route selection using information in the BGP UPDATE message, or (D) Adj-RIBS-Out update using the BGP UPDATE message, is completed (or perhaps even started). This provides faster route propagation and avoids delays associated with processing BGP UPDATE messages (NLRI with advertisements and withdrawals) at each hop the NLRIs using conventional BGP such as next-hop validation, best path selection, etc.

Claims (90)

1. A computer-implemented method comprising:

a) receiving, by a route reflector, a border gateway protocol (BGP) UPDATE message; and

b) responsive to receiving the BGP UPDATE message,

1) updating, by the route reflector, a CLUSTER_LIST value and, if needed, an ORIGINATOR_ID value, in a path attribute section in the BGP UPDATE message to generate a revised BGP UPDATE message,

2) sending, by the route reflector, the revised BGP UPDATE message to a client of the route reflector, regardless of completing or not completing one of

(A) field validity checking of the BGP UPDATE message,

(B) Adj-RIBS-In update using the BGP UPDATE message,

(C) decision processing for route selection using information in the BGP UPDATE message, or

(D) Adj-RIBS-Out update using the BGP UPDATE message.

2. The computer-implemented method of claim 1 further comprising:

determining, by the route reflector, that the client of the route reflector is capable of processing the revised BGP UPDATE message, wherein the act of determining was performed before the act of sending.

3. The computer-implemented method of claim 1 further comprising:

responsive to receiving the BGP UPDATE message, and after sending the revised BGP UPDATE message to a client of the route reflector, further

3) checking, by the route reflector, validity of fields of the BGP UPDATE message.

4. The computer-implemented method of claim 1 further comprising:

responsive to receiving the BGP UPDATE message, and after sending the revised BGP UPDATE message to a client of the route reflector, further

3) updating, by the route reflector, Adj-RIBS-In information, stored on the route reflector, using the BGP UPDATE message.

5. The computer-implemented method of claim 1 further comprising:

responsive to receiving the BGP UPDATE message, and after sending the revised BGP UPDATE message to a client of the route reflector, further

3) performing decision processing for route selection, by the route reflector, using information in the BGP UPDATE message.

6. The computer-implemented method of claim 1 further comprising:

responsive to receiving the BGP UPDATE message, and after sending the revised BGP UPDATE message to a client of the route reflector, further

3) updating, by the route reflector, Adj-RIBS-Out information, stored on the route reflector, using the BGP UPDATE message.

7. The computer-implemented method of claim 1 wherein the act of sending, by the route reflector, the revised BGP UPDATE message to a client of the route reflector, is performed regardless of starting or not starting one of

(A) field validity checking of the BGP UPDATE message,

(B) Adj-RIBS-In update using the BGP UPDATE message,

(C) decision processing for route selection using information in the BGP UPDATE message, or

(D) Adj-RIBS-Out update using the BGP UPDATE message.

8. The computer-implemented method of claim 1 further comprising:

c) receiving, by the client of the route reflector, the revised BGP UPDATE message; and

d) responsive to receiving the revised BGP UPDATE message,

1) generating a unique path identifier using information from both (i) a path identifier carried in the revised BGP UPDATE message received, and (ii) the ORIGINATOR_ID value carried in the revised BGP UPDATE message received, and

2) processing the revised BGP UPDATE message received using the generated unique path identifier.

9. The computer-implemented method of claim 1 wherein the received BGP UPDATE message includes a path ID field including a path ID value and unused bits, and

wherein the revised BGP UPDATE message includes a path ID field including both (1) bits from a path ID value included in the path ID field of the received BGP UPDATE message, and (2) bits derived from an ORIGINATOR ID value carried in the received BGP UPDATE message.

10. A system comprising:

a) a route reflector having

1) at least one processor; and

2) a non-transitory computer-readable medium storing processor-executable instructions which, when executed by the at least one processor, cause the at least one processor to perform a method including

A) receiving, by a route reflector, a border gateway protocol (BGP) UPDATE message; and

B) responsive to receiving the BGP UPDATE message,

i) updating, by the route reflector, a CLUSTER_LIST value and, if needed, an ORIGINATOR_ID value, in a path attribute section in the BGP UPDATE message to generate a revised BGP UPDATE message,

ii) sending, by the route reflector, the revised BGP UPDATE message to a client of the route reflector, regardless of completing or not completing one of

 field validity checking of the BGP UPDATE message,

 Adj-RIBS-In update using the BGP UPDATE message,

 decision processing for route selection using information in the BGP UPDATE message, or

 Adj-RIBS-Out update using the BGP UPDATE message.

11. The system of claim 10 wherein the method further includes

determining, by the route reflector, that the client of the route reflector is capable of processing the revised BGP UPDATE message, wherein the act of determining was performed before the act of sending.

12. The system of claim 10 wherein the method further includes

responsive to receiving the BGP UPDATE message, and after sending the revised BGP UPDATE message to a client of the route reflector, further

iii) checking, by the route reflector, validity of fields of the BGP UPDATE message.

13. The system of claim 10 wherein the method further includes

responsive to receiving the BGP UPDATE message, and after sending the revised BGP UPDATE message to a client of the route reflector, further

iii) updating, by the route reflector, Adj-RIBS-In information, stored on the route reflector, using the BGP UPDATE message.

14. The system of claim 10 wherein the method further includes

responsive to receiving the BGP UPDATE message, and after sending the revised BGP UPDATE message to a client of the route reflector, further

iii) performing decision processing for route selection, by the route reflector, using information in the BGP UPDATE message.

15. The system of claim 10 wherein the method further includes

responsive to receiving the BGP UPDATE message, and after sending the revised BGP UPDATE message to a client of the route reflector, further

iii) updating, by the route reflector, Adj-RIBS-Out information, stored on the route reflector, using the BGP UPDATE message.

16. The system of claim 10 wherein the act of sending, by the route reflector, the revised BGP UPDATE message to a client of the route reflector, is performed regardless of starting or not starting one of

(A) field validity checking of the BGP UPDATE message,

(B) Adj-RIBS-In update using the BGP UPDATE message,

(C) decision processing for route selection using information in the BGP UPDATE message, or

(D) Adj-RIBS-Out update using the BGP UPDATE message.

17. The system of claim 10 further comprising:

b) the client of the route reflector, including

1) at least one processor, and

2) a non-transitory computer-readable medium storing processor-executable instructions which, when executed by the at least one processor of the client of the route reflector, cause the at least one processor of the client of the route reflector to perform a method including

A) receiving the revised BGP UPDATE message; and

B) responsive to receiving the revised BGP UPDATE message,

1) generating a unique path identifier using information from both (i) a path identifier carried in the revised BGP UPDATE message received, and (ii) the ORIGINATOR_ID value carried in the revised BGP UPDATE message received, and

2) processing the revised BGP UPDATE message received using the generated unique path identifier.

18. A non-transitory computer-readable medium storing processor-executable instructions which, when executed by at least one processor, cause the at least one processor to perform a method including

a) receiving, by a route reflector, a border gateway protocol (BGP) UPDATE message; and

b) responsive to receiving the BGP UPDATE message,

1) updating, by the route reflector, a CLUSTER_LIST value and, if needed, an ORIGINATOR_ID value, in a path attribute section in the BGP UPDATE message to generate a revised BGP UPDATE message,

2) sending, by the route reflector, the revised BGP UPDATE message to a client of the route reflector, regardless of completing or not completing one of

field validity checking of the BGP UPDATE message,

Adj-RIBS-In update using the BGP UPDATE message,

decision processing for route selection using information in the BGP UPDATE message, or

Adj-RIBS-Out update using the BGP UPDATE message.

19. The non-transitory computer-readable medium of claim 18 wherein the method further includes

determining, by the route reflector, that the client of the route reflector is capable of processing the revised BGP UPDATE message, wherein the act of determining was performed before the act of sending.

20. The non-transitory computer-readable medium of claim 18 wherein the act of sending, by the route reflector, the revised BGP UPDATE message to a client of the route reflector, is performed regardless of starting or not starting one of

(A) field validity checking of the BGP UPDATE message,

(B) Adj-RIBS-In update using the BGP UPDATE message,

(C) decision processing for route selection using information in the BGP UPDATE message, or

(D) Adj-RIBS-Out update using the BGP UPDATE message.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2020
From: MUKHOPADHYAY, NIRMALYA; SINGH, NISCHAL; SCUDDER, JOHN C.; UNNIKRISHNAN, RAHUL
To: JUNIPER NETWORKS, INC.
Reel/Frame 051541/0591 →
Continuity (1)
Related Publication 20210067463A1 · Mar 4, 2021
Cited By (1)
US 12,531,804