一.BGP的几个概念
空闲(IDLE) 等待由管理员发起的START事件
正确,到连接状态
错误,回到空闲状态
连接状态(Connect) 等待TCP的连接是否成功,以期望获得一个对等体 正确,到开放发送OpenSent,同时发送
OpenSent报文
错误,转到行动Active状态,
如连接重新计时器溢处,停在连接状态如发生其他
事件,状态回空闲
行动Active 如果状态在连接和行动状态之间来回转变,表明故
障发生了,TCP没有没有连通。
开放发送OpenSent 等待对等体发来OPEN报文,并进行正确性检查
AS 号
正确,BGP开始发送Keepalive并复位Keepalive计
时器
如TCP断开,回到行动状态
其他错误,回到空闲状态
错误,发送notification报文并回到空闲状态
Open证实 等待一个Keepalive和notofication报文,
如果收到Keepalive报文,进入已建立状态,对等
体磋商完成
如收到notification报文报文,状态回到空闲
如有任何传送中断信息,发送一个notification报文
并回到空闲状态
已建立Established 和对等体开始UPDATE报文交换数据包
如收到UPDATE或Keepalive报文,计时器重新启动
如收到notification报文,系统回空闲状态
附件:
(1) 如果有错误,就发送notification报文,查找其错误代码和错误子码,就可以知道具体的错误信息。
(2) Keepalive报文:在对等体之间交换的周期性报文,判断对等体之间是否可以到达,其推荐的速率为保持时间的间隔的1/3。
(3) UPDATE报文:BGP路由更新消息,包括以下基本部分:
A.网络层可到达性信息(NLRI):以IP前缀路由(表示一个网络)的形式表示正被通告的网络。
B.路径属性:使BGP有能力检测路由循环,BGP路径属性的一个例子是AS路径属性,它是一个路由到达BGP路由器之前所经过的AS号码的序列。从“源”到“目标”
路径属性用于BGP过滤和路由决策过程,由三部分组成《属性类型,属性长度,属性值》,长度可变,属性类型是个2字节的字段,包括1字节属性标记,1字节属性类型代码。
0 1 7 15
属性标记 属性 类型码
属性类型分4类:公认必遵,公认自决,可选过度,可选非过度,由标记属性前两位表示。
标记字段的第一位表示是可选1/公认0,第二位是过度1/非过度的0,第三位表示可选过度属性中的信息是部分的1或是完整的0,第四位规定属性1字节1还是2字节0,标记字段的其他位永远是0.
公认的属性永远是过度的。第二位为“1”
C.不能到达的路由:BGP术语是“已经撤消的路由”
二.其他
1. BGP4只在BGP对话建立之时交换一次选路信息,在这以后,BGP对等体之间只交换网络改变。
2. 在BGP对等体都同意所有的参数而且对话建立好之前,任何选路都无效。
3. AS号码是路径属性的的一部分,由UPDATE报文带
三.BGP能力的协调
1. 一旦建立了BGP会话,对等路由器比较AS号码,并决定它们是在一个AS还是不同的AS的对等体,EBGP和IBGP之间的区别表现为每个对等体如何处理从其他对等体来的路由更新,以及不同的BGP属性在外部与内部炼路上相比的传送方式。
2. 外部BGP对等体在物理连接上是有限制的,如果是逻辑上的连接则称为EBGP多中继,需要额外的配置。而在同一AS之间的对等体路由器物理上的连接是没有限制的,只要这两个路由器存在IP的连通性。不需要额外的配置。
3. BGP的连接为什么要使用loopback地址:本质上对等体的IP地址可以是接口的任何地址,如以太网或串口地址,对等体连接的稳定性依赖所选择的稳定 性。而网卡等都有弊端,CISCO开发了一个loopback地址,是一个虚的地址,并且总能够工作,这样,BGP的对话不依赖于任何可能出现故障的端 口。但不是必须的。如EBGP是直接连接则没有必要设置。
4. BGP会话的鉴别字段是存在OPEN报文的可选参数栏,使用的MD5加密方式。
5. BGP的连续性:为了防止在AS内产生路由循环,BGP不通告内部BGP对等体通过其他IBGP得知的路由,因此,保持一个完整的闭合的IBGP网是很重要的。
6. AS内部同步:BGP必须和IGP同步,BGP的规则说明一个BGP路由器不应该把从内部BGP相邻体得知的目的地通告给外部相邻体,CISCO提供了一 个软件按扭来使BGP取消同步:一个是AS中所有路由器运行全闭合IBGP,任何边界路由器通过BGP自动将信息传递给所有其他的过度路由器。另外,当 AS不是一个过度AS时。
7. 路由更新的源:一是静态连接,注入INTERNET网的路由由BGP路由表固定保存,而动态注入的路由从BGP路由表进和出,如网络变化,可随时知道。动 态注入有两种方式,纯动态(redistribute再分配,所有的IGP路由被再分配到BGP中)和半动态(network网络,某些IGP路由被注入 BGP)
8. 距离默认值次序是:直接连接,静态,EBGP,EIGRP,IGRP,OSPF,ISIS,RIP,EGP,EIGRP,IBGP,BGP LOCALE,未知。CISCO提供了一种方法强制将EBGP置为LOCALE(200)------标记为后门链路,而优先走IGP路由。
9. BGP是一个相当简单的路由协议,在BGP对等体之间通过UPDATE报文进行路由交换,BGP路由器接受UPDATE报文,对报文运行某些策略或过滤, 然后把路由传送给其他BGP对等体。CISCO的BGP执行方法是跟踪一个BGP路由表中所有的更新,这个路由表与IP路由表是分开的,在到同一目的地存 在多个路由的情况下,BGP不把所有这些路由扩散给其对等体,,而是挑选出最好的路由,除了在对等体间传送路由之外,BGP路由器还可以产生路由更新,通 告给属于其自身AS的网络。在系统中产生的本地路由和从BGP对等体得知的最好路由要设置在IP路由表中,用于最终的IP路由判定。
9.1 从对等体收到的路由
BGP从外部或内部的对等体接受路由,这些路由的部分或全部将作成路由器的BGP表格。
9.2 输入策络机制
处理路由过滤和属性控制,过滤是基于不同的参数,如IP前缀,AS路径信息和属性信息,
9.3决策过程
BGP使用一个决策过程来决定它要用哪些路由到达某个目的地,决策过程是基于在经输入策落机制作用后放进路由器的那些路由。决策过程是针对BGP路由表中的路由执行的,以挑选出一个最佳路由。
9.4 路由器使用的路由
由决策过程使用识别的最好的路由是路由器本身使用的,并且是要通告给其他对等体的选择物,也是要放进路由表的。
9.5输出策落机制
也要区别内部和外部的对等体,如从内部对等体得到的路由不应该传道内部对等体,防止产生路由循环。
9.6 通告给对等体的路由
这是通过输出策落机制制造的一套路由,并被通告给BGP对等体,内部或外部。
转载于:https://blog.51cto.com/1841cisco/1251890