nanog mailing list archives

Re: BGP and OSPF


From: Jean-Yves Le Boudec <jean-yves.leboudec () epfl ch>
Date: Mon, 13 Oct 2003 15:12:00 +0200



I have received many very helpful responses to that question. In summary, the majority common practice for the case I presented seems to be:

1. run BGP on all routers in the core, even those that do not have interfaces to the outside of the AS. Here, this means R0 should run BGP.

2. This causes a potential scaling problem since I-BGP requires a full mesh. The problem is solved by having some core routers (here: R0) be route reflectors.

3. Running MPLS over R0 is also an option but the majority recommends not to do it (more complex than running BGP everywhere).


Thanks to all contributions !

JY

At 12:00 09.10.2003, Jean-Yves Le Boudec wrote:
It is known that redistribution of routes learnt by BGP into an IGP is
considered harmful, but I am still wondering how you can route
without redistribution of BGP routes in an OSPF cloud that
connects to several external networks. I have the following
scenario.


      RA (AS100)  |    RB (AS101)

  ------------------------

      R1       R2

          R0        (AS559)

      R3       R4

   ------------------------

      RC (AS201)  |    RD (AS202)



All routers except R0 run BGP. R0--R4 are in the same AS and run
OSPF. RA-RD are all in distinct ASs.  RA is BGP peer to R1, RB to
R2, RC to R3 and RD to R4. The addresses and numbers are fake. The
ASs are peers, not customers.

Assume that R1 learns a route to a network in AS100, says 1.1/16,
with next hop = 3.3.3.1 (the IP address of the p2p link R1-RA).
Now assume a data packet with destination address in 1.1/16 is
received by any router in AS559, say for example R0 or R4. The
router has to know where to forward it. Since AS559 connects to
different peer ASs in different locations, it does not seem
feasible to use default routes.


(Method 1) One way to is to assume that R1 redistributes the route
1.1/16 into OSPF, which will then propagate it as a type 4 LSA.
Then R0 and R4 can build a forwarding table (using OSPF) and set a
forwarding entry to 1.1/16. This method is what is described in
Huitema's book "Routing in the Internet". Now I understand that
this is not done in practice (I am right ?) since it forces OSPF
to carry all the IP prefixes seen by BGP, which in that case might
be all prefixes in the world.

(Method 2) An alternative is to have recursive table lookup in
forwarding entries at all border routers (R1 to R4). R4 writes
that the destination address 1.1/16 is to be sent to NEXT-HOP =
3.3.3.1. R4 learns this over I-BGP from R1. The data packet with
destination address in 1.1/16 uses loose source routing inside
AS559 and is sent to the link R1-RA. The job of OSPF is only to
propagate how to route to all addresses in AS559 (including
3.3.3.1) and there is  no redistribution of BGP into OSPF. Border
routers need to update the forwarding tables using their RIB
learnt from BGP.

Now source routing is obsolete in IPv4, does any one use it ?

(Method 3) Same as method 2, but IP in IP encapsulation is used
instead of loose source routing. Seems heavy weight for a high
speed backbone.

(Method 4) Same as method 2, but Tag Switching (or MPLS) is used
instead of loose source routing.


Can any one help me understand what is done in practice among
Methods 1 to 4, or any other one that I missed ?


Thanks in advance,  JL


Current thread: