I'm trying to develop an understanding of the WAN/ISPs. Eventually I'll build up to MPLS, but for now I'm trying to lab up a notional, basic ISP:

enter image description here

R1, R2, and R4 are PE routers. They've successfully peered (BGP) with directly-connected ASes.

R1, R2, R3, and R4 are all running OSPF on the internal ISP network.

My question is how does an ISP exchange BGP routes internally? I've seen information about redistributing routes over OSPF, and I realize there are other solutions to make this work, but what are best practices?

1 Answer 1


An ISP, or any site running BGP, can use iBGP. It is simply choosing BGP peers with the same AS number.

There is an interesting rule that you must follow with iBGP: iBGP speakers must be connected in a full mesh (each iBGP speaker in an AS must peer with every other iBGP speaker in the AS). This doesn't mean that they must physically connect, but they must have neighbors defined. The routes to the neighboring interfaces can be from an IGP. The reason is that iBGP routers having learned an iBGP-originated prefix from an iBGP neighbor cannot advertise that iBGP-originated prefix to another iBGP neighbor because that prefix may somehow be advertised back to the originating iBGP router.

There are mitigations for this because you could quickly end up with many iBGP connections. There are route reflectors and confederations that will let you break up the iBGP into more manageable chunks.

In your example, iBGP prefixes originated by R4 could be advertised to R3, but R3 could not advertise those prefixes to R2. This is a loop prevention mechanism. If you are running an IGP*, you could have each router form a neighbor relationship to every other router, which doesn't scale well. Alternatively, you could set up R2 and R3 as route reflectors.

*Many ISPs that are/were telephone companies still use IS-IS instead of OSPF as their IGP. Either will work fine as an IGP.

  • I believe many new ISPs also choose to use IS-IS as their IGP as it is extensible from day one, can support multiple address families, is simpler in operation (implementations can be perceived to be more stable) and as the provider industry have adopted it as their own, they have a bigger say in changes without having to consider the enterprise market.
    – user27899
    Jul 23, 2018 at 20:06
  • Thanks a lot for this response. Definitely put me on the right path. I've configured iBGP across the AS, have IS-IS running as an IGP, and configured R3 as a route reflector. Appreciated!
    – The_Glidd
    Aug 20, 2018 at 13:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.