《BGP用户培训汇报材料》由会员分享,可在线阅读,更多相关《BGP用户培训汇报材料(21页珍藏版)》请在金锄头文库上搜索。
1、WORD BGP用户培训材料AS- Autonomous System使用一样路由管理策略的区域BGP- Border Gateway ProtocolDefined in RFC 1771CIDR- Classless Interdomain Routing无类型的域间选路EGP- Exterior Gateway ProtocolDefined in RFC 904IGP- Internal Gateway ProtocolAS部的路由协议EGP- External Gateway ProtocolAS外部的路由协议,对应于IGP一、概述BGP是一种自治系统间的动态路由发现协议,它的基本功
2、能是在自治系统间自动交换无环路的路由信息。与OSPF和RIP等在自治区域部运行的协议对应,BGP是一类EGP(Edge Gateway Protocol)协议,而OSPF和RIP等为IGP(Interior Gateway Protocol)协议。BGP是在EGP应用的基础上发展起来的。EGP在此以前已经作为自治区域间的路由发现协议,广泛应用于NFSNET等主干网络上。但是,EGP被路由环路问题所困扰。BGP通过在路由信息中增加自治区域(AS)路径的属性,来构造自治区域的拓扑图,从而消除路由环路并实施用户配置的策略。同时,随着INTERNET的飞速发展,路由表的体积也迅速增加,自治区域间路由信
3、息的交换量越来越大,都影响了网络的性能。BGP支持无类型的区域间路由CIDR(Classless Interdomain Routing),可以有效的减少日益增大的路由表。BGP运行时刻分别与本自治区域外和区域的BGP伙伴建立连接(使用Socket)。与区域伙伴的连接称为IBGP(Internal BGP)连接,与自治区域外的BGP伙伴的连接称为EBGP(External BGP)连接。本地的BGP协议对IBGP和EBGP伙伴使用不同的机制处理。二、BGP协议分析1、BGP协议的层次位置BGP,OSPF,RIP,TELNET,SNMPSOCKETTCP,UDPIP,IPXPPP,X.25等操作
4、系统硬件接口与驱动BGP使用Socket服务建立连接,端口号为179。2、BGP的消息结构BGP有4种类型的消息。分别为OPEN,UPDATE,KEEPALIVE和NOTIFY。它们有一样的消息头。OPEN消息结构:消息头加如下结构:Version :(1字节) 发送端BGP版本号My Autonomous System :(2字节无符号整数) 本地AS号Hold Time :(2字节无符号整数) 发端建议的保持时间BGP Identifier :(4字节) 发端的路由器标识符OptParmLen :(1字节) 可选的参数的长度Optional Parameters :(变长) 可选的参数KE
5、EPALIVE消息结构KEEPALIVE消息只有一个消息头。NOTIFY消息结构消息头加如下结构:0 1 2 3 40 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7ErrorcodeErrsubcodeDataErrorcode :(1字节) 错误代码错误代码错误类型1消息头错2OPEN消息错3UPDATE消息错4保持时间超时5状态机错6退出Errsubcode :(1字节) 辅助错误代码,略。Data :(变长) 依赖于不同的错误代码和辅助错误代码。用于诊断错误原因。UPDATE消息结构Unfeasible Rou
6、tes Len :(2字节无符号整数) 不可达路由长度Withdrawn Routes :(变长) 退出路由Path Attribute Len :(2字节无符号整数) 路径属性长Path Attributes :(变长) 路径属性(以下详细说明)Network Layer Reachability Information :(变长) 网络可达信息(信宿)其中退出路由和信宿地址的表示方法为一 的二元组。length一个字节,指示地址前缀的长度。prefix为地址前缀,长度1至4字节。3、BGP协议路由属性的应用路由是用信宿地址来标识的。路由的属性即UPDATE消息中的路由属性部分,是用来帮助B
7、GP进行路由选择的。它们在本地BGP选择路由时有不同的作用。当BGP通过不同的路由源收到了一样信宿地址的路由时,需要进行路由选择。(1)ORIGIN起点属性起点属性表示路由相对于发出它的自治系统的路由更新起点。IGPBGP把聚合路由和用network定义的路由看成是AS部的,起点类型设置为IGP。EGPBGP把通过EGP得到的路由的起点设置为EGP。INCOMPLETEBGP把通过其它IGP协议引入的路由的起点设置为INCOMPLETE。这是因为引入的路由可能从任何地方来,如OSPF的ASE路由。BGP在其它因素一样的情况下,按IGP,EGP,INCOMPLETE的顺序选择路由,因为IGP路由
8、的位置更确定,EGP次之,而INCOMPLETE则很不确定。(2)AS路径属性路由的AS路径属性记录了此路由所穿过的所有AS区域,它可以避免路由环路的出现,即当BGP把一条路由通告给一个此路由曾穿越过的AS自治区域时,此AS又把这条路由当作新路由来处理了,这也正是困扰EGP问题。在加入了AS路径属性后,BGP可以根据AS路径属性中的信息来消除路由环路。BGP不会接受AS路径属性中包含了本AS自治区域号的路由,因为此路由已经被本自治区域处理过了,从而避免了生成路由环路的可能。为此,BGP在向EBGP对端,即向本AS外部通告一条路由时,要把本AS自治区域的AS号加入的AS路径属性中,以记录此路由通
9、过的AS区域信息。同时,AS路径属性也在影响路由选择。显然,在其它因素一样的情况下,应该选择AS路径较短的路由,因为它穿过了较少的自治区域。这一点并不一定精确,因为穿过了的3个由高速网络构成的AS区域的路由,有可能比穿过了2个低速网络的AS区域的路由更好。这种情况要求恰当的配置,以在其它的因素中影响路由的选择。协议不可能自动完成一切,有经验的工程师的合理的配置对优化网络更重要。在AS路径属性中,AS_SEQUENCE属性的AS路径值表示此AS路径是有顺序关系的。通过它可以在本生成AS自治区域的拓扑结构图。当路由被发送到AS自治区域外时,一般要把本区域AS号加入到AS_SEQUENCE序列后。A
10、S_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
11、,而不是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桢中继网和
12、其它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。
13、其中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的下
14、一跳,因为它具有最小的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在
15、不同的相邻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(自治区域)外部路由协议,主要负责本自