第一范文网 - 专业文章范例文档资料分享平台

OSPF - version - 3概论 (2)

来源:用户分享 时间:2020-06-18 本文由逝伤 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

OSPF Version 3概论

基于链路的运行

在IPv6中强调了一个“链路(link)”的概念。链路是一种通信设施或媒介,节点之间的数据链路层通信通过链路来进行。设备通过接口连接到链路。在IPv6中,一个链路上可以分配多个IP子网,也就是IPv6前缀。和IPv4中不同的是,同一个链路上的两个节点即使不具有相同的IPv6前缀,也可以直接通过这个链路通信。这一点极大地改变了OSPF的行为。

OSPFv2是基于子网运行的。在IPv4的OSPF中使用的术语“网络”和“子网”通常是一回事,而没有强调“链路”的概念。因为IPv4的推荐配置是一个链路上的所有节点的IP地址处于同一个IP子网或网络内;而在OSPFv2中,两个OSPF路由器形成邻接关系的前提之一就是两者相连的接口必须处于同一个IP子网内,并且每一条路由的下一跳地址都是和路由器接口处于同一网段的IP地址。这实际上已经隐含要求了链路与子网或网络的一一对应关系。

OSPFv3是基于链路运行的,而不是以前的基于IP子网的运行。在OSPFv3中我们更多的是使用“链路”和“前缀”这两个个术语。但是如前所述,这两个概念是分离的,没有必然的对应关系。同一链路上的两个节点不必具有相同的前缀。所以在讨论路由协议时,OSPFv2的术语“网络”和“子网”在这里一般来说应该用“链路”替代掉。同样,一个OSPF接口现在是连接到一个链路上,而不再是一个IP子网上了。OSPF协议分组的接收以及Hello分组和LSA的格式也因此做出了相应修改。

编址性语义的取消

说OSPFv2协议具有编址性语义(Addressing semantics),是指这个协议的数据格式定义的与IP协议密切相关,协议分组和LSA中的许多字段都是来自于网络上的某个IP地址,或掩码,或某个IP子网号。

为了确保独立于网络协议,便于未来的扩展,OSPFv3从协议分组及主要的LSA类型中取消了编址性语义,只保留了独立于网络协议的基本语义核心。

在OSPFv3中,IPv6地址除了在Link State Update分组携带的LSA载荷中出现之外,不再出现在OSPF分组中。LSA中所出现的这些地址信息也仅仅是作为载荷信息,而不做其它任何特别的用途。

OSPFv3的Router-LSA和Network-LSA仍然存在,但是不再包含网络地址,而只是用于传达网络拓扑信息。拓扑的计算不再依赖IPv6地址。

OSPF的Router ID, Area ID和LSA的Link State ID仍然保留类似IPv4地址长度的32位s。实

2004-5-13 内部资料,请勿扩散 第6页, 共44页

OSPF Version 3概论

际上这些字段既不是IPv4地址,也不可能是IPv6地址,而只是一个编号。

另外在OSPFv2中,对broadcast 和NBMA网络类型,邻居路由器是以IP地址作为标识的。而在OSPFv3中,Neighboring路由器总是以Router ID作为标识的,所以DR和BDR也总是用其Router ID来标识的。

链路本地地址的使用

OSPFv2是基于IP子网运行的。在OSPFv2中,两个OSPF路由器形成邻接关系的前提之一就是两者相连的接口必须处于同一个IP子网内,因此,同一个链路上的所有路由器接口,也就必须处于同一个子网内。同时,OSPFv2也必须使用邻居的接口IP地址作为路由的下一跳地址。正因为这样,在OSPFv2网络规划时,即使一个链路上只有两个路由器,我们也要给它分配一个子网,也就是说任何一个链路都要有一个IP子网,任何一个OSPFv2的接口都要有一个IP地址。

但是这样是必须的吗?否!因为每个路由器的每个接口上的邻居是很有限的,所以所有路由的下一跳的个数也是非常有限的,并且这些下一跳地址也都是本地有效的,因此标识这些邻居/下一跳根本不需要一个全局IP地址。只需要一个本地/本链路有效的标识符就够了。

相信熟悉IS-IS的人对这一点都体会深刻。IS-IS路由协议本身的运作,根本不需要在IS和IS之间配置任何地址,它只要在链路层上运行就够了。

IPv6在RFC2373中定义了链路本地(link-local)地址用于一个单一链路上,其目的是完成邻居发现(neighbor discovery)和自动配置(auto-configuration)等功能。IPv6路由器不转发源地址为link-local类型的分组。Link-local单播地址范围为IPv6地址范围FF80/10。

OSPFv3假定,每个路由器的每个接口上都分配了link-local地址。除了在virtual link上之外,在所有的OSPF接口上,发送的OSPF分组都使用该接口的link-local单播地址作为源地址。一个路由器可以学习到在这个网段上相连的所有其它路由器的link-local地址,它使用这些link-local地址作为下一跳来转发分组。(但是,在virtual links上,必须使用global scope或者site-local地址作为OSPF协议分组的源地址)

由于链路本地地址只在本链路上有意义,因此它不应该泛滥(flood)到本链路之外的任何地方。因此OSPFv3规定,Link-local地址出只出现在Link-LSA中,而不允许出现在其它的LSA中。特别是不能在inter-area-prefix-LSA、AS-external-LSA或intra-area-prefix-LSA中公告。

通过这种方式,在大量的路由器间链路上就不需要规划子网,不但省去了不少麻烦,而且还节约了

2004-5-13 内部资料,请勿扩散 第7页, 共44页

OSPF Version 3概论

IP地址。最重要的一点是,因为在网络骨干的接口上都使用了链路本地地址,而不必再配置IPv6,所以OSPFv3可以说是“脱离”了IPv6而独立了起来,并且可以扩展用于多种协议的路由。

用专用的LSA来发布前缀

在OSPFv2中,区域内部的IP子网和网络信息是由Router-LSA和Network-LSA来完成的。但是Router-LSA和Network-LSA也同时负责传递网络拓扑信息,所以整个OSPF拓扑结构的计算和IP子网信息是紧紧捆绑在一起的。可以说OSPFv2的拓扑就是IP子网和路由器形成的拓扑。所以说OSPFv2是“基于IP子网”来运行的。

为了克服前一版本的种种弊端,实现网络协议独立性,在OSPFv3中把Router-LSA和Network-LSA从IP前缀信息的发布功能解放出来,而只用它们来发布拓扑信息。发布IPv6前缀的职责交给了新的link-LSA和inter-area-prefix-LSA。

一个链路范围内的IPv6前缀信息由link-LSA负责通告。这样,整个链路内的路由器就可以了解本链路绑定的IPv6前缀。

而inter-area-prefix-LSA负责把IPv6前缀公告到本区域范围内。从而整个区域内的路由器就可以了解区域内的IPv6前缀,用于区域内路由计算。

通过拓扑与前缀信息的分离传递,OSPFv3具备了独立于网络协议的特性。

扩展性和适应性

新的设计考虑到OSPFv2难以扩展的问题,提供了更强的扩展能力和适应能力。

对多实例的支持

在一些特殊的情况下,我们可能需要在同一个链路上使用多个OSPF实例。例如,假设一个电信运营商为两个服务提供商提供同一条接入链路。这两个服务提供商都运行OSPF,但是都希望保持自己的路由域的独立性,这时候就遇到一个麻烦。

另一种情况下,我们可能希望两个OSPF区域依赖同一个链路运行。也就是说,两个OSPF区域在物

2004-5-13 内部资料,请勿扩散 第8页, 共44页

OSPF Version 3概论

理链路上有交集。

在OSPFv2中,如果我们希望实现上述需求,就要使用OSPFv2的验证功能。我们可以给不同的服务提供商,分配不同的验证口令,以便保持其路由的相互的独立。但是这种方式实现的并不优雅而完美。

而在OSPFv3中提供了对同一链路上运行多实例的明确支持。这是通过在OSPF分组头中添加Instance ID字段,以及修改OSPF接口数据结构实现的。Instance ID值影响OSPF分组的接收行为。如果接口的Instance ID与其所接收的OSPF分组的Instance ID不匹配,则丢弃该分组。

对未知类型LSA的处理

在IPv4的中,OSPF路由器的行为是丢弃任何未知类型的LSA。这就造成一个扩展性问题——无法支持在单一链路上混合具有多种能力的路由器。

在广播型链路和NBMA型链路上,所有的LSA都需要由DR来负责传递,这对于强制类型的LSA当然没有问题,但是对于可选的LSA来说就麻烦了。假如DR所支持的可选LSA少于某个非DR路由器,那么这个非DR路由器发出的一些LSA就会被DR丢弃,而无法传递到其它路由器上。

OSPFv3对未知LSA类型的处理被设计得更加具有适应性。路由器收到LSA时,需要根据LSA头中LS type 字段中的LSA Handling位来决定如何处理。根据这一位值的不同,对未知的LSA类型有两种处理方法:要么把它当作具有link-local 泛滥范围来对待,从而只能泛滥到本地链路上;要么把它当作类型已知的LSA来处理,也就是存储下来并泛滥出去。当然对于本路由器来说,因为这个LSA类型是未知的,所以无论如何,实际上并没有把这个LSA纳入计算过程中。

这种处理方式对于未来的扩展有诸多好处。尤其是对类似于External-Attributes-LSA之类的LSA来说非常合适。

更加清晰而简洁

表面上看,OSPFv3修改了OSPFv2的很多地方,但实际上所有这些修改都使OSPF变得更加清晰,清晰和易于理解。

2004-5-13 内部资料,请勿扩散 第9页, 共44页

OSPF Version 3概论

OSPF验证的变化

本着“非核心业务能外包就外包”的原则,OSPFv3自己不再进行验证工作,转而依赖IPv6所提供的IP AH(Authentication Header)和IP ESP(Encapsulating Security Payload)协议进行验证,以确保路由信息的可信性、完整性和机密性。

因此OSPF分组格式也做出相应的改变。原OSPFv2的AuType和Authentication字段被取消。原OSPFv2接口数据结构和区域数据结构中,所有与验证相关的字段也都被取消。

这样,虽然OSPFv3扩展了原有的一些字段,还预留了扩展字段,但是其协议分组头和LSA头和OSPFv2一样紧凑,并没有增加协议的开销。

用Router-ID来标识邻居

在IPv6的OSPF中,在一个给定链路上,邻居路由器总是用其Router ID来标识的。

而与此对比,在IPv4的OSPF中,点到点网络和virtual link上的邻居以其Router ID来标识,而在broadcast、NBMA和点到多点网络上的邻居则是以其IPv4接口地址来标识的。

OSPFv3的这个改进是因为它已经把协议分组信息、网络拓扑描述和具体的IPv6前缀路由信息分离开了。这样邻居路由器可以完全没有配置IPv6前缀信息,而仅仅是网络上的一个路由节点,因而不能用IP地址来描述了。这看起来更像IS-IS——节点就是节点,只要有一个ID来标识就够了;ID就是ID,和接口没什么关系。

这个变化带来的好处之一就是,OSPF的各种协议分组和LSA的功能更加明确,定位更加清晰,理解更加容易,扩展更加方便。

这个变化同时也影响了OSPF分组(包括Hello分组)的接收和邻居的查找。

泛滥范围的增加

在OSPFv3中, LSA的泛滥范围被归纳起来,目前共有三种: ?

链路本地范围(Link-local scope)。这种LSA只能在本地链路范围内泛滥。这个特性是新增的,新定义的Link-LSA 就使用这种范围。 ?

区域范围(Area scope)。这种LSA只能在一个OSPF区域内泛滥。Router-LSA、Network-LSA、

2004-5-13 内部资料,请勿扩散 第10页, 共44页

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新工程科技OSPF - version - 3概论 (2)全文阅读和word下载服务。

OSPF - version - 3概论 (2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1085299.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top