FortiGate
FortiGate Next Generation Firewall utilizes purpose-built security processors and threat intelligence security services from FortiGuard labs to deliver top-rated protection and high performance, including encrypted traffic.
oarslan
Staff
Staff
Article Id 191503

Description

 

This article describes how to configure a BGP route reflector to reduce the number of connections required in an AS.
A single router (or two for redundancy) can be made a route reflector: other routers in the AS need only be configured as peers to them. A route reflector acts as a focal point for IBGP sessions.


The purpose of the route reflector is concentration.
Multiple BGP routers can peer with a central point, the route reflector, acting as a route reflector server, rather than peer with every other router in a full mesh.
All the other IBGP routers become route reflector clients.


Solution

 

IBGP requires a full mesh between all BGP-speaking routers. This can cause:

 

  1. A large number of TCP sessions: (n * (n – 1)) / 2 IBGP sessions are required (where n is BGP speakers within AS).
  2. Unnecessary duplicate routing traffic.

    A design like below will require (5 * 4) / 2  = 10 iBGP sessions:



 
 
One solution for reducing the number of BGP peers within an AS is route reflection.
Rather than each BGP system having to peer with every other BGP system with the AS, each BGP speaker instead peers with a router reflector.
 
Routing advertisements sent to the route reflector are then reflected out to all of the other BGP speakers.
In summary, route reflectors modify IBGP split-horizon rules.

When route-reflector is used, the above design will appear like the below:
 
 
 
 
In this case, 'FGT-2', 'FGT-3', 'FGT-4', and 'FGT-5' will only peer with 'FGT-1' (Route Reflector).
For example 'FGT-2' BGP neighbor config will be as below.
 
config router bgp.
    config neighbor

        edit "172.16.10.1"
            set next-hop-self enable
            set remote-as 101
            set update-source "Loop_FGT2"
        next
 
Route reflector ('FGT-1') peers with each FortiGate within AS 101 and configuration needs CLI as explained below.
 
config neighbor
    edit "172.16.10.2"
        set next-hop-self enable
        set remote-as 101
        set update-source "Loop_FGT1"
        set route-reflector-client enable
    next
    edit "172.16.10.3"
        set next-hop-self enable
        set remote-as 101
        set update-source "Loop_FGT1"
        set route-reflector-client enable
    next
    edit "172.16.10.4"
        set next-hop-self enable
        set remote-as 101
        set update-source "Loop_FGT1"
        set route-reflector-client enable
    next
    edit "172.16.10.5"
        set next-hop-self enable
        set remote-as 101
        set update-source "Loop_FGT1"
        set route-reflector-client enable

end

It is mandatory to note the following for Route Reflector: on Route Reflector it is not possible to modify any of the following parameters: NEXT_HOP, AS_PATH, LOCAL_PREF, and MED for an advertised route to the Route Reflector client and ANY other client in the same AS, this is in order to avoid potential routing loops.