《BGP协议基础PPT》由会员分享,可在线阅读,更多相关《BGP协议基础PPT(62页珍藏版)》请在金锄头文库上搜索。
1、BGP(Border Gateway Protocol)BGP的应用环境BGP的工作方法摘要BGP邻居关系的建立BGP进阶BGP属性的应用简化BGP的配置提高网络的稳定性构造大型BGP网络缺点1:没有发现路由环路的能力缺点2:不支持复杂的基于策略的路由缺点3:不能充分地与IGP互相合作缺点4:公布网络变化相当慢BGP的前任的前任-EGPISP-1ISP-2ISP-3n3,n4n1,n2n5,n6(n3,n4)(n1,n2,n5,n6)(n5,n6)(n1,n2,n3,n4)EBGPIBGP路由数据BGP的应用环境-穿透域BGP工作方法摘要在自治系统(AS)之间传递路由信息使用TCP协议保证信息
2、传递的可靠性(179)使用OPEN信息建立邻居关系使用UPDATE信息传递路由信息使用KEEPALIVE信息保持邻居关系使用NOTIFICATION报告错误,中止邻居关系维护一张带有版本号的BGP表,在路由更新时增加版本号路由器根据BGP表中各表项的值计算到接邻AS的路由AS 3AS 56AS 251n3,n4n1,n2n5,n6EBGPEBGPIBGPR1R2R4R5R3BGP邻居关系的建立-邻居BGP邻居关系的建立-AS号自治域的标号两个字节的无符号整数(065535)6451265535是私有自治域号具有相同AS号的邻居建立IBGP关系具有不同AS号的邻居建立EBGP关系BGP邻居关系的
3、建立-状态机空闲(Idle)连接(Connect)活动(Active)开放发送(OpenSent)开放确认(OpenConfirm)连接建立(Established)BGP邻居关系的建立-消息OPEN-协商BGP邻居的各项参数UPDATE-进行路由信息的交换NOTIFICATION-报告错误KEEPALIVE-维持邻居关系BGP邻居关系的建立-Open消息格式Unfeasible Route Length (2 bytes)Withdraw Routes (variable)Total Attribute Length (2 bytes)Attributes (variable)网络层可到达性
4、信息(Network Layer Reachability Information)Length (1 byte)Prefix (variable)不可到达路由信息属性信息BGP邻居关系的建立-Update消息格式BGP邻居关系的建立-Update消息规则在消息中可以撤销多条路由在消息中通告的多条路由一定要具有相同的属性AS100RT133.0/24L1:3.3.3.3/32L1:1.1.1.1/32L1:2.2.2.2/3211.1/24地址空间:地址空间:200.200.x.xRT2AS200RT323.3/2423.2/24interface loopback1 ip address 1
5、.1.1.1/24router bgp 100 bgp router-id 1.1.1.1 neighbor 200.200.13.2 remote-as 100 network 200.200.11.0/2413.1/2413.2/24interface loopback1 ip address 2.2.2.2/24router bgp 100 bgp router-id 2.2.2.2 neighbor 200.200.13.1 remote-as 100 neighbor 200.200.23.3 remote-as 200interface loopback1 ip address 3
6、.3.3.3/24router bgp 200 bgp router-id 3.3.3.3 neighbor 200.200.23.2 remote-as 100 network 200.200.33.0/24EBGPIBGPBGP邻居关系的建立邻居关系的建立-基本配置基本配置AS 3AS 56AS 251EBGPEBGPIBGPR1R2R6R5R4R3L1:5.5.5.5/32L1:6.6.6.6/32L1:3.3.3.3/32BGP邻居关系的建立-多跳AS 3AS 56AS 251EBGPEBGPIBGPR1R2R6R5R4R3L1:5.5.5.5/32L1:6.6.6.6/32L1:3.
7、3.3.3/32neighbor peer_address ebgp-multihop ttlBGP邻居关系的建立-多跳Router A(config)# show ip bgp neiBGP neighbor is 200.200.13.2, remote AS 100, local AS 100, internal link BGP version 4, remote router ID 2.2.2.2 BGP state = Established, up for 00:00:06 Last read 00:00:06 Hold time is 180, keepalive interv
8、al is 60 seconds Neighbor capabilities: Route refresh: advertised and received (old and new) Address family IPv4 Unicast: advertised and received Received 2 messages, 0 notifications, 0 in queue Sent 4 messages, 0 notifications, 0 in queue1, 0 in queue2debug ip bgp eventsdebug ip bgp keepalives BGP邻
9、居关系的建立-验证AS 3AS 56AS 251EBGPIBGPR2R6R5R4R3L1:5.5.5.5/32L1:6.6.6.6/32L1:3.3.3.3/32EBGP200.200.2.0/24R6路由表:200.200.2.0/245.5.5.5R5的BGP表:200.200.2.0/24200.200.23.2200.200.23.2/24200.200.23.3/24R3的BGP表:200.200.2.0/24200.200.23.2BGP进阶-下一跳R4R5R310.10.10.0/24OSPF.3.4.5EBGP11.11.11.0/24R3的BGP表:11.11.11.0/24
10、10.10.10.5BGP进阶-下一跳(广播环境)R4R5R310.10.10.0/24OSPF.3.4.5EBGP11.11.11.0/24R3的BGP表:11.11.11.0/2410.10.10.5R4(router-config)#neighbor 10.10.10.3 next-hop-selfBGP进阶-下一跳(NBMA环境)AS 3AS 251IBGPR2R5R4R3L1:5.5.5.5/32L1:3.3.3.3/32EBGP200.200.2.0/24R5的BGP表:200.200.2.0/24200.200.23.2200.200.23.2/24200.200.23.3/24
11、R3的BGP表:200.200.2.0/24200.200.23.2Next-hop-selfR5的BGP表:200.200.2.0/243.3.3.3到底选用哪种方式取决于想不想与DMZ区通信BGP进阶 next-hop-self与DMZ宣告AS 3AS 56AS 251EBGPIBGPR2R6R5R4R3L1:5.5.5.5/32L1:6.6.6.6/32L1:3.3.3.3/32EBGP200.200.2.0/24200.200.2.0/24BGP进阶-同步开关AS 3AS 56AS 251EBGPIBGPR2R6R5R4R3L1:5.5.5.5/32L1:6.6.6.6/32L1:3.
12、3.3.3/32EBGP200.200.2.0/24R6路由表:200.200.2.0/245.5.5.5R5路由表:200.200.2.0/24200.200.23.2200.200.23.2/24200.200.23.3/24R4路由表:没有200.200.2.0/24路由R3路由表:200.200.2.0/24200.200.23.2BGP进阶-同步开关(续)BGP进阶-同步开关(续)问题解决方法:问题解决方法:所有路由器都跑IBGP把BGP路由重分布到IGP中AS 3AS 251(OSPF)IBGPR2R5R4R3L1:5.5.5.5/32L1:3.3.3.3/32EBGPR3(rou
13、ter-config)#Redistribute ospf BGP进阶-向BGP注入路由(纯动态)使用redistribute命令把IGP路由发往BGP缺点是IGP的不稳定会造成BGP内的路由动荡另一缺点是可能引入错误的路由一般不采用AS 3AS 251(OSPF)IBGPR2R5R4R3L1:5.5.5.5/32L1:3.3.3.3/32EBGPR3(router-config)#network 5.5.5.5/32 BGP进阶-向BGP注入路由(半动态)使用network命令把IGP路由发往BGP对发出的路由进行了有效的控制,稳定性有所增强AS 3AS 251(OSPF)IBGPR2R5R
14、4R3L1:5.5.5.5/32L1:3.3.3.3/32EBGPR3(router-config)#network 5.5.5.5/32R3(config)#ip route 5.5.5.5/32 eth1/0E1/0:2.2.34.3/24BGP进阶-向BGP注入路由(静态)使用network及静态路由及静态路由命令把IGP路由发往BGP增强了稳定性损失了准确性r2r2r5r5r4r4OSPF area 0OSPF Area Gr1r1RIP Version 2OSPF Area (16+G)AS GInt e0/1:123.2/24Int e0/6:12.2/24Int e0/7:12.
15、1/24Int e0/2:123.3/24Int e0/0:123.1/24Int e0/4:35.3/24E0/0:35.5/24Int e0/3:34.3/24E0/0:34.4/24172.16.0.G/24r3r3RRr6r6R3(config)#Router bgp 1R3(config)#Redistribute ospf R3(config)#Redistribute ripR3(config)#Redistribute conBGP进阶-路由聚合未聚合前未聚合前R1上的路由:上的路由:r011(config)# show ip bgpBGP table version is 0
16、, local router ID is 172.17.1.1Status codes: s suppressed, d damped, h history, * valid, best, i - internalOrigin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocalPrf Path*i172.17.2.2/32 172.17.123.2 2 100 ?*i172.17.3.3/32 172.17.3.3 0 100 ?*i172.17.4.4/32 172.17.34.4 2 100 ?*i17
17、2.17.5.5/32 172.17.35.5 1 100 ?*i172.17.34.0/24 172.17.3.3 0 100 ?*i172.17.35.0/24 172.17.3.3 0 100 ?*i172.17.123.0/24 172.17.3.3 0 100 ?* 172.17.210.210/32 0.0.0.0 0 i*i172.17.220.220/32 172.17.2.2 100 i*i172.17.230.230/32 172.17.3.3 100 iTotal number of prefixes 10BGP进阶-路由聚合(续)未聚合前未聚合前R6上的路由:上的路由:
18、r052(config)# show ip bgpBGP table version is 0, local router ID is 172.21.2.2Status codes: s suppressed, d damped, h history, * valid, best, i - internalOrigin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocalPrf Path* 172.17.2.2/32 172.16.0.18 1 ?* 172.17.3.3/32 172.16.0.18 1 ?
19、* 172.17.4.4/32 172.16.0.18 1 ?* 172.17.5.5/32 172.16.0.18 1 ?* 172.17.34.0/24 172.16.0.18 1 ?* 172.17.35.0/24 172.16.0.18 1 ?* 172.17.123.0/24 172.16.0.18 1 ?* 172.17.210.210/32 172.16.0.18 0 1 i* 172.17.220.220/32 172.16.0.18 1 i* 172.17.230.230/32 172.16.0.18 1 iTotal number of prefixes 10BGP进阶-路
20、由聚合(续)使用使用aggregate-address命令聚合路由命令聚合路由router bgp 1 bgp router-id 172.17.1.1 no synchronization network 172.17.210.210/32 aggregate-address 172.17.0.0/16 summary-only neighbor 172.16.0.17 remote-as 5 neighbor 172.17.3.3 remote-as 1 neighbor 172.17.3.3 update-source loopback 1BGP进阶-路由聚合(续)聚合后聚合后R1上的路
21、由:上的路由:r011(config)# show ip bgpBGP table version is 0, local router ID is 172.17.1.1Status codes: s suppressed, d damped, h history, * valid, best, i - internalOrigin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocalPrf Path* 172.17.0.0 0.0.0.0 isi172.17.2.2/32 172.17.123.2 2 10
22、0 ?si172.17.3.3/32 172.17.3.3 0 100 ?si172.17.4.4/32 172.17.34.4 2 100 ?si172.17.5.5/32 172.17.35.5 1 100 ?si172.17.34.0/24 172.17.3.3 0 100 ?si172.17.35.0/24 172.17.3.3 0 100 ?si172.17.123.0/24 172.17.3.3 0 100 ?s 172.17.210.210/32 0.0.0.0 0 isi172.17.220.220/32 172.17.2.2 100 isi172.17.230.230/32
23、172.17.3.3 100 iTotal number of prefixes 11BGP进阶-路由聚合(续)聚合后聚合后R6上的路由:上的路由:r052(config)# show ip bgpBGP table version is 0, local router ID is 172.21.2.2Status codes: s suppressed, d damped, h history, * valid, best, i - internalOrigin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric L
24、ocalPrf Path* 172.17.0.0 172.16.0.18 1 iTotal number of prefixes 1BGP进阶-路由聚合(续)AS 2AS 1R1R2R4R3E0/1:192.68.6.2EBGPE0/1:192.68.6.1192.68.10.1E0/0:192.68.5.2192.68.5.1172.16.65.1172.16.1.2172.16.1.1L0:172.16.2.254/32172.16.20.2E0/0:172.16.20.1EBGPIBGPAS 3OSPFR3#show ip routeB 192.68.10.0/2420/0via 172
25、.16.20.2BGP进阶-后门(backdoors)BGP属性-概论BGP属性是描述一个路由特性的一组参数,BGP根据路由的属性选择最佳路由属性分为四大类:公认必遵(Well-known mandatory)公认自决 (Well-known discretionary)可选过渡(Optional transitive)可选非过渡(Optional non-transitive)BGP属性-概论(续)1.Origin2.AS-Path3.Next hop4.MED5.Local-Preference6.Atomic-Aggregate7.Aggregator8.Community9.Origi
26、nator-ID10.Cluster-ListAS 3AS 251(OSPF)IBGPR2R5R4R3L1:5.5.5.5/32L1:3.3.3.3/32EBGP使用使用redistribute命令分命令分布布44.44.44.0/24到到BGP用用network宣告宣告22.22.22.0/24到到BGP使用使用network命令宣命令宣告告5.5.5.5/32到到BGPBGP属性-Origin属于Well-known mandatory类型IGP: 路由是用network命令注入到BGP路由表中的EGP: 路由是通过EBGP得知的Incomplete: 路由是用redistribute命令
27、注入到BGP路由表中的优先级是IGPEGPIncomplete,优先级高的进入路由表IBGPIBGPIBGPEBGPEBGPAS2AS5AS1AS Path: AS Sequ 4 118.0.0.0/818.0.0.0/8:AS Sequ 4 1 AS Sequ 3 2 1AS4AS3AS Path: AS Sequ 3 2 1R1R2R3BGP属性-AS_PATHBGP属性-AS_PATH(续)属于Well-known mandatory类型用在EBGP,防止路由环路用于控制路由AS_PATH越短,优先级越高R2 (config)# route-map 1 permit 5R2(config
28、-route-map)# set as-path prepend 4 4R2(config)#router bgp 5R2(router-config)#neighbor 4.4.4.4 remote-as 3R2(router-config)#neighbor 4.4.4.4 route-map 1 inIBGPIBGPIBGPEBGPEBGPAS2AS5AS118.0.0.0/8AS4AS3AS Path: AS Sequ 3 2 1R1R2R3AS Path: AS Sequ 4 4 4 118.0.0.0/8: AS Sequ 4 4 4 1 AS Sequ 3 2 1BGP属性-AS
29、_PATH 例1IBGPIBGPIBGPEBGPEBGPAS2AS5AS118.0.0.0/8AS4AS3AS Path: AS Sequ 3 2 1R1R2R3AS Path: AS Sequ 4 4 4 118.0.0.0/8: AS Sequ 4 4 4 1 AS Sequ 3 2 1R2(config)#ip as-path access-list 1 deny _1$R2(config)#ip as-path access-list 1 permit .*R2(config)#router bgp 5R2 (config-router)#neighbor 4.4.4.4 remote
30、-as 3R2 (config-router)#neighbor 4.4.4.4 filter-list 1 inBGP属性-AS_PATH 例2正则表达式(Regular Express)符号含义.匹配任何单字符,包括空格*匹配模式中0或更多的序列+匹配模式中1或更多的序列?匹配模式0或1次出现匹配输入字符串的开始$匹配输入字符串的结束(下划线)匹配逗号、左大括号、右大括号、左括号、右括号、输入字符串的开始、输入字符串的结束、或一个空格。范围表示一个单字符模式的范围-(减号)把一个范围的结束点分开BGP属性-AS_PATHAS3AS4 5.0.0.0/81.1.1.11.1.1.21.1.1
31、.33.1.1.13.1.1.22.1.1.12.1.1.24.1.1.1属于属于Well-known mandatory类型类型AS2AS15.0.0.0/8Next Hop: 3.1.1.1/85.0.0.0/8Next Hop: 3.1.1.1/85.0.0.0/8Next Hop: 1.1.1.1/85.0.0.0/8Next Hop: 1.1.1.1/8BGP属性-Next_hopNext Hop: 4.4.4.4/8RCAS1AS2RBRDMED = 50MED = 200MED = 120128.213.0.0/16AS3R1R3R2R4BGP属性-MEDl属于Optional-
32、nontransitive属性l优选较低的;l除非配置了“always-compare-med”,其它时候永远只比较来自同一AS的路径;l不跨AS传播IBGPIBGPIBGPEBGPEBGPAS2AS5AS118.0.0.0/8AS4AS3Local pref=200R1R2R3Local pref=10018.0.0.0/8: Local Pref 200 Local Pref 100BGP属性-Local preferencel属于well-known discretionary属性l优选较高值;l只在自治域内有效BGP属性- Atomic_Aggregatel属于well-known d
33、iscretionary属性l在路由聚合时用于表示信息的缺失l当路由聚合时能够携带(AS-set)信息时就不需再附加此属性AS 3R3192.213.1.0/24AS 1R1192.213.2.0/24AS 2R2Router_id:193.0.34.1(ATOMIC_AGGREGATE)192.213.0.0/22AGGREGATOR(2,193.0.34.1)BGP属性- Aggregatorl属于Optional transitive属性l它说明了进行路由聚合操作的路由器l这个值通常是路由器IDAS3AS45.0.0.0/86.0.0.0/87.0.0.0/8匹配匹配1:80匹配匹配1:
34、80匹配匹配1:100AS4只需要只需要B类路径类路径AS3需要所有路径需要所有路径设置团体属性:设置团体属性:A类路径: 5.0.0.0/8 1:100B类路径: 6.0.0.0/8 1:80B类路径: 7.0.0.0/8 1:80AS1AS2BGP属性- CommunityBGP属性- Community(续)l属于Optional transitive类型l一组有相同性质的目的地,一种给路由打标记的方法,用来实现路由过滤和路由选择l长度为4个字节,表示为 aa:nnl两个公认的community:lNo-export :不通告给AS外的BGP 邻居lNo-advertise:不通告给任何
35、BGP邻居BGP属性- Originator-ID、Cluster-List属于Optional nontransitive类型被用于路由反射器环境中保证没有路由循环Originator-ID指出本AS中产生此路由的路由器ID当一个路由反射器向cluster外部的非客户端发送一条路由时就将自己的Cluster-ID附在这个列表里BGP路由的决策过程如果路由的下一跳地址不可达,则丢弃该路由具有更大的local_pref值的路由具有更短的AS_PATH的路由具有最优Origin类型的路由具有更低MED的路由在AS内部遵从最优的IGP路由到达EBGP邻居的下一跳地址具有更低路由器ID发来的路由IBG
36、PR1R2R3R4R5AS 100AS 200EBGP简化BGP的配置-对等组对等组(peer group)的作用是简化配置不影响实际的邻居关系的建立与路由的传递方式没有使用对等组时的R1配置Router bgp neighbor 5.5.5.5 remote-as 200 neighbor 2.2.2.2 remote-as 100 neighbor 2.2.2.2 filter-list 1 in neighbor 2.2.2.2 update-source lo0 neighbor 3.3.3.3 remote-as 100 neighbor 3.3.3.3 filter-list 1
37、in neighbor 3.3.3.3 update-source lo0 neighbor 4.4.4.4 remote-as 100 neighbor 4.4.4.4 filter-list 1 in neighbor 4.4.4.4 update-source lo0使用对等组时的R1配置Router bgp neighbor 5.5.5.5 remote-as 200 neighbor IBGP peer-group neighbor IBGP remote-as 100 neighbor IBGP filter-list 1 in neighbor IBGP update-sourc
38、e lo0 neighbor 2.2.2.2 peer-group IBGP neighbor 3.3.3.3 peer-group IBGP neighbor 4.4.4.4 peer-group IBGP 简化BGP的配置-对等组(例子)为了解决Full-mash的IBGP所带来的问题13 个路由器需要建立78 IBGP 会话IBGP 会话数 = n(n-1)/2简化BGP的配置-路由反射器AS 65000A AX XCBRoute ReflectorAS 65000CAB保持保持IBGP路由的属性路由的属性简化BGP的配置-路由反射器的行为概念概念clientclientnonclien
39、tAS100clientAS200简化BGP的配置-路由反射器的规则RR 从clients和nonclients收路由更新从 client收到的更新,反射到 nonclients 和 clients从 nonclient收到的更新,反射到 clients从 EBGP邻居收到的更新,反射到 所有nonclients 和 clientsrouter bgp 65000 neighbor 172.16.12.1 remote-as 65000 neighbor 172.16.12.1 route-reflector-client neighbor 172.16.17.2 remote-as 6500
40、0 neighbor 172.16.17.2 route-reflector-clientAS 65500AS 65000172.16.12.1Route Reflector172.16.17.2BAAS 64500C简化BGP的配置-路由反射器的配置惩罚值时间抑止门限再使用门限被抑止提高网络的稳定性-路由衰减引入了惩罚值的概念,对频繁更新的路由,惩罚值到一定程度后抑止该路由,直至其恢复稳定方可重新投入使用。AS65100AS65200AS100EBGP构造大型BGP网络-联盟把大的AS分成小的子AS,子AS形成联盟子AS内部,所有BGP规则都适用联盟对外是一个单一AS配置复杂,转向联盟是路由
41、器基本上需要重配置BGP总结BGP属于EGP,用来在AS之间传递路由信息是一种距离向量路由协议,从设计上可以避免路由环路为路由附带属性信息支持无类别域间路由(CIDR)丰富的路由策略和过滤功能BGP实验1:配置BGP实验目的:学习完成基本的BGP配置。实验要求:在AS100中的RTA中看到AS200中RTB的Lo0口所连接的网段和AS300中RTC的Lo0口所连接的网段。Lo0 192.168.0.2/24Lo1 192.168.1.3/24S0/0 10.0.0.2/30S0/1 172.16.0.2/30AS100S0/0 10.0.0.1/30AS200AS300S0/0 172.16.
42、0.1/30Lo0 10.0.1.1/24Lo0 172.16.1.1/24BGP实验2:配置IBGP和EBGP会话实验目的:掌握IBGP和EBGP的基本配置方法。实验结果:实现并观察BGP邻居之间的协商过程,要求在RTA的S0/0和RTB的S0/0之间建立Established的邻接关系。Lo0 10.1.1.1/32S0/0 192.168.1.6/30E0/0 172.16.1.1/24S0/0 192.168.1.5/30AS100AS200OSPF Area0E0/0 172.16.1.2/24E0/0 192.168.1.33/24Lo0 10.2.2.2/32BGP实验3:使用A
43、S_PATH属性实验目的:用BGP命令防止将私有自治域号宣告给外部网络;利用AS_PATH属性,根据源自治域号过滤BGP路由实验要求:用AS_PATH属性将AS6500的私有自治域号从传到RTA中的路由信息中剔除出来。同时让AS6500中的用户看不到AS100的路由选择信息Lo0 202.2.2.2/24S0/0 192.168.1.630S0/1 172.24.1.17/30AS300S0/0 192.168.1.5/30AS100AS6500S0/0 172.24.1.18/30Lo0 201.1.1.1/24Lo0 203.3.3.3/24BGP实验4:使用Local_PREF和MED属性使用Local_PREF和MED属性改变BGP行为,并且实现路由选择策略。配置BGP,使数据流总是使用指定的优选链路到达AS100内的RTA。Lo0 202.100.50.1/24S0/0 192.168.1.630S0/1 172.24.1.17/30AS100S0/0 192.168.1.5/30AS200AS400S0/0 172.24.1.18/30S0/1 10.1.1.1/30S0/1 10.1.1.2/24优选链路优选链路次选链路次选链路