1、神州数码网络大学,BGP路由协议揭秘,神州数码网络大学,内容提要,BGP概述 BGP的使用环境 BGP术语和概念 BGP的操作 配置BGP 验证BGP,神州数码网络大学,课程目标,能够描述BGP的特征和操作 理解BGP团体、对等体组、BGP同步 理解BGP基于策略的路由在AS内运作 BGP对等关系是如何作用的 配置和验证外部BGP和内部BGP,神州数码网络大学,BGP概述,神州数码网络大学,BGP概述,IGPs:RIP、OSPF、IS-IS、DEIGRP,EGPs:BGP,AS65000,AS65001,AS号码,自治系统的编号范围是1到65535 私有AS号:64512-65535(相当于I
2、P私有地址) AS号要向IANA(Internet 号码管理委员会)申请,以保证其唯一性。 国际互联网代理成员管理局(IANA)是在国际互联网中使用的IP 地址、域名和许多其它参数的管理机构。,神州数码网络大学,神州数码网络大学,BGP概述,BGP是外部路由协议,用来在AS之间传递路由信息 是一种距离矢量的路由协议,从设计上避免了环路的发生 为路由附带属性信息 传送协议:TCP,端口号179 支持CIDR(无类别域间选路) 路由更新:只发送增量路由 丰富的路由过滤和路由策略,神州数码网络大学,BGP与其他路由协议的比较,神州数码网络大学,何时使用BGP,神州数码网络大学,BGP的使用环境,AS
3、允许数据包穿过它到达其他AS AS有到其他AS的多条连接 必须对进入和离开AS的数据流进行控制 典型的环境是ISP,神州数码网络大学,BGP术语和概念,神州数码网络大学,BGP路由表,IP,BGP,IGP 路由协议,BGP 路由协议,运行BGP的路由器保存独立的BGP路由表,BGP工作机制,神州数码网络大学,神州数码网络大学,BGP对等体,EBGP,EBGP,IBGP,AS64515,AS64525,AS64520,邻居:IBGP或EBGP IBGP:直连或非直连邻居 EBGP:直连(若非直连需要特殊配置),BGP路由通告原则,多条路径时,BGP Speaker只选最优的给自己使用 BGP S
4、peaker只把自己使用的路由通告给相邻体 BGP Speaker从EBGP获得的路由会向它所有BGP相邻体通告(包括EBGP和IBGP) BGP Speaker从IBGP获得的路由不向它的IBGP相邻体通告 BGP Speaker 从IBGP获得的路由是否通告给它的EBGP相邻体要依IGP和BGP同步的情况来决定 连接一建立,BGP Speaker将把自己所有BGP路由通告给新相邻体,神州数码网络大学,神州数码网络大学,BGP同步,A,C,D,B,F,E,IBGP,EBGP,EBGP,AS 64520,AS 65000,AS 65500,172.16.0.0,10.1.1.1,神州数码网络大
5、学,BGP报文种类,BGP报文种类,Open:打招呼“你好,跟我交个朋友吧!” KeepAlive:我还活着呢,别不理我。 Update:有新闻 Notification:我不跟你玩了!,神州数码网络大学,BGP协议中报文的应用,通过TCP建立BGP连接时,发送Open消息 连接建立后,如果有路由需要发送或路由变化时,发送Update消息通告对端路由信息 稳定后此时要定时发送KeepAlive消息以保持BGP连接的有效性 当本地BGP在运行中发现错误时,要发送Notification消息通告BGP对端,神州数码网络大学,BGP报文头,神州数码网络大学,BGP报文的格式是一样的: 都是“报文头+
6、报文体”的格式, 下面给出的是BGP报文头:,Open报文,神州数码网络大学,Open报文是由报文头加如下结构构成的,KeepAlive报文,神州数码网络大学,KeepAlive报文只有报文头,Update报文,神州数码网络大学,Update报文由报文头加如下结构构成,Notification报文,神州数码网络大学,Notification报文由报文头加如下结构构成,神州数码网络大学,BGP协议邻居状态机,BGP协议邻居状态机,Idle:查找底层IGP路由,查看BGP邻居是否可达,如果有底层路由,则进行TCP三次握手,如果没有底层路由,则停留在idle状态 Active:尝试与BGP邻居进行T
7、CP三次握手,建立连接 Connect:与BGP邻居完成了TCP三次握手(被动接受请求一方出现),神州数码网络大学,BGP协议邻居状态机,Open sent:向BGP邻居发送Open报文 Open confirm:Open报文全部发送完成,邻居关系协商成功 Established:邻居关系已经建立,开始路由学习,神州数码网络大学,BGP协议邻居状态机,神州数码网络大学,Active,Open-sent,Open-confirm,Established,Idle,Connect,Connect-Retry timer expiry,TCP connection fails,Connect-Ret
8、ry timer expiry,Start,Others,TCP connection fails,Error,Error,Error,KeepAlive timer expiry,KeepAlive packetreceived,1. KeepAlivetimer expiry 2. Update received 3. KeepAlive received,Correct OPEN packet received,TCP connection setup,TCP connection setup,Others,TCP connection stop,神州数码网络大学,BGP路由选择进程,神
9、州数码网络大学,BGP路由属性分类,公认的(well-known) VS 可选的(optional) 必遵的(mandatory) VS 自决的(discretionary) 传递的(transitive) VS 非传递的(nontransitive) 部分的(partial),BGP路由属性分类,公认属性 所有运行BGP的路由器都必须要识别以及标记 随着路由信息的传递,传递给其它的BGP邻居 公认必遵属性 该属性必须出现在路由更新中 AS path、Next hop、Origin 公认自决属性 在路由更新中可以出现也可以不出现该属性 LocPrf、,神州数码网络大学,BGP路由属性分类,可选
10、属性 所有运行BGP的路由器不一定都支持,包括私有属性 可选传递属性 如果不能识别该属性,也接受此属性,并把它向前传递给其它BGP邻居。 Community 可选非传递属性 如果不能识别该属性,此属性被忽略,不传递给其它BGP邻居 Med,神州数码网络大学,神州数码网络大学,起源属性(著名必遵属性),AS 65000,172.20.0.0,A,B,C,AS 64520,172.16.0.0,起源属性,IGP,EGP,神州数码网络大学,AS路径属性(著名必遵属性),AS 64520192.168.1.0,AS 65000192.168.2.0,AS 65500192.168.3.0,到192.1
11、68.1.0的路径 是(65500、64520),A,B,C,神州数码网络大学,下一跳属性(著名必遵属性),AS 65000,172.20.0.0,172.20.10.1,172.20.10.2,10.10.10.1,10.10.10.3,A,B,C,AS 64520,172.16.0.0,神州数码网络大学,下一跳属性(著名必遵属性),172.16.0.0,10.10.10.3,10.10.10.1,10.10.10.2,172.30.0.0,AS 65000,AS 64500,172.20.0.0,EBGP,A,B,C,D,AS 64600,IBGP,EBGP,神州数码网络大学,本地优先属性
12、(著名自决属性),A,B,AS 65350,AS 65250,AS 65000,AS 65500,AS 64520,172.16.0.0,本地优先=200,本地优先=150,需要到AS 65350,本地优先属性:路由器A是到达172.16.0.0的最佳路径,神州数码网络大学,MED属性(可选非传递属性),AS 65000,172.20.0.0,A,B,C,AS 64520,172.16.0.0,MED=150,MED=200,MED属性:路由器B是到达AS 65500的最佳下一跳,神州数码网络大学,团体属性(可选传递属性),团体是一组有相同性质的目的地的路由,一个团体不限 于一个网络或一个自治
13、系统,它没有物理边界。 公认的团体 :,no-export 不通告给联盟/AS外的BGP相邻体 no-advertise 不通告给任何BGP相邻体 local-AS 不通告给EBGP相邻体 Internet 通告给所有其他路由器,Community属性,概念:对BGP路由加入的标记,该标记会随着BGP路由一起传递,如果邻居能够识别该属性,则会按照该属性所指示的方法进行路由过滤,神州数码网络大学,Router(config)#ip prefix-list net12 permit 172.1.12.0/24 Router(config)#route-map comm permit 10 Rout
14、er(config-route-map)#match ip address prefix-list net12 Router(config-route-map)#,神州数码网络大学,Router(config-route-map)#set community ?community numberaa:nn community number in aa:nn formatadditive Add to the existing communityinternet Internet (well-known community)local-AS Do not send outside local AS
15、 (well-known community)no-advertise Do not advertise to any peer (well-known community)no-export Do not export to next AS (well-known community)none No community attribute,神州数码网络大学,神州数码网络大学,权重属性,A,B,D,C,权重= 200,权重= 150,AS 64520,AS 65000,AS 65250,AS 65500,权重属性:路由器A将采用B作为达到172.16.0.0的下一跳,172.16.0.0,神州
16、数码网络大学,路由选择过程,前提:路由同步、无环路、下一跳可达 1、选择最高的权重 2、选择最高的本地优先级 3、选择本路由器始发的路由 4、选择最短的AS路径 5、选择最小的起源代码(IGP EGP 不完全) 6、选择最小的MED 7、选择最小的邻居路由器Router ID,神州数码网络大学,CIDR和汇总地址,A,C,D,B,AS 64520,AS 65500,AS 65250,AS 65000,192.168.1.0/24,192.168.2.0/24,192.168.0.0/16,神州数码网络大学,大规模网络中BGP的应用,AS 65000,X,BGP水平分割,IGP水平分割 BGP水
17、平分割,解决方案,IBGP邻居Full mesh:n(n-1)/2 BGP路由反射器(RR) BGP联邦(confederation),神州数码网络大学,路由反射器(RR)-1,神州数码网络大学,AS100,AS200,RR,cluster,client,client,nonclient,路由反射器(RR)-2,神州数码网络大学,AS100,AS200,RR,cluster,client,client,nonclient,X,配置RR,RR(config)#router bgp 65000 RR(config-router)#neighbor 172.16.12.1 remote-as 650
18、00 RR(config-router)#neighbor 172.16.12.1 route-reflector-client RR(config-router)#neighbor 172.16.17.2 remote-as 65000 RR(config-router)#neighbor 172.16.17.2 route-reflector-client,神州数码网络大学,BGP联邦(confederation),神州数码网络大学,AS100,RTF,RTE,RTD,20.0.0.1,RTC,RTB,20.0.0.2,AS200,RTA,40.0.0.1,40.0.0.2,30.0.0.
19、2,30.0.0.1,AS65050,AS65060,RTG,AS300,配置联邦(confederation),router bgp 65050bgp confederation identifier 100bgp confederation peers 65060neighbor 20.0.0.2 remote-as 65060neighbor 30.0.0.2 remote-as 200neighbor 40.0.0.2 remote-as 65050,神州数码网络大学,神州数码网络大学,小结,BGP概述 BGP的使用环境 BGP术语和概念 重点在理解BGP属性的作用 BGP的操作 重点理解BGP路由的产生过程 配置BGP 验证BGP,