BGP路由黑洞的起因以及路由黑洞的解决方式
BGP路由黑洞的起因以及路由黑洞的解决方式
一、BGP路由黑洞问题背景
BGP,Broad Gateway Protocol,边界网关协议,采用了TCP连接的方式用于在AS之间传递路由信息。作为一个路由协议,如何防止出现路由环路问题是其设计者必须要考虑的问题之一,而正是BGP放环机制,产生了路由黑洞问题。
建立BGP传递路由的路由器被称为BGP对等体,而根据双方所处AS域是否为同一个可以将BGP对等体分为IBGP和EBGP。对于EBGP而言,当其收到一条路由时,它会检查该路由中路径属性中的AS_PATH值,如果发现含有自己AS号的AS_PATH,就代表自己已经从别的地方学习到这条路由,为了防止环路,那么它就不会将这条路由放入自己的路由表中。而对于IGP而言,为了防止AS内出现环路,IBGP设计了水平分割规则。该规则是指:从IBGP学习到的路由,无法传递给其他的IBGP。这样,就避免了IBGP环路的出现。
此外,由于BGP基于TCP建立,因此并不要求IBGP之间必须直线链接,只要IBGP路由器之间互相存在对方的路由,那么他就可以建立IBGP关系。这种模式,既使得BGP建立更加灵活,但是同时也使得在路由信息的传递与数据包的实际路线之间不完全吻合,即路由黑洞问题。
二、什么是路由黑洞问题
IBGP水平分割规则和BGP关系建立过程的特点,也正是因为这两个原因,才导致了BGP路由黑洞问题。所谓BGP路由黑洞问题,实际上就是BGP在路由传递过程中跨过中间路由器,从而导致了在数据包发送的时候中间的路由器无法收到路由信息,从而导致数据包转发失败的现象。
用一张图来说明路由黑洞问题:
描述 BGP 路由黑洞。
使用拓扑图描述:
BGP路由前提条件:
R1 运行 BGP 且 AS 号为 100,指定环回口 1.1.1.1 宣告进 BGP。路由 R2 和 R4 运行 bgp
且 AS 号为 200。R3 不运行 BGP。R2,R3,4,运行 IGP。
分析:
1:R1 会通过 EBGP 把 1.1.1.1 的路由信息传递给 R2。
2:R2 会把收到的路由信息传递给 R4 并指定自己为下一跳。
3:R4 的路由表中有 1.1.1.1 的路由信息,且下一跳为 2.2.2.2。
4:R4 要回包给 R1 的 1.1.1.1 时。会查看下一跳。下一跳是 2.2.2.2。
5:在R4 的BGP 中没有 2.2.2.2 的路由信息。会查找IGP 的路由表信息。
6:R4 查找到到达 2.2.2.2 的时候是通过 R3 过来的。R4 会把数据传递给R3。
7:R3 收到 R4 传递过来的到达 1.1.1.1 的数据包。
8:R3 会查看自己的 IGP 路由表信息。发现自己没有到达 1.1.1.1 的路由信息。会把数据丢弃。
9:这样子 R1 无论如何都无法收到 R4 传递过来的数据,因为数据回传时到达 R3时数据就会被丢弃。无法到达目标地址R1。这样子就形成了BGP 路由黑洞。
解决方法:
可以通过以下达方式解决路由黑洞。
(1)把BGP 路由引入到 IGP
(2)full mesh(全互联)
(3)路由反射器(RR)
(4)BGP 联邦
(5)开启 BGP 同步
(6)MPLS
BGP路由黑洞的解决方法:
1.物理线路的Full Mesh
2.BGP重分布进IGP
3.IGP内所有路由器都运行BGP
4.MPLS/MPLS-VPN
5.Tunnel 6
路由(列表、list、全)路由list、routelist、静态list、staticlist
http://www.zh-cjh.com/wenzhangguilei/2297.html
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。
转载请保留出处: www.zh-cjh.com珠海陈坚浩博客 » BGP路由黑洞的起因以及路由黑洞的解决方式
作者: cjh
手机扫一扫,手机上查看此文章: |
一切源于价值!
其他 模板文件不存在: ./template/plugins/comment/pc/index.htm