不同的OSPF进程互相重分发

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

不同OSPF 进程之间的重分发

我们为什么需要在不同的OSPF 进程之间进行充分

发呢?

@过滤OSPF 路由

1、过滤“域内”路由:

一般情况下,我们是没有办法过滤域内路由的;因为在同一个OSPF区域中,计算域内路由使用的是1类LSA或者2类LSA。这些LSA在同一个区域中必须是相同的,为了实现构建一个完整的区域拓扑。属于邻接关系的两个路由器之间的数据库中的1类LSA和2类LSA必须是完全相同的;

如果想过滤的话,我们可以使用分发列表,作

用于将路由条目放入路由表的时候。

除此之外,我们还可以在同一个区域中,运行不同的OSPF进程,然后在不同的进程之间实现重分发,这样一来的话。虽然是在同一个区域,但是不同的OSPF进程之间的路由互相学习的时候会看做是不同

的路由,到了对方的进程中,是作为外部路由来出

现的,此时我们就可以在同一个区域中过滤之前的那种所谓的“O ”的路由了;其实现在已经变换成了" 外部路由"之间的过滤了;

2、过滤O IA 路由:

与其我们通过不同的OSPF进程来划分同一个区域,从而导致在重分发的过程中实现路由的过滤。还不如我们将同一个区域划分成不同的区域,这样的话,原来是与同一个区域的路由,现在学习时候就变成了O IA 的路由。此时此刻,我们可以在ABR 上实现3 类LSA的过滤;

我们可以理解ABR的功能:

@将非骨干区域中的内部路由转发到骨干区域中去;@将骨干区域中的内部路由以及从其他非骨干区域学习的域间路由

转发到其他的非骨干区域;

3、过滤外部路由;

因为到目前为止,我们还不可以实现5 类LSA 的过滤。如果想过滤外部路由的话,我们也可

以通过在OSPF内部路由上运行不同的OSPF进程,然后在进程之间实现重分发;

@划分OSPF 域;

要么出于管理的目的或者在“重分发点”上控制路由的角度来考虑,我们将一个完整的OSPF路由域通过不同的OSPF进程来划分,都是一个很正常的实现方案;此时,我们将不同的OSPF进程看做是完

全不同的“两个协议”。通过不同的OSPF进程学习到的路由在被一个路由处理的时候,不是比较他们

的路由的类型,而是通过AD比较出来的;

缺点:

通过这种方式实现了一个OSPF路由域的划分。不同的OSPF进程之间,我们可以看成是不同的OSPF路由域,那么学习路由的话,就只能通过不同进程之间的重分发。但是这样一来,一个OSPF 进程之间的不稳定性,也会通过 5 类LSA 的形式

传递到另外一个OSPF进程去;

解决方案:

所以在这样的情况下,我们最好的解

决方案不是在两个不同的OSPF 进程之间实现重分发;

我可以通过BGP协议来实现路由的传递以及管理。

因为BGP协议非常的稳定,并且在接收到频繁抖动的路由的时候呢,BGP有一个“惩罚机制”,这样一来的话,就可以将那些频繁抖动的路由不放入路由表,从而也就不会传递出来了;减小路由翻滚造成的影响;

@整合不同的协议域;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~

各种情况下的“不同OSPF进程之间的重分发”

@单点情况下的“不同 OSPF 进程重分发”

Router ospf 1

Redistribute ospf 2 subnets

!

Router ospf 2

Redistribute ospf 1 subnets

在这种单点重分发情况下,不会出现什么问题的;@ 多点单向重分发

拓扑描述:

@ A 与 B 通过 OSPF 1 收到内部路由 N ;

@在 A 上将OSPF 1 重分发进入到 OSPF 2 ;

@在 B 上将OSPF 1 重分发进入到 OSPF 2 ;

出现的问题:

容易出现次优路径,比如在Router- A 上去往网络N:packet -----> ospf 2 ----> B ----> ospf 1 ----> C !

Router-A

Router ospf 2

Redistribute ospf 1 subnets

!

Router-B

Router ospf 2

Redistribute ospf 1 subnets

!

路由分析:

此时我们在 A \ B 上看到路由N 属于内部路由;通过重分发之后,

Router-A通过OSPF 2 从Router-B学习到了一个路

由N,属于外部路由;

Router-B通过OSPF 2 从Router-B 学习到了一个路由N,属于外部路由;

此时,我们只看Router-A :

通过OSPF 1 学习到一个内部路由N ,AD=110;

通过OSPF 2 学习到一个外部路由N,AD=110;

对于不同的OSPF的进程学习过来的路由,我们可以看成是“不同的路由协议”之间学到的路由,

那么此时,我们在比较这样的两种路由的时候呢,只比较AD;小者优先!

但是对于OSPF而言,内部路由与外部路由的AD是

相同的。

那在Router-A上计算该路由时,是内部路由呢,还

是外部路由呢?

答案:此时就看Router-A是首先从哪个OSPF进程学习到的相应的LSA;

一旦收到之后,就会用它来计算路由,然后放入路由表中。即使再从其他OSPF 进程收到

表示同样路由的

一个LSA,那么也不会将该LSA计算出来的路由放入路由表,除非之前路由表中的哪个

路由条目失效了;

解决方案:

我们将Router-A 与Router-B上从OSPF 2 学习过来的外部路由的AD更改成大于从OSPF 1 学习过来的内部路由;

Router-A:

Router ospf 2

Redistribute ospf 1 subnets

相关文档
最新文档