What is recursive lookup in BGP and how does it work?
A.
The router looks up the EBGP route and the EBGP next hop to reach a destination in the remote
AS. Then the router looks up the route to reach the EBGP next hop using the IBGP.
B.
The router looks up the IBGP route and the IBGP next hop to reach a destination in the remote AS.
Then the router looks up the route to reach the IBGP next hop using the EBGP.
C.
The router looks up the BGP route and the BGP next hop to reach a destination in the remote AS.
Then the router looks up the route to reach the BGP next hop using the IGP.
D.
The router looks up the route and the next hop to reach a destination in the remote AS using the
IGP. Then the router looks up the route to reach the next hop using BGP.
E.
The router perform three routing lookups to determine the route to reach a destination in the
remote AS. The first lookup is done using EBGP, the second lookup is done using IBGP, and the third
lookup is done using the IGP.
Explanation:
A few different approaches are available to deal with iBGP and synchronization. We may turn on the
synchronization option on our routers and wait for the IGP to have a route for the destination before
it’s advertised to peers. Another option is to simply use a full mesh, so that iBGP convergence isn’t
an issue.
Clearly that isn’t going to happen when a network’s core needs to scale: it will implement something
like reflectors that cause iBGP’s full mesh to be broken.
The real alternative, if you don’t enable synchronization, is to use route recursion. A recursive route
lookup uses the BGP next-hop attribute to actually make a different route lookup. The IGP can use
the destination network instead of the AS-path to determine where it gets sent. Even if the iBGP
hasn’t converged, the routers will still know how to get to that network, since it will exist in the
router it was advertised from, who will know the next-hop.