Set as-path tag
net work nexthop metric locprf weight path
*> 192.168.1.0 10.1.1.1 1 0 300 100 i *> 192.168.2.0 10.1.1.1 1 0 300 200 i
〈BGP Advertise-map>
BGP条件通告有2种形式,当其他一些前缀不存在的时候通告某些前缀,或者当它们存在的时候通告某些前缀。可以通过一个被称为non-exist-map的路由映射来定义不存在的条件,或者通过一个被称为exist-map的路由映射来定义存在的条件。
例:当通过某些前缀不存在的时候才通告一些前缀给邻居:
AS200多宿主到AS300和AS400,与AS300的链路作为主链路,AS400备用。AS200的地址块是从AS300分配的,除非到AS300的链路中断,否则地址块200.200.200.200/32是不会被通告给AS400的。AS300发送100.100.100.100给AS200,该前缀被R3的non-exist-map跟踪。
BGP 29
R3配置:
Router bgp 200
Net 200.200.200.200 mask 255.255.255.255 Nei R4 route-map as300 in
Nei R5 advertise-map 200 non-exist-map 100
Ip prefix-list 100 permit 100.100.100.100/32 Ip prefix-list 200 permit 200.200.200.200/32
Route-map as300 permit 10 Set community 300:1
Route-map 200 permit 10 Match ip add prefix 200
Route-map 100 permit 10 Match ip add prefix 100 Match community 300:1
BGP 30
加上一个community是为了保证100.100.100.100/32前缀是从AS300收到的。当100.100.100.100失效的时候,通过debug ip bgp update看到输出:
*Mar 1 00:39:38.931: BGP(0): net 200.200.200.200/32 matches ADV MAP 200: bump version to 8 *Mar 1 00:39:39.251: BGP(0): nettable_walker 200.200.200.200/32 route sourced locally *Mar 1 00:40:07.031: BGP(0): 10.1.1.1 200.200.200.200/32 matches advertise map 200, state: Advertise *Mar 1 00:40:07.039: BGP(0): 10.1.1.1 send UPDATE (format) 200.200.200.200/32, next 10.1.1.2, metric 0, path Local
*Mar 1 00:40:07.043: BGP(0): 20.1.1.2 skip UPDATE 200.200.200.200/32 (chgflags: 0x0), next 0.0.0.0, path
当100.100.100.100/32恢复的时候,我们可以看到以下输出:
*Mar 1 00:43:39.047: BGP(0): net 200.200.200.200/32 matches ADV MAP 200: bump version to 10 *Mar 1 00:43:39.375: BGP(0): nettable_walker 200.200.200.200/32 route sourced locally *Mar 1 00:43:48.047: BGP(0): 10.1.1.1 200.200.200.200/32 matches advertise map 200, state: Withdraw
*Mar 1 00:43:48.051: BGP(0): 10.1.1.1 send unreachable 200.200.200.200/32
*Mar 1 00:43:48.055: BGP(0): 10.1.1.1 send UPDATE 200.200.200.200/32 -- unreachable
*Mar 1 00:43:48.055: BGP(0): 20.1.1.2 skip UPDATE 200.200.200.200/32 (chgflags: 0x0), next 0.0.0.0, path
例:当通过某些前缀存在的时候才通告一些前缀给邻居:
Router bgp 200
Net 200.200.200.200 mask 255.255.255.255 Nei R4 route-map as300 in
Nei R5 advertise-map 200 exist-map 100
Ip prefix-list 100 permit 100.100.100.100/32 Ip prefix-list 200 permit 200.200.200.200/32
Route-map as300 permit 10 Set community 300:1
Route-map 200 permit 10 Match ip add prefix 200
Route-map 100 permit 10 Match ip add prefix 100 Match community 300:1
BGP dampening主要用于有多个邻居相连的路由器上,当某个邻居的一条路由出现了摆动,那么这个路
BGP 31
由器就必须得想其他所有邻居公布这个变化,会给网络造成很大的负担,如果在这个路由器上配置了BGP Dampening,那么他会对摆动的路由进行抑制,这样就不会对其他路由邻居公布这个消息。
Router bgp 100
Bgp dampening 10 1000 3000 15
以上命令的意思是说 dampening的半衰期为10分钟,也就是说路由每摆动一次,那么它的惩罚值就增加1000,直到增加到3000的时候,路由会被抑制,10分钟后,会自动降为1500,当降到1000的时候就恢复。如果惩罚值过大一直无法降至1000,那么在15分钟的最大抑制时间之后会自动恢复。
NO-EXPORT属性:该属性允许路由器将一个路由公布给一个EBGP对等路由器,但是不允许那个AS里的路由器将该路由公布给其他AS。
NO-ADVERTISE属性:该属性不允许对任何对端公布这条路由。
LOCAL-AS属性:该属性允许路由器在联盟中将一个路由公布给它的邻居,并允许这个邻居将这个路由公布给联盟AS内的邻居,但是不允许公布给联盟AS以外的其他联盟AS。如果没有联盟存在,那么该属性被看成和NO-EXPORT属性一样来对待。
None属性:该属性允许当路由器从邻居收到一条带属性的路由的时候,可以将该属性取消。
另外可以配置只具有自己定义的团体属性: 十进制格式:使用1---4294967200之间的数字
AA:NN格式:AA是1-65535之间的16比特的AS号,NN是1-65440之间的任意一个数。
自定义团体属性方便管理团体路由,使用方法如下:(AA:NN使用例子)
R1配置:
Ip access-list 1 permit 100.1.1.0 Ip access-list 2 permit 100.2.1.0
Route-map community permit 10 Match ip add 1
Set community 100:1
Route-map community permit 20 Match ip add 2
Set community 100:2
Router bgp 100
Nei 10.1.1.2 route-map community out Nei 10.1.1.2 send-community
Ip bgp community new-format(使用AA:NN格式的时候必须打这条命令让路由器新格式)
BGP 32
相关推荐: