1、BGP路由协议Page 2第二章第二章 BGP路由属性路由属性BGP 协议概述协议概述BGP是外部路由协议,用来在AS之间传递路由信息是一种增强的距离矢量路由协议可靠的路由更新机制丰富的Metric度量方法从设计上避免了环路的发生为路由附带属性信息支持CIDR(无类别域间选路)丰富的路由过滤和路由策略Page 3BGP 可靠的路由更新 传送协议:TCP,端口号179 无需周期性更新 周期性发送keepalive报文效验TCP的连通性 路由更新:只发送增量路由Page 4自治系统(Autonomous System)什么是自治系统(AS)?为什么引入自治系统这一概念?自治系统内部的路由协议IGP
2、自治系统之间的路由协议 EGPPage 5AS65001AS65000BGPRIPOSPFBGP路由传递Page 6AS1AS7AS6AS5AS4AS3AS2BGP两种邻居IBGP和EBGPPage 7EBGPEBGPRTBRTCIBGPRTARTDRTEAS100AS300AS200BGP路由通告原则路由通告原则 多条路径时,BGP Speaker只选最优的给自己使用 BGP Speaker只把自己使用的路由通告给对等体 BGP Speaker从EBGP获得的路由会向它所有BGP对等体通告(包括EBGP和IBGP)连接一建立,BGP Speaker将把自己所有BGP路由通告给新对等体Page
3、 8BGP路由通告原则路由通告原则Page 92、注入直连路由1、注入直连路由RTARTBRTCRTDAS100AS200S0:11.1.1.1/16S0:11.1.1.2/16E0:11.2.1.1/16E0:11.2.1.2/16L1:1.1.1.1/8L2:10.1.1.1/8L2:11.4.2.1/24S0:11.4.1.1/24S0:11.4.1.2/24BGP路由通告原则路由通告原则 BGP Speaker 从IBGP获得的路由不会通告给它的IBGP邻居。Page 10AS 42AS 12AS 14R-14R-12RTARTBRTDRT-CX 12 EBGPIBGPX 12 X 1
4、2 在IBGP对等体相互通告路由的过程中,BGP属性不会做任何改变。那么,AS内部的路由环路问题应如何避免?BGP路由通告原则路由通告原则 BGP Speaker 从IBGP获得的路由是否通告给它的EBGP对等体要依IGP和BGP同步的情况来决定Page 11EBGPEBGPRTBRTCIBGPRTARTDRTERTFS0:1.1.1.2/24L0:10.1.1.1/24S0:1.1.1.1/24S1:2.1.1.2/24S0:2.1.1.1/24AS100AS200AS300IBGP全连接所有IBGP对等体物理意义物理意义的全连接所有IBGP对等体逻辑意义逻辑意义的全连接Page 12AS
5、12AS 14R-14R-12Rtr-ARtr-BRtr-DRtr-CX 12 EBGPIBGPX 12 X 12 AS 42成为BGP路由的途径之一:纯动态注入Page 1318.0.0.1/8OSPFRTBAS200OSPF发现路由18.0.0.1/8把IGP(OSPF)发现的路由纯动态地注入到RTB的BGP路由表中成为BGP路由的途径之二:半动态注入Page 1418.0.0.1/8RTBAS200OSPFOSPF发现路由18.0.0.1/8把IGP(OSPF)发现的路由半动态地注入到RTB的BGP路由表中成为BGP路由的途径之三:静态注入Page 1518.0.0.1/8AS200人为
6、配置静态路由18.0.0.1/8把人为配置的静态路由注入到RTB的BGP路由表中RTBBGP报文种类 BGP报文有四种类型:Open:打招呼“你好,跟我交个朋友吧!”KeepAlive:我还活着呢,别不理我 Update:有新闻.Notification:我不跟你玩了!Page 16BGP报文头 BGP报文的格式是一样的,都是”报文头+报文体“的格式,下面给出的是BGP报文头:Page 17Marker(16 byte)Length(2 byte)Type(1 byte)Open报文 Open报文是由报文头加如下结构构成的。Page 18Optional Paramenters LengthH
7、old TimeVersionMy Autonomous SystemBGP IdentifierOptional ParamentersKeepAlive报文 KeepAlive报文只有报文头。Page 19Marker(16 byte)Length(2 byte)Type(1 byte)Update报文 Update报文由报文头加如下结构构成。Page 20Withdrawn RoutesUnfeasible Routes LengthPath Attribute LengthNetwork Layer Reachability InformationPath AttributeNotif
8、ication报文报文 Notification报文由报文头加如下结构构成。Page 21DataError CodeError Subcode错误代码123456错误类型消息头错OPEN消息错UPDATE消息错保持时间超时状态机错退出BGP协议的状态机协议的状态机Page 22ActiveOpen-sentOpen-confirmEstablishedIdleConnectConnect-Retrytimer expiryTCP connection failsConnect-Retrytimer expiryStartOthersTCP connection failsErrorError
9、ErrorKeepAlivetimer expiryKeepAlive packet received1.KeepAlive timer expiry2.Update received3.KeepAlive receivedCorrect OPENpacket receivedTCP connection setupTCP connection setupOthersBGP协议中消息的应用 通过TCP建立BGP连接时,发送open消息 连接建立后,如果有路由需要发送或路由变化时,发送UPDATE消息通告对端路由信息 稳定后此时要定时发送KEEPALIVE消息以保持BGP连接的有效性 当本地BG
10、P在运行中发现错误时,要发送NOTIFICATION消息通告BGP对端Page 23Page 24第一章第一章 BGP路由协议的原理路由协议的原理BGP的路由属性的路由属性Page 25表达了路由的特征过渡和非过渡的必遵和可选的便于扩展截至目前共16种属性常见BGP路由属性Page 261、Origin2、AS-Path3、Next hop4、MED5、Local-Preference6、Atomic-Aggregate7、Aggregator8、Community9、Originator-ID10、Cluster-List11、Destination Pref(MCI)12、Advertis
11、er(Baynet)13、Rcid-Path(Baynet)14、MP_Reach_NLRI15、MP_Unreach_NLRI16、Extended_Communities起起源(Origin)属性属性 一般的,具体的实现按如下方式决定一条路由的Origin属性 某条路由是直接而具体的注入到BGP路由表中的,则origin属性为IGP 路由是通过EGP得到的,则origin属性为EGP 其他情形下,Origin属性都为 IncompletePage 27AS路径(AS-Path)属性Page 28D(18.0.0.0/8)AS200AS300AS400AS100AS500RTARTB30.0
12、.0.130.0.0.2D,dl 400 300 200D,d2 500 200 D,d1 400 300 200D,d2 500 200问题?Page 29AS 21310.0.0.0/8AS 387Network=10.0.0.0/8AS-Path=213 RTARTCRTBNetwork=10.0.0.0/8AS-Path=387 213?RTA会学到这条路由吗?预先规划AS-PathPage 30AS 12310.0.0.0/8AS 462AS 3872 Mbps64 kbps最后路径最后路径Network=10.0.0.0/8AS-Path=123Network=10.0.0.0/8
13、AS-Path=123 123 123Network=10.0.0.0/8AS-Path=462 123默认选择默认选择用发送端的用发送端的ASnumber来扩展来扩展 AS-path长度长度RTARTB2 Mbps下一跳(Next Hop)属性Page 3118.0.0.0/820.0.0.0/8RTARTCRTBRTD19.0.0.0/821.0.0.221.0.0.110.0.0.210.0.0.310.0.0.1AS100AS200IBGPIBGPEBGP RTB可经下一跳10.0.0.2到达18.0.0.0/8可经下一跳10.0.0.3到达20.0.0.0/8 RTA可经下一跳10.
14、0.0.2到达18.0.0.0/8可经下一跳10.0.0.3到达20.0.0.0/8可经下一跳21.0.0.1到达19.0.0.0/8 RTC 可经下一跳10.0.0.1到达19.0.0.0/8可经下一跳10.0.0.3到达20.0.0.0/8本地优先级属性(Local-preference)Page 32MED(Multi-Exit-DISC)属性属性Page 33BGP典型案例Page 34l故障现象:在RTC上没有选择通过RTA的链路(MED值较小)作为主链路 S0:201.1.1.2/24S1:160.1.1.2/24S0:201.1.1.1/24S0:160.1.1.1/24RTCR
15、TBRTAAS500AS600AS700192.10.0.0/16E0E0团体团体(Community)属性属性团体是一组有相同性质的目的地的路由,一个团体不限于一个网络或一个自治系统,它没有物理边界。公认的团体:no-export不通告给联盟/AS外的BGP对等体no-advertise不通告给任何BGP对等体local-AS不通告给EBGP对等体Internet通告给所有其他路由器Page 35BGP路由选择过程路由选择过程综合起来,本地BGP路由选择的过程为:如果此路由的下一跳不可达,忽略此路由选择本地优先级较大的路由选择本地路由器始发的路由(本地优先级相同)选择AS路径较短的路由依次选
16、择起点类型为IGP,EGP,Incomplete类型的路由选择MED较小的路由选择RouterID较小的路由Page 36总 结Page 37lBGP的通告原则lBGP的属性应用lBGP的选路原则RFCs of BGP41930Autonomous System的创建,选择和注册指导1774BGP-4 协议分析1773BGP-4 路由协议改进1772BGP在Internet中的应用1771深入探讨Border Gateway Protocol 4(BGP-4)1745BGP4与IGP-OSPF 的互操作1675BGP MIB Page 38RFCs of BGP41965 BGP 中Autonomous System 联盟1997 BGP 团体属性1998 BGP 团体属性在多宿主路由中的应用2385 利用MD5验证保护BGP会话安全2796 IBGP邻居的全连接 Vs.路由反射器Page 39RFCs of BGP4 扩展2842BGP-4 路由通告2858BGP-4 的MPBGP的扩展2918BGP-4的路由更新Page 40