收藏 分销(赏)

OSPF多实例.doc

上传人:pc****0 文档编号:7826064 上传时间:2025-01-19 格式:DOC 页数:14 大小:200KB 下载积分:10 金币
下载 相关 举报
OSPF多实例.doc_第1页
第1页 / 共14页
OSPF多实例.doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
OSPF多实例 文档密级 内部公开 华为三康技术有限公司 Huawei-3Com Technologies Co., Ltd. 文档编号 Document ID 密级Confidentiality level 内部公开 文档状态 Document Status 共11页 Total 11pages Draft 1.00 OSPF多实例 拟制 Prepared by 测试中心 Date日期 2005-02-28 评审人 Reviewed by Date日期 批准 Approved by Date日期 华为三康技术有限公司 Huawei-3Com Technologies Co., Ltd. 版权所有 侵权必究 All rights reserved 修订记录 Revision Record 日期 Date 修订版本Revision Version 修改章节 Sec No. 修改描述 Change Description 作者Author 2005-02-28 1.00 All initial 初稿完成 李劲松&02159 目 录 1 前言 5 1.1 预备知识 5 1.2 路由协议的《进化论》 5 2 OSPF多实例 6 2.1 OSPF多实例相关名词介绍 6 2.1.1 进程(Process) 6 2.1.2 多实例(Instance) 6 2.1.3 域(Domain) 7 2.2 BGP和OSPF 7 2.2.1 普通服务 7 2.2.2 VIP服务 7 2.2.3 存在的问题 9 2.3 OSPF的后门链路---Sham-link 10 2.3.1 Sham-link的作用 10 2.3.2 Sham-link的配置注意事项与具体实现 11 2.3.3 Sham-link 与虚链路 12 3 配置案例 12 4 留给读者 13 5 附录 13 图目录 图 1 5 图 2 8 图 3 9 图 4 10 图 5 11 图 6 12 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路由。 ² 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也可以把不同的源但是相同组的组播流分开)等。只要你肯想肯定还有许多未被挖掘的宝藏。 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 如图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 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中呢??欲知答案,请参看附录^_^)。 接下来说一下关于类型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或者 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 vpn-instance vpna network 192.200.3.0 network 200.1.1.1 255.255.255.255 import-route ospf 100 undo synchronization ospf 100 vpn-instance vpna 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发送过来。现在我们来回忆一下虚链路的实现,我们在配置虚链路的时候,一般都会用到命令“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 vpn-instance vpna route-distinguisher 100:1 vpn-target 100:1 export-extcommunity vpn-target 100:1 import-extcommunity ² 然后配置BGP bgp 65001(别忘了添加邻居) ipv4-family vpn-instance vpna import-route direct import-route ospf 1 ² 接着配置OSPF多实例 ospf 1 vpn-instance vpna 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都发布到其它协议当中。 这两种实现方法各有什么好处?各有什么缺点?请大家思考。 2005-03-17 内部资料,请勿扩散 第14页, 共14页
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服