版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、BGP(Border Gateway Protocol)理论部分·BGP属于EGP,是高级DV协议,也被称为路径矢量协议,基于TCP 179端口。·现在使用版本BGP4。第一次做完整更新,以后就只增量更新·Autonomous Systems:运行同一种选路策略,由统一管理者管理。 164511(公有)6451265535(私有)电信AS号:4134 网通AS号:9929·IGP支持的路由条目有限运行IGP不利于管理,做路由聚合、选路。·BGP路由器只能将其使用的路由通告给他的邻居。BGP用Open报文建邻居,用KL报文做日常联系·N
2、eighbor table :List of BGP neighbors·BGP forwarding table/databaseList of all networks learned from each neighborCan contain multiple pathways to destination networks Database contains BGP attributes for each pathway·IP routing tableList of best paths to destination networksBGP表和路由表是独立的,同样
3、遵循AD小的进入路由表。BGP默认不做负载均衡·Router-ID选举和OSPF一致。四种报文:Open -includes holdtime and BGP router ID(用于建立TCP连接后,发起BGP会话,每个邻居都用该消息来标识自己,并且规定自己的BGP运行参数)Keepalive (用于保持BGP会话,每隔60秒发送一次,hold time为180S)Update -information for one path only (could be to multiple networks-Includes path attributes and networks
4、3;一个UPDATE 消息一次只能通告一条路由,但它可以携带多个属性。一个UPDATE 消息一次也可通告多条路由,但它的属性必须相同。一个UPDATE 消息可以同时撤消多条路由。Notification-when error is detected-BGP connection is closed after sent(当检测到错误的时候就会发起Notification消息。通常会导致BGP连接的终止建立一个 BGP 会话的过程: > 1,空闲状态:BGP通常以空闲状态开始。在该状态下,它拒绝接收所有入连接。当一个开始时间出现的时候,BGP过程初始化所有的BGP资源,打开重试连接计时器、
5、初始化到邻居的TCP连接,接听来自邻居的TCP初始化消息并将它的状态转到接连状态。开始事件是又一个操作者配置BGP的一个过程。2,连接状态:在这种状态下,BGP过程会等到TCP连接完成以后再决定后续的动作。如果连接建立成功,BGP连接将ConnectRetry清零,完成初始化过程,给邻居发送一个Open消息并转移到发送Open消息状态。如果TCP连接失败,BGP过程会继续监听由邻居发起的连接,重置ConnectRetry计时器并转移到激活状态。3,激活状态:在这个状态下,BGP过程试图与邻居建立一个TCP连接。如果连接建立成功,BGP连接将ConnectRetry清零,完成初始化过程,给邻居发
6、送一个Open消息并转移到发送Open消息状态。如果在激活状态时,ConnectRetry计时器超时,该过程回到连接状态。4,发送Open消息状态:在这种状态下,已经发送了Open消息,BGP正在等待从邻居发来的Open消息。当收到一个Open消息后,检查该消息所有的字段。如果发现了差错,会给它邻居发送一个Notification消息并且将状态转移到空闲。如果在接收到的Open消息中没有发现差错,BGP给邻居发送一个Keepalive消息并且将Keepalive计时器置位。邻居之间协商一个Hold时间,它们会选用较小的值。如果协商的Hold时间是0,则没有启动Hold和keepalive计时器
7、。根据对等的AS号,决定该连接是内部的还是外部的,并且将状态转移到Open消息确认。5,Open消息确认状态:在这种状态下,BGP过程会等待一个Keepalive或者Notification消息。如果收到了Keepalive消息,转移到建立状态,如果收到了Notification消息或者TCP断开消息,转移到空闲状态。6,建立状态:在这种状态之下,BGP对等之间的连接完全建立起来了。对等之间可以交换Update,Keepalive和Notification消息。如果收到了Update或Keepalive消息,重新启动Hold计时器 。如果收到Notification消息。状态会转移到空闲。&l
8、t;BGPs attribute>·ORIGIN属性ORIGIN是一个公认必选的属性,它明确了路由更新消息的来源。当BGP有多条路由时,它会将ORIGIN当作一个决定较优路由的因素。它规定了以下几种源:·IGP一个IGP源会得到ORIGIN值中的最佳的选项。·EGPNLRI是从EGP学习到的。相对于IGP,EGP是第2选择。·IncompleteNLRI是通过其他手段学习到的。是ORIGIN最低的选择。·AS-PATH属性AS-PATH 是一个公认必选属性。它用AS号的顺序来描述AS间的路径或者到NLRI所明确的目的地的路由。AS-PAT
9、H属性的另外一个功能就是避免环路,如果BGP路由器从它的外部对端处收到了一条路由,而该路由的AS-PATH包含这个BGP路由器自己的AS号,于是该路由器就知道是条环路路由,从而将这样的路由丢弃掉。R1(config#route-map ASR1(config-route-map#set as-path prepend 7 8 9 设置虚拟的AS号通常都会这样加set as-path prepend 4 4 4 加自已的AS号,不易搞混·NEXT_HOP属性NEXT_HOP是一个公认必选属性。描述了公布目的地的路径下一跳路由器的IP地址。由BGP NEXT_HOP属性所描述的IP地址不
10、经常是邻居路由器的IP地址。要遵循下面的规则:·如果正在进行的路由宣告的路由器和接收的路由器在不同的AS中,NEXT_HOP地址为正在宣告路由的路由器接口IP地址。·如果正在进行宣告路由的路由器和接收的路由器在同一个AS里,并且更新消息的NLRI指明目的地是同一个AS内,那么NEXT_HOP就是已经宣告路由的邻居的IP地址。·如果正在宣告的路由器和接收的路由器是内部对等实体,并且更新消息的NLRI指明目的地在不同的AS内。NEXT_HOP是外部对等的接口地址。·LOCAL_PREF属性LOCAL_PREF是公认自选属性。只用在内部网关对端之间的更新消息中
11、。它不会传递给其他的AS。如果一个内部运行BGP的路由器收到了一个目的地的多条路由。它将这些路由的LOCAL_PREF进行比较,选择具有最高优先级的路由。它只能影响离开AS的业务量。R1(config#route-map WER1(config-route-map#set local-preference 101R1(config-router#bgp default local-preference 101 会影响所有路由打上这一命令后-·对"EBGP传过来的路由""自己network的路由"起效,要show明细才能看到。·对&qu
12、ot;IBGP传过来的路由"不起效。·MED属性MED属性是一个任选非传递属性。这个任选非传递属性与EBGP的Update消息中携带,它允许一个AS将它的首选的入口点通知另外一个AS。如果其他参数都相同,则收到同一个目的地的多条路由的AS将这些路由的MED进行比较,具有最低MED值的路由为首选。这是因为将MED看成一个度量,并且最低的度量-最短的距离-是首选。MED值只会传递给配置MED值的对端AS,从而使他们知道优先的路由,但是接收的AS不会在继续传递给下一个AS。如果同一个目的地的两条路由来自两个不同的AS,也不进行MED值的比较。MED值只对单一的AS有意义,当该AS
13、有多个入口点时,它用来说明首选项的等级。R1(config#route-map MEDR1(config-route-map#set metric 1测试方法:扩展ping / debug ip bgp updates·默认比较从不同AS传来路由的MED。R2(config-router#bgp always-compare-med ·ATOMIC_AGGREGATE属性ATOMIC_AGGREGATE属性是一个公认必选的属性,它用来警告下游路由器出现了路径信息丢失。当一个BGP路由器将更具体的路由聚合后,而且已经出现了路径信息丢失时,运行BGP的路由器必须将该属性附加到聚
14、合路由中。任何一台下游路由器收到后,不能使这条NLRI信息更详细。并且当该路由公布给其他对端时,必须也附带该属性.·AGGREGATOR属性当设置了ATOMIC_AGGREGATE属性,运行 BGP的路由器可以选择附加AGGREGATOR属性。这个任选可透明传递属性包括发起聚合路由的路由器的AS号以及IP地址,从而提供了执行聚合的地点的信息。·Community属性COMMUNITY是一个人选可透明传递的属性。COMMUNITY属性标明一个目的地作为一些目的地团体中的一个成员,这些目的地共享一个或者多个共同的属性。“可选”:BGP的所有邻居都有可能不识别社团属性。(是可选的
15、,路由器默认不认识)“传递”:社团属性只会传给指定的邻居,并只在此邻居上起效。比如上例:就只传给这一邻居,并只在它上面起效,不会再向后传·no-advertise:携带此属性的路由不会通告给任何BGP邻居。·no-export:携带此属性的路由不会传出本AS外,只会传给IGP。(联邦中的小AS会传递)。·local-AS:携带此属性的路由不会传出小AS。R1(config-route-map#set community no-advertise/no-export/local-AS·Weight属性Weight属性是Cisco私有的属性。只适用于一台路由
16、器中的路由。该参数不会传递给其他的路由器。Weight值越高,优先级就越高。当一个路由有多条路径的时候,路由器选择Weight值最高的那条路由。由本地路由器产生的所有路由Weight值都是32768。修改Weight-R1同时从R3和R2学到同一条BGP路由,在R1上改:R1(config#route-map WER1(config-route-map#R1(config-route-map#set weight 8·AS-SET属性AS-SET属性的作用是在当路由聚合以后,NRLI信心产生了丢失,通过使用AS-SET属性,可以修复原来丢失的属性。如聚合后,路由经过的AS号丢失,通过
17、使用AS-SET,可以还原原来丢失的AS号。防止环路的产生。·BGP路径抉择的过程:1, 首选具有最高Weight值的路由。2, 如果Weight相同,那么选择具有最高LOCAL_PREF值的路由。3, 如果LOCAL_PREF值相同,首选逻辑上在该路由器上发起的路由。也就是说,首选从同一个路由器上起源于IGP学习到的路由。4, 如果LOCAL_PREF值相同,而且没有逻辑上发起的路由,首选具有最短AS-PATH的路由。5, 如果AS-PATH相同,首选具有最低ORIGIN CODE的路由,IGP 6, 如果ORGIGN相同,首选具有最低MED值的路由。7, 如果MED相同值,在EB
18、GP路由和联盟EBGP中,首选EBGP路由,在联盟EBGP路由和IBGP路由中首选联盟EBGP路由。8, 如果路由相同,首选到BGP下一跳最短的路径。9, 如果路由相同,首选具有最低路由器ID的BGP路由。10, 如果路由器ID相同,首选具有最低IP地址的接口地址的路由。·BGP路由黑洞的解决方法:1)物理线路的Full Mesh (成本高,不可取)2)BGP重分布进IGP(不可取)3)BGP's Full Mesh IGP内所有路由器都运行BGP(不可取)4)BGP's Partial Mesh (路由反射器/联邦)·BGP's Split Hor
19、izon Rule:IBGP:从IBGP邻居收到的路由不再传给其他的IBGP邻居。EBGP:不接收携带本AS号的路由更新。EBPG之间用直连接口来建邻居IBGP中用环回口建邻居Synchronization同步。只针对IBGP邻居BGP 的同步仅限于IBGP的邻居,BGP同步的默认情况下,AS内的一个路由器从IBGP学到一条路由,不使用也不传,除非是从IGP也学习到该路由。如果这个时候关闭BGP同步规则,就会产生一个路由黑洞。例如:假如同步关闭的情况下,IGP并不知道AS100和AS300的路由,当R1从AS100学过来一条路由,并且使用next-hop-self命令将下一跳改成自己的接口(E
20、BGP默认学习过来的下一跳是对端路由器的接口)发布给IBGP邻居R4时,R4因为下一跳可达(IGP知道),所以将该路由加入路由表,并且发布给AS300,当AS300要去这个目的地时,它会将数据传给R4,R4收到这个数据包后,查看目的地址发现是去AS100的,它查看自己的路由表发现下一跳是R1的接口地址,于是继续查看路由表发现要去R1首先得经过R3,于是它把数据传送给了R3,由于R3运行的是IGP,并且它不知道AS100里的路由情况,所以它没有到达这个目的地的路由表,它会丢弃该路由,这样就造成了一个路由黑洞。如果同步开启的情况下,R1收到了来自AS100的路由后,由于R1没有将BGP重发布进IG
21、P,所以R1的IGP并不知道AS100里的路由情况,所以R1不会使用这一条路由,也不会传递给其他邻居。所以路由黑洞不会产生。解决IBGP路由器收到更新不会转发给其他IBGP邻居的方法:Reflector·打破IBGP的水平分割规则。·如果路由是从非客户的IBGP对等学习到的,只将它反射给客户。·如果路由是从客户处学习到的,将它反射给除了发起该路由的客户外的所有非客户及客户。·如果路由是从EBGP对等处学习到的,将它反射给所有的客户和非客户。Confederation联邦联盟是控制大型IBGP对等的另一条途径。在联盟内的运行BGP的路由器和在同一个联盟AS
22、内的对端之间使用IBGP,和其他联盟对端之间使用EBGP。给每个联盟分配一个联盟ID。对外部联盟内的对端来讲,这个联盟ID代表整个联盟AD号,外部对端看不到联盟的内部结构,只看到这些联盟所在的AS。·将大AS划分成若干个小AS,小AS之间是EBGP关系。·1、联邦中的所有路由器都必须用起小AS号。(Route bgp 小AS)·2、联邦中的所有路由器都必须声明大AS号R1(config-router#bgp confederation identifier 1·3、连接小AS的边界路由器要互相指peers:联邦中的小AS号(64512)不算作比较,只算作
23、一个R1(config-router#bgp confederation peers 64512(对端小AS号)·联邦外路由器和联邦的边界路由器建立邻居关系时,neighbor大AS号。在sh ip bgp中,小AS号会用括号括住,并且不算做一个进行路径比较的AS号BGP基础配置部份R4(config#router bgp 64512(EBGP邻居)R2(config#router b 64513(IBGP邻居)(更新源是环回口)(EBGP设置多跳,环回口才用得上)(默认255)R2#show ip bgp summary (摘要的邻居邻居信息)R2#show tcp brief R
24、2#show ip bgp neighbors (详细的邻居信息)(严格按照IP地址掩码通告)(在auto-summary时,也可以主类方式通告)重发布BGP进入IGP将BGP重发布进IGP的时候,只能发布EBGP学来的路由和自己宣告的路由进入IGP,从IBGP学来的路由不能发布进去,应为I BGP默认不转发给其他IBGP邻居,从发布进IGP的话就等于延长了传播,容易造成环路,而且IBGP的路由都在同一个AS类,推荐使用IGP来完成。如果要强行发布IBGP路由进入IGP,那么在BGP下打 Bgp redistribute-internalPeer-GroupBGP为每个邻居都占用一个Buffe
25、r,使用Peer-Group可以使多个邻居共用一个Buffer。针对多的邻居关系,减少配置量。R1(config-router#neighbor WOLF peer-group R1(config-router#neighbor WOLF remote-as 64513R1(config-router#neighbor WOLF update-source loopback 0 聚合路由 > 1,使用静态路由聚合。Router bgp 100通过使用上面的配置来宣告汇总路由。这样不用将EIGRP重发布进BGP也能通告一个汇总路由给其他AS。2,抑制更具体的路由。Router bgp 10
26、0Redistribute eigrp 100在R1,R2上重发布EIGRP 100 进入BGP,要使用aggregate-address命令前提是bgp路由表里面必须得有需要聚合的路由详细条目。通过配置aggregate-address命令可以代替用静态路由方法通告汇总路由,后面如果跟summary-only命令的话,那么就会抑制具体的路由,只发布汇总后的路由。如果不加上一个summary-only的话就会连具体路由一起通告出去,这样对方AS会更方便的控制路由。加上summary-only之后,在show ip bgp时会显示出以上表格,前面的S代表抑制后的路由。不会发给对方AS。3,公布具
27、体地址以及聚合路由。在上面拓扑中,要满足将聚合路由和具体的地址通告给AS200,方便AS200控制具体的路由,又要满足AS300只能收到聚合的路由,可以通过以下几种方法来满足。在R1上配置:Router bgp 100route-map community permit 10match ip add 101route-map community permit 20set community no-export在R2上配置:Router bgp 100Route-map community permit 10Match ip add prefix-list 101Route-map commun
28、ity permit 20Set community no-export通过使用community no-export命令,将社团属性通告给AS200,该属性的作用是将收到附带该属性的路由不发送给下一个AS,故AS300只能收到没有附带该属性的聚合路由。以上为R3的路由表,包括了聚合和具体的路由。Network Next Hop Metric LocPrf Weight Path在AS300的路由表里,仅仅能看到聚合路由。4,公布聚合路由和挑选出来的路由。现在AS100需要公布聚合后的路由,已经经过挑选出来的路由发布给AS200,除了195和199的路由不发布之外,其他所有路由都发布给AS20
29、0。通过配置suppress-map抑制列表来满足抑制相应的路由发布给其他AS。在R1上配置:Router bgp 100Route-map deny permit 10Match ip add 1在R2上配置:Router bgp 100Route-map deny permit 10Match ip add prefix-list 1R2#show ip bgp5,改变聚合的属性。在R1上配置:Router bgp 100Route-map att permit 10Set origin igp在R2上配置:Router bgp 100Route-map att permit 10Set
30、origin incompleteR3的路由表:Network Next Hop Metric LocPrf Weight Path所有的路由都从R1过去,来自R2的路由属性是?,代表未知属性,那么只有当与R1连接失效的时候才会使用。R4的路由表:Network Next Hop Metric LocPrf Weight Path所有的路由都指向R3经过,R2与R4之间的链路作为备用链路。6,和聚合一起使用AS_SET图中AS100公布详细的地址给AS200,AS200公布详细的地址给另外2个AS,在AS300中配置聚合路由发送给AS400,同时在AS200里面配置路由过滤,拒绝掉AS400和
31、AS300发回的聚合路由。在R4的路由表里显示如下:在R4上可以看到会聚路由后面的AS只有300,这条路由实际上是指向AS100里面的目的地,聚合路由导致了路由信息的丢失,如果不进行过滤或其他措施,那么就会导致该路由条目又被通告回原来经过的AS,BGP判断环路是靠AS号,该聚合路由导致了AS号丢失,那么经过的AS就认为该路由没有经过他自己。为了改进这个问题,除了公布AS_PATH属性中的AS_SEQUENCE以外,R5可以通过在aggregate-address命令中加上as_set命令来解决这个问题,(但是加上AS-SET也会引发之前具体通告的路由如果附带属性的话,会将该属性继承到聚合路由上
32、,需要小心使用)当将R5配置成他的AS_PATH属性中包含AS_SET时,聚合路由的AS-PATH属性中包括了聚合路由的路径上的所有AS号。以下为R4的路由表:7,基于选中的更具体路由的聚合路由。通过在R2上show ip bgp community no-export命令可以看出:Network Next Hop Metric LocPrf Weight Path为了解决这个问题,R2配置了如下命令:Router bgp 200route-map allow-route deny 10match ip add 1route-map allow-route permit 20Network N
33、ext Hop Metric LocPrf Weight Path由于在AS100中可能因为没有具体的路由导致路由存在次优路径,为了优化出口点,inject-map被使用在R4和R5上。R4配置:Route-map inject permit 10Set ip add prefix-list injectSet community no-exportRoute-map exist permit 10Match ip add prefix-list existMatch ip route-srouce sourceIp bgp-community new-formatRouter bgp 100
34、Bgp inject-map inject exist-map existNei R6 send-communityNei R7 send-communityR5配置:Route-map inject permit 10Set ip add prefix-list injectSet community no-exportRoute-map exist permit 10Match ip add prefix-list existMatch ip route-srouce sourceIp bgp-community new-formatRouter bgp 100Bgp inject-map
35、 inject exist-map existNei R5 send-communityNei R7 send-community的路由策略 > 通过AS_PATH过滤路由:以上拓扑,R1会收到来自AS300和AS400的路由条目,分别通过AS200发送到AS100中,如果R1想拒绝某个AS发起的路由条目,但是路由条目数量又比较多,使用过滤列表非常麻烦,可以通过使用AS-PATH列表来完成。R1现在过滤从AS400来的路由,通过使用AS-PATH完成。R1之前的show ip bgp 输出:Network Next Hop Metric LocPrf Weight PathR1配置:Ro
36、uter bgp 100Ip as-path access-list 100 deny _400$ (拒绝AS起源为400的,并且前面有空格的,如200 400Ip as-path access-list 100 permit .* (允许所有的用AS号过滤的路由 : 匹配输入字符的开头$ : 匹配输入字符的结尾_ : 匹配一个字符(空格/逗号/左括号/右括号等). : 匹配任何一个字符* : 星号前的字符可重复0次或多次100 : 只要AS中包括100都匹配_100_ : 所有经过AS100的路由_100$ : 起源于AS100的路由100_ : 进入本AS之前的AS必须是100100$ :
37、 起源于AS100,并直接传入本AS100$:起源的AS号其最后三位一定是100,例如:100,1100,2100都可以.* : 所有路由R1#show ip bgp regexp 23$值应用 > 当R1从2个路由器接收到同一个路由条目的时候,默认情况下,如果其他都相同,它会选择路由ID最小的邻居为下一跳,也就是说,会选择ID为R3为下一跳。那么为了控制R1的路由选路策略,可以通过使用WEIGHT值来让R1做出选择,WEIGHT值是BGP选路策略中的第1条,选择WEIGHT值大的那一条路由进行传递。以下是R1默认的输出:Network Next Hop Metric LocPrf We
38、ight Path通过修改R1的WIGHT值,让R1通过R4走:R1配置:Router bgp 100Show ip bgp Network Next Hop Metric LocPrf Weight Path通过上面的输出,可以看到R4现在已经成为了R1的下一跳路由,应为R4的 weight值为100,而R3的Weight值为0。BackDoor·通过IGP学到某条路由,又从EBGP学到相同的路由。由于EBGPAD20,小于IGP的AD,所以会优先EBGP的路由,但实际路径从IGP走更优化。R1:Router bgp 100R4Router bgp 400 因为R1和R4
39、都会通过RIP学习来对方的路由,所以该两台路由器IGP路由表中都会有对方的路由,那么在该两台路由器上使用后门路由将路由以IBGP的形式发布,既不会通告给其他路由器,自己的路由表中该路由的管理距离又提高到了200。当R1从2个路由器接收到同一个路由条目的时候,默认情况下,从IBGP学习来的路由本地优先级为100。如果没有IBGP,并且其他都相同,它会选择路由ID最小的邻居为下一跳,也就是说,会选择ID为R3为下一跳。那么为了控制R1的路由选路策略,可以通过使用Local_prefrence值来让R1做出选择,Local_prefrence值是BGP选路策略中的第2条,选择Local_pref值大
40、的那一条路由进行传递。以下是R1默认的输出:Network Next Hop Metric LocPrf Weight Path通过修改R1的local-prefrence值,让R1通过R4走:R1配置:Router bgp 100Route-map pref permit 10Match ip add 1Set local-prefrence 100Route-map pref permit 20Show ip bgp Network Next Hop Metric LocPrf Weight Path通过上面的输出,可以看到R4现在已经成为了R1的下一跳路由,因为从R4走的的 local-
41、prefrence值为100,而R3的local-prefrence值为0。BGP MED>MED是一个相对优先级较弱的属性,在BGP路由决定过程中,到同一个目的地的多条路由的权直,本地优先级,AS-PATH长度以及ORIGIN属性都优先于MED。但是,如果这些变量值都相同,将选择具有最低MED的路由。R1:Route-map med permit 10Match ip add 1Set metric 200Route-map med permit 20Router bgp 100R2:Route-map med permit 10Match ip add 1Set metric 200
42、route-map med permit 20router bgp 100以下为R3,R4的 show ip bgp 输出:R3(config#do show ip bgpStatus codes: s suppressed, d damped, h history, * valid, > best, i - internal,r RIB-failure, S StaleOrigin codes: i - IGP, e - EGP, ? - incompleteNetwork Next Hop Metric LocPrf Weight PathR4(config#do show ip b
43、gpStatus codes: s suppressed, d damped, h history, * valid, > best, i - internal,r RIB-failure, S StaleOrigin codes: i - IGP, e - EGP, ? - incompleteNetwork Next Hop Metric LocPrf Weight Path关于BGP MED属性:在收到bgp对等体(ibgp和ebgp)发送来的路由后,再向ebgp对等体发送的时候,会清除MED值。若是存在本身路由器宣告的一段路由已带有MED值,直接发给bgp对等体时会有MED属性。
44、在route-map下使用此命令 set metric-type internal/set med igp-cost(CRS-1将MED值设置为下一跳地址的IGPmetric值。在使用network或redistribute将IGP路由引入BGP中时,MED值会继承IGP的metric值。若为直连则MED值为0MED值只会传递给一个AS,如 A-B-C这个环境中,A上面宣告一些IGP学习的网段且有MED值发送给B,B会收到MED值,若B还有其他的IBGP邻居,这些IBGP邻居也会学习到此路由的MED属性,但B发送给C的时候,会设置MED值为0BGP的MED值在重发布进入OSPF的时候,不能附带
45、进入OSPF,路由条目使用的是OSPF重发布BGP路由默认的值,为1.R3:Route-map as permit 10Match ip addSet as-path prepend 100 100 100Route-map as permit 20Router bgp 200R4:Route-map as permit 10Match ip add 1Set as-path prepend 100 100 100 Route-map as permit 20Router bgp 200R3#show ip bgpStatus codes: s suppressed, d damped, h
46、history, * valid, > best, i - internal,r RIB-failure, S StaleOrigin codes: i - IGP, e - EGP, ? - incompleteNetwork Next Hop Metric LocPrf Weight Path在以上的图中,R3 R4 R5 运行OSPF,其他3个AS分别将BGP路由信息发送给AS300中的3台路由器,然后重发布 进OSPF,然后再在边界路由器重发布进BGP传递给对方。但是由于OSPF不能理解BGP的路径属性,所以会造成属性丢失,比如从AS100 和AS200 重发布来的BGP路由,在
47、AS400中,只会发现他起源于AS300,之前的路径属性已经丢失。这个问题有可能会让AS400中的路由器在有其他路径的情况下做出不精确的路由选择,为了解决这个问题,通过在将OSPF路由重发布进BGP的时候使用set AS-PATH tag 命令匹配route-map 来让丢失的AS属性进行还原。例如R5:Router ospf 1Redistribute bgp 300Router bgp 300Redistribute ospf 1 route-map TAG match internal external (BGP要重发布OSPF外部路由时需要添加)Route-map TAG permit
48、 10Set as-path tag在配置之前的R6的IP路由表:net work nexthop metric locprf weight path可以看到2条192.168的路由的发起AS信息已经丢失,R6可能会造成不精确的路由选择。在配置之后的R6的IP路由表:net work nexthop metric locprf weight pathSet as-path tag 命令在OSPF标记段中恢复AS-PATH信息,但是,自动加入到标记段的信息只有AS-PATH。在R6上,来自AS100和AS200的路由的ORIGIN为incomplete。根据R6是否有到AS100以及AS200的
49、可替换的路由,ORIGIN是否会影响到BGP的决定过程,以上的情况可能是问题,也可能不是问题。可以通过Set automatic-tag命令将BGP标记段加入了ORIGIN码。通过使用table-map 匹配使用。例:R5Router ospf 1Redistribute bgp 300Router bgp 300Table-map TAGRedistribute ospf 1 route-map TAGRoute-map TAG permit 10Set as-path tagnet work nexthop metric locprf weight pathBGP Advertise-ma
50、p>BGP条件通告有2种形式,当其他一些前缀不存在的时候通告某些前缀,或者当它们存在的时候通告某些前缀。可以通过一个被称为non-exist-map的路由映射来定义不存在的条件,或者通过一个被称为exist-map的路由映射来定义存在的条件。例:当通过某些前缀不存在的时候才通告一些前缀给邻居:AS200多宿主到AS300和AS400,与AS300的链路作为主链路,AS400备用。AS200的地址块是从AS300分配的,除非到AS300的链路中断,否则地址块是不会被通告给AS400的。AS300发送给AS200,该前缀被R3的non-exist-map跟踪。R3配置:Router bgp
51、200Nei R4 route-map as300 inNei R5 advertise-map 200 non-exist-map 100Route-map as300 permit 10Set community 300:1Route-map 200 permit 10Match ip add prefix 200Route-map 100 permit 10Match ip add prefix 100Match community 300:1例:当通过某些前缀存在的时候才通告一些前缀给邻居:Router bgp 200Nei R4 route-map as300 inNei R5 ad
52、vertise-map 200 exist-map 100Route-map as300 permit 10Set community 300:1Route-map 200 permit 10Match ip add prefix 200Route-map 100 permit 10Match ip add prefix 100Match community 300:1BGP dampening主要用于有多个邻居相连的路由器上,当某个邻居的一条路由出现了摆动,那么这个路由器就必须得想其他所有邻居公布这个变化,会给网络造成很大的负担,如果在这个路由器上配置了BGPDampening,那么他会对摆
53、动的路由进行抑制,这样就不会对其他路由邻居公布这个消息。Router bgp 100Bgp dampening 10 1000 3000 15以上命令的意思是说 dampening的半衰期为10分钟,也就是说路由每摆动一次,那么它的惩罚值就增加1000,直到增加到3000的时候,路由会被抑制,10分钟后,会自动降为1500,当降到1000的时候就恢复。如果惩罚值过大一直无法降至1000,那么在15分钟的最大抑制时间之后会自动恢复。NO-EXPORT属性:该属性允许路由器将一个路由公布给一个EBGP对等路由器,但是不允许那个AS里的路由器将该路由公布给其他AS。NO-ADVERTISE属性:该属
54、性不允许对任何对端公布这条路由。LOCAL-AS属性:该属性允许路由器在联盟中将一个路由公布给它的邻居,并允许这个邻居将这个路由公布给联盟AS内的邻居,但是不允许公布给联盟AS以外的其他联盟AS。如果没有联盟存在,那么该属性被看成和NO-EXPORT属性一样来对待。None属性:该属性允许当路由器从邻居收到一条带属性的路由的时候,可以将该属性取消。另外可以配置只具有自己定义的团体属性:十进制格式:使用1-4294967200之间的数字AA:NN格式:AA是1-65535之间的16比特的AS号,NN是1-65440之间的任意一个数。自定义团体属性方便管理团体路由,使用方法如下:(AA:NN使用例
55、子)R1配置:Route-map community permit 10Match ip add 1Set community 100:1Route-map community permit 20Match ip add 2Set community 100:2Router bgp 100Ip bgp community new-format(使用AA:NN格式的时候必须打这条命令让路由器新格式)R2配置:Ip community-list 100 permit 100:1Ip community-list 101 permit 100:2Route-map community permit
56、10Match community-list 100Set local-pre 150Route-map community permit 20Match community-list 101Set local-pre 200Ip bgp community new-format(使用AA:NN格式的时候必须打这条命令让路由器新格式)以上社团列表用于将之前路由器以定义的社团区分开来精确的控制。社团列表:社团列表也分为标准的和扩展的两种格式,标准的号码为1-99,扩展的号码为100-199,两者之间的区别就是扩展的社团列表允许匹配新格式的社团列表(AA:NN)。社团列表的用法:Ip bgp community-list 101 permit
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美容日常知识培训课件
- 2024年适用:服务行业劳动合同
- 《MPS程式制作》课件
- 质检统计知识培训课件
- 母婴护理知识培训课件
- 2024年遗产预分割协议:兄妹间财产分配3篇
- 《安全档案讲课完全》课件
- 肇庆医学高等专科学校《室内空间设计II》2023-2024学年第一学期期末试卷
- 2024年魔术演出专用合同格式3篇
- 《公司的解散和清算》课件
- 中国成人急性呼吸窘迫综合征(ARDS)诊断与非机械通气治疗指南(2023版)解读
- 定向钻电力顶管施工方案
- 外研版八年级英语上册期末单词词性分类测试表(汉译英)
- 公路路基路面现场测试随机选点记录
- 一氧化氮让你远离心脑血管病第(全书回顾综合版)
- 2022年天津三源电力集团限公司社会招聘33人上岸笔试历年难、易错点考题附带参考答案与详解
- 2023-2024学年广东广州番禺区四年级数学第一学期期末综合测试试题含答案
- 尿崩症诊疗规范内科学诊疗规范诊疗指南2023版
- 压缩语段之语段要点概括公开课一等奖市优质课赛课获奖课件
- 零售药店医保培训试题及答案,零售药店医保培
- 军营防袭击应急预案方案
评论
0/150
提交评论