问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

BGP路由通告原则详解

创作时间:
作者:
@小白创作中心

BGP路由通告原则详解

引用
CSDN
1.
https://blog.csdn.net/weixin_43483442/article/details/139358318

BGP(Border Gateway Protocol)是互联网中最重要的路由协议之一,负责在不同的自治系统(AS)之间交换路由信息。在上一章中,我们学习了BGP路由的产生方式和查看路由表信息。本章将深入探讨BGP向邻居通告路由时遵循的原则。

BGP自身并不会发现并计算产生路由。BGP通过network、import-route、aggregate聚合方式生成BGP路由后,通过Update报文将BGP路由传递给对等体。那么,BGP向邻居通告路由时遵循哪些原则呢?

BGP通告遵循以下原则:

  • 只发布最优且有效路由。
  • 从EBGP对等体获取的路由,会发布给所有对等体。
  • 从IBGP对等体获取的路由,不会发送给IBGP对等体。
  • BGP同步原则

一、只发布最优且有效(即下一跳地址可达)路由


图1:BGP路由通告原则一

在BGP路由表中同时存在以下两个标志的路由为最优、有效:

    • :代表有效
  1. :代表最优

有效最优路由(即下一跳地址可达)。因为BGP是将IGP路由导入BGP,就有可能在AS内部通过OSPF等多个路径学习到通一条路由,但是只会将最优路由通告。

二、从EBGP对等体获取的路由,会发布给所有对等体

BGP路由通告原则二

从EBGP对等体获取的BGP路由,会发布给所有EBGP、IBGP对等体。

三、从IBGP对等体获取的BGP路由,不会再发送给其他IBGP对等体

第三条原则:从IBGP对等体获取的BGP路由,不会再发送给其他IBGP对等体。该条原则也被称为IBGP水平分割。这条是为了防止IBGP邻居互相通告导致产生环路。

由于IBGP只能传递一跳路由,因此可以通过IBGP全互联,AS内都通过IGP建立IBGP邻居,可以非直连,一跳到达即可。还需要配置IBGP本地出口指定到达目标路由通过自身转发。

四、BGP同步原则

当一台路由器从自己的IBGP对等体学习到一条BGP路由时(这类路由被称为IBGP路由),它将不能使用该条路由或把这条路由通告给自己的EBGP对等体,除非它又从IGP协议(例如OSPF等,此处也包含静态路由)学习到这条路由,该条规则也被称为BGP同步原则。

BGP同步原则


图2:BGP同步原则

BGP路由黑洞,在AS内部通过IBGP建立邻居可以非直连,中间路由无法学习到目标网段,虽然基于TCP可以建立邻居但是数据包需要从物理链路传输,而且路由器基于路由表转发,没有路由条目则会丢弃,因此产生路由黑洞。

解决方法:

  • IGP与BGP同步(已经淘汰)
  • AS内部建立IBGP全互联都学习到BGP路由。
  • 使用MPLS标签隧道转发。

综合来说,如果是AS内部有多出口可以建立IBGP全互联来实现。

总结:BGP路由只通告有效最优路由给邻居。EBGP邻居会发送路由给所有邻居,因为可能产生环路而不会再发送给IBGP邻居,如果AS内部有多出口这种可以建立IBGP全互联。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号