因此,计划是,两个核心路由器分别与两个具有完整路由的ISP之一进行eBGP会话。两个路由器都将它们的完整表互相发布,以便它们可以通过iBGP更加智能地控制流量。

出于争论的缘故,三个访问路由器都有通往每个核心路由器的路径。我打算配置iBGP并从每个核心路由器发布默认路由,以使它们具有一定的抵御硬件故障的能力,并使用过滤器来控制实际将哪些路由发送到访问设备。

我听说人们通常将OSPF用于其IGP,当然其中有一个特定情况。

我的问题是:用OSPF替换iBGP的好处是什么?

评论

有什么答案对您有帮助吗?如果是这样,您应该接受答案,这样问题就不会永远弹出来寻找答案。或者,您可以发布并接受自己的答案。

#1 楼

iBGP需要完整的网状网络或使用缓解措施,例如联盟或路由反射器,BGP不会像OSPF的速度之类的东西收敛。不需要完全的网格就可以在其所在的区域中进行,并且收敛非常非常快。

建议在iBGP中使用IGP。没有IGP,iBGP必须在面向外部的接口上邻居,而使用IGP,iBGP可以在永不中断的环回接口上邻居,并且可以有多个路径到达。
进行本地路由,但更加困难和脆弱。

#2 楼

首先,我会对有人认为OSPF的收敛速度比BGP快的说法提出异议,但稍后会更多。首先要回答OP问题。

您都想要。

iBGP设计为在路由器的环回接口之间运行,但它并不能(至少无需进行调整和翻转即可)。旋钮)更改其发布的路由的任何属性(包括下一跳)。

这意味着什么呢?

我们将边界路由器称为路由器A ,路由器B和您要争用的三个访问路由器路由器1,路由器2和路由器3。

路由器A和B从上游获取完整的Internet数据,并将下一跳设置为互连链路上上游的接口地址。当这些路由通过iBGP传递时,除非再次进行调整,否则路由器1、2和3接收到的路由的下一跳仍然是该互连链路远端的IP地址。
<路由器将进行递归查找,以找到该IP地址的路径,然后在转发表中安装该路由时使用该下一跳。 “但是,”您说,“我将使用下一跳自我。”请参阅下一个段落。

“但是,”您可能还会说,“我只是将默认值发布到路由器1、2和3。”好的,但是该默认路由必须来自某个地方...如果它已经是一个默认路由(例如静态路由),它将使用下一跳。如果它是生成的默认值,则可能会将iBGP会话运行的回送地址用作下一跳。同样,在路由器1、2和3中,这不会被视为接口或直接连接的路由,因此它们仍必须进行递归查找才能找到它。

您需要运行某种IGP(例如OSPF,IS-IS或EIGRP),或者甚至只是很多管理方面的烦恼静态操作,才能实现递归查找的工作。 />
“但是,”您再说一遍,“我将在接口地址而不是环回上运行iBGP会话。好吧,但是现在您的BGP对等会话取决于该接口是否可以正常工作。因此,例如,如果路由器1和路由器A之间的接口发生故障,则在该接口上运行的iBGP对等会话也将发生故障,但是路由器1仍然具有将流量发送到路由器A的能力,只需通过路由器B即可。希望iBGP会话即使在这些接口断开的情况下也保持正常运行,因为您的最终下一跳仍在yonder之上,并且在yonder上仍可以通过另一条路径到达... OSPF(我使用OSPF,但是您可以将IS- IS和EIGRP在您在此处看到OSPF的任何地方)都将找出其他内部路径,并在递归查找中照顾正确构建转发表。

因此,是的,您可能可以调整足够的旋钮并获得无需任何IGP设置即可运行的纯iBGP设置...但是请不要...这将需要很多工作,几乎可以肯定, flakey。

如果您是纯Cisco商店,请帮自己一个忙,打开OSPF或IS-IS,甚至EIGRP(但请考虑是否真的要接受该供应商的锁定,如果这样做的话...考虑将来使用其他供应商设备的潜在决定...即使只是为了使思科对您的价格诚实。在路由器之间的所有接口上都将其打开,并使用被动设置在上游连接上进行设置,也可能在访问路由器的下游使用被动设置进行设置。然后在回送之间设置您的iBGP对等体。考虑使用路由反射器(可能在路由器A和B上)来减少所需的配置工作...在大约5台路由器上开始这样做很有意义。

这确实是最明智的方法。

现在,达到协议收敛速度。

由于这些协议的常见用例,大多数人认为BGP慢而OSPF(或其他任何东西)快。人们通常将完整的Internet或至少其中的很大一部分拉入BGP,而仅处理OSPF中的内部路由(10到100 s,可能进入几千条路由)。因此,假设您将Internet路由的一半拉入BGP ...尝试构建具有250,000条以上路由的OSPF区域,然后让我知道这对您有何帮助。让我们看一下它的收敛速度是否比BGP快...或者除非您的路由器上有一个非常强大的控制平面,否则

在给定的情况下,BGP经常可以比OSPF和其他协议,至少取决于您如何衡量它。如果在广播网络中包括OSPF的邻居发现功能,则BGP肯定会赢得类似的混合路由。

另一个区别是BGP将在完成路由之前将路由放入路由和转发表中(重新)收敛,这可能是一个好处,而OSPF实现几乎肯定会等到最后,才开始将路由放入路由和转发表中。有时将部分路由集合收敛会很有用。有时不是。

评论


我认为您正在使此过程变得不必要的复杂。,虽然我一般不会对您的评论提出异议,但在这种情况下,添加IGP并不会带来任何好处。在这种情况下,BGP将默认路由通告给访问路由器。这是内部还是外部途径都无关紧要。流量将流向路由器A或路由器B。添加OSPF并不会使路由变得更容易或更快速。如果要发布默认路由,则将环回地址用于iBGP对等端并不会带来太大收益。-如果到A的链接断开,则没有理由将流量发送到A.

–罗恩·托恩(Ron Trunk)
15年8月15日在21:44

即使A是最佳的出口路径,流量仍然会通过B到达那里。如果您在接口上使用带环回功能的iBGP或使用IGP,这是正确的。

–罗恩·托恩(Ron Trunk)
15年8月15日在21:45

您没看错,但是即使路由器网关A和B的环回手动设置为“ IGP”,它也必须具有某种“ IGP”。而且,诚然,我对BGP和OSPF的运行非常满意,因此我想为将来的验证做准备(即,有一些很好的论据允许这些Internet路由向下到达路由器1、2和3,因此他们可以更好地决定使用哪个出口,从而决定将路由器A或B转发到哪个出口。而且,是的,即使没有完整的IGP也可以完成此操作,但实际上并没有增加太多的复杂性即可使它更干净。

–杰夫·麦克亚当斯
15年8月15日在21:50

您没有解决OP的问题:“用OSPF替换iBGP有什么好处?”使用iBGP运行IGP是首选方法,但是问题是特定的,不是您要回答的问题。

–罗恩·莫潘♦
15年8月15日在23:08

#3 楼

尽管@RonMaupin所说的一切都是正确的,但在您的特殊情况下,只有五个路由器,通过添加另一个路由协议并没有太多收获。

由于您没有完整的网格,因此必须将核心路由器配置为路由反射器。

唯一真正的缺点是BGP的收敛速度比OSPF慢,但是有一些方法可以最大程度地减少这种不足。

评论


除非将核心路由器配置为路由反射器,否则我不确定是否有完整的网格。 OP并未对连接到其他每个接入路由器的三个接入路由器中的每一个都说任何话,只说了核心路由器。需要实现全网格或缓解。

–罗恩·莫潘♦
15年8月14日在17:36

你是对的。我看错了。我将编辑答案。

–罗恩·托恩(Ron Trunk)
15年8月14日在17:38

对于您关于全网的建议,我不清楚您的意图,但是要澄清一下……全网的要求是针对iBGP会话的,实际上不是连通性。即使两个路由器之间没有直接的链接,它们之间也应该有一个iBGP对等会话,因为IGP将递归地将下一跳解析为到达iBGP对等体所需的任何中间路由器。路由反射是大约5条路由的一个好主意,只是为了减少所涉及的管理工作,它实际上与物理连接路径无关。

–杰夫·麦克亚当斯
2015年8月15日在21:07



没有完整的网格(逻辑或物理)或缓解措施,iBGP会陷入路由麻烦,因为AS-PATH不会更新,因此iBGP不会发布从iBGP对等体学到的路由。接入路由器A将永远不会学习源自接入路由器B和C的路由。路由反射器可缓解这种情况。 iBGP始终具有完整的网格要求。

–罗恩·莫潘♦
2015年8月15日在22:12



方案:访问路由器一条活动的默认路由转到核心路由器1,并且从访问路由器B到核心路由器1的链接断开。当访问路由器A上的主机希望发送到访问路由器B上的主机时,会发生什么情况。流量永远不会到达访问路由器B,因为核心1不再具有到访问路由器B的路由,因为它无法从核心学习这些路由路由器2。iBGP需要完整的网状网或缓解网状结构,并且一直都需要。

–罗恩·莫潘♦
15年8月15日在22:59