
BGP原理与实践.ppt
140页BGPBGP原理与实践原理与实践技术培训中心技术培训中心课程目标•(1) 建立数据流的意识及数据封装意识•(2) 掌握通过控制路由的方法实现对数据进行控制•(3) 掌握BGP的报文结构、状态机和工作原理•(4) 掌握BGP的常用配置和维护排错方法•(5) 掌握BGP同步的概念、作用、解决方法•(6) 掌握BGP路由常用属性的作用与操作方法本章重点内容•BGP简介简介•BGP工作原理工作原理•BGP基本配置基本配置•BGP路由进程模型路由进程模型•BGP路由决策路由决策•BGP路由属性操纵路由属性操纵•大规模网络中大规模网络中BGP的应用的应用•BGP路由策略实验路由策略实验课程议题一、一、BGP简介简介1、BGP是什么•BGP是Border Gateway Protocol 边界网关路由协议,属于距离矢量路由协议•作用:在AS自治系统之间传递路由信息•4个版本:V1、 V2、V4、V4+(即MBGP)AS知识点说明•AS:autonomous system 自治系统,指的是在同一个组织管理下使用相同策略的设备的集合•不同AS通过AS号区分,AS号取值范围1-65535,其中64512-65535是私有AS号。
•中国电信163 AS号:4134•中国电信CN2 AS号:4809•中国网通AS 号:99292、为什么要使用BGP——BGP价值传递使用BGP的三大理由•(1)大量路由需要承载承载,IGP只能容纳千条,而BGP可以容纳上万•(2)支撑MPLS/VPN的应用,传递客户VPN路由•(3)策略能力强,可以很好的实现路由路由决策决策与数据控制3、IBGP与EBGPIBGPEBGPEBGPRTARTCRTBRTERTDAS 4134 AS 4809 AS 64512 BGP的peer分为两种:EBGP和IBGPEBGP:peer之间AS号不相同,在AS之间使用IBGP:peer之间AS号相同,在AS内部使用EBGP和IBGP是一个协议,两张“脸”,两个的管理距离分别为20和200,AS之间是BGP的天下,所以20非常小AS内部是IGP的天下,所以BGP谁也比不赢课程议题二、二、BGP工作原理工作原理1、BGP的协议包报文名称报文名称作用是什么作用是什么什么时候发包什么时候发包OPEN协商BGP邻居的各项参数,建立邻居关系通过TCP建立BGP连接,发送open报文UPDATE进行路由信息的交换连接建立后,有路由需要发送或路由变化时,发送UPDATE通告对端路由信息NOTIFICATION报告错误,中止邻居关系当BGP在运行中发现错误时,要发送NOTIFICATION报文通告BGP对端KEEPALIVE维持邻居关系定时发送KEEPALIVE报文以保持BGP邻居关系的有效性Route-refresh为保证网络稳定,触发更新路由的机制当路由策略发生变化时,触发请求邻居重新通告路由2、BGP报文封装格式单播形式发送单播形式发送Link Layer HeaderIP 头TCP头BGP Protocol PacketFrameChecksumIP协议号为6TCP端口号为179BGP Protocol HeaderBGP PacketMarker(16 byte)Length(2 byte) Type(1 byte)标识标识BGP报文报文Open报文类型•Open报文是由BGP报文头(报文头type=1)加如下结构构成Hold TimeVersionMy Autonomous SystemBGP IdentifierOptional ParamentersOptional Paramenters Length扩展参数,如扩展参数,如MBGP、、 GR、、route-refresh接收不到邻居的接收不到邻居的 Update或或Keepalive 所能等待的最所能等待的最长时间。
此值默认为长时间此值默认为180sOpen报文Route refresh特性的扩展特性的扩展MBGP的扩展的扩展Update报文类型•Update Message用于 BGP路由的更新 •Update报文由BGP报文头(type=2)加如下结构构成Withdrawn RoutesUnfeasible Routes LengthPath Attribute LengthNetwork Layer Reachability InformationPath Attribute撤销的路由撤销的路由路由属性路由属性更新的路由更新的路由Update报文——路由更新BGP路由的属性信息相同路由属性信息的路由条目信息放在一个Update包中发送Update报文——路由撤销(需要删除的路由)路由撤销时发的Update包中不带path attriibute属性的信息Keepalive报文类型•Keepalive Message用于保持BGP邻居之间的会话缺省缺省60秒发一次给秒发一次给Peer•Keepalive(type=4)报文只有BGP报文头Marker(16 byte)Length(2 byte)Type(1 byte)Keepalive报文报文类型•Notification Message用于终止BGP邻居间的会话üBGP进程遭遇错误或设备出现问题üOpen Message交互的过程中,如果设备发现Open Message中协商的某些参数不匹配,就会发送一个Notification Message并中断连接。
•Notification报文由BGP报文头(type=3)加如下结构构成DataError Code Error SubcodeNotification报文错误子码Route-refresh报文结构3、BGP工作流程——有限状态机FSMActiveOpen-sentOpen-confirmEstablishedIdleConnectConnect-Retrytimer expiryTCP connection failsConnect-Retrytimer expiryStartOthersTCP connection failsErrorErrorErrorKeepAlivetimer expiryKeepAlive packet received1. KeepAlive timer expiry2. Update received3. KeepAlive receivedCorrect OPENpacket receivedTCP connection setupTCP connection setupOthers3、BGP工作流程——邻居状态机一览表PeerPeer状态名称状态名称发什么包发什么包在做什么在做什么Idle尝试建立TCP连接开始准备TCP的连接并监视远程peer启动TCP连接,启用BGP时,要准备足够的资源Connect发TCP包正在进行TCP连接,等待完成中,认证都是在TCP建立期间完成的。
如果TCP连接不上则进入Active状态,反复尝试连接Active发TCP包反复尝试TCP连接,OpenSent发Open包TCP连接建立已经成功,开始发送Open包,Open包携带参数协商对等体的建立OpenConfirm发Keepalive包参数、能力特性协商成功,自己开始发送Keepalive包,等待对方的Keepalive包Established发Update包已经收到对方的Keepalive包,双方能力特性一致,开始使用Update通告路由信息课程议题三、三、BGP基本配置基本配置BGP基本配置实验(对等体建立和路由发现)R2:S5750R3:S8610R1:NPE50Gi0/0Gi0/1G0/1G0/2G3/2G3/110.1.1.0/2410.1.2.024172.16.1.0/24192.168.1.0/24Lo 0:1.1.1.2Lo 0:1.1.1.1Lo 0:1.1.1.3AS 64512AS 64513EBGPIBGPBGP配置步骤1.设备基本参数配置,物理层、数据链路层、网络层连通性首先保障2.启动BGP进程3.建立BGP对等体4.通告BGP路由5.其他配置6.查看对等体 show ip bgp summary show ip bgp neighbor ××××实验前期基本配置•设备命名•接口物理层、链路层、网络层配置•直连接口连通性测试•配置IGP路由解决peer对等体的源和目标IP之间连通性•确保peer之间TCP连通性(179)1、建立对等体——Peer•配置BGP的路由器叫Speaker,每个Speaker之间可以建立Peer关系,根据Peer之间的AS号是否相同来决定是EBGP还是IBGP,他们协议特性不同R1配置:配置:R1(config)# router bgp 64512 R1(config-router)# neighbor 10.1.1.2 remote-as 64513R2配置:配置:R2(config)# router bgp 64513 R2(config-router)# neighbor 10.1.1.1 remote-as 64512R2(config-router)# neighbor 10.1.2.3 remote-as 64513R3配置:配置:R3(config)# router bgp 64513 R3(config-router)# neighbor 10.1.2.2 remote-as 64513对端的AS号Show ip bgp summary 查看BGP Peer汇总信息状态state是bgp session的的状态,如果达到established就显示收到的路由的数目,否则就是active之类的状态。
路由更新或撤销时TblVer数字增加 Show ip bgp neighbor命令的使用EBGP PeerShow ip bgp neighbor命令的使用IBGP Peer案例分析1:BGP peer Active 状态故障处理 可能的原因分析:可能的原因分析:peer可达,但可达,但TCP连接没建立成功,反复尝试中,连接没建立成功,反复尝试中,TCP连接初始化中连接初始化中原理说明:原理说明:BGP Peer是成对存在的是成对存在的解决的方法:解决的方法:确保确保Peer的的TCP连接的连接的对等性对等性案例分析2:非直连EBGP配置的问题R1配置:配置:R1(config)# router bgp 64512 R1(config-router)# no neighbor 10.1.1.2 R1(config-router)# neighbor 1.1.1.2 remote-as 64513该命令导致的结果是拆除TCP连接指向对方的loopback地址建立BGP Peer连接BGP peer idle 状态故障处理•可能的原因分析:可能的原因分析:Peer地址不可达,地址不可达,TCP连接初始化,尝试发连接初始化,尝试发TCP建立建立Peer关系,关系,资源准备中资源准备中•原理说明:原理说明:IBGPIBGP的的TTLTTL默认时默认时255255,可以跨多跳路由器。
可以跨多跳路由器而而EBGPEBGP的的TTLTTL默认为默认为1 1,协议包只能跑一跳远,直连情况时没问题,但非直,协议包只能跑一跳远,直连情况时没问题,但非直连情况下的连情况下的peerpeer就要改就要改TTLTTL•解决方法:步骤解决方法:步骤1:首先确保:首先确保Peer的的可达可达性性R1配置:配置:R1(config)# ip route 1.1.1.2 255.255.255.255 10.1.1.2R1配置:配置:R1(config)# router bgp 64512 R1(config-router)# neighbor 1.1.1.2 ebgp-multihop [1-255] 不指定值则默认为255BGP peer idle 状态故障处理(续)•解决方法:步骤解决方法:步骤2:确保:确保Peer的的对等性对等性R1配置:配置:R1(config)# router bgp 64512 R1(config-router)# neighbor 1.1.1.2 update-source loopback 0R2配置:配置:R2(config)# router bgp 64513 R2(config-router)# no neighbor 10.1.1.2 R2(config-router)# neighbor 1.1.1.1 ebgp-multihop R2(config-router)# neighbor 1.1.1.1 update-source loopback 0改用loopback地址来建立BGP Peer连接建立对等体的实验配置命令参考R1配置:配置:ip route 1.1.1.2 255.255.255.255 10.1.1.2router bgp 64512 neighbor 1.1.1.2 remote-as 64513 neighbor 1.1.1.2 ebgp-multihop 255 neighbor 1.1.1.2 update-source Loopback 0R2配置:配置:ip route 1.1.1.1 255.255.255.255 10.1.1.1router bgp 64513 neighbor 1.1.1.1 remote-as 64512 neighbor 1.1.1.1 ebgp-multihop 255 neighbor 1.1.1.1 update-source Loopback 0 neighbor 10.1.2.3 remote-as 64513R3配置:配置:router bgp 64513 neighbor 10.1.2.2 remote-as 645132、通告BGP路由•BGP路由由IGP负责发现,路由发现渠道有直连、静态、动态IGP等发现路由•为了让BGP知道路由信息,要将IGP知道的路由重发布到BGP中,重发布的方法有两种:1)静态重发布注入路由networkR1(config-router)# network 172.16.1.0 mask 255.255.255.0R1(config-router)# network 1.1.1.1 mask 255.255.255.255K要求network后面跟的IP子网信息要在路由表中存在且精确匹配其IP子网号和掩码。
K静态注入,人为干预比较多,但容易控制,通过配置汇总后的黑洞静态路由再静态注入到BGP中是一个不错的选择2)动态重发布注入路由redistributeR1(config)# router bgp 64512 R1(config-router)# redistribute ospf 1 Show ip bgp 查看BGP路由表表示是自己产生的路由BGP认为有效的/最佳的路由引入路由的方法Show ip bgp 查看BGP路由表经过的AS路径查看某一条具体的BGP路由在R3上看到的路由没有“>”标记,则不会安装进IP路由表,也不会通告给其他peerNext-hop-self问题•原因分析:下一跳不可达,所以BGP路由不能安装进全局的IP路由表•原理说明:EBGP通告路由时使用对等体作为下一跳;IBGP通告路由时缺省不改变下一跳地址信息•解决方法:通过命令:R2(config-router)# neighbor 10.1.2.3 next-hop-self此时将用自己的BGP router ID为peer做下一跳地址BGP路由通告原则总结•BGP Speaker只把自己使用的路由通告给邻居•BGP Speaker从EBGP获得的路由会向它所有BGP邻居通告(包括EBGP和IBGP)•BGP Speaker从IBGP获得的路由不再向它的其它IBGP邻居通告•BGP Speaker 从IBGP获得的路由是否通告给它的EBGP邻居要依IGP和BGP同步的情况来决定3、BGP循环避免机制•BGP作为一种D-V距离矢量路由协议,防止循环的措施水平分割等都是有的,同时还采用AS-Path属性来防止循环的发生•(1)水平分割•(2)AS-path。
EBGP向对等体通告路由时附加上自己的AS号存放在AS-path属性字段中,收到EBGP对等体Update报文时检查AS-path,如果发现自己的AS号则丢弃该路由也就是说EBGP是依靠路由经过的AS路径来发现循环的•(3)IBGP由于向对等体通告路由时不会加上自己的AS号,所以IBGP通过收到路由后不再向其他IBGP对等体通告来防止循环的发生,并且IBGP在路由通告时还不改变路由的下一跳进一步防止循环的发生但IBGP中如果邻居太多,为了相互能通告学习路由,一种方法使用IBGP全连接,另一种方法是采用路由反射器来解决IBGP内部路由扩散的问题4、BGP同步的问题EBGPEBGPR1R2IBGPR4R3R5AS100AS200AS300场景:场景:Transit AS网络网络N路由黑洞•路由黑洞的定义:当数据报文被转发到某个路由器时而该路由器没有关于目标网络的路由而造成丢包的现象叫路由黑洞•路由黑洞的原因:IBGP中常常是逻辑连接,不能确保中间跨越的所有路由器都有BGP知道的路由,此时容易发生路由黑洞解决路由黑洞问题的方法(1)让IGP知道:把BGP的路由重发布到AS内的IGP(2)在穿越路径上IBGP启用全连接,确保所有BGP路由过路设备都知道。
3)使用MPLS转发机制,利用标签标识下一跳,解决穿越AS问题4)对非穿越AS,单头连接情况下,比如在城域网与163互联的拓扑中,城域网内部都跑IGP,只是在城域网出口用BGP控制出口,数据不穿过AS,在这种单头连接的情况下可以关闭同步BGP同步的作用与定义•作用:BGP协议为了防止路由黑洞问题防止路由黑洞问题,引入了同步机制•同步其实就是BGP和IGP的同步,他们都有了要通告的路由了就叫同步了,满足这个条件了BGP才会将路由通告给下一个自治系统•同步概念定义:从IBGP对等体学习到的路的路由由在成为最佳路径并向EBGP对等体通告之前必须被必须被IGP知道知道•解决了路由黑洞问题就可以关闭同步了(默认已关闭)关闭同步命令参考R1 (config)# router bgp 200 R1 (config-router)# no synchronization BGP同步实验R2:S5750R3:S8610R5:S7604R1:NPE50R4:RSR50Gi0/0Gi0/0Gi0/1G0/1G0/2G3/2G3/1G2/1710.1.1.0/2410.1.2.0/24172.16.1.0/24192.168.1.0/24Lo 0:1.1.1.2Lo 0:1.1.1.1Lo 0:1.1.1.3Lo 0:1.1.1.4Lo 0:1.1.1.5Lo 1:4.0.1.0/24Lo 1:5.0.1.0/24AS 200AS 100AS 300实验要求IGP配置要求1.AS 200自治系统中的设备运行OSPF IGP 路由协议。
2.R1、R2、R3设备的接口都划分到OSPF area 0中BGP配置要求1.R1与R4配置EBGP2.R3与R5配置EBGP3.R1与R3配置IBGP4.要求使用各设备loopback 0接口地址建立对等体5.在R4和R5上分别将loopback 1网段通告进BGP实验初期看到的现象是•如果R1、R3的BGP同步打开, R4上将学不到5.0.1.0/24路由,R5上也学不到4.0.1.0/24路由•如果BGP同步默认关闭,R4上能学习到5.0.1.0/24路由、R5上都能学习到4.0.1.0/24路由,但在R4上ping 5.0.1.5 ping不通•此时请问有路由但ping不通的原因是什么?你的排错思路是什么,如何解决之?•通过这个案例你的体会是什么?课程议题四、四、BGP路由进程模型路由进程模型一个路由器对BGP路由的处理过程策略机:操纵路由属性,对属性置值路由决策:根据BGP路由选择规则选择最佳路径,最好的可安装入路由表使用策略的原则是谁受益谁配置课程议题五、五、BGP路由决策路由决策BGP路由选择决策规则•选择步骤依次为:–1、 路由下一跳不可达或没有解决同步问题,则不能参与路由选择–2、 选择weight值最高的路由——思科私有–3、 选择LOCAL_PREF较大的路由–4、 选择本地路由器产生的路由–5、 选择AS路径较短的路由–6、 依次选择origin属性为IGP、EGP和INCOMPLETE类型的路由–7、 选择MED较小的路由–8、 优选EBGP而不是IBGP–9、 选择下一跳IGP度量值较小的路由 –10、选择BGP Router ID小的BGP对等体通告的路由BGP缺省不支持负缺省不支持负载均衡。
如果载均衡如果全局配置下:全局配置下:maximum-paths修改可用路径的数修改可用路径的数量,则不会往后面量,则不会往后面比较了比较了课程议题六、六、BGP路由属性路由属性 BGP属性分类•BGP属性的作用:描述路由的一组参数,BGP根据路由的属性选择最佳路由,一条路由可能有多个属性,可以人为置值,以便执行路由策略•属性分类:ü公认属性(Well-known):ü公认必遵(Well-known mandatory)如:Origin AS-Path Next hopü公认自决(Well-known discretionary)如: Local-Preferenceü可选属性(Optional)ü可选可传递(Optional transitive)如: Communityü可选不可传递(Optional non-transitive)如:MED常见BGP路由属性1、Origin2、AS-Path3、Next hop4、MED5、Local-Preference6、Atomic-Aggregate7、Aggregator8、Community9、Originator-ID10、Cluster-List11、Destination Pref (MCI)12、Advertiser (Baynet)13、Rcid-Path (Baynet)14、MP_Reach_NLRI15、MP_Unreach_NLRI16、Extended_Communities一条BGP路由缺省携带的属性是 origin next-hop as-path以及 local-pref=100 MED=0属性1、Origin属性•作用:标识路由的来源 •可能的3种情况:–IGP: 路由是用network命令注入到BGP路由表中的–EGP: 路由是通过EGP得知的–Incomplete: 路由是用redistribute命令注入到BGP路由表中的•优选原则是IGP > EGP > Incomplete,IGP最优先进入路由表2、AS-Path属性•公认必遵属性•作用:描述到达目标网络所要经过的AS号序列。
•向EBGP peer通告路由时在AS属性的最左边添加自己的AS号(最左边的是刚经过的AS,最右边的是起源AS)AS_PATH属性D(18.0.0.0/8)AS200AS300AS400AS100AS500RTARTB30.0.0.130.0.0.2show ip bgp 18.0.0.0/8 400 300 200> 18.0.0.0/8 500 200RTC通过as-path属性选择最佳路由EBGP使用AS-Path防止循环EBGPEBGPR1R2IBGPR4R3R5AS100AS200AS30018.0.0.0/8AS-path((300))18.0.0.0/8AS-path((300))18.0.0.0/8AS-path((100,,200,,300))18.0.0.0/8AS-path((200,,300))18.0.0.0/8BGP循环避免机制回顾•BGP作为一种D-V距离矢量路由协议,防止循环的措施水平分割等都是有的,同时还采用AS-Path属性来防止循环的发生•(1)水平分割•(2)AS-pathEBGP向对等体通告路由时附加上自己的AS号存放在AS-path属性字段中,收到EBGP对等体Update报文时检查AS-path,如果发现自己的AS号则丢弃该路由。
也就是说EBGP是依靠路由经过的AS路径来发现循环的•(3)IBGP由于向对等体通告路由时不会加上自己的AS号(因为根据规则AS号相同就要丢弃该路由了),所以IBGP通过收到路由后不再向其他IBGP对等体通告来防止循环的发生,并且IBGP在路由通告时还不改变路由的下一跳进一步防止循环的发生但IBGP中如果邻居太多,为了相互能通告学习路由,一种方法使用IBGP全连接,另一种方法是采用路由反射器来解决IBGP内部路由扩散的问题AS 3AS 56AS 251EBGPIBGPR2L1::5.5.5.5/32L1::6.6.6.6/32L1::3.3.3.3/32EBGP200.200.2.0/24R6的BGP表: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.23、Next_hop属性r3r4r5r6IBGP之间通告路由缺省不改变下一跳下一跳地址的填写规则•Ebgp使用对等体作为自己的下一跳•IBGP缺省不改变下一跳,可能导致下一跳不可达,一般通过配置Next-hop-self解决•优先选择下一跳IGP度量值较小的路由•在部署IGP(OSPF ISI-IS )一般都要修改缺省的metric影响路由决策IBGPIBGPIBGPAS5Local pref=200R1R3Local pref=10018.0.0.0/8:> Local Pref 200 Local Pref 1004、Local preference属性•一般只在AS内部IBGP peer之间交换传递,不会传递给EBGP peer•优选local-prefer较高值的路由;Local preference属性的使用•Local preference 本地优先级•公认可选属性,缺省local-pref为100•一般只在AS内部IBGP peer之间传递,不会传递给ebgp peer•通过命令set local-pref #可以修改设置local-pref的值,优选较高值的路由Next Hop: 4.4.4.4/8RCAS1AS2RBRDMED = 50MED = 200MED = 120128.213.0.0/16AS3R45、MED属性RAMED属性的使用•Med multi-exit-disc 任选非传递属性•优选较低MED值的;•不跨AS传播•相对于local-pref,可以把路由策略传递给ebgp peer•除非配置了“always-compare-med”,其它时候永远只比较来自同一AS的路径;6、Community团体属性•作用:标识一些有相同性质的前缀,给路由打标记,以便统一处理。
•Community不限于一个网络或一个自治系统,没有物理边界•一个路由可以有多个团体属性•公认的Community– NO_ADVERTISE:不通告给任何的BGP对等体;– NO_EXPORT:不通告给EBGP对等体;– INTERNET:可以通告给所有的其他BGP对等体– LOCAL-AS:表示本路径不发布到本AS 外部,当配置联盟时,本路径不发布给其它的自治系统或子自治系统•私有community Community团体属性的使用•私有团体是对用户有意义的数字•四个字节,为增加可读性,可配置为aa:nn,一般aa建议为AS号,nn代表业务•缺省在peer之间不传递community属性,必须针对特定peer使用neighbor ××××send-community才能将community属性发送出去属性操纵控制心法口诀总结•用户数据转发路径由源到目标之间的路由器的路由表决定•影响一个方向的路由,就可以影响反方向的用户数据控制了路由就是控制了数据•策略机包括属性操纵和路由过滤•入口策略机影响自己及下游路由器的路由选择,出口策略机只影响下游路由器课程议题七、大规模网络中七、大规模网络中BGP的应用的应用BGP在大规模网络中遇到的问题lBGP路由表庞大[路由汇总l路由策略过于复杂[对等体组lIBGP对等体过多,逻辑全连接不易实现[BGP反射器[BGP联盟l在复杂网络环境中路由的变化过于频繁[BGP衰减1、、路由汇总AS100AS400172.16.0.0/24172.16.1.0/24172.16.2.0/24......172.16.15.0/24EBGPRTA172.16.0.0/20172.16.0.0/24172.16.1.0/24172.16.2.0/24......172.16.15.0/24RTDRTA配置:配置:RTA(config)# router bgp 100 RTA(config-router)# aggregate-address 172.16.0.0 255.255.240.0缺省情况,缺省情况,BGP 汇总配置后是同时通告汇总路由和原来的细化路由的汇总配置后是同时通告汇总路由和原来的细化路由的.172.16.0.0/20172.16.0.0/24172.16.1.0/24172.16.2.0/24......172.16.15.0/24路由汇总——只通告汇总路由AS100AS400172.16.0.0/24172.16.1.0/24172.16.2.0/24......172.16.15.0/24EBGPRTA172.16.0.0/20RTD172.16.0.0/20RTA配置:配置:RTA(config)# router bgp 100 RTA(config-router)# aggregate-address 172.16.0.0 255.255.240.0 summary-only只通告汇总后的主网路由路由汇总——汇总后路径信息的丢失AS200172.16.8.0/22RTBRTD172.16.12.0/22AS300172.16.8.0/22172.16.12.0/22AS100RTARTC172.16.8.0/22((200))172.16.12.0/22((300))AS400172.16.0.0/16((100))A)RTA在执行了路由汇总后导致部分具体路由路径信息丢失。
为避免因此引入的环路隐患,RTA使用ATOMIC_AGGREGATE和AGGREGATOR属性通知RTD在RTA处执行了路由汇总B)在具体路由稳定的情况下,RTA也可以选择使用AS_SET属性通告RTD聚合路由所包含的具体路由所经过的全部AS2、BGP路由反射器——全网状连接模型的改变AS100EBGPIBGPclusterAS100IBGPRTERTDEBGPRTBRTARTC客户机 非客户机 非客户机 路由反射器客户机 AS 65000A AX XCARoute ReflectorAS 65000A路由反射器的工作行为普通普通IBGP路由器路由器BCABCclientclientnonclientAS100RRAS200路由反射器的规则RR 从clients和nonclients收路由更新后路由反射的规则•按照BGP的基本选路原则,选出最佳路由,只通告最佳路由•从 client收到的更新,反射到 nonclients 和 clients•从 nonclient收到的更新,反射到 clients•从 EBGP邻居收到的更新,反射到 所有nonclients 和 clientsBGP反射——路由反射器冗余备份设计AS100RTERTDRTBRTARTC客户机 非客户机 路由反射器1客户机 路由反射器2IBGP连接连接物理连接物理连接RR使用说明•RR压力大 可能导致循环•通过引入Originator –id 和Cluster-list分别在Cluster簇内和簇间防止循环•Originator –id 可选非传递属性 由RR建立,使用始发路由器的router-id,收到路由,发现自己的router-id则丢弃•Cluster-list 可选非传递属性 update经过的cluster-id, cluster-id的值一般使用RR的router-id,值不同认为是两个不同的簇,RR收到cluster-list中有自己的cluster-id,则丢弃。
•为防止循环,通告的路由保持IBGP的属性不变•RR可能导致单点故障,冗余时一般建议配置:bgp cluster-id××××指定cluster-id,多台冗余备份的RR设备设置相同的cluster-id•RR可以嵌套实验:BGP RRR2:S5750R3:S8610R5:S7604R1:NPE50R4:RSR50Gi0/0Gi0/0Gi0/1G0/1G0/2G3/2G3/1G2/1710.1.1.0/2410.1.2.0/24172.16.1.0/24192.168.1.0/24Lo 0:1.1.1.2Lo 0:1.1.1.1Lo 0:1.1.1.3Lo 0:1.1.1.4Lo 0:1.1.1.5Lo 1:4.0.1.0/24Lo 1:5.0.1.0/24AS 200AS 100AS 300RRRR关键配置参考命令RR上配置:上配置:R2(config)# router bgp 200 R2(config-router)# neighbor 1.1.1.1 remote-as 200R2(config-router)# neighbor 1.1.1.1 route-reflector-client R2(config-router)# neighbor 1.1.1.3 remote-as 200R2(config-router)# neighbor 1.1.1.3 route-reflector-clientclient上配置:上配置:R1(config)# router bgp 200 R1(config-router)# neighbor 1.1.1.2 remote-as 200R3(config)# router bgp 200 R3(config-router)# neighbor 1.1.1.2 remote-as 200IBGPAS 100AS 200EBGP简化BGP的配置的方法-配置对等体组•对等体组(peer group)的作用是简化BGP大量的配置,创建个peer group配置模板可以被调用•不影响实际的邻居关系的建立与路由的传递方式Peer group配置步骤配置步骤:1、 创建peer group 2、针对peer group配置 3、把特定的peer加入peer group,继承配置 4、某个peer可以单独配置策略 个性大于共性RR上的peer-group配置命令参考 router bgp 200 neighbor PEER-GROUP peer-group neighbor PEER-GROUP remote-as 200 neighbor PEER-GROUP update-source Loopback 0 neighbor PEER-GROUP next-hop-self neighbor PEER-GROUP route-reflector-client neighbor 1.1.1.1 peer-group PEER-GROUP neighbor 1.1.1.3 peer-group PEER-GROUP 中国电信骨干网RR设计模型3、BGP联盟AS100RTFRTERTD20.0.0.1 RTCRTB20.0.0.2 AS200RTA40.0.0.1 40.0.0.2 30.0.0.2 30.0.0.1 AS65050AS65060RTGAS300联盟使用说明•联盟 Confederation,把一个大的,把一个大的AS分分给为若干个子给为若干个子AS,通过不同的通过不同的AS号区分。
号区分•对外呈现为一个对外呈现为一个AS号号•子子AS之间是之间是EBGP Peer,但不改变,但不改变next-hop MED local-pref等属性•子子AS不会影响不会影响as-path长度,可能会导致长度,可能会导致次佳路由次佳路由BGP联盟配置关键命令参考•RTB配置router bgp 65050neighbor 30.0.0.2 remote-as 200confederation identifier 100 统一对外呈现的联盟统一对外呈现的联盟as号号neighbor 40.0.0.2 remote-as 65050neighbor 20.0.0.2 remote-as 65060 bgp confederation peer 65060 联盟对等的子联盟对等的子as号号•RTA配置配置router bgp 200neighbor 30.0.0.1 remote-as 100惩罚值时间抑止门限再使用门限被抑止4、提高网络的稳定性-路由衰减•引入了惩罚值的概念,对频繁更新的路由,惩罚值到一定程度后抑止该路由,直至其恢复稳定方可重新投入使用课程议题八、八、BGP实验实验实验:属性操纵•实验背景实验背景•属性操纵属性操纵——local-prefer、、MED•属性操纵属性操纵——其他其他实验背景说明——拓扑R2:S5750R3:S8610R5:S7604R1:NPE50R4:RSR50Gi0/0Gi0/0Gi0/1G0/1G0/2G3/2G3/1G2/1710.1.1.0/2410.1.2.0/24172.16.1.0/24192.168.1.0/24Lo 0:1.1.1.2Lo 0:1.1.1.1Lo 0:1.1.1.3Lo 0:1.1.1.4Lo 0:1.1.1.5Lo 1:4.0.1.0/24Lo 1:5.0.1.0/2411.1.1.0/2412.1.1.0/24Gi0/2Gi3/4Gi0/2Gi2/19Lo 1:2.0.1.0/24Lo 2: 2.0.2.0/24AS 64520AS 100OSPF 1实验背景——业务一期望的流向R2:S5750R3:S8610R5:S7604R1:NPE50R4:RSR50Gi0/0Gi0/0Gi0/1G0/1G0/2G3/2G3/1G2/1710.1.1.0/2410.1.2.0/24172.16.1.0/24192.168.1.0/24Lo 0:1.1.1.2Lo 0:1.1.1.1Lo 0:1.1.1.3Lo 0:1.1.1.4Lo 0:1.1.1.5Lo 1:4.0.1.0/24Lo 1:5.0.1.0/2411.1.1.0/2412.1.1.0/24Gi0/2Gi3/4Gi0/2Gi2/19Lo 1:2.0.1.0/24Lo 2: 2.0.2.0/24AS 64520AS 100OSPF 1实验背景——业务二期望的流向R2:S5750R3:S8610R5:S7604R1:NPE50R4:RSR50Gi0/0Gi0/0Gi0/1G0/1G0/2G3/2G3/1G2/1710.1.1.0/2410.1.2.0/24172.16.1.0/24192.168.1.0/24Lo 0:1.1.1.2Lo 0:1.1.1.1Lo 0:1.1.1.3Lo 0:1.1.1.4Lo 0:1.1.1.5Lo 1:4.0.1.0/24Lo 1:5.0.1.0/2411.1.1.0/2412.1.1.0/24Gi0/2Gi3/4Gi0/2Gi2/19Lo 1:2.0.1.0/24Lo 2: 2.0.2.0/24AS 64520AS 100OSPF 1实验要求文字具体说明•控制从as 64520流向as 100的用户数据1. 到目标网络2.0.1.0/24的用户数据走R4-R1-R22. 到目标网络2.0.2.0/24的用户数据走R5-R3-R23. 出口链路互为主备• 流量是对称的,控制从as 100流向as 64520的用户数据1. 到目标网络4.0.1.0/24的用户数据走R2-R1-R42. 到目标网络5.0.2.0/24的用户数据走R2-R3-R53. 出口链路互为主备路由控制数据的心法口诀•用户数据转发受路由表控制•路由与数据是相反的,要想控制一个方向的用户数据,只要控制反方向的路由即可•输入、输出策略机:属性操纵BGP路由选择决策规则•选择步骤依次为:–1、 路由下一跳不可达或没有解决同步问题,则不能参与路由选择–2、 选择weight值最高的路由——思科私有–3、 选择LOCAL_PREF较大的路由–4、 选择本地路由器产生的路由–5、 选择AS路径较短的路由–6、 依次选择origin属性为IGP、EGP和INCOMPLETE类型的路由–7、 选择MED较小的路由–8、 优选EBGP而不是IBGP;–9、 选择下一跳IGP度量值较小的路由 –10、选择BGP Router ID小的BGP对等体通告的路由BGP缺省不支持负缺省不支持负载均衡。
如果载均衡如果全局配置下:全局配置下:maximum-paths修改可用路径的数修改可用路径的数量,则不会往后面量,则不会往后面比较了比较了实验初期规划说明R2:S5750R3:S8610R5:S7604R1:NPE50R4:RSR50Gi0/0Gi0/0Gi0/1G0/1G0/2G3/2G3/1G2/1710.1.1.0/2410.1.2.0/24172.16.1.0/24192.168.1.0/24Lo 0:1.1.1.2Lo 0:1.1.1.1Lo 0:1.1.1.3Lo 0:1.1.1.4Lo 0:1.1.1.5Lo 1:4.0.1.0/24Lo 1:5.0.1.0/2411.1.1.0/2412.1.1.0/24Gi0/2Gi3/4Gi0/2Gi2/19Lo 1:2.0.1.0/24Lo 2: 2.0.2.0/24AS 64520AS 100OSPF 1EBGPIBGPRRRR实验配置顺序参考•配置步骤1、AS内部通过IGP(OSPF)解决IBGP peer的连通性2、BGP peer的配置及路由发布3、属性操纵4、验证1、IGP配置参考•通过ospf解决as64520内部loopback地址的可达性,解决bgp的可达性•R1 npe-50配置参考 router ospf 1 router-id 1.1.1.1 net 1.1.1.1 0.0.0.0 area 0 net 172.16.1.0 0.0.0.255 area 0 net 11.1.1.0 0.0.0.255 area 0 查看路由表并ping测试2、BGP peer配置参考•配置IBGP PEER r1 、r3 作为RR•R1 npe-50配置参考 router bgp 64520 bgp cluster-id 1.1.1.1 neighbor 10.1.1.2 remote-as 100 neighbor 1.1.1.3 remote-as 64520 neighbor 1.1.1.3 update-source loopback 0 neighbor 1.1.1.3 next-hop-self neighbor 1.1.1.4 remote-as 64520 neighbor 1.1.1.4 update-source loopback 0 neighbor 1.1.1.4 next-hop-self neighbor 1.1.1.4 route-reflector-client neighbor 1.1.1.5 remote-as 64520 neighbor 1.1.1.5 update-source loopback 0 neighbor 1.1.1.5 next-hop-self neighbor 1.1.1.5 route-reflector-client3、BGP路由发布配置参考•BGP的路由发现依赖于IGP•静态 ip route 汇总网络 子网掩码 null 0 router bgp 100 network 汇总网络 mask 子网掩码 半动态 IGP 发现 network 发布 动态 router bgp 100 redistribute #•R2-S5070上的配置 router bgp 100 network 2.0.1.0 mask 255.255.255.0 network 2.0.2.0 mask 255.255.255.04、BGP属性操作•属性操纵配置步骤三步曲: 一、定义要操纵的路由 基于前缀或前缀长度 ip prefix-list 基于属性 as-path 、团体等 二、使用route-map的match语句检查路由并用set语句对属性置值 三、使用neighbor ×××× route-map in/out针对特定peer执行属性操纵 属性操纵——local-preferenceR2:S5750R3:S8610R5:S7604R1:NPE50R4:RSR50Gi0/0Gi0/0Gi0/1G0/1G0/2G3/2G3/1G2/1710.1.1.0/2410.1.2.0/24172.16.1.0/24192.168.1.0/24Lo 0:1.1.1.2Lo 0:1.1.1.1Lo 0:1.1.1.3Lo 0:1.1.1.4Lo 0:1.1.1.5Lo 1:4.0.1.0/24Lo 1:5.0.1.0/2411.1.1.0/2412.1.1.0/24Gi0/2Gi3/4Gi0/2Gi2/19Lo 1:2.0.1.0/24Lo 2: 2.0.2.0/24AS 64520AS 100OSPF 1用户数据用户数据目标目标ip 2.0.1.0/24R2:S5750R3:S8610R5:S7604R1:NPE50R4:RSR50Gi0/0Gi0/0Gi0/1G0/1G0/2G3/2G3/1G2/1710.1.1.0/2410.1.2.0/24172.16.1.0/24192.168.1.0/24Lo 0:1.1.1.2Lo 0:1.1.1.1Lo 0:1.1.1.3Lo 0:1.1.1.4Lo 0:1.1.1.5Lo 1:4.0.1.0/24Lo 1:5.0.1.0/2411.1.1.0/2412.1.1.0/24Gi0/2Gi3/4Gi0/2Gi2/19Lo 1:2.0.1.0/24Lo 2: 2.0.2.0/24AS 64520AS 100OSPF 1路由路由 2.0.1.0/24LP 200路由路由 2.0.2.0/24LP 100R2:S5750R3:S8610R5:S7604R1:NPE50R4:RSR50Gi0/0Gi0/0Gi0/1G0/1G0/2G3/2G3/1G2/1710.1.1.0/2410.1.2.0/24172.16.1.0/24192.168.1.0/24Lo 0:1.1.1.2Lo 0:1.1.1.1Lo 0:1.1.1.3Lo 0:1.1.1.4Lo 0:1.1.1.5Lo 1:4.0.1.0/24Lo 1:5.0.1.0/2411.1.1.0/2412.1.1.0/24Gi0/2Gi3/4Gi0/2Gi2/19Lo 1:2.0.1.0/24Lo 2: 2.0.2.0/24AS 64520AS 100OSPF 1用户数据用户数据目标目标ip 2.0.1.0/24R2:S5750R3:S8610R5:S7604R1:NPE50R4:RSR50Gi0/0Gi0/0Gi0/1G0/1G0/2G3/2G3/1G2/1710.1.1.0/2410.1.2.0/24172.16.1.0/24192.168.1.0/24Lo 0:1.1.1.2Lo 0:1.1.1.1Lo 0:1.1.1.3Lo 0:1.1.1.4Lo 0:1.1.1.5Lo 1:4.0.1.0/24Lo 1:5.0.1.0/2411.1.1.0/2412.1.1.0/24Gi0/2Gi3/4Gi0/2Gi2/19Lo 1:2.0.1.0/24Lo 2: 2.0.2.0/24AS 64520AS 100OSPF 1路由路由 2.0.2.0/24LP 200路由路由 2.0.1.0/24LP 100R1-NPE 50配置参考(R3配置略)•ip prefix-list 1 seq 10 permit 2.0.1.0/24•route-map LocPrf permit 10 match ip add prefix-list 1 set local-preference 200 route-map LocPrf permit 20•router bgp 64520 neighbor 10.1.1.2 route-map LocPrf in(1)不写该permit语句则默认丢弃所有其他路由(2)不写match语句则表示匹配所有对收进来的路由做控制-入口策略机R4-RSR50# show ip routeGateway of last resort is no setO 1.1.1.1/32 [110/1] via 172.16.1.1, 01:54:25, gigabitEthernet 0/0O 1.1.1.3/32 [110/2] via 172.16.1.1, 01:53:40, gigabitEthernet 0/0O [110/2] via 12.1.1.5, 01:53:40, gigabitEthernet 0/2C 1.1.1.4/32 is local host. O 1.1.1.5/32 [110/1] via 12.1.1.5, 01:53:40, gigabitEthernet 0/2B 2.0.1.0/24 [200/0] via 1.1.1.1, 00:27:53B 2.0.2.0/24 [200/0] via 1.1.1.3, 00:27:57C 4.0.1.0/24 is directly connected, gigabitEthernet 0/1C 4.0.1.4/32 is local host. B 5.0.1.0/24 [200/0] via 1.1.1.5, 00:34:37O 11.1.1.0/24 [110/2] via 172.16.1.1, 01:54:25, gigabitEthernet 0/0C 12.1.1.0/24 is directly connected, gigabitEthernet 0/2C 12.1.1.4/32 is local host. C 172.16.1.0/24 is directly connected, gigabitEthernet 0/0C 172.16.1.4/32 is local host. O 192.168.1.0/24 [110/2] via 12.1.1.5, 01:53:40, gigabitEthernet 0/2R5-S7604# show ip routeGateway of last resort is no setO 1.1.1.1/32 [110/2] via 12.1.1.4, 01:54:11, GigabitEthernet 2/19 [110/2] via 192.168.1.3, 01:54:11, GigabitEthernet 2/17O 1.1.1.3/32 [110/1] via 192.168.1.3, 01:54:11, GigabitEthernet 2/17O 1.1.1.4/32 [110/1] via 12.1.1.4, 01:54:11, GigabitEthernet 2/19C 1.1.1.5/32 is local host. B 2.0.1.0/24 [200/0] via 1.1.1.1, 00:28:21B 2.0.2.0/24 [200/0] via 1.1.1.3, 00:28:26B 4.0.1.0/24 [200/0] via 1.1.1.4, 00:35:25C 5.0.1.0/24 is directly connected, Loopback 1C 5.0.1.5/32 is local host. O 11.1.1.0/24 [110/2] via 192.168.1.3, 01:54:11, GigabitEthernet 2/17C 12.1.1.0/24 is directly connected, GigabitEthernet 2/19C 12.1.1.5/32 is local host. O 172.16.1.0/24 [110/2] via 12.1.1.4, 01:54:11, GigabitEthernet 2/19C 192.168.1.0/24 is directly connected, GigabitEthernet 2/17C 192.168.1.5/32 is local host. 属性操纵——MEDR2:S5750R3:S8610R5:S7604R1:NPE50R4:RSR50Gi0/0Gi0/0Gi0/1G0/1G0/2G3/2G3/1G2/1710.1.1.0/2410.1.2.0/24172.16.1.0/24192.168.1.0/24Lo 0:1.1.1.2Lo 0:1.1.1.1Lo 0:1.1.1.3Lo 0:1.1.1.4Lo 0:1.1.1.5Lo 1:4.0.1.0/24Lo 1:5.0.1.0/2411.1.1.0/2412.1.1.0/24Gi0/2Gi3/4Gi0/2Gi2/19Lo 1:2.0.1.0/24Lo 2: 2.0.2.0/24AS 64520AS 100OSPF 1用户数据用户数据目标目标 4.0.1.0/24用户数据用户数据目标目标 5.0.1.0/24属性操纵——MEDR2:S5750R3:S8610R5:S7604R1:NPE50R4:RSR50Gi0/0Gi0/0Gi0/1G0/1G0/2G3/2G3/1G2/1710.1.1.0/2410.1.2.0/24172.16.1.0/24192.168.1.0/24Lo 0:1.1.1.2Lo 0:1.1.1.1Lo 0:1.1.1.3Lo 0:1.1.1.4Lo 0:1.1.1.5Lo 1:4.0.1.0/24Lo 1:5.0.1.0/2411.1.1.0/2412.1.1.0/24Gi0/2Gi3/4Gi0/2Gi2/19Lo 1:2.0.1.0/24Lo 2: 2.0.2.0/24AS 64520AS 100OSPF 1路由路由 5.0.1.0/24MED 50其他路由放通其他路由放通路由路由 4.0.1.0/24MED 50其他路由放通其他路由放通R1修改MED的配置参考•ip prefix-list 2 seq 10 permit 5.0.1.0/24•route-map MED permit 10match ip add prefix-list 2set metric 50route-map MED permit 20•router bgp 64520neighbor 10.1.1.2 route-map MED outR2-S5750# show ip routeGateway of last resort is no setC 1.1.1.2/32 is local host. C 2.0.1.0/24 is directly connected, Loopback 1C 2.0.1.1/32 is local host. C 2.0.2.0/24 is directly connected, Loopback 2C 2.0.2.1/32 is local host. B 4.0.1.0/24 [20/0] via 10.1.1.1, 00:32:07B 5.0.1.0/24 [20/0] via 10.1.2.3, 00:31:59C 10.1.1.0/24 is directly connected, GigabitEthernet 0/1C 10.1.1.2/32 is local host. C 10.1.2.0/24 is directly connected, GigabitEthernet 0/2C 10.1.2.2/32 is local host. R3-S8610# show ip routeGateway of last resort is no setO 1.1.1.1/32 [110/1] via 11.1.1.1, 01:32:26, GigabitEthernet 3/4C 1.1.1.3/32 is local host. O 1.1.1.4/32 [110/2] via 11.1.1.1, 01:30:00, GigabitEthernet 3/4 [110/2] via 192.168.1.5, 01:30:00, GigabitEthernet 3/1O 1.1.1.5/32 [110/1] via 192.168.1.5, 01:30:00, GigabitEthernet 3/1B 2.0.1.0/24 [200/0] via 1.1.1.1, 00:04:12B 2.0.2.0/24 [20/0] via 10.1.2.2, 00:04:18B 4.0.1.0/24 [200/0] via 1.1.1.4, 00:11:16B 5.0.1.0/24 [200/0] via 1.1.1.5, 00:10:58C 10.1.2.0/24 is directly connected, GigabitEthernet 3/2C 10.1.2.3/32 is local host. C 11.1.1.0/24 is directly connected, GigabitEthernet 3/4C 11.1.1.3/32 is local host. O 12.1.1.0/24 [110/2] via 192.168.1.5, 01:30:00, GigabitEthernet 3/1O 172.16.1.0/24 [110/2] via 11.1.1.1, 01:32:26, GigabitEthernet 3/4C 192.168.1.0/24 is directly connected, GigabitEthernet 3/1C 192.168.1.3/32 is local host. 属性操纵——其他方法可以通过本实验的拓扑去熟悉BGP其他属性操纵1、可以使用as-path达到med的效果route-map AS permit 10match ip add prefix-list 2set as-path prepend 64520 64520route-map AS permit 20as-path 越短越优先2、使用origin属性达到med的效果set origin IGP 优先于incomplete属性操纵——community目的:使用community标记特定的路由实验要求:可以在r4 r5上针对特定的路由打上团体标记,在r1、r3 基于团体标记来挑选所需路由在r4上针对 4.0.1.0/24打上团体标记 64520:10在r5上针对5.0.1.0/24打上团体标记 64520:20R4上community属性标记配置参考ip prefix-list 3 seq 10 permit 4.0.1.0/24route-map COMMUNITY permit 10match ip add prefix-list 3set community 64520:10route-map COMMUNITY permit 20router bgp 64520neighbor 1.1.1.1 route-map COMMUNITY outneighbor 1.1.1.1 send-community --缺省community不传给任何对等体neighbor 1.1.1.3 route-map COMMUNITY outneighbor 1.1.1.3 send-community查看团体属性标记了的路由方法R3-S8610# show ip bgp 4.0.1.0BGP routing table entry for 4.0.1.0/24Paths: (1 available, best #1, table Default-IP-Routing-Table) Advertised to non peer-group peers: 1.1.1.1 1.1.1.5 10.1.2.2 Local, (Received from a RR-client) 1.1.1.4 (metric 11) from 1.1.1.4 (1.1.1.4) Origin IGP metric 0, localpref 100, valid, internal, best Community: 64520:10 Last update: Fri Sep 19 05:53:32 2008挑选community路由配置参考在R3上基于团体标记64520:10挑选出4.0.1.0/24,然后进行其他属性操纵,比如增加as-path的长度ip community-list 1 permit 64520:10 route-map COMMUNITY permit 10match community 1set as-path prepend 64520 64520route-map COMMUNITY permit 20router bgp 64520neighbor 10.1.2.2 route-map COMMUNITY outneighbor 10.1.2.2 send-community属性操纵后的效果查看R2-S5750# show ip bgpBGP table version is 4160, local router ID is 2.0.2.1Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, S StaleOrigin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Path*> 2.0.1.0/24 0.0.0.0 0 i*> 2.0.2.0/24 0.0.0.0 0 i*> 4.0.1.0/24 10.1.1.1 0 64520 i* 10.1.2.3 0 64520 64520 i* 5.0.1.0/24 10.1.1.1 50 64520 i*> 10.1.2.3 0 64520 iTotal number of prefixes 4主备备份R2:S5750R3:S8610R5:S7604R1:NPE50R4:RSR50Gi0/0Gi0/0Gi0/1G0/1G0/2G3/2G3/1G2/1710.1.1.0/2410.1.2.0/24172.16.1.0/24192.168.1.0/24Lo 0:1.1.1.2Lo 0:1.1.1.1Lo 0:1.1.1.3Lo 0:1.1.1.4Lo 0:1.1.1.5Lo 1:4.0.1.0/24Lo 1:5.0.1.0/2411.1.1.0/2412.1.1.0/24Gi0/2Gi3/4Gi0/2Gi2/19Lo 1:2.0.1.0/24Lo 2: 2.0.2.0/24AS 64520AS 100OSPF 1R3-S8610# show ip routeGateway of last resort is no setO 1.1.1.1/32 [110/1] via 11.1.1.1, 15:20:36, GigabitEthernet 3/4C 1.1.1.3/32 is local host. O 1.1.1.4/32 [110/2] via 11.1.1.1, 15:18:09, GigabitEthernet 3/4 [110/2] via 192.168.1.5, 15:18:09, GigabitEthernet 3/1O 1.1.1.5/32 [110/1] via 192.168.1.5, 15:18:09, GigabitEthernet 3/1B 2.0.1.0/24 [20/0] via 10.1.2.2, 00:02:18B 2.0.2.0/24 [20/0] via 10.1.2.2, 13:52:27B 4.0.1.0/24 [200/0] via 1.1.1.4, 13:59:25B 5.0.1.0/24 [200/0] via 1.1.1.5, 13:59:07C 10.1.2.0/24 is directly connected, GigabitEthernet 3/2C 10.1.2.3/32 is local host. C 11.1.1.0/24 is directly connected, GigabitEthernet 3/4C 11.1.1.3/32 is local host. O 12.1.1.0/24 [110/2] via 192.168.1.5, 15:18:09, GigabitEthernet 3/1O 172.16.1.0/24 [110/2] via 11.1.1.1, 15:20:36, GigabitEthernet 3/4C 192.168.1.0/24 is directly connected, GigabitEthernet 3/1C 192.168.1.3/32 is local host.AS内部影响IGP下一跳选路技巧小提示•解决方法:把R1---R3之间的cost改得比R4---R5之间的cost小 R1 int giga 0/2 ip ospf cost 10 R4 int giga 0/2 ip ospf cost 100BGP表刷新技巧提示•当没有拓扑变化,改变路由策略,不会触发更新,看不到结果,我们要刷新“清”一下BGP表•Clear ip bgp * 可以清除所有BGP邻居对等体,更新并重新学习路由,但实际工程中不能这么做,动荡影响太大。
TCP连接会拆掉重新建立•Clear ip bgp * soft in 让路由重新通告进来一次,这实际上是利用了route-refresh报文触发给peer,但不会影响BGP邻居课程议题九、九、BGP附加说明附加说明1、BGP发布缺省路由的方法•((1)手工静态)手工静态networkR1(config)# ip route 0.0.0.0 0.0.0.0 s1/1R1(config)# router bgp 64520R1(config-router)# network 0.0.0.0 mask 0.0.0.0•((2))redistributeR1(config)# ip route 0.0.0.0 0.0.0.0 s1/1R1(config)# router bgp 64520R1(config-router)# redistribute staticR1(config-router)# default-information originate•((3))neighbor 明确指定给邻居发送缺省路由明确指定给邻居发送缺省路由R2(config-router)# neighbor 10.1.1.1 default-originate ?route-map Route-map to specify criteria to originate default
2、路由过滤的工具总结•路由过滤:丢弃一部分不需要的路由•可以基于前缀或前缀长度过滤路由Ø ACL或前缀列表(prefix-list)定义匹配路由Ø 通过分布列表 或 前缀列表 或 路由图调用执行过滤动作•可以基于某种相同的属性过滤路由Ø 使用as-path列表 或 团体列表 定义匹配路由Ø 通过路由图调用执行过滤动作3、用as-path过滤列表来挑选路由•典型应用场景:根据AS号来过滤路由时比较好用•R1(config)# ip as-path access-list 1 permit ## •R1(config)# router bgp 64520•R1(config-router)# neighbor 10.1.1.2 filter-list 1 outAS路径正则表达式正则表达式控制字符说明正则表达式举例•如果路由条目起源于AS1,先后经过了AS2、AS300,我们写该路由条目的AS-Path属性的AS号顺序是300、2、1好比堆栈一样,刚经过的AS号写在最前面,起源的AS号堆栈在里面,写在最后• ^$ 表示AS-path属性为空,即起源为自己AS的路由。
•^300_ 表示刚经过AS300的路由•_1$ 表示起源于AS 1的所有路由•.* 表示匹配所有路由课程议题十、十、BGP维护排错命令维护排错命令常用的BGP维护排错命令•Show ip route 查看全局IP路由表•Show ip bgp 查看BGP路由表•Show ip bgp x.x.x.x 查看某条具体的bgp路由•Show ip bgp summary 查看BGP peer状态•Show ip bgp neighbor x.x.x.x 查看某个具体的peer•Clear ip bgp ★ soft [ in | out ] 刷新BGP路由表•Clear ip bgp ★ x.x.x.x soft [ in | out ] 刷新从某个具体的邻居发过来或从自己发出去给该peer的路由,这是属性策略修改后常用的谢谢 谢谢! !。












