思科BGP技术详解九
第六条:MED,多出口鉴别器,
在AS200的R
如图:
AS100为运营没:AS200为企业,
如果企业做属性影响ISP,即所影响
的是R1到R4的属性。
是在本地实现的影响是的外到内。
MED的默认值为0,越小越优先。从R1到R4现在默认是从的R3地,现在改成为走上面,即把R3 的MED改大即可。“修改的是本地AS内,影响的是对方AS到本地AS的的路径。在r3 上面来做:
用到前面我们学到的映射工具:router-map.还要匹配一条路径(一个规则)match,先定一个防表:到4.4.4.4的路由,走上面的那一条R2的路径。
R3:Acces-list 10 permit4.4.4.0 0.0.0.0255 为什么不用扩展防表:“只是影响的目的“。
Route-map med(名字) perit 10 (序号)
Match ip addr 10(防表)
Set metric 20(修改MED的值,默认为0.在show ip bgp 下,MED是用metric表示的。)
Router bgp 200
Neig 13.1.1.1 route-map med(名字) out 把设置的值映射给邻居,让他收到这个20。
现在是指的邻居到达R4(定防表是指的4.4.4.4),是影响的R1,也就是对R1来说的,是Out(是邻居R1到达R4,即R1的Out接口。)
R4:#Show ip bgp 还是走的R3 ,没有生效
*>i1.1.1.0/24 3.3.3.3 0 100 0 100 i
* i 2.2.2.2 0 100 0 100 i
*> 4.4.4.0/24 0.0.0.0 0 32768 i
Clear ip bgp * 还是没有生效:在R3上:show runn,发现是忘记配置set metric 20。配置完成:
(&6)R1 :show ip bgp 现在是经过R2到达R4的。
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.0/24 0.0.0.0 0 32768 i
*> 4.4.4.0/24 12.1.1.2 0 200 i
* 13.1.1.2 20 0 200 i
R1#traceroute 4.4.4.4 so 1.1.1.1
1 12.1.1.2 60 msec 72 msec 48 msec
2 24.1.1.2 56 msec * 52 msec
R4#traceroute 1.1.1.1 so 4.4.4.4 回到R1怎么走的下面R3呀?
1 34.1.1.1 52 msec 60 msec 20 msec
2 13.1.1.1 16 msec * 76 msec
总结:也就是在本地做了属性,是影响的对端。
到R4上查:(为什么还是走的R3?)
Network Next Hop Metric LocPrf Weight Path
*>i1.1.1.0/24 3.3.3.3 0 100 0 100 i
* i 2.2.2.2 0 100 0 100 i
在R4上再启一个loop 5.5.5.5
R4 :int loop 1
Ip addr 5.5.5.5 255.255.255.0
Router bgp 200
Net 5.5.5.0 mask 255.255.255.0
Exit
Show ip bgp 收到一个5.5.5.5 的网络。
R1:show ip bgp
Network Next Hop Metric LocPrf Weight Path
* 4.4.4.0/24 13.1.1.2 20 0 200 i
*> 12.1.1.2 0 200 i
*> 5.5.5.0/24 12.1.1.2 0 200 i
R1收到5.5.5.5应该有两条路径才对,现在只有一条,而且是从Rr2收过来的。原因是:在R3上做了一个Route-map,只匹配了一个permit 10 ,后面跟的是一条隐式的拒绝,必须在permit 10 必须加一条空的route-map med permit 20 才正确。
R1#show ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.0/24 0.0.0.0 0 32768 i
* 4.4.4.0/24 13.1.1.2 20 0 200 i
*> 12.1.1.2 0 200 i
* 5.5.5.0/24 13.1.1.2 0 200 i
*> 12.1.1.2 0 200 i
第五条.Origin属性:
用origin属性改路由只能在起源的路由器上改。还是做这个路径,R1到R4,走13.1.1.2(现在走的是12.1.1.2).还是用Route-map做。先写一个防表:
R1:Access-list 10 permit 4.4.4.4 0.0.0.255
Route-map ccnp permit 10
Macth ip addr 10
Set origin incomplete(就是?)要想路径走下面,是IGP学来的,那么把上面改成EGP或?就可以了。
Router bgp 100
Nei 12.1.1.2 route-map qiyuan in(是影响的对端,是接收r1 的策略,所以R2上是IN方向)
Clear ip bgp * (清一下才生效)
之后,从路由应该从下面R3上走才对。
(&5)Show ip bgp (方框内:i>?)
*> 4.4.4.0/24 13.1.1.2 20 0 200 i
* 12.1.1.2 0 200 ?
*> 5.5.5.0/24 13.1.1.2 0 200 i
从下面R3走了(5.5.5.5的另一条路由怎么没了呢有?),通过修改起源路径,可以证明i>?.还证明了点是起源大于后面的那条属性。
第四条.AS-path属性;
要想证AS-path属性来决定路径,必须在EBGP之间,如果用在IBGP之间都是一样的(从IGBP之间学来了路由不能修改)。
从R1到R4,是从as 200 学来的,现在是默认从R3走的,改到从上面走,把下面的路径改长即可,即从下面加上一个AS 300,那么下面的路径就会比上面的路径长了,所以就会从上面R2走了。
R1:aaces-list 10 permit 4.4.4.0 0.0.0.255(上一个试验已做)
Route-map ccnp permit 10
Match ip addr 10
Set ccnp prepend 300 (也叫AS-path预附加,即预加一个AS)
Exit
Route-map ccnp permit 20
Exit
Router bgp 100
Nei 13.1.1.2 route-map ccnp in
Exit
Clear ip bgp *in
(&4)Show ip bgp (0 300 200 i>0 200 i,多走了一个AS 300.)
Network Next Hop Metric LocPrf Weight Path
*> 4.4.4.0/24 12.1.1.2 0 200 ?
* 13.1.1.2 20 0 300 200 i
*> 5.5.5.0/24 13.1.1.2 0 200 i
路由是从R2走的,在下面的路径上多了个AS300 ,路径变长了,选择了R2,走的是路径较短的。前面的配置都不生效了,也验证了第四条属性优先于后面的属性。
注意:在前加了一个AS300 ,现实情况有可能AS300 存在网络中,如AS300收到一个包含自己的
路径,是认为有环路了,有要了。一般情况下,定自己或定对方。
第三个,本地始发:
只要IGP可达,NETwork 就能宣告进来。
R2上把2.2.2.0宣进BGp
Router bgp 200
Net 2.2.2.0 mask 255.255.255.0
R2:Show ip bpg
Network Next Hop Metric LocPrf Weight Path
* i1.1.1.0/24 3.3.3.3 0 100 0 100 i
*> 12.1.1.1 0 0 100 i
*> 2.2.2.0/24 0.0.0.0 0 32768 i
r>i4.4.4.0/24 4.4.4.4 0 100 0 i
*>i5.5.5.0/24 4.4.4.4 0 100 0 i
4.4.4.4.通过OSPF也可以学到,是一条写入失败的路由(RIB-failure),是不放进路由中了,但是通过show ip bgp 可以看出选哪一个路径。
R4:show ip bgp
Network Next Hop Metric LocPrf Weight Path
*>i1.1.1.0/24 3.3.3.3 0 100 0 100 i
* i 2.2.2.2 0 100 0 100 i
r>i2.2.2.0/24 2.2.2.2 0 100 0 i
*> 4.4.4.0/24 0.0.0.0 0 32768 i
*> 5.5.5.0/24 0.0.0.0 0 32768 i
R4学到了一个r(r RIB-failure)路径,路径指向:
到R4上,把2.2.2.0 宣到BGP中,看一下,学到的是哪个2.2.2.0 的路径?
R4:router bgp 200
Net 2.2.2.0 mask 255.255.255.0
(&3)Shw ip bgp
Network Next Hop Metric LocPrf Weight Path
*>i1.1.1.0/24 3.3.3.3 0 100 0 100 i
* i 2.2.2.2 0 100 0 100 i
*> 2.2.2.0/24 24.1.1.1 41 32768 I
* i 2.2.2.2 0 100 0 i
*> 4.4.4.0/24 0.0.0.0 0 32768 i
*> 5.5.5.0/24 0.0.0.0 0 32768 i
R4 上学到了2.2.2.0的两条路径,*> 2.2.2.0/24 前面的i没有了,一条是通过R2的BGp加入进来的,一条是R4上的bgp加入进来的,是本地始发的路径,选择的R4本地的。前面有i的是通过IBGP邻居学来了。下面的空的,没有i,说明是本地始发的(不一定是直连路由)。>在本地始发这条上。
*> 2.2.2.0/24后面还一个奇怪的现象,metric是41。
在本试验中,最优路径选择是R4通过net宣到BGp中的本地的路由,按惯例,宣告的都是直连的它的metric 应该是0,而现在是41。41是通过修改OSPF的cost值得来的,也就是IBGP的度量。在R4上2.2.2.2是本地始发的,所以本地始发的路由的Metric就是IGP 的度量。
第二条,本地优先
是用在IBGP邻居之间,是有本地有多个出口到达外地进,才用。
R4:定一个到达1.1.1.1的防表
Access-list 10 permit 1.1.1.0 0.0.0.255
Route-map bendi permit 10
Match ip addr 10
Set local-priference 120 现在默认R4到R1走的R3下面的一条路径,现在通过修改本地优先属性,让R4走R2到达R1.本地优先的默认值是100,越大越优先,只要把到达R2的改为120即可。
Exit
Route-map bennndi permit 20
Exit
Router bgp 200
Nei 2.2.2.2 route-map bendi in
End
Clear ip bgp *(必须清才生效)
(&2)R4show ip bgp
Network Next Hop Metric LocPrf Weight Path
*>i1.1.1.0/24 2.2.2.2 0 120 0 100 i
* i 3.3.3.3 0 100 0 100 i
*> 2.2.2.0/24 24.1.1.1 41 32768 i
* i 2.2.2.2 0 100 0 i
*> 4.4.4.0/24 0.0.0.0 0 32768 i
*> 5.5.5.0/24 0.0.0.0 0 32768 i
从R4到达2.2.2.2 locprf是120(默认是100),locprf大的优先。实现目的。
第一类,权重属性:
从别的路由器上收到都是0.可以直接修改权重。现在默认走上面R2,把权重改大,就可以走下面了。
R4 :Router bgp 200
Neig 3.3.3.3 weight 10000
end
Clear ip bgp *
(&1)Show ip bgp
Network Next Hop Metric LocPrf Weight Path
* i1.1.1.0/24 2.2.2.2 0 120 0 100 i
*>i 3.3.3.3 0 100 10000 100 i
*> 2.2.2.0/24 24.1.1.1 41 32768 i
* i 2.2.2.2 0 100 0 i
*> 4.4.4.0/24 0.0.0.0 0 32768 i
*> 5.5.5.0/24 0.0.0.0 0 32768 i
方框内的weight 变为了10000.路径从3.3.3.3走的。
总结(一)属性:
看上面的bgp表:
看属性,1.首先看权重(weight&1):权重最大的最优先。
2.(如没有权重或权重相同)看本地优先(Locprf&2):越大越优先。
3.(前两类没有或相同)看本地始发(metric&3):优先IGP度量
4.(……)看AS-path(Path&4):越短越优先。
5. (……)看起源(看最后在的是i不是?):i>e>?
6. (……)看MED (用metric来表示MED&6):越小越优先。
7.(……)
暂时还木有人评论,坐等沙发!