资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级, 宇信培训中心,单击此处编辑母版标题样式,H300501-04BGP协议原理-B,学习目标,掌握,BGP,协议的基本原理,掌握,BGP,协议的路由属性及其应用,掌握,BGP,协议的应用,掌握,BGP,协议的配置和排错的方法,学习完本课程,您应该能够:,课程内容,第一章,BGP路由协议的原理,第二章 BGP路由属性,第三章 BGP的应用,第四章 BGP基本配置和排错,BGP协议概述,BGP,是“唯一”的,EGP,路由协议,主要用来在,AS,之间传递路由信息,在,AS,之间是一种距离矢量的路由协议,应用特定的属性避免环路的发生,路由信息携带丰富的属性,传送协议:,TCP,,端口号,179,支持,CIDR,(无类别域间选路),路由更新:只发送增量路由,丰富的路由过滤和路由策略,BGP,协议基本概念(一),什么是自治系统(,AS,)?,自治系统指由同一个技术管理机构管理、使用内部路由策略的一,些路由器的集合。每个自治系统都有唯一的自治系统编号。自治,系统的编号范围是,1,到,65535,,其中,1,到,64511,是注册的因特网编,号,,64512,到,65535,是专用网络编号。,什么时候使用,BGP,山东电信,中国电信骨干网,美国,BGP,协议基本概念(二),为什么引入自治系统这一概念?,引入自治系统的基本思想就是通过不同的编号来区分不同的自治,系统。,自治系统内部的路由协议, IGP,如,OSPF,、,IS-IS,、,RIP,、,EIGRP,(,cisco,专有),自治系统之间的路由协议, BGP,如:,EGP,、,BGP,BGP工作机制,(一),BGP工作机制,(二),BGP,邻居刚建立时,发送整个,BGP,路由表交换路由信息,之后为了更新路由表只交换更新消息(,update message,)。,系统在运行过程中,通过接收和发送,keep-alive,消息来检测相互之间的连接是否正常的。,一般情况下一条路由由自治系统内部的某种内部路由协议发现和计算产生,由自治系统边界路由器,(ASBR),通过,EBGP,连接传播到其它自治系统中。,路由在传播过程中可能会经过若干个自治系统,这些自治系统称为过渡自治系统(如:,AS5,)。若这个自治系统有多个边界路由器,这些路由器之间运行,IBGP,来交换路由信息。另外一种自治系统称为,Stub AS,(如:,AS1,),其内部只有一个,ASBR,通过,EBGP,连接外部,同外部其他,AS,的通信要靠过渡自治系统来转接。,BGP,两种邻居,IBGP,和,EBGP,EBGP,EBGP,RTB,RTC,IBGP,RTA,RTD,RTE,BGP,两种邻居,IBGP,和,EBGP,bgp 200,undo synchronization,peer 1.1.1.3 as-number 200,peer 1.1.1.3 next-hop-local,peer 1.1.1.3 connect-interface LoopBack1,Peer 2.1.1.1 as-number 300,Peer 3.1.1.1 as-number 100,Peer 3.1.1.1 ebgp-max-hop,BGP路由通告原则,存在多条路径时,BGP Speaker只选取最优的使用(非负载分担),BGP Speaker只把自己使用的路由通告给相邻体,BGP Speaker从EBGP获得的路由会向它所有BGP相邻体通告(包括EBGP和IBGP),BGP,Speaker从IBGP获得的路由不向它的IBGP相邻体通告,(如果存在RR呢),BGP Speaker,从IBGP获得的路由是否通告给它的EBGP相邻体要依IGP和BGP同步的情况来决定,连接一建立,BGP Speaker按照以上原则,把自己所有BGP路由通告给新相邻体,BGP路由,表与系统路由表的关系,存在多条路径时,BGP Speaker只选取最优的使用(非负载分担时),BGP Speaker,只把自己使用的最优路由通告给相邻体,BGP Speaker只把,自己使用的最优的路由加入到路由表中,BGP同步,EBGP,EBGP,RTB,RTC,IBGP,RTA,RTD,RTE,RTF,AS100,AS200,AS300,成为BGP路由的途径之一:纯动态注入,OSPF,RTB,AS200,OSPF,发现路由,把,IGP(OSPF),发现的路由,纯动态地注入到,RTB,的,BGP,路由表中,bgp 200,undo synchronization,Import ospf,成为,BGP,路由的途径之二:半动态注入,RTB,AS200,OSPF,OSPF,发现路由,把,IGP(OSPF),发现的路由,半动态地注入到,RTB,的,BGP,路由表中,bgp 200,undo synchronization,成为,BGP,路由的途径之三:静态注入,AS200,人为配置静态路由,把人为配置的静态路由注入到,RTB,的,BGP,路由表中,RTB,ip rout 18.0.0.0 255.0.0.0 serial 0,Ip rout 19.0.0.0 255.255.255.0 null 0,bgp 200,undo synchronization,BGP,报文种类,BGP报文有四种类型:,Open:打招呼“你好,跟我交个朋友吧!”,KeepAlive:我还活着呢,别不理我,Update:有新闻.,Notification,:我不跟你玩了,!,BGP,报文头,BGP,报文的格式是一样的,都是”报文头,+,报文体“的格式,下面给出的是,BGP,报文头:,Marker(16 byte),Length(2 byte),Type(1 byte),Open,报文,Open,报文是由报文头加如下结构构成的。,Optional Paramenters,Length,Hold Time,Version,My Autonomous System,BGP Identifier,Optional Paramenters,KeepAlive,报文,KeepAlive,报文只有报文头。,Marker(16 byte),Length(2 byte),Type(1 byte),Update,报文,Update,报文由报文头加如下结构构成。,Withdrawn Routes,Unfeasible Routes Length,Path Attribute Length,Network Layer Reachability Information,Path Attribute,Notification报文,Notification,报文由报文头加如下结构构成。,Data,Error Code,Error Subcode,错误代码,1,2,3,4,5,6,错误类型,消息头错,OPEN,消息错,UPDATE,消息错,保持时间超时,状态机错,退出,BGP协议的状态机,Active,Open,-,sent,Open,-,confirm,Established,Idle,Connect,Connect-Retry,timer expiry,TCP connection fails,Connect-Retry,timer expiry,Start,Others,TCP connection fails,Error,Error,Error,KeepAlive,timer expiry,KeepAlive packet,received,1. KeepAlive,timer expiry,2. Update received,3. KeepAlive received,Correct OPEN,packet received,TCP connection setup,TCP connection setup,Others,BGP,协议中消息的应用,通过TCP建立BGP连接时,发送open消息,连接建立后,如果有路由需要发送或路由变化时,发送,UPDATE,消息通告对端路由信息,稳定后此时要定时发送,KEEPALIVE,消息以保持,BGP,连接的有效性,当本地BGP在运行中发现错误时,要发送NOTIFICATION消息通告BGP对端,课程内容,第一章,BGP路由协议的原理,第二章,BGP路由属性,第三章 BGP的应用,第四章 BGP基本配置和排错,常见,BGP,路由属性,1,、,Origin,2,、,AS-Path,3,、,Next hop,4,、,MED,5,、,Local-Preference,6,、,Atomic-Aggregate,7,、,Aggregator,8,、,Community,9,、,Originator-ID,10,、,Cluster-List,11,、,Destination Pref (MCI),12,、,Advertiser (Baynet),13,、,Rcid-Path (Baynet),14,、,MP_Reach_NLRI,15,、,MP_Unreach_NLRI,16,、,Extended_Communities,BGP的路由属性,类型代码,属性名,必遵,/,可选,过渡,/,非过渡,1,Origin,必遵,过渡,2,AS-Path,必遵,过渡,3,Next-hop,必遵,过渡,4,MED,可选,过渡,5,Local-preference,可选,非过渡,8,Community,可选,过渡,Origin,属性,一般的,具体的实现按如下方式决定一条路由的,Origin,属性,某条路由是直接而具体的注入到,BGP,路由表中的,则,origin,属性为,IGP,路由是通过,EGP,得到的,则,origin,属性为,EGP,其他情形下,,Origin,属性都为,Incomplete,AS-Path,属性,D(18.0.0.0/8),AS200,AS300,AS400,AS100,AS500,RTA,RTB,D,dl 400 300 200,D,d2 500 200,D,d1 400 300 200,D,d2 500 200,As-path,的使用,AS 100,注入路由:,10.0.0.0/24,AS 200,AS 300,AS 400,AS 500,As-p: 100,As-p: 100,As-p: 300 100,As-p: 200 100,As-p: 400 300 100,As-p: 500 200 100,每经过一,AS,域,在出域时将自己的域号添加到,AS-path,属性内,主要作用:,(,1,)进行路由选路,(,2,)环路检测,As-path,的拓展使用,1,、,AS-path set,的使用,2,、通过,route-policy,内的,apply as-path,命令手工增加,AS-path,的长度,As 100 10.0.0.0 /16,As 200,增加,AS-patch 200 200,As 300,10.0.0.0 /16:,200 200 200 100,AS100 10.0.0.0/16,AS200 10.0.0.0/16,AS300 10.0.0.0/16,AS 400,聚合,10.0.0.0/8,AS500 10.0.0.0/8 400100 200 300,过滤的工具,ASPATH 列表和正则表达式,字符,符号,特殊意义,句号,.,匹配任意单字符,星号,*,匹配模式中,0,或更多序列,加号,+,匹配模式中,1,或更多序列,问号,?,匹配模式,0,或一次出现,加字符,匹配输入字符串的开始,美元符,$,匹配输入字符串的结束,下划线,_,匹配逗号,括号,字符串的开始和结束,空格,方括号,范围,表示一个单字符模式的范围,连字符,-,把一个范围的结束点分开,As-path,_300$匹配所有源自AS300始发的路径,300_最后经过的AS为300的路径,300$仅指源于AS300且未经过任何其他AS的路由,_100_,经过AS100的路径,.*,所有AS路径,$不经过任何AS路径,即本地始发的路由,Next Hop,属性,RTA,RTC,RTB,RTD,AS100,AS200,IBGP,IBGP,EBGP,RTB,可经下一跳到达,可经下一跳到达,RTA,可经下一跳到达,可经下一跳到达,可经下一跳到达,RTC,可经下一跳到达,可经下一跳到达,Local-Preference 属性,AS400,AS100,AS300,AS200,RTA,RTB,RTC,RTD,RTE,RTF,D (18.0.0.0/8),D,,,local-pref1 100,D,local-pref2 200,D,,,local-pref1 100,D,,,local-pref2 200,RTA,就会优先选择本地,优先级高的,local-pref2,本地优先,(Local Preference),属性,在本域内进行,BGP,路由优选,,local-preference,的缺省值是,100,,值越大优先级越高。,local-preference,设置:,(,1,),route-policy tian permit node 1,if-match acl 101,apply local-preference 555,(,2,)改变默认本地优先级,default local-preference,XXX,A,B,C,10.0.0.1 /24 Pre:100,10.0.0.1 /24 Pre:200,10.0.0.1 /24 Pre:200,MED,(,Multi-Exit-DISC,),属性,D(18.0.0.0/8),RTA,RTB,RTC,AS100,AS200,D,metric1 10,D,metric2 20,D,metric1 10,D,metric2 20,RTA,会选择,metric,值较小,的,metric1,IBGP,A,B,C,10.0.0.1 /24 MED:100,10.0.0.1 /24 MED:200,10.0.0.1 /24 MED:100,主要在输出路由进行控制:,(1)route-policy tian permit node 1,if-match acl 101,apply cost 777,(2),更改默认输出,MED,值:,default med,XXX,MED(Multi-Exit-DISC),属性,团体,(,Community,),属性,团体是一组有相同性质的目的地的路由,一个团体不限于一个网络或一个,no-export(常用),带有该属性的路由信息不通告给AS外的BGP相邻体,no-advertise,带有该属性的路由信息不通告给任何BGP相邻体,local-AS,带有该属性的路由信息只通告给联盟EBGP相邻体,Internet,通告给所有其他路由器,团体,(Community),属性,A,设备:,import-route direct route-policy tian,route-policy tian permit node 10,apply community 1:1,B,设备:,peer a1.b1.c1.d1 route-policy tian export,route-policy tian permit node 1,if-match communit 1,ip community-list 1 permit 17633:1,BGP路由选,优,过程,综合起来,本地,BGP,路由选优的过程为:,如果此路由的下一跳不可达,忽略此路由;,选择本地优先级较大的路由( Local-Preference );,选择本地路由器始发的路由( network / aggregate );,选择AS路径较短的路由( AS-Path );,依次选择起点类型为IGP,EGP,Incomplete类型的路由( Origin );,选择MED较小的路由;,优选从EBGP学来的路由;,优选AS内部IGP的Metric最低的路由;,如果配置了负载分担,并且有多条到达同一AS的外部路由,则根据配置的路由条数选择多条路由进行负载分担;(只针对于VRP5的平台有此功能),选择RouterID较小的路由;,课程内容,第一章,BGP路由协议的原理,第二章 BGP路由属性,第三章 BGP的应用,第四章 BGP基本配置和排错,没有,BGP,的日子里,OSPF,RIP,ISIS,EIGRP,有了,BGP,之后,OSPF,RIP,ISIS,EIGRP,BGP,BGP,BGP,链路层协议,生成,路由,,IGP,收集,路由,,BGP,加工,路由,AS,的分类,单口,AS,(,stub AS,),多归路非过渡,AS,(,multihomed AS,),过渡,AS,(,transit AS,),BGP,强大的过滤功能,可按照路由的,IP,地址过滤,可依照路由经过的,AS-Path,过滤,可以依照路由的属性过滤,可以依照路由到来的接口过滤,可以按照过滤的结果设置路由的属性,基于,IP,的,BGP,过滤功能实例,acl number 20,rule 0 permit source 20.0.0.0 0.0.0.255,rule 1 deny,bgp 200,undo synchronization,peer 10.0.0.1 as-number 100,peer 10.0.0.1 route-policy tian1 import,route-policy tian1 permit node 20,if-match acl 20,apply local-preference 150,route-policy tian1 permit node 30 /,如果没有此句,上面的要求是仅使符合,acl 20,的路由信息可以接收,并设置,local,为,150,。,通过增加入路由的,AS-path,的长度调节域内的选路。,bgp 100,undo synchronization,peer 10.0.0.1 as-path-acl 100 export,peer 11.0.0.1 as-number 100,peer 11.0.0.1 route-policy tian import,route-policy tian permit node 10,if-match acl 1,apply as-path 100 100,acl number 1,rule 11 permit source 10.0.0.0 0.0.0.255,route-policy tian permit node 11,if-match as-path 100,apply local-preference 400,ip as-path-acl 100 permit 300$,AS-path,配置举例,正则表达式,BGP,在大规模网络中需要解决的问题,路由表庞大,超过,85000,条,BGP,聚合,IBGP,相邻体过多,逻辑全连接不现实,BGP,联盟,BGP,反射,复杂网络环境中路由的变化十分频繁,BGP,衰减,路由聚合,两种常用的路由聚合方法,1.使用network命令发布一条聚合路由,前提是该聚合路由必须在路由表中存在,2.使用aggregate命令进行聚合,前提是路由表中至少存在一条需要聚合的详细路由,可以使用参数控制只发布聚合路由还是发布聚合路由和详细路由或者部分详细路由,3.路由聚合后,有可能产生环路,使用aggregate命令的时候使用参数 as-set来避免环路,BGP,路由负载分担,BGP,聚合,-,只通告聚合路,RTA(config-bgp)#,aggregate 172.16.0.0 255.255.240.0,detail-suppressed,BGP,聚合,-,聚合路由,+,具体路由,RTA(config-bgp)#,BGP,聚合,-,聚合路由,+,部分具体路由,RTA(config-bgp)#,aggregate 172.16.0.0 255.255.240.0,suppress-policy,route-policy-name,两种聚合方式:,(,1,)自动聚合:,summary automatic,(,2,)手动聚合:,aggregate,BGP,路由聚合总结,手动聚合三类结果:,1,、通告聚合路由和具体路由,2,、只通告聚合路由,增加,detail-suppressed,3,、通告聚合路由和部分具体路由,增加,suppress-policy,A,B,可以通过,agregate,的,as-set,选择聚合后路由是否带有具体路由的,as-path,号。,路由反射器的使用,为了减少由于,IBGP,全连接而造成的,N,平方问题,产生了路由反射器。,RR,路由传播规则:,(,1,)从,EBGP,邻居收到的路由发布自己所有客户机和非客户机,(,2,)从,IBGP,邻居收到的路由发布自己所有客户机和,EBGP,邻居,(,3,)从,client,邻居收到的路由发布自己所有客户机和非客户机,A: RR,B: RR,Client,Client,C,D,E,F,A: RR,B: RR,C,D,E,F,(2)Clust ID,Originator-ID,避免路由环路,默认使用自己的router id 做为自己的clust ID,路由反射器的高级使用,(,1,)增加路由优先:优先选择从,client,来的路由,A:RR,B:RR,C:client,10.0.0.0 /24,A,是,B,的,client,B,是,D,的,client,C,是,A,的,client,D,是,C,的,client,E,是,C,的,client D,的,router id,引入路由 比,E,小,在路由返射器上配置:,reflect cluster-id XXXX,E,C,A,B,D,BGP,衰减,BGP,对于频繁更新的路由引入了惩罚值的概念,当惩罚值达到一定值,该路由将被抑制。,课程内容,第一章,BGP路由协议的原理,第二章 BGP路由属性,第三章 BGP的应用,第四章 BGP基本配置和排错,BGP,基本配置,说明:以下所有命令均为版本的命令行格式,设置,BGP,的,ROUTER ID,启动,BGP,quidway bgp 65500,设置,BGP,邻居,quidway-bgp peer 10.1.0.1 as-number 17633,quidway-bgp peer 10.1.0.1 connect-interface LoopBack0,创建对等体组,quidway-bgp group huawei,将,BGP,邻居加入到对等体组中,quidway-bgp peer 10.1.0.1 group huawei,BGP,基本配置,将其他协议的路由引入,BGP,quidway-bgp import-route static,设置,BGP,反射器的群,ID,设置,BGP,反射器客户机,quidway-bgp peer 10.0.0.1 reflect-client,BGP,路由协议排错,BGP,协议自身维护一张独立的路由表,用作路由信息选优,,BGP speaker,只把“有效”并且“最优”的路由信息传递给邻居。,N,确认邻居之间的,TCP,可达性,Y,查看,BGP,邻居状态,检查设备配置,Y,修正设备配置,N,N,Y,完成邻居之间,TCP,可达性,拨打,800,技术,支持热线求,助!,查看,BGP,路由表,N,Y,BGP,路由协议排错,确认邻居之间的,TCP,可达性,N,完成邻居之间,TCP,可达性,确认BGP邻居之间的TCP可达性:,命令:ping a source-ip-add destination-ip-add,Interface loopback 0,Bgp 100,peer peer-ip-add as-number 100,peer peer-ip-add connect-interface loopback 0,BGP,路由协议排错,查看,BGP,邻居状态,N,Y,拨打,800,技术,支持热线求,助!,查看,BGP,路由表,Y,查看BGP邻居状态:,查看BGP speaker之间的邻居状态,如果达到“Established”状态,表示邻居正常建立,display,bgp,peer,Neighbor V AS MsgRcvd MsgSent OutQ Up/Down State,220.163.42.62 4 100 6818 6895 0 14h48m,Established,查看BGP路由表:,display bgp rout,Flags: # - valid - active I internal,D - damped H - history S - aggregate suppressed,Dest/Mask Next-hop Med Local-pref Origin As-path,-,课程总结,在本课程中我们学习了,BGP,协议的基本原理和丰富的属性特征,和这些属性的应用,还学习了,BGP,路由协议在大规模网络中的应用,最后学习了,BGP,协议配置和排错的方法。,年 月 日,
展开阅读全文