BGP用户培训资料Word下载.docx
《BGP用户培训资料Word下载.docx》由会员分享,可在线阅读,更多相关《BGP用户培训资料Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
BGP运行时刻分别与本自治区域外和区域内的BGP伙伴建立连接(使用Socket)。
与区域内伙伴的连接称为IBGP(InternalBGP)连接,与自治区域外的BGP伙伴的连接称为EBGP(ExternalBGP)连接。
本地的BGP协议对IBGP和EBGP伙伴使用不同的机制处理。
二、BGP协议分析
1、BGP协议的层次位置
BGP,OSPF,RIP,TELNET,SNMP
SOCKET
TCP,UDP
IP,IPX
PPP,X.25等
操作系统
硬件接口及驱动
BGP使用Socket服务建立连接,端口号为179。
2、BGP的消息结构
BGP有4种类型的消息。
分别为OPEN,UPDATE,KEEPALIVE和NOTIFY。
它们有相同的消息头。
⑵OPEN消息结构:
消息头加如下结构:
Version:
(1字节)发送端BGP版本号
MyAutonomousSystem:
(2字节无符号整数)本地AS号
HoldTime:
(2字节无符号整数)发端建议的保持时间
BGPIdentifier:
(4字节)发端的路由器标识符
OptParmLen:
(1字节)可选的参数的长度
OptionalParameters:
(变长)可选的参数
⑶KEEPALIVE消息结构
KEEPALIVE消息只有一个消息头。
⑷NOTIFY消息结构
消息头加如下结构:
01234
01234567012345670123456701234567
Errorcode
Errsubcode
Data
Errorcode:
(1字节)错误代码
错误代码
错误类型
1
消息头错
2
OPEN消息错
3
UPDATE消息错
4
保持时间超时
5
状态机错
6
退出
Errsubcode:
(1字节)辅助错误代码,略。
Data:
(变长)依赖于不同的错误代码和辅助错误代码。
用于诊断错误原因。
⑸UPDATE消息结构
UnfeasibleRoutesLen:
(2字节无符号整数)不可达路由长度
WithdrawnRoutes:
(变长)退出路由
PathAttributeLen:
(2字节无符号整数)路径属性长
PathAttributes:
(变长)路径属性(以下详细说明)
NetworkLayerReachabilityInformation:
(变长)网络可达信息(信宿)
其中退出路由和信宿地址的表示方法为一<
length,prefix>
的二元组。
length一个字节,指示地址前缀的长度。
prefix为地址前缀,长度1至4字节。
3、BGP协议路由属性的应用
路由是用信宿地址来标识的。
路由的属性即UPDATE消息中的路由属性部分,是用来帮助BGP进行路由选择的。
它们在本地BGP选择路由时有不同的作用。
当BGP通过不同的路由源收到了相同信宿地址的路由时,需要进行路由选择。
(1)ORIGIN起点属性
起点属性表示路由相对于发出它的自治系统的路由更新起点。
-IGPBGP把聚合路由和用network定义的路由看成是AS内部的,起点类型设置为IGP。
-EGPBGP把通过EGP得到的路由的起点设置为EGP。
-INCOMPLETEBGP把通过其它IGP协议引入的路由的起点设置为INCOMPLETE。
这是因为引入的路由可能从任何地方来,如OSPF的ASE路由。
BGP在其它因素相同的情况下,按IGP,EGP,INCOMPLETE的顺序选择路由,因为IGP路由的位置更确定,EGP次之,而INCOMPLETE则很不确定。
(2)AS路径属性
路由的AS路径属性记录了此路由所穿过的所有AS区域,它可以避免路由环路的出现,即当BGP把一条路由通告给一个此路由曾穿越过的AS自治区域时,此AS又把这条路由当作新路由来处理了,这也正是困扰EGP问题。
在加入了AS路径属性后,BGP可以根据AS路径属性中的信息来消除路由环路。
BGP不会接受AS路径属性中包含了本AS自治区域号的路由,因为此路由已经被本自治区域处理过了,从而避免了生成路由环路的可能。
为此,BGP在向EBGP对端,即向本AS外部通告一条路由时,要把本AS自治区域的AS号加入的AS路径属性中,以记录此路由通过的AS区域信息。
同时,AS路径属性也在影响路由选择。
显然,在其它因素相同的情况下,应该选择AS路径较短的路由,因为它穿过了较少的自治区域。
这一点并不一定精确,因为穿过了的3个由高速网络构成的AS区域的路由,有可能比穿过了2个低速网络的AS区域的路由更好。
这种情况要求恰当的配置,以在其它的因素中影响路由的选择。
协议不可能自动完成一切,有经验的工程师的合理的配置对优化网络更重要。
在AS路径属性中,AS_SEQUENCE属性的AS路径值表示此AS路径是有顺序关系的。
通过它可以在本生成AS自治区域的拓扑结构图。
当路由被发送到AS自治区域外时,一般要把本区域AS号加入到AS_SEQUENCE序列后。
AS_SET属性是用于路由聚合的,它的AS路径信息无顺序关系,无法生成拓扑结构图,但用于检测AS路由环路是足够用的。
(3)NEXTHOP下一跳属性
对于EBGP,下一跳属性是本地BGP与对端连接的端口地址。
如上图,RTC向RTA通过EBGP通告路由170.10.0.0时,下一跳属性为170.10.20.2;
RTA向RTC通告150.10.0.0的路由时,下一跳为170.10.20.1。
对于IBGP,本地BGP将从EBGP得到的路由的下一跳属性,直接注入IBGP的UPDATE路由更新消息。
上图中,RTA通过IBGP向RTB通告路由170.10.0.0时,下一跳仍然为EBGP中的170.10.20.2,而不是150.10.30.1。
对于RTB,此下一跳信息最终应该通过IGP得到。
对于可以多路访问的网络,下一跳情况有所不同。
在上图中,RTA和RTC运行BGP,AS300中IGP为OSPF。
OSPF通告RTC通过下一跳170.10.20.3可以到达网络180.20.0.0。
RTC在通过EBGP通告RTA路由180.20.0.0时,发现本地端口170.10.20.2和此路由的下一跳170.10.20.3为同一共享子网,因此使用170.10.20.3作为EBGP通告路由的下一跳,而非170.10.20.2。
这种情况,对于NBMA非广播多点可达网络不适用。
将以太网替换为FrameRelay桢中继网和其它NBMA网络,箭头指示方向有PVC永久虚电路。
此时,RTC也发送下一跳为170.10.20.3的180.20.0.0路由给RTA,就会出现问题:
RTA到RTD无可达链路!
为了避免此问题,请使用Next-hop-self命令,强制RTA将路由180.20.0.0的下一跳设置为本地BGP端口地址170.10.20.2。
(4)MED属性
MULTI_EXIT_DISCRIMINATOR就是一条路由的Metric。
当某AS自治区域有多个人口点时,此属性用来帮助选择一个较好的人口点。
即,选择MED较小的人口点。
如上图,网络路由180.10.0.0从RTC、RTD和RTB出发,通过EBGP通告给RTA。
其中RTC的MED为120,RTD的MED为200,RTB的MED为50。
缺省情况下,BGP只比较同一AS区域发送的MED,这是因为不同AS自治区域的度量Metric的方法可能不同,只有相同AS区域的Metric才有可比性。
因此RTA选择MED较小的RTC发送的路由,将2.2.2.1作为路由180.10.0.0的下一跳(RTB的MED更小,但AS路径较长)。
MED属性不会通过AS区域传播,因此,RTA发送路由180.10.0.0时的MED设置为其缺省的0。
也可以使用always-compare-med命令来强制比较同一路由的所有的MED。
上例中,最终会选择RTB作为路由180.10.0.0的下一跳,因为它具有最小的MED。
总之,MED可以帮助本地BGP选择到达某一个AS区域的人口点。
(5)LOCALPREFERENCE本地优先级属性
本地优先级属性用来帮助AS区域内部的路由器,选择到AS区域外部使用的较好的出口。
如上图例,当路由170.10.0.0通过RTC和RTD发送到AS256内部时,RTC将本地优先级设置为150;
RTD将本地优先级设置为200。
这可能是因为RTC连接的AS区域具有较高的速度或收费较低。
因此,AS256内部的路由器选择本地优先级较高的RTC作为得到网络170.10.0.0的下一跳。
和MED相反,较高的本地优先级的路由被选择。
和MED对应,本地优先级用来帮助本地BGP在不同的相邻AS区域中选择较好的退出路由。
在一个自治区域中的所有BGP路由器必须使用IBGP连通起来,已相互通过比较某条路由的本地优先级来就到达此信宿的AS出口点达成一致。
(6)ATOMIC_AGGREGATE元聚合属性
此属性用来表示一条路由是在某处被聚合形成的,丢失了部分信息。
(7)AGGREGATOR聚合者属性
此属性记录了一条路由被聚合的路由器的AS号和IP地址。
综合起来,本地BGP路由选择的过程为:
(1)如果此路由的下一跳不可达,忽略此路由;
(2)选择本地优先级较大的路由;
(3)选择本地路由器始发的路由(本地优先级相同);
(4)选择AS路径较短的路由;
(5)依次选择起点类型为IGP,EGP,INCOMPLETE类型的路由;
(6)选择MED较低的路由;
(7)选择RouterID较低的路由。
4、BGP协议的特点
BGP是一种AS(自治区域)外部路由协议,主要负责本自治区域和外部的自治区域间的路由可达信息的交换。
因此,它所关心的拓扑结构是AS(自治区域)的拓扑结构,BGP通过UPDATE消息中路由的AS属性来构造AS的拓扑结构图,进一步通过此结构图来选择路由。
与