BGP · Topic 7 of 7
BGP Route Reflectors and Confederations
Learn how route reflectors and confederations remove the iBGP full mesh requirement, how reflection rules work, and the settings used to build both.
- 5 min
- Includes a diagram
- Route reflectors and confederations avoid the iBGP full mesh.
- Clients need a session only to their reflector.
- A client route goes to all peers. A non client route goes to clients only.
What it is
Route reflectors and confederations are two ways to scale iBGP without a full mesh of sessions.
The iBGP rule says a route learned from one iBGP peer is not passed to another. In a large AS, a full mesh of sessions then needs many connections, and each new router means touching every other one.
A route reflector relaxes the rule for chosen routers. A confederation splits the AS into smaller member ASes.
How it works
A reflector re-advertises routes between its clients and other peers, while a confederation changes how the AS looks inside.
Route reflector roles
A router becomes a reflector by marking some iBGP peers as its clients. Other iBGP peers of the reflector are non clients. Clients need a session only to the reflector, not to each other.
The reflection rules decide where a route goes.
| Route learned from | Reflected to |
|---|---|
| A client | All other clients and all non clients |
| A non client | Clients only |
| An eBGP peer | All clients and all non clients |
The non clients still have to be fully meshed among themselves, because a reflector does not pass non client routes to other non clients.
Loop prevention
Reflection could create loops, so two attributes are added. The originator ID records the router that first announced the route into the AS. The cluster list records the reflector clusters the route has passed.
A router discards a route that carries its own router ID as originator. A reflector discards a route with its own cluster ID in the list.
RouterOS settings
On RouterOS v6 the client flag is set on the reflector, per peer.
/routing bgp instance set default cluster-id=10.255.255.1
/routing bgp peer add name=client1 remote-address=10.255.255.2 remote-as=65001 route-reflect=yes update-source=lo
/routing bgp peer add name=client2 remote-address=10.255.255.3 remote-as=65001 route-reflect=yes update-source=lo
route-reflect=yesmarks that peer as a client of this reflector.cluster-idon the instance identifies the cluster.- The clients are configured as ordinary iBGP peers that point at the reflector.
Use two reflectors in one cluster for resilience. They share the same cluster ID, so each ignores routes that came from the other.
Confederations
A confederation divides one large AS into several member ASes. Inside a member AS the full mesh or a reflector design applies. Between member ASes, the sessions behave much like eBGP, but the routers treat the whole group as a single AS to the outside world.
The outside world sees only the confederation AS number. The member numbers appear inside the path as special segments and are not shown to outside peers.
On RouterOS v6 the instance carries the settings.
/routing bgp instance set default as=65101 confederation=65001 confederation-peers=65102,65103
asis the member AS of this router.confederationis the number shown to the outside world.confederation-peerslists the other member ASes in the group.
Comparing the two
| Point | Route reflector | Confederation |
|---|---|---|
| Method | Relaxes the iBGP rule | Splits the AS into members |
| Change to AS path | None | Member segments are used inside |
| Typical use | Simple, common | Very large or merged networks |
| Extra attributes | Originator ID, cluster list | Member segments in AS path |
Reflectors are the easier answer when a question asks how to reduce iBGP sessions in one AS.
What to remember for the exam
Seven facts cover most questions here.
- Route reflectors and confederations avoid the iBGP full mesh.
- Clients need a session only to their reflector.
- A client route goes to all peers. A non client route goes to clients only.
- Originator ID and cluster list prevent loops.
route-reflect=yeson a peer marks it as a client on RouterOS v6.- A confederation splits one AS into member ASes with a shared outside number.
- The
confederationandconfederation-peerssettings define it.
A reflector does not make non clients exchange routes. They still need sessions between themselves.
Common mistakes
These four errors are common.
Setting route reflect on the client. The flag goes on the reflector, one per client peer.
Leaving non clients unmeshed. They then miss each other's routes.
Using different cluster IDs in a redundant pair. Each reflector then accepts the routes the other one reflected, which adds duplicate paths.
Mixing up the AS numbers in a confederation. The as value is the member number, and confederation is the public number.
Check yourself
Work through these three questions.
Why do route reflectors reduce the number of iBGP sessions?
Clients need a session only to the reflector, which passes their routes to the other clients. A full mesh between clients is not needed.
Where is
route-reflect=yesconfigured, and what does it mean?It is set on the reflector, on the peer entry for each client. It marks that peer as a client of this reflector.
What does a confederation present to the outside world?
It presents one AS number, set with
confederation. The member ASes inside are hidden from outside peers.
Topic 7 of 7 in BGP
Test yourself on BGP
The full MikroTik MTCINE question bank has 475 questions, with timed practice exams and an explanation for every answer.
This study guide is independent and is not affiliated with, endorsed by, or sponsored by MikroTik. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.