您好,欢迎来到六九路网。
搜索
您的当前位置:首页OSPF多实例

OSPF多实例

来源:六九路网
OSPF多实例

文档密级 内部公开

华为三康技术有限公司 Huawei-3Com Technologies Co., Ltd. 文档编号 Document ID 文档状态 Document Status Draft 1.00 密级Confidentiality level 内部公开 共11页 Total 11pages

OSPF多实例

拟制

Prepared by 评审人 Reviewed by

批准 Approved by

测试中心

Date日期 Date日期 Date日期

2005-02-28

华为三康技术有限公司

Huawei-3Com Technologies Co., Ltd.

版权所有 侵权必究 All rights reserved

2007-07-11 内部资料,请勿扩散 第1页, 共13页

OSPF多实例

文档密级 内部公开

修订记录 Revision Record

日期 Date 修订版本Revision Version 1.00 修改章节 Sec No. All initial 初稿完成 李劲松&02159 修改描述 Change Description 作者Author 2005-02-28 2007-07-11 内部资料,请勿扩散 第2页, 共13页

OSPF多实例

文档密级 内部公开

目 录

1

1.1 1.2

前言 ............................................................................................... 5

预备知识 ......................................................................................................................... 5 路由协议的《进化论》 ................................................................................................. 5

2

2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.2.2 2.2.3 2.3 2.3.1 2.3.2 2.3.3

OSPF多实例 .................................................................................. 6

OSPF多实例相关名词介绍 ............................................................................................ 6 进程(Process) ......................................................................................................... 6 多实例(Instance) .................................................................................................... 6 域(Domain) ............................................................................................................ 7 BGP和OSPF .................................................................................................................... 7 普通服务 ..................................................................................................................... 7 VIP服务 ...................................................................................................................... 7 存在的问题 ................................................................................................................. 9 OSPF的后门链路---Sham-link ..................................................................................... 10 Sham-link的作用 ...................................................................................................... 10 Sham-link的配置注意事项与具体实现................................................................... 11 Sham-link 与虚链路 ................................................................................................ 12

3 4 5

配置案例 ...................................................................................... 12 留给读者 ...................................................................................... 13 附录 ............................................................................................. 13

2007-07-11

内部资料,请勿扩散

第3页, 共13页

OSPF多实例

文档密级 内部公开

图目录

图 1 .................................................................... 5 图 2 .................................................................... 7 图 3 .................................................................... 8 图 4 .................................................................... 9 图 5 ................................................................... 10 图 6 ................................................................... 13

2007-07-11 内部资料,请勿扩散 第4页, 共13页

OSPF多实例

文档密级 内部公开

1 前言

本文是根据李劲松---的PPT《OSPF Multi-instance》改编而成。

1.1 预备知识

阅读本文之前,请先熟悉一些MPLS-L3VPN的基础支持,包括:

 PE和CE的概念。  OSPF协议。

 MPLS-L3VPN的基本原理。

 VPN site(其实就是相当于一个多实例)  MBGP(BGP进化后的结果---多协议BGP)

典型的MPLS-L3VPN拓扑:

图 1

1.2 路由协议的《进化论》

达尔文的《进化论》告诉我们一个原理---适者生存。当MPLS-L3VPN技术日渐成熟的时候,各个路由协议为之也要做出相应的进化或者改变(不变会被淘汰的^_^)。 我司设备目前支持的主要路由协议为:静态路由,RIP,OSPF,BGP。(IS-IS本文不涉及所以暂不介绍),这里我们先简单说一下各个路由协议的进化情况:

 静态路由、RIP都是标准的协议,但是每个VRF运行不同的实例。相互之间没有干扰。与PE的MP-iBGP之间只是简单的IMPORT操作。

 EBGP也是普通的EBGP,而不是MP-EBPG,只交换经过PE过滤后的本VPN路由。

2007-07-11

内部资料,请勿扩散

第5页, 共13页

OSPF多实例

文档密级 内部公开

 OSPF则做了很多修改,可以将本site的LSA放在bgp的扩展community属性中携带,与远端VPN中的ospf之间交换LSA。每个site中的OSPF都可以存在area 0,而骨干网则可以看作是super area 0。此时的OSPF由两极拓扑(骨干区域+非骨干区域)变为3级拓扑(超级骨干区域+骨干区域+非骨干区域)。

从上面我们可以看出静态路由、RIP、BGP这些实现相对简单的路由协议变化并不是很大(当然BGP的一个新功能:用MBGP传递VPN路由也算变化不小吧,这里我们就不讨论了先)。OSPF由于自身算法的太过于精妙,所以它的变化也是比较大的,不过最根本的原因还是适应网络的需求,毕竟科技以人为本啊。

2 OSPF多实例

2.1 OSPF多实例相关名词介绍

2.1.1 进程(Process)

OSPF运行是依靠运行自身的SPF算法,从而形成一个本地的链路状态数据库。不同的接口可以运行多个SPF算法从而形成多个链路状态数据库,我们把每个链路状态数据库里所涉及的接口、LSA等叫做在一个OSPF进程里面。不同的进程的链路状态数据库是完全隔离的,但是可以共同拥有一个路由表(可以通过再发布引入)。

2.1.2 多实例(Instance)

传统路由器只有一张路由表,但是为了适应MPLS VPN,路由器不得不在自身上再模拟一个或者多个虚拟路由器,每个虚拟路由器有的路由表(没有特殊处理是不可以互访问的)。每个虚拟路由器和它自己相关的路由表、接口等是存在于一个多实例的。

多实例这个概念可以说基本上是为了MPLS VPN而创造出来的,但是现在它也有别的特殊的应用,比如多实例的L2TP,或者多实例组播应用(我们不必用IGMP V3也可以把不同的源但是相同组的组播流分开)等。只要你肯想肯定还有许多未被挖掘的宝藏。

2007-07-11

内部资料,请勿扩散

第6页, 共13页

OSPF多实例

文档密级 内部公开

2.1.3 域(Domain)

域这个概念和WINDOWS2000里的域的概念比较象,或者说可以和AS的概念比较,在一个域内的OSPF可以交互LSA的详细信息,不同域的OSPF只可以交互外部LSA。

2.2 BGP和OSPF

2.2.1 普通服务

MPLS L3VPN网络的路由传递全是依靠BGP的扩展属性传递的,对于一般的路由协议来说(比如静态,RIP等)BGP所需要做的只是简单的再发布工作,没有什么技术含量。

2.2.2 VIP服务

OSPF是BGP的VIP客户,当OSPF需要通过扩展BGP在MPLS L3VPN网络中传递路由的时候,BGP除了会把OSPF的路由发布出去,同时会利用自己的扩展团体属性记录OSPF路由的一些信息。(这么做的原因也是由于OSPF本身设计的思想所导致,这个协议需要每条路由的尽量详细信息。)

BGP是如何提供VIP服务给OSPF的呢?这个还要从RT说起,RT表示路由器接受路由的喜好,当然发送路由更新的时候可以设置这个“喜好”了。现在RT除了加上了这个“喜好”,而且还对OSPF有特殊的服务,RT后面加了一些OSPF路由信息,在RT的字段有一部分是这样的:

图 2

2007-07-11 内部资料,请勿扩散 第7页, 共13页

OSPF多实例

文档密级 内部公开

如图2是BGP扩展团体属性与OSPF相关的部分,其中类型编码为0x0306(长度16bit),接下来是OSPF的区域号(32 bit),然后是OSPF路由类型(8 bit),最后一部分是选项字段(一般用来表示外部路由的度量类型)。 我们现在具体解释一下路由类型这个字段:

 第1类LSA与第2类LSA的路由类型为1或者2  第3类LSA的路由类型为3  第5类LSA的路由类型为5  第7类LSA的路由类型为7

 Sham-link端点地址路由类型为 129

这里Sham-link后面会介绍到的,由于MPLS L3VPN的路由是通过BGP发布出去的那么最起码的要求是这条路由要在路由表里,当PE要发布这条路由的时候它会根据产生这条路由的LSA类型来填充路由类型这个字段,当另外一个PE的接收到某条被发布的OSPF路由后,如果它的下游也是同一个DOMAIN内的OSPF区域的话那么可以通过再发布把路由传播下去。(但是路由类型1,2的会被转化成LSA 3,其它路由类型到LSA之间的转换不会变的)

我们可以发现常见的LSA变少了,类型4的LSA没了,为什么呢?(欢迎大家讨论,以下是我的看法:由于BGP的任务是发布路由给PE,而且这条被发布的路由是要在路由表里的,但是OSPF的LSA 4只是通告一下ASBR的位置,并不会产生路由,所以发布它有点难啊.....)但是没有类型4的LSA路由器对于类型5和类型7的外部路由如何正确的算出树呢?请看下图:

图 3

如图3所示,假如与CE-B连接的区域1里某个路由器发布了一条外部路由 (LSA 5)那么PE-C发布的时候只会发布这条LSA 5产生的路由,相关的LSA 4是被忽略的,但是这条路由到了PE-D的时候,PE-D如果需要把它再发布到OSPF域的时候它会把产生者的地址写成自己,然后再发布相关的LSA 5出去,同时CE-E会产生一个相应的LSA

2007-07-11

内部资料,请勿扩散

第8页, 共13页

OSPF多实例

文档密级 内部公开

4(认为PE-D是ASBR),这样一切就了^_^。

2.2.3 存在的问题

路由协议最怕的就是产生路由环路,OSPF区域里传递路由为了保证不产生环路规定:1 所有区域必须和区域0相连;2 本身用SPF算法。但是MPLS L3VPN网络中改变了这种拓扑结构,而且在跨越MPLS骨干网后一般都是类型3,5,7的LSA,这三种LSA实际上在OSPF运算产生路由的时候和DV(距离矢量)算法很接近,所以很有可能产生路由环路,比如下图:

图 4

如图4(一个典型的CE双归的模型)当PE-A分别与PE-B,PE-C建立MBGP邻居后,当PE-A传递了一个类型3或者5的路由给PE-B与PE-C,PE-B与PE-C都会根据相应的LSA产生路由,但是同时就有可能PE-B产生的LSA通过CE-A传递了给PE-C然后由于路由优先级与再发布的问题,导致PE-B的路由表错误或者把这条路由又发给了PE-A,这样环路就形成了。

解决办法:首先我们先介绍一下如何避免类型3的LSA产生环路,在OSPF头部的选项字段中有一个DN位,当PE收到某条LSA 3的并且发现DN位有置位的时候,这个PE在运行SPF算法的时候会忽略这条LSA。(CISCO书上说会忽略此LSA,同时不能发布到BGP中,可是SPF算法已经忽略它了,根本就产生不了路由,怎么会发布到BGP中

2007-07-11

内部资料,请勿扩散

第9页, 共13页

OSPF多实例

文档密级 内部公开

呢??欲知答案,请参看附录^_^)。

接下来说一下关于类型5,7是如何避免环路的。方法和类型3用的方法类似,也是在某个地方做个标志,类型5,7的LSA都有TAG选项,当PE发布一条OSPF外部路由到VPN网络中,PE会根据这条外部路由的信息(AS号等)算出一个唯一的VPN-TAG值并且加到类型5,7的LSA里面去,当PE收到一条类型5或者7的LSA的时候如果发现有一样的VPN-TAG值的话,那么该LSA也会被忽略的。

2.3 OSPF的后门链路---Sham-link

2.3.1 Sham-link的作用

好的网络规划设计者都会考虑到网络的冗余、备份问题,一般情况下MPLS-L3VPN网络中PE之间存在备份链路,同时相同的VPN组之间可能也有备份链路的存在,比如下图:

图 5

如上图5 CE-A与CE-B之间还有一个备份链路相连,问题也就来了,由于域内路由的优先级大于域间路由的优先级,所以CE-A会通过它与CE-B直接相连的链路到达另外一个VPN,而且PE也会忽略自己的BGP邻居发布过来的VPN路由。一般情况下为了网络管理与排错我们尽量会把CE-A与CE-B之间的备份链路作为“后门”链路,只有当MPLS骨干网络出现了问题数据才会通过“后门”链路转发,为了适应这种要求Sham-link产生了。通过Sham-link MPLS L3VPN骨干网的PE之间可以扩散LSA 1或者

2007-07-11

内部资料,请勿扩散

第10页, 共13页

OSPF多实例

文档密级 内部公开

LSA 2。

2.3.2 Sham-link的配置注意事项与具体实现

首先我们看一个Sham-link的配置简例: { bgp 100

undo synchronization group 1 internal

peer 1 connect-interface LoopBack0 peer 104.0.0.3 group 1 #

ipv4-family -instance a network 192.200.3.0

network 200.1.1.1 255.255.255.255 import-route ospf 100 undo synchronization

ospf 100 -instance a import-route bgp area 0.0.0.2

network 192.200.3.0 0.0.0.255

sham-link 200.1.1.1 104.0.0.3 (用LOOKBACK地址)} 配置Sham-link一般有3条注意事项:

 Sham-link的端点地址(32位)属于某个特定的多实际例  将该端点地址在BGP的多实例下通告  该端点地址不可以在相应的OSPF实例中发布

我们先来讲解一下具体实现,然后在对每个注意事项进行解释。

Sham-link与虚链路实现的手段基本一致,Sham-link在两个端点可达后,然后建立OSPF邻居,通过邻居关系把相应的LSA发送过来。现在我们来回忆一下虚链路的实

2007-07-11

内部资料,请勿扩散

第11页, 共13页

OSPF多实例

文档密级 内部公开

现,我们在配置虚链路的时候,一般都会用到命令“vlink x.x.x.x”,这里的x.x.x.x是一个RID,也就是一个路由器的名字,也就是说在路由表里可以没有这个地址。那么Sham-link的端点地址可以不通过BGP发布吗?(答案是否定的,虚链路的虽然可以只配置对端的RID,但是这是因为本地的路由器对该区域的LSA1、LSA2都了如指掌,它完全有能力叠代的正确的出口。而Sham-link这个功能本身就是为了传递LSA1与LSA2如果不在BGP中发布端点地址,那么就好比OSPF-NBMA网络不配PEER一样) 最后我们说一下注释事项的第三点,因为一般情况下我们建立Sham-link是通过虚接口LOOKBACK建立的,而草案上说Sham-link实际上是一种地址借用的特殊情况,所以一旦把端点地址发布到OSPF里,这个时候我们的LOOKBACK接口就变成了一个启动OSPF的接口,物理接口收到的HELLO数据会送到这个LOOKBACK接口,这样就破坏了草案上说的地址借用的情况。路由器对HELLO数据包的识别也会有错误。

2.3.3 Sham-link 与虚链路

Sham-link与虚链路有很多表面的类似的地方,都是为了连接2个隔离的区域并且提供该区域的详细路由信息,同时也都是利用单播来建立邻居关系。但是我们在实际中应用它们的地方并不是很多,或者希望最好不要用到它们。

3 配置案例

以下是一个简单的配置例子(这里只介绍PE上的配置,P设备和CE的配置就不

介绍了):

首先配置一个多实例:

ip -instance a

route-distinguisher 100:1

-target 100:1 export-extcommunity -target 100:1 import-extcommunity

2007-07-11

然后配置BGP

内部资料,请勿扩散

第12页, 共13页

OSPF多实例

文档密级 内部公开

bgp 65001(别忘了添加邻居)

ipv4-family -instance a

import-route direct import-route ospf 1

接着配置OSPF多实例

ospf 1 -instance a

import-route bgp import-route direct

area 0.0.0.1

network 201.1.1.2 0.0.0.0 sham-link 1.1.1.1 2.2.2.2

4 留给读者

请问下面这个拓扑哪里不合理,为什么?如何修改?

图 6

5 附录

答案:CISCO与我司的再发布的实现是不同的,我司的实现方法是只有IP路由表里

有具体的OSPF路由,那么它才可以被发布到其它的协议当中去。而CISCO的实现是把整个可用LSA都发布到其它协议当中。

这两种实现方法各有什么好处?各有什么缺点?请大家思考。

2007-07-11 内部资料,请勿扩散 第13页, 共13页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务