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
< major snip >
(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.
No. Don't.. Please. I've seen enough networks that break with IGP<->BGP redists.
(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.
This is the way to do it. Recursive route lookup++ What you can even do is to reduce your IGP table entries: 1) Have all of your 'edge'/'border' routers set next-hop-self on their IBGP peering to core routers. This will eliminate the need for 'DMZ' or '/30 pointopoint (whatever u wanna call it)' routes to exist in IGP tables. Smaller IGP = Faster convergence = more stability = more SLA guarantee = more revenue :) 2) Have your edge/border routers become route reflector clients and the R0 or the routers sitting at the core would act as route reflectors. This way you don't have to keep adding up IBGP peers all over your network as you add more routers at your edge.
Now source routing is obsolete in IPv4, does any one use it ?
Not that I know of... At least not me.
(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.
Yikes.
(Method 4) Same as method 2, but Tag Switching (or MPLS) is used instead of loose source routing.
Are we talking about IGP vs. EGP or are we talking about MPLS vs. other transport mechanisms?
Can any one help me understand what is done in practice among Methods 1 to 4, or any other one that I missed ?
Method 2. Please for the love of god, don't even try Method 1, that's quite bad. -hc -- Haesu C. TowardEX Technologies, Inc. Consulting, colocation, web hosting, network design and implementation http://www.towardex.com | haesu@towardex.com Cell: (978)394-2867 | Office: (978)263-3399 Ext. 170 Fax: (978)263-0033 | POC: HAESU-ARIN
You can avoid the problem by making all your BGP speaking routers your core routers (make sure they have direct adjacencies). Make non BGP speaking routers leaf nodes and avoid providing BGP transit sessions across them. Mike. On Thu, 9 Oct 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
+----------------- H U R R I C A N E - E L E C T R I C -----------------+ | Mike Leber Direct Internet Connections Voice 510 580 4100 | | Hurricane Electric Web Hosting Colocation Fax 510 580 4151 | | mleber@he.net http://www.he.net | +-----------------------------------------------------------------------+
By definition, R0 should run BGP, or, R1-4 should be meshed and exchange BGP with each other. If R1-4 are meshed, then, it doesn't completely matter which of R1-4 R0 defaults to, they will handle it from there. If they are not properly meshed, then, it gets messy, but, the protocol spec. says as much. Owen --On Thursday, October 9, 2003 12:00 PM +0200 Jean-Yves Le Boudec <jean-yves.leboudec@epfl.ch> 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
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
participants (4)
-
Haesu
-
Jean-Yves Le Boudec
-
Mike Leber
-
Owen DeLong