我们有一个简单的多宿主设置,使用两台路由器将我们的AS广告给两个ISP。 第二个ISP(ISP B)只在ISP A故障时用于备份,所以我们在这个路由上添加了3次AS。
注:这些是示例ASN,不是真正的。

今天早上,我花了几个小时的时间在整个互联网上寻找玻璃路由器,他们都没有列出我们的备用path。 我检查了南非互联网交换,伦敦互联网交换,俄勒冈互联网交换和几十个互联网服务供应商。 他们都有通过ISP A的多重路由,经常有3或4跳。 通过ISP B的路线至less应该出现在某处,并且有5或6跳。 但我找不到任何地方。 (我检查了玻璃路由器上的完整bgp表,使用show ip bgp 65000 )
我的问题是:
我们的两台路由器连接在iBGP上。 是否有可能通过ISPB的路由不公布,因为IBGP会话偏好通过ISPA的路由? 这是不存在的地图和广告地图应该做的,但没有一个在任何路由器中使用。
1.)一个给定的BGP发言路由器被呈现为来自多个对等体的相同前缀,然后它将只传播这些path中最好的(按照BGP的pathselect规则)。 在你的情况下,这意味着,如果某个远程路由器同时看到普通路由和前置路由,它将只通过普通路由传递给它的邻居。 通告路由器将有两个path在“sh ip bgp abcd”但其邻居不会。
1a)。您看不到前置路由的事实并不意味着备份将不起作用。 在表中既有前置路由又有非前置路由的路由器通常只会发布非前置路由,但是如果非前置路由被撤销/超时,则会立即提供前置路由。
在你的备份路由器上试试这个命令: sh ip bgp neighbors xyzq advertised-routes ,看看到底发送了什么给你的提供者。
2.)很难说如果不知道你是如何发起(和处理)你的前缀的话,iBGP对等会有什么影响。 在这些路由器之间是否需要IBGP对等体?
3.) advertise-map命令将根据另外一个前缀的存在,使特定的前缀被通告。 举例来说,只要10.0.0.0/8存在,就可以通告10.128.0.0/16。 同样,当另一个前缀不存在时, non-exist-map将公布特定的前缀。 基本的多宿主设置也不需要。
最终,最好的testing是要花时间closures你的主要路线,以确认备份将采取交通。
哦,顺便说一句 – 你是在广告真正的PI空间还是提供者的聚合之一的问题的前缀部分? 最长的比赛胜过一切。