当前课程知识点:计算机网络工程实践 > 10 期末考试 > 期末考试题01 > 5.2 BGP工作原理
5.2 BGP工作原理
配置了BGP进程的路由器只能称为BGP发言者,当和其它运行了BGP的路由器相互交换信息,就被称为BGP对等体。一个BGP发言者,并不会主动去发现和寻找其它BGP对等体,BGP的对等体必须手工指定。
BGP路由器在和其它BGP路由器建立对等体时,如果对方路由器和自己属于相同AS,则对等体关系为IBGP对等体,如果属于不同AS,则对等体关系为EBGP对等体。同时,BGP要求EBGP对等体必须直连,而IBGP对等体不一定要求物理直连,但一定要TCP可达。
BGP建立对等体邻接关系后,会通过相互发送Keepalive数据包来维持对等体关系,默认每60秒发送一次,对等体邻接关系保持时间hold timer为180秒。
1、BGP对等体交互过程
如图所示,BGP对等体的交互过程中存在6种状态机:空闲(Idle)、连接(Connect)、活跃(Active)、Open报文已发送(OpenSent)、Open报文已确认(OpenConfirm)和连接已建立(Established)。在BGP对等体建立的过程中,通常可见的3个状态是:Idle、Active和Established。下图也是BGP对等体的交换过程图。
BGP对等体交互过程
(1)Idle状态是BGP初始状态。在Idle状态下,BGP拒绝邻居发送的连接请求。
(2)在Connect状态下,BGP启动连接重传定时器(Connect Retry),等待TCP完成连接。如果TCP连接成功,那么BGP向对等体发送Open报文,并转至OpenSent状态。如果TCP连接失败,那么BGP转至Active状态。
(3)在Active状态下,BGP总是在试图建立TCP连接。
(4)在OpenSent状态下,BGP等待对等体的Open报文,并对收到的Open报文中的AS号、版本号、认证码等进行检查。
(5)在OpenConfirm状态下,BGP等待Keepalive或Notification报文。
(6)在Established状态下,BGP可以和对等体交换Update、Keepalive、Route-refresh报文和Notification报文。
2、BGP路由选优原则
在BGP路由表中,到达同一目的地可能存在多条路由。此时BGP会选择其中一条路由作为最佳路由,并只把此路由发送给其对等体。当到达同一目的地存在多条路由时,BGP依次对比下列属性来选择路由:
(1)优选协议首选值((PrefVal)最高的路由。
(2)优选本地优先级(Local_Pref)最高的路由。
(3)依次优选手动聚合路由、自动聚合路由、network命令引入的路由、import-route命令引入的路由、从对等体学习的路由。
(4)优选AS路径(AS_Path)最短的路由。
(5)依次优选Origin类型为IGP、EGP、Incomplete的路由。
(6)对于来自同一AS的路由,优选MED值最低的路由。
(7)依次优选EBGP路由、IBGP路由。
(8)优选到BGP下一跳IGP度量值(metric)最小的路由。
(9)优选Cluster_List最短的路由。
(10)优选Router ID最小的设备发布的路由。
(11)优选从具有最小IP Address的对等体学来的路由。
3、BGP对等体交互原则
BGP设备将最优路由加入BGP路由表,形成BGP路由。BGP设备与对等体建立邻居关系后,采取以下交互原则。
² 从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体。
² 从EBGP对等体获得的BGP路由,BGP设备发布给它所有EBGP和IBGP对等体。
² 当存在多条同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体。
² 路由更新时,BGP设备只发送更新的BGP路由。
² 所有对等体发送的路由,BGP设备都会接收。
4、BGP对等体交互环路避免
BGP路由协议属于距离向量协议,会产生路由环路,而且BGP路由协议是建立在TCP连接之上的,TCP连接采用点对点单播方式传送报文,因此,BGP连接只能是基于点对点的连接,采用单播方式传送报文。
² 为了防止产生BGP路由环路,BGP发言者从EBGP对等体获得路由后,会向所有的BGP对等体(包括EBGP和IBGP对等体)通告这些路由,但对等体不会将学习到的路由再向原发布者发布。
² 为了防止产生BGP路由环路,BGP协议规定,BGP发言者从IBGP对等体获得的路由不会向其它的IBGP对等体发布。这样,在运行了BGP协议的AS内,为了确保所有的BGP路由器的路由信息相同,则需要使所有的IBGP路由器保持全连接。
5、BGP同步与路由黑洞
BGP同步是指IBGP协议和IGP协议之间的路由同步。目的是为了防止在某些情况下“路由黑洞”的出现。华为路由器默认关闭BGP同步。
所谓路由黑洞,是指由于中转路由域不存在转发数据需要的路由信息而导致数据包在中转域丢失的现象。
如图所示,AS100和AS300经AS200中转,路由器之间运行BGP协议并建立EBGP和IBGP连接。AS100和AS300中的BGP路由信息经AS200互相传递,而由于AS200中AR3路由并没有运行BGP路由协议而没有获得其他路由域的路由信息,因此通过此网络传递信息时,路由器AR3将丢弃相关AS100与AS300之间的传递信息。
图5-5 BGP转发路由黑洞
开启BGP同步可以避免路由黑洞的情况发生,但是,如果能够确保报文转发路径上有相应的IGP路由,则没有必要开启BGP路由同步。比如,当AS内路由器建立了IBGP全连接,所有路由器都有物理直达的IBGP连接,则不会产生个别路由缺省的情况,因此不需要开启BGP同步。
备注:为了解决BGP路由环路问题和路由黑洞问题,最好的方式是通过在AS内部建立全连接的IBGP连接。然而,随着网络规模的扩大,AS内部路由器越来越多,要保证AS内部全连接,IBGP连接将会大量增加。为解决这个问题,可以采取BGP路由器反射技术和BGP联盟技术来减少IBGP连接,实现IBGP的连通性问题。后面介绍BGP路由器反射技术和BGP联盟技术。
-1.1 计算机网络基础
-1.3 网络路由技术
-1.4 局域网技术
-1.5 ACL技术
-1.6 NAT技术
-第1章作业:计算机网络互联基础
-2.1 高级VLAN技术
-第2章作业:局域网高级技术
-(3.4-3.8) 各类网络互联实践-拓扑图及初始配置
--(3.4-3.8)-1 各类网络互联配置实践-拓扑图构建
--(3.4-3.8)-2 各类网络互联配置实践--初始配置
-3.4 X.25 网络
-3.6 FR网络
-3.7 ATM网络
-3.8 SDH网络
-第3章作业:城域网和广域网技术
-4.4 OSPF 路由协议
-4.5 ISIS路由协议
-第4章作业:内部路由技术
-5.4 BGP路由配置实践
-第5章作业:外部路由协议
-6.6 路由控制实践
-第6章作业:路由控制技术
-7.3 出口选路控制实践
-第7章作业:出口选路控制
-8.3 VRRP技术及其实践
-第8章作业:网络可靠性技术
-9.4 防火墙配置示例
-第9章作业:防火墙技术
-期末考试题01