RIP与OSPF双点双向重分布

  • 格式:doc
  • 大小:338.50 KB
  • 文档页数:5

下载文档原格式

  / 8
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于重分布的几个重点:

1、关于重分布进distance vector协议的时候,除了静态与connected 不需要手工指定metric以外,其余的需要手工指定,否则会认为是无穷大的路由通告。

2、重分布进OSPF的路由默认为OE2类型,send metric 为20,BGP除外。

3、在ISIS中分为level 1 和level 2的路由,前者称为内部路由缺省度量为0,0~63 而后者为外部路由,64~128度量,缺省为64 ,如果默认不指定的话,那么就是level2的路由,所以在做重分布的时候,向level 1重分布的时候需要指定level的类型

在cisco路由器上,做RIP与OSPF双点双向重分布的时候,由于度量值的原因,会导致次优路由的出现。

如上面的图,基本配置就这些,当在RIP与OSPF中重分布各自协议后,R2与R1之间运行RIP 收到13.1.1.0/24 和1.1.1.1/32 度量值为120,由于R3也重分布进RIP的路由,经过R4传递给R2 13.1.1.0/24和 1.1.1.1/32 的路由度量值为110,同一条路由条目,管理距离低的进路由表,R3也同样收到R4传递过来的12.1.1.0/24 和1.1.1.1/32 ,那么也会优于之前从RIP学到的路由,这样当R3想到达12.1.1.0网段的时候,经过的不是

R3---R1,而是R3----------R4----------R2,饶着过来,解决的办法,可以通过Distirbute-list 过滤掉、通过distance 修改AD

方法一:Disribute-list

R2上:access-list 1 permit 34.1.1.0 0.0.0.255

access-list 1 permit host 4.4.4.4

router ospf 1

disribute-list 1 in

R3上 access-list 1 permit 24.1.1.0 0.0.0.255

access-list 1 permit host 4.4.4.4

router ospf 1

distribute-list in

这时候在看下路由表

各自的路由域都正常收到路由,没出现次优路由的问题。

分析下思路:造成这个原因是因为双ASBR的原因,彼此传递给对方的路由,优于RIP的路由,所以出现了问题,而用ACL permit OSPF只能存在的路由,在OSFP中调用。比如R2,在OSPF中只需要收到34.1.1.0 网段和4.4.4.4的路由,而24.1.1.0 是直连不算在内,用ACL 抓出来,在进程下的in方向过滤掉ACL中没有的路由。但是,缺点是,一旦网络一多,需要写的ACL也会非常多。在卷一中,它的案例还会给出在RIP中也用ACL过滤掉不需要的路由,但是感觉在OSPF中调用就够了。

方法二、distance :

RIP中 R2:distance 109 12.1.1.1 0.0.0.0

R3:distance 109 13.1.1.1 0.0.0.0

造成这个原因就是因为管理距离次于OSPF造成的,虽然把从邻居发送过来的RIP路由,管理距离都改成109,比110小,从而解决这个问题

OSPF: R2/R3:disatance ospf external 121

修改各自进程下收到的外部路由,管理距离改为121,这里注意的是,可能有些书上使用的是ACL 匹配出来,然后distance 121 3.3.3.3 0.0.0.0 1 在链路状态协议中写的是指定的RID,因为是链路状态协议,在database中显示这些LSA的信息 RID标识的为ASBR,所以只需指定RID就行了。而在链路状态协议中后面指定的是直连的邻

居。 0.0.0.0 用于精确匹配这个指定的邻居或者RID。

关于利用tag过滤,这个拓扑中是解决不了的,如果换做是卷一Jeff所说的那个例子,就可以用Tag技术来解决。

distance的应用比较广泛:比如就上面那个图,如果全是ospf域的话,R1上有两个网段,那么可以在R4上看到的一定是负载均衡了,如果某些情况下要求去往R1的第一个网段走R3----R1,第二个网段走R2----R1,除了PBR之外,还可以利用distance 来解决,用两个ACL抓取这两个网段,用两条disatance 109 2.2.2.2 0.0.0.0 1(acl) distance 109 3.3.3.3 0.0.0.0 2 (acl) 这样由于管理距离不同,所以就没有负载均衡了。

另外一种应用可能是路由迁移,在一种公司合并的情况下,由于对方使用的是H3C的设备运行OSPF,而这边是cisco的EIGRP,老板希望在不中断原本的业务上,平滑的过度为全是用OSPF,使得全网通信,方便以后扩展。这时候需要做的是,在cisco设备上,全部运行ospf,当在database中能看到所有条目的时候,利用distance 来改变AD,使得OSPF的AD比EIGRP少,当全部路由器执行完毕后,可以No 掉EIGRP的进程,这样完成过度机制,注意的是不能在eigrp中执行distance,因为它执行了会导致邻居的重置,这样业务就会中断,而OSPF的改变,并不影响。

distribute-list 的应用,在多进程下可以过滤不需要的路由,这个无论是距离矢量还是链路状态都实用,但是在同一路由域内,距离矢量使用distribute-list不会出现什么问题,而链路状态而只能调用在in方向,并且过滤的是路由表而不是database中的LSA,Out

方向不准调用的原因是,同一区域内的LSA必须保持同步,所以在发出这些LSA的时候,不允许过滤。 In方向的执行是在进入database之后,通过SPF算法想放入路由表的时候被过滤掉,所以被过滤的是路由表中的,而不是LSA, OSPF的LSA过滤只能在ABR或者ASBR 上进行,ASBR就不说了,ABR上过滤的话,需用用到prefix,它只支持调用prefix 。在进程下 area 0 filter-list prefix test out | in :它的方向取决于你ABR上连接了哪些区域,如果为in方向的话,那么匹配了prefix中的条目,就不会进入area 0里面,而out方向,就是匹配这条条目的路由,不会向外发送。

EQ R1------------------R2-----------------------R3

area 1 area 0

R1上通告了1.1.1.1的路由,R3的database中有关于1.1.1.1 路由的3类LSA