BGP Route Reflector in Plain English

In this post, I will explain to you the BGP Route Reflector basics, after you read this post, you will be able to answer any questions regarding BGP Route Reflectors.

I am explaining this topic in deep detail in my CCIE Enterprise Infrastructure Training and also my specialized BGP Zero to Hero course.

What is BGP Route Reflector?

A BGP route reflector (RR) is a network routing component for BGP. (RFC 4456). It offers an alternative to the logical full-mesh requirement of the internal border gateway protocol (IBGP).

Above is the Wikipedia definition of a BGP Route Reflector. Let's extend the definition a bit.

BGP Route Reflector is only used in IBGP.

There are two BGP methods. EBGP and IBGP.

In EBGP, BGP neighborship is created between two routers that have different BGP Autonomous System numbers. In IBGP, BGP neighborship is created between the routers which have the same BGP Autonomous System number.

BGP Route Reflector as I said above, is only used in IBGP. Route Reflector is not a special device, it is a regular router, which can run any routing protocol, it can be a physical or virtual router that needs to have BGP code, that's all.

BGP Route Reflector is an alternative to BGP full mesh. What does it mean?

The requirement with IBGP, every BGP router needs to have a BGP neighborship with all the other BGP routers in one particular BGP Autonomous System.

IBGP Full Mesh

Figure 1 - IBGP Full Mesh

The above topology shows IBGP Full Mesh design. As you can see, from each router, there is a BGP connection to each and every other BGP router inside the network.

RR simplifies the logical topology of the network, reduces the total number of BGP sessions in the network, and reduces the configuration of the BGP routers.

BGP Route Reflector Topology

Figure 2 - BGP Route Reflector Topology

As you can see in the above topology, BGP Route Reflector is a central node which all the other BGP routers in the network build an IBGP neighborship with.

Routers that have a BGP session to Route Reflector is called as BGP Route Reflector Client.

A very important and less known definition is BGP Route Reflector Cluster:

BGP Route Reflector Cluster is the BGP Route Reflector and its all clients. So if you have an RR and the RR clients, you have a BGP Cluster. We will talk about BGP RR Cluster in the BGP RR Redundancy section.

Between figure -1 and figure -2, did you realize something?

Topology changed from full mesh to hub-and-spoke. Thus, we conclude this part by saying that BGP Route Reflector changes the logical BGP topology of the network from full-mesh to hub-and-spoke.

Why BGP Route Reflector is used?

Almost every Service Provider today uses BGP Route Reflector. As you might know, because of my job, I work with probably more than a hundred operators. Very few of them use alternate methods which I will mention throughout the post.

For those who deploy BGP Route Reflector in their network, the main reason is scaling. When you don't need to have an IBGP neighbor to each and every BGP router in the network, you have less amount of BGP sessions in the network which means less connection to troubleshoot and maintain.

Configuration on the devices is reduced greatly too.

In figure 2, each RR client only has one BGP session. Without BGP Route Reflector in that topology, as there are 6 routers, each router would have 5 IBGP sessions.

What is the alternate method for BGP Route Reflector?

Many people believe that BGP Confederation is an alternate method for BGP Route Reflector. In fact not exactly.

Although I don't want to cover the BGP Confederation in this post as it requires a separate detailed post, you need to understand the very basic idea with it.

Let's look at the below topology.

BGP Confederation

Figure 3 - BGP Confederation

With BGP Confederation, BGP topology is divided into smaller parts. Each part is called a Sub-autonomous system.

As you can see from Figure -3, there is only one Global Autonomous System that represents this network to the outside world. So when this network has an EBGP connection with the other BGP network, global/public Autonomous system is used. In this example, the Global Autonomous system number is 1.

There are two other Autonomous System numbers in the figure-3 topology. 65010 and 65011.

These are Sub-autonomous system numbers. In each Sub-autonomous system, there might be multiple routers and all have the same Sub-autonomous system number. That's why IBGP neighborship is created between each and every number inside the sub-autonomous systems.

‘ Inside each sub-autonomous system, since IBGP is setup between the routers, either full-mesh BGP connections or BGP Route Reflector is required ‘

So, if BGP Route Reflector is still required in BGP Confederation, how it is an alternate method for BGP Route Reflection?

Alternative to BGP Route Reflector is BGP Full Mesh IBGP.

Different types of BGP Route Reflectors

Many applications and many services run on today's networks. IP and MPLS are the most common services in the Enterprise and Service Provider networks.

When BGP Route Reflector is used for the IP address family, then BGP Route Reflector is called an IP Route-Reflector or for short, IP RR.

When BGP Route Reflector is used in the MPLS network for the VPN service, BGP Route Reflector is called VPN Route-Reflector or for short, VPN RR.

There are different design requirements for the IP RR and the VPN RR. I will mention them in the BGP Route Reflector Problems section of this article.

Benefits of BGP Route Reflector

The main benefit of the BGP Route Reflector is Network Scalability.

BGP Route Reflector reduces the total number of BGP sessions in the network and also reduces the number of BGP sessions per router.

BGP RR simplifies the configuration of the BGP routers.

But, there is one more thing which I will explain with the below topology.

Route Reflector hides the available paths. This is a benefit for some networks, the problem with others. I will explain how it is good and bad at the same time.

BGP Route Reflectors hide the available path/next hop to the destination

Figure 4 - BGP Route Reflectors hide the available path/next hop to the destination

In Figure-4, the Customer site is connected to two different PE devices in the operator network.

BGP Route Reflector, both in IP and MPLS environment, selects only one path for the destination, installs only this path in the routing table, and advertises this path to Route Reflector Clients.

This means, in Figure-4, even though Route-Reflector learns both path/next hop (PE1 and PE2) for the customer site, Route-Reflector Selects either PE1 or PE2 as the best path and advertises it to PE3.

PE3 only receives one path for all the customer site prefixes. This is Route-Reflector benefit from a device resource usage point of view. If PE3 would receive both PE1 and PE2 as the next hop, it would have more routes in the routing table, thus memory and CPU usage would increase.

Having only one path for the destinations on the PE3 has disadvantages as well which I will explain in the BGP Route Reflector Problems section in this post.

Note: In Figure-4, Unique RD per PE per VRF technique is used to advertise both PE1 and PE2 from BGP Route Reflector to PE3. But this is not the topic of this post.

Problems with the BGP Route Reflector

In the above example (Figure 4), PE3 had only one path for the customer site prefixes as BGP Route Reflector advertises its best path only.

BGP Route Reflectors and Active-Active Customer Link Utilization

What if the customer wants to use both of the links in an active-active manner. If BGP Route Reflector always chooses PE1 let's say as the best path, the PE2 link would be always idle.

But how PE3 can receive both of the available next hops/paths for the customer site prefixes while BGP Route Reflectors are in place?

There are multiple techniques such as BGP Add-Path, BGP Shadow Sessions, and BGP Shadow RRs but the best one for the MPLS networks is using Unique RD per PE per VRF/VPN. I promised to keep this post simple thus I won't start explaining all of them.

So, hiding the available paths can create many problems. In the above example, active-active link utilization was the requirement, so the PE3 IBGP Multipath would be enabled if PE3 receives both of the available paths for the customer sites.

What if the requirement is an optimal routing, How BGP Route Reflector affects optimal routing?

If available paths are hidden, and Route Reflector is sending only the best path to the RR Clients, can it create a sub-optimal routing problem?

Yes, it does. Let's look at the below topology.

BGP Route Reflector and Optimal Routing

BGP Route Reflector and Sub Optimal Routing Problem

Figure 5 - BGP Route Reflector and Sub Optimal Routing Problem

Numbers show the IGP costs. R1, R2, and R3 are the RR Clients. In this topology, for the 192.168.0.0/24 customer prefix, both R1 and R2 advertise the prefix to RR.

RR based on the IGP cost selects the best path. Since R2's IGP cost of 192.168.0.0/24 is smaller than R1, BGP RR selects R2 as the best path for the customer prefix and advertises the best path to all its clients.

From R3's point of view, R1 is the best path, because R1 has a smaller IGP cost than R2, for this customer network.

But R3 will not receive R1 as an available next hop for this customer site, because BGP RR will not send R1 as a next-hop to R3.

Remember, what was the RR rule? RR will select only one best path for a given destination and advertise it to the RR Clients.

From R3's point of view, using R2 is sending traffic to the suboptimal path.

Route Reflector prevents BGP Fast Reroute

BGP Route Reflector prevents fast reroute. For the fast reroute, at least two path needs to be installed on the device which will take an action. In Figure-5, If R3 would receive both R1 and R2 as next-hops for the customer site, R3 would be able to install, R1 into the routing table as the primary path and R2 as the hot-standby path.

I explained the BGP Fast Reroute detail earlier on the website thus I recommend BGP PIC (BGP FRR) article if you want to understand this section more.

Another problem with the BGP Route Reflector is, BGP Route Reflector increases convergence time.

Without BGP Route Reflector, we would have Full Mesh IBGP. Every BGP Router would have a direct IBGP session with each other.

They would have all available next-hop/exit points for the prefixes.

In the absence of IBGP Multipath, only one of them would be installed in the IP Routing Table but all available next-hops would be in the BGP Routing Table of the routers.

Just look at the above, Figure-5 topology.

Without BGP RR, R3 would have an IBGP session with both R1 and R2.

R3 would install R1 as the best path into the routing table due to lower IGP cost. (IGP cost would be a tie-breaker in the best path selection process)

In case of R1 failure, R3 would be notified and start installing R2 as the best path.

When Route Reflector is deployed, in case of R2 failure in the Figure-5 topology, BGP RR would declare that R2 is no longer the best path for this customer site, then RR would choose R1 as the best path after finishing its BGP Best Path Selection process, would wait for the MRAI (Minimum Route Advertisement Interval) and send the new best path to R3. When R3 receives the new best path, it would spend time installing the prefixes with next-hop to the IP Routing and Forwarding Table.

As you can see, BGP Route Reflector increases convergence time!

BGP Route Reflector Redundancy

BGP Route Reflector is an important node. Failure of it collapses the entire BGP topology. Thus, BGP RR Redundancy is important..

More than one RR is important. And as a general design rule I always recommend you to have two, right? Not three, four.

What was the motto? Two is the company, three is crowded.

As I mentioned above in the article, There might be different services in the network. Internet, VPNs, etc.

For the Internet service, IP Route Reflector, for the VPNs, VPN Route Reflector is used.

But should you use the same router for both IP and VPN RR functionalities?

The answer is it depends. If the deployment is small enough, yes you can. But always consider the impact of having problems in one service to another. If there is an attack on IP RR, it will affect VPN customers as well. This concept is called fate-sharing.

Last but not least, when you deploy more than one BGP Route Reflector, what should be the cluster-ID on the Route Reflectors. I recommend you to read my BGP Route Reflector Clusters post for this.

Created by
Orhan Ergun

Orhan Ergun, CCIE/CCDE Trainer, Author of Many Networking Books, Network Design Advisor, and Cisco Champion 2019/2020/2021

He created OrhanErgun.Net 10 years ago and has been serving the IT industry with his renowned and awarded training.

Wrote many books, mostly on Network Design, joined many IETF RFCs, gave Public talks at many Forums, and mentored thousands of his students.  

Today, with his carefully selected instructors, OrhanErgun.Net is providing IT courses to tens of thousands of IT engineers. 

View profile

Daniel Lardeux
Daniel Lardeux Senior Network Consultant at Post Telecom

I passed the CCDE Practical exam and Orhan’s CCDE course was very important contributor to my success. I attended the CCDE course of Orhan Ergun in July and it was exactly what I needed, Orhan is taking the pain to break down the different technologies.

Roy Lexmond
Roy Lexmond Senior Network Designer at Routz CCDE #20150017 & CCIE R&S; #26557

After I attended Orhan Ergun’s CCDE course I passed the CCDE practical exam.I really enjoyed the course a lot ...

Nicholas Russo
Nicholas Russo Network Consulting Engineer (CCDE/CCIEx2), Cisc

I signed up for Orhan’s CCDE training. This training is very technically detailed and the use-cases, quizzes, scenarios, and mind maps are all great resources in the overall training program. Orhan teaches his students to think like a network designer ...

Slide Heading
Slide Heading Network Systems Engineer at Conscia A/S CCIE #42544 (SP) & CCDE #20160015

Orhan is forcing you to take off the implementation hat that most of us have been wearing for many years, instead he is providing a new fancy design hat, which makes you see and deal with the issues presented ...

Kim Pedersen
Kim Pedersen CCIE in RS and SP (#29189) CCDE#20170021

I’ve used Orhan’s self-paced CCDE training material. If you are interested in knowing how all the technologies go together in a coherent design i can highly recommend it.I also enjoyed the Quizzes which helped pick out my weak spots in selecting ...

Laurent Metzger
Laurent Metzger 3xCCIE/CCDE Senior Network Architect

Hi Orhan. I passed the CCDE exam on February 22. I read everything that you put on your Self Paced CCDE Training course and it was very helpful in my success. Thank you very much.

Martin J. Duggan
Martin J. Duggan Network Architect at AT&T;, Ciscopress Author CCDE #20160006 & CCIE#7942

I attended Orhan’s April 201610 days CCDE Bootcamp. I am CCDE now !

You can tell Orhan has a great deal of experience, it really comes through when he presents his design case studies and the CCDE Practical scenarios.

Muhammad Abubakar
Muhammad Abubakar Lead Network Architect – CCDE #20160016 2xCCIE #26693 2xJNCIE VCIX

Your excellent CCDE materials and amazing Bootcamp helped me tremendously through my learning journey.Also thank you very much for being available whenever I have a design question or a complex design topics. I can’t compare your design skills ...

Jennifer Pai
Jennifer Pai Network/Security Engineer at KNET Technology

Thanks Orhan very much for this course. It helped strengthen my “Network design mind”.

Ruslan Silyayev
Ruslan Silyayev Solution Architect at R.I.S.K Company

Training by Orhan is not a CCDE preperation training only. It will be useful for engineers which are dealing with design. You want to pass CCDE exam or learn network design, then don’t look at anywhere else!

Sameer Meher
Sameer Meher Solutions Architect at 23 Wards/Japan

Orhan Ergun’s CCDE course was really very good. CCDE Level Intelligence was delivered very well and with very useful case studies and the scenarios, I am thankful to Orhan for all his help!

Ken Young
Ken Young Senior Technical Architect Province of Nova Scotia, 2xCCIE #41597 | CCDE #20170047

If anyone wants to understand network design and architecture, also pass CCDE exam , I recommend you to attend Orhan’s online courses! I am a CCDE now but learning is a journey, we will be together in your other courses too Orhan!

Matt Cross
Matt Cross Technical Architect at Heartland – CCDE #2019::7

Orhan did an excellent job of filling in the gaps of knowledge that I had that took me to the finish line of the practical exam CCDE. The community of people that Orhan facilitates are both engaging and supportive of the journey to CCDE. Orhan ...

Shiling Ding
Shiling Ding Sentinel Technologies – CCDE #2019::12

Just passed the CCDE Practical exam! I attended Orhan Ergun’s CCDE training program , used Orhan’s Instructor Led and Self-Paced CCDE training and Online CCDE Practical Scenarios during my CCDE journey. Orhan’s CCDE In Depth book is an excellent summary ...

Abelardo Basurto
Abelardo Basurto Solutions Architect at Cisco Systems – CCDE 2018::6

Hi everyone, I’ve just passed the CCDE Exam. My Number is CCDE 2018::6 I attended to Online CCDE Bootcamp of Orhan. I want to thank Orhan not only for the great book and bootcamp, but also for his commitment, availability and willingness to assist the ...

Hady Mohamed Abdellah
Hady Mohamed Abdellah Network Architect Hamad International Airport Qatar – CCDE 2018::1

Hi guys, I’m so happy that I passed the exam. I’ve already got my number CCDE 2018::1. Thanks to Orhan for being the best CCDE instructor in the world. I highly recomend Orhan’s CCDE Training and In-Depth-CCDE ...

Bryan Bartik
Bryan Bartik Sr. Systems Engineer at CompuNet – CCDE 20170059

Hi Orhan I passed CCDE Practical exam on November 2017 ! I really enjoyed your materials and quizzes and use cases. They were definitely helpful in my preparation. Thanks a lot !

Giedrius Trapkauskas
Giedrius Trapkauskas Network Solutions Architect at Liberty Global – CCDE 20180004

I attended Orhan’s CCDE Training in Istanbul and it was very helpful in my preparation. I passed the exam recently and I want to say Thank you Orhan! For those who want to pass the CCDE exam, definitely start with ...

Alaa Issa
Alaa Issa Sr.Solutions Architect – CCDE#20180033 3xCCIE ( Collab|DC|Security )#27146

I registered to Orhan’s training in Feb 2017. From that time, I attended Orhan’s training several times. The depth of knowledge which Orhan has is amazing, and how to present such consistent knowledge to the ...

Mazin Ahsan Design Lead Engineer | Solutions Engineer | CCDE License # 20160030 | CCIE Licence # 23892

I passed the CCDE Practical Lab exam on November 17,2016 from supplications of elders and dedication from my Sensei Mr. Orhan Ergun I took different CCDE bootcamps in the past. Orhan has the most depth and expertise ...

Jeff Patterson CCDE# 2018::11

Hi Orhan I wanted to pass along my appreciation for the outstanding training material. I used the online CCDE training provided by Orhan as well as the In-Depth-CCDE book and passed the exam in February 2018. Thank you Orhan!

Mehdi Sfar
Mehdi Sfar Network and Security Architect / CCDE #20210003 | CCIE R&S; #51583

I signed up for Orhan’s CCDE Self paced Course. This course, along with the CCDE In Depth book, helped me for my CCDE Practical as well as Written exams. It pushed me to ask the "WHY" questions and allowed ...

Related courses

BGP Training

22:46:48 Hours
22 Lectures
Intermediate

$150

MPLS Zero to Hero Training

30:07:04 Hours
51 Lectures
Intermediate

$250

Cisco CCIE Service Provider Training

108:43:00 Hours
258 Lectures
Expert

$1246