名词

ASBR Boundary Router边界路由器

重分发是在边界路由器上进行的

单点双向重分发(缺陷:若该点down了,两边路由域就断了)

Seed Metric 种子度量值default-metric

协议 缺省值

RIP  infinity(不可达)

EIGRP  infinity(0)

OSPF  20(除BGP)

1(BGP)

BGP  BGP metric is set to IGP metric value



单点双向重分发


重分发进RIP

将路由协议A重分发至RIP,Seed Metric为0,代表不可达,需要手工修改。

将静态路由重分发进RIP,Seed Metric为1,可达,无需修改,并且0.0.0.0/0缺省路由可以进入RIP进程。

将直连路由重分发进RIP,Seed Metric为1,可达,无需修改。

default-metric命令只会影响协议A或静态路由重分发进RIP的路由,不会影响直连路由重分发进RIP。

自动汇总仍然会重分发



重分发进OSPF

(config-router)#redistribute rip subnets

默认情况下,只会将主网路由重分发进来,subnets命令可以将子网重分发进来。

将路由协议A重分发至OSPF,Seed Metric为20,Metric-Type为O E2,可以使用default-metric命令修改Seed Metric

将Static路由重分发至OSPF,Seed Metric为20,Metric-Type为O E2,只有明细和非缺省路由可以重分发。

将直连路由重分发至OSPF,类似重分发Static。

default-metric命令只会影响协议A或静态路由重分发进OSPF的路由,不会影响直连路由重分发进OSPF。


重分发进EIGRP

(config-router)#default-metric BW Delay Reliability loading mtu

(config-router)#default-metric 10000 100 255 1 1500

将路由协议A重分发至EIGRP ,Seed Metric为0,代表不可达,需要手工修改。

将静态路由重分发进EIGRP,Seed Metric不为0,可达,并且0.0.0.0/0缺省路由可以进入EIGRP进程。

default-metric不影响直连路由


路由反馈

在单点双向重分发中,会不会产生路由反馈(路由协议A被重分发进B,再重分发回A)?

路由反馈可能引起路由环路,是非常危险的。


在R1上,将RIP重分发进OSPF,再将OSPF重分发进EIGRP。

实验结果:R1的路由表不会改变,R2只收到了R4的环回口路由和14.1.1.0/24网段路由。

原因:RIP重分发进OSPF的路由,不会再被R1收到并重分发进EIGRP。

小结:在路由器R上,运行路由协议A和B,将A->B。

R会将所有本地宣告进A的接口的直连路由、通过A获悉的加入路由表的打上路由协议A标识的路由引入协议B。

协议A不能是IS-IS以及ODR。

因此,在单点双向重分发中,不会出现路由反馈。


Seed-Metric

由于内部路由一般比外部路由准确,因此建议被重分发的路由的metric比路由域中的所有metric的最大值要大,这是一个路由优化。


distribute-list 分发列表

实现控制层面上的路由条目过滤

调用ACL或者前缀列表使用

在DV协议(RIP和EIGRP)中,使用分发列表可以基于入站和出站两个方向做路由过滤。

在LS协议(OSPF)中,只能做入向,不能做出向。

原因在于LS协议发送的不是路由条目,是LSA,分发列表不能基于ACL或任何其他工具抓取LSA,但是可以在入站方向调用分发列表进行本地抑制,但不能限制LSA的传递,因此只对本地路由器有效。

分发列表在重分发中的应用

R1(config)#router eigrp 90

R1(config-router)#distribute-list 15 out ospf 110

将ospf 110进程中的路由重分发至eigrp中时,调用acl 15匹配,匹配成功的才能加入EIGRP中。

这种方式对于重分发是最佳的。


IPv4 Prefix List 前缀列表

标准ACL只能抓取特定前缀,对于2.2.2.0/24,2.2.2.0/25,2.2.2.0/26来说,只能抓到前缀2.2.2.0,抓不到掩码,因此,要么全部放行,要么全部拒绝。

需要注意的是,反码表示的是多个前缀,而不是掩码。

前缀列表更加精确,可以抓前缀和掩码,例如:

ip prefix-list 10 seq 10 permit 2.2.2.0/25 GE 27 LE 30

该命令匹配的是掩码长度在27和30之间的,前25位是2.2.2.0的条目。

再比如:

抓所有主A类路由

ip prefix-list 20 seq 30 permit 0.0.0.0/1 GE 8 LE 8

access-list 10 permit 0.0.0.0 127.0.0.0


抓所有主B类路由

ip prefix-list 20 seq 40 permit 128.0.0.0/2 GE 16 LE 16

抓所有主B类路由和所有/8超网路由

ip prefix-list 20 seq 50 permit 128.0.0.0/2 GE 8 LE 16


抓所有主C类路由

ip prefix-list 20 seq 40 permit 192.0.0.0/3 GE 24 LE 24

抓主B路由中掩码为24的,且第一段为偶数,第二段为奇数,第三段为偶数

access-list 30 permit 128.1.0.0 62.254.254.0


Route Map

功能:


  • Redistribution route filtering 与分发列表相同控制层面

  • Policy-based routing 数据层面

  • BGP policy implementation 控制层面


每一个route map entry中都有多个match set,相当于if then

若某个entry内的所有match都匹配成功,则意味着该entry匹配成功;(纵向逻辑与)

在同一行match中,若使用多条ACL或者prefix-list,则是或的关系,只要有一条匹配,即该match匹配。(横向逻辑或)

查看策略是permit还是deny:若是deny,直接丢弃;若是permit,则查看并执行set。然后,忽略其他entry,离开该route map。


一个route map永远会拥有一个隐藏的空Entry。没有Match,相当于Match Any;没有Set,相当于Set Nothing。并且,该Entry执行的策略是Deny。

Route Map在重分发中的应用

要求:

拓扑图仍然使用上图。

将RIP重分发进OSPF,在R1上进行路由过滤:


  • 放行1.1.1.0/24,并将Metric-Type设置为O E1;

  • 放行3.3.3.0/24,并将Seed Metric设置为10;

  • 过滤掉13.1.1.0/24

部署过程:

1.设置prefix list

R1(config)#ip prefix-list 20 permit 1.1.1.0/24

R1(config)#ip prefix-list 30 permit 3.3.3.0/24

2.设置route map

R1(config)#route-map R2O permit 10

R1(config-route-map)#match ip address prefix-list 20

R1(config-route-map)#set metric-type type-1

R1(config)#route-map R2O permit 20

R1(config-route-map)#match ip address prefix-list 30

R1(config-route-map)#set metric 10

3.重分发时应用route map

R1(config)#router ospf 110

R1(config-router)#redistribute rip subnets route-map R2O


使用Route Map之前:


使用Route Map之后:


由于隐藏的空Entry,13.1.1.0/24被deny了。

也可以显示地deny13.1.1.0/24:


R1(config)#access-list 100 permit ip 13.1.1.0 0.0.0.0 255.255.255.0 0.0.0.0(Router Map可以调用标准ACL或扩展ACL)

R1(config)#route-map R2O deny 30

R1(config-route-map)#match ip address 100

R1(config)#route-map R2O permit 40

R1(config-route-map)#exit


R1(config)#router ospf 110

R1(config-router)#redistribute rip subnets route-map R2O




双点双向重分发


配置过程遵循顺时针+逆时针的顺序,在每做一次重分发时,要检查对端边界路由器的路由表是否正常。若不正常,需修改管理距离。

在双点双向重分发中,可能造成路由反馈。

如图中,OSPF和RIP做双点双向重分发,由于OSPF的管理距离小于RIP,路由反馈将影响边界路由器上的RIP域内路由,原来打R的路由,现在打上了O。

解决方法是:修改边界路由器R1和R4上的管理距离。

解决了路由反馈之后,还需要进行路由优化,防止不合理的负载均衡。

解决方法是:修改seed-metric(Route Map),或者使用offset。

千万不要用distribute list,原因在于使用分发列表过滤路由之后,就使得双点双向重分发优势不在,像单点一样存在单点故障。

http://blog.csdn.net/bingosummer/article/details/23624501(原地址)