许多企业使用OSPF版本2用于内部的IPv4路由协议。OSPF已经经历了多年的变化,并且该协议已经进行了调整以适应使用IPv6的。当组织开始考虑如何在他们的互联网边界和企业网络中部署IPv6时,他们应该了解OSPF版本3,以及它与他们所熟悉的有何不同。本文回顾了OSPF版本2和OSPF版本3之间的差异,以及如何配置它们来与IPv4、IPv6和这两种协议一起工作。
OSPF的简史
的开放最短路径优先(OSPF)路由协议最初是在1980年代后期构想的。这是一个时代IETF刚刚开始成熟为一个国际网络标准组织。IETF需要开发一种适合大型网络的健壮的IP路由协议。OSPF最初是由John Moy在RFC 1131中作为标准记录的。在OSPF版本2中进行了改进,它最初在RFC 1247但后来被更新RFC 2178然后再一次RFC 2328。
OSPF然后大量修改以支持IPv6。在IETF开发了专为IPv6的开发和引入新版本的OSPFRFC 2740。许多网络设备供应商在开发他们的IPv6产品时实现了OSPF IPv6。OSPF为IPv6 (OSPF版本3)然后更新RFC 5340。基本OSPF机制和算法不变,但包和LSA格式OSPFv3的是因为较大的128位的IPv6地址的不同。然而,有OSPFv2的从OSPFv3之间的其他细微的区别,网络工程师应该知道的。
比较了OSPFv2和OSPFv3
OSPF路由协议的许多方面仍然OSPFv2的和OSPFv3的之间是相同的;如LSA扩散规则时,LSA老化机制,以及接口类型(广播,点至点,点对多点,等等)。OSPFv3的报文及LSA格式和OSPFv2来自不同。具体来说,OSPFv3协议增加了两个新的LSA类型链接(×0008,讲述了链路的链路本地地址和IPv6前缀邻居)(连接到路由器西班牙语 - 秘鲁,IPv6前缀)和域内前缀。OSPFv2的有两个驱范围,宽和面积宽,但现在OSPFv3的有三个扩散范围(与S1和S2位说明)。
下面列出了OSPFv2和OSPFv3之间的相似之处:
两者都是链路状态内部网关协议(IGP)路由协议
无论是在核心使用带有区域0.0.0.0 2层次结构
两者都使用区域边界路由器(ABRs)和自治系统边界路由器(ASBRs)
两者都使用了最短路径优先(SPF)计算在每个区域利用Edsger Dijkstra的SPF算法
两者都使用基于接口带宽(或手动配置)的度量
它们都有5种常见的协议包类型:Hello,数据库描述(DBD),链接状态请求(LSR),链接状态更新(LSU),链接状态确认(LSA)
它们使用类似的接口类型:广播、P2P、P2MP、NBMA和虚拟链接
它们具有相同的LSA泛滥和老化定时器
下面列出了OSPFv2和OSPFv3之间的区别:
它们使用不同的地址族(OSPFv2仅用于ipv4, OSPFv3可用于ipv6或两种协议(后面将详细介绍))
OSPFv3引入了新的LSA类型
OSPFv3有不同的数据包格式
OSPFv3使用不同的泛洪作用域位(U/S2/S1)
OSPFv3邻接在链路-本地IPv6通信上形成
OSPFv3运行每个链接,而不是每个子网
OSPFv3支持单个链接上的多个实例,接口可以有多个IPv6地址
OSPFv3使用多播地址FF02::5(所有OSPF路由器),FF02::6(所有OSPF DRs)
使用IPsec完成OSPFv3邻居身份验证(啊)
OSPFv2的路由器ID(RID)必须手动配置,仍然是一个32位的数字
OSPFv3配置示例
有一些不同的配置OSPF在思科IOS路由器为IPv6和配置OSPF为IPv4。对于初学者,OSPFv3有更多在接口下配置的命令和一些在路由协议配置块下配置的命令。在每个接口下配置接口类型和区域。从技术上讲,你所要做的就是在启用IPv6的接口上配置OSPFv3,你不需要显式地创建IPv6路由进程配置;它将自动创建。在接口上使用NBMA链接和IPsec AH身份验证的情况下,还可以配置OSPFv3静态邻居。您还可以配置OSPFv3来使用虚拟路由转发(VRF)实例,甚至可以在同一链接上启用多个OSPFv3实例。下面是一个在Cisco IOS 12.4T路由器上配置OSPFv3的简单示例。
IPv6单播路由
ipv6的英语
!
接口GigabitEthernet 0/0
描述区域0.0.0.0主干网接口
2001年ipv6地址:DB8:100:1: 1/64
ipv6 ospf网络广播
ipv6 ospf 100面积0.0.0.0
!
接口GigabitEthernet 0/1
说明区域0.0.0.1区域界面
2001年ipv6地址:DB8:200:2: 1/64
ipv6 ospf网络广播
ipv6 ospf 100面积0.0.0.1
!
ipv6路由器ospf 100
路由器id 10.1.1.1
log-adjacency-changes
被动界面默认
没有被动接口千兆以太网0/0
无被动接口千兆以太网0/1
0.0.0.0区域范围2001:DB8:100: /48
面积0.0.0.1范围2001:DB8:200: /48
重新分配连接的指标类型1
如果你熟悉思科IOS显示OSPF命令,你将准备使用这些相同的命令到IPv6。在大多数情况下,你只是简单地将“ip”关键字替换为“ipv6”。下面是有用的OSPFv3命令列表。
显示ipv6路由[ospf]
显示ipv6 ospf
显示IPv6的OSPF邻居[详细]
显示ipv6 ospf数据库
显示ipv6 ospf[进程id][区域id]接口[接口名称]
显示ipv6 ospf[进程id][区域id]邻居
显示IPv6的命令ospf [process-ID] [区域编号]数据库[链接|前缀|数据库概要]
您还可以清除掉OSPFv3的路线和工艺用以下命令重置。
清除ipv6 ospf[进程id]{进程| force-spf |重分配|计数器[邻居[邻居接口]]}
还有许多有用的OSPFv3调试命令选项。
调试ipv6 ospf [adj . | hello | spf |泛洪|事件| lsa生成|数据库计时器|数据包|重传|树]
两个地址家族的OSPFv3
如果一个组织想要使用OSPF为他们的IPv4和IPv6路由协议,那么他们可能会使用OSPFv2为他们的IPv4路由和OSPFv3为他们的IPv6路由。这将给组织双重控制飞机为双重转发协议。在此配置中,如果任何一个路由域有问题,那么它不会影响其他IP版本。同样的分离也可以通过运行两个完全不同的路由协议来实现。例如,组织可以将OSPFv2用于IPv4和到底是什么——却在单一协议的单拓扑模式使用IPv6。有了这种类型的控制平面和数据平面分离的可能正是一些组织正在寻找。
IETF继续开发OSPFv3,因此它现在能够处理多个地址族。就像多协议边界网关协议(MP-BGP)可以作为IPv4和IPv6路由协议。新OSPFv3RFC 5838标题为“OSPFv3中地址家族的支持”(稍后由RFC 6969)。
思科再次更改了OSPFv3配置所需的IOS配置命令。新的OSPFv3配置使用“OSPFv3”关键字,而不是以前的“ipv6路由器ospf”路由进程命令和“ipv6 ospf”接口命令。OSPFv3仍然在接口上配置,类似于使用前面的OSPFv3命令的方式。然而,最大的变化是在路由过程的配置上。这种新语法更像是BGP的多af配置,你在“路由器ospfv3”下同时拥有IPv4和IPv6地址家族配置部分。下面是在OSPFv3路由过程中如何使用新的OSPFv3语法配置双协议接口和多地址族配置。
IPv6单播路由
ipv6的英语
!
接口GigabitEthernet 0/0
描述区域0.0.0.0主干网接口
ip地址192.168.100.1 255.255.255.0
2001年ipv6地址:DB8:100:1: 1/64
ospfv3 100区域0 ipv4
IPv6的OSPF 100区域0
ospfv3 100区域0 ipv6
!
接口GigabitEthernet 0/1
说明区域0.0.0.1区域界面
ip地址192.168.200.1 255.255.255.0
2001年ipv6地址:DB8:200:2: 1/64
OSPFv3的100区域1点的IPv4
IPv6的OSPF 100区域1
ospfv3 100领域1 ipv6
!
路由器ospfv3 100
路由器id 10.1.1.1
auto-cost reference-bandwidth 1000
BFD所有接口
log-adjacency-changes
被动界面默认
ipv6地址系列单播
区域0范围2001:DB8:100:1 :: / 48
第一范围2001:db8:200:2: /48
引入静态
默认情况下,信息来源总是指标100公吨-2型
ipv4地址系列单播
0区范围192.168.100.0 255.255.255.0
第1区范围192.168.200.0 255.255.255.0
默认情况下,信息来源总是指标100公吨-2型
然而,思科IOS显示的命令对于这个新版本的OSPFv3配置语法是不同的。
显示ospfv3[进程id][地址家族]边界路由器
显示ospfv3[进程id][区域id]](地址系列)数据库(数据库摘要|内部外部[ipv6-prefix] [link-state-id] | |恩| inter-area前缀(ipv6-prefix | link-state-id] | inter-area路由器(destination-router-id | link-state-id] |链接(界面接口名称| link-state-id] [link-state-id] | |网络nssa-external [ipv6-prefix] [link-state-id] |前缀(ref-lsa{路由器|网络}| link-state-id] |滥交|路由器(link-state-id) |未知({地区| |联系}[link-state-id]] [ad - router-id] [self- origin]
显示ospfv3[进程-id][地址-家族]事件[通用|接口| lsa |邻居|反向|肋| spf]
显示ospfv3[进程-id][区域-id][地址-家庭]洪水列表接口类型接口号码
显示ospfv3 [process-id] [address-family]优雅重启
显示命令ospfv3 [process-ID] [面积-ID] [地址 - 家族]接口[类型号] [简要]
显示ospfv3[进程-id][区域-id][地址-家族]邻居[接口类型接口-编号][邻居-id][详细信息]
显示OSPFv3的[进程ID] [区域ID] [地址族]请求列表[邻居] [接口] [接口邻居]
显示ospfv3[进程-id][区域-id][地址-家族]重传-列表[邻居][接口][接口-邻居]
显示ospfv3[进程id][地址-家族]统计[细节]
显示ospfv3 [process-id] [address-family]摘要-前缀
显示ospfv3[进程id][地址家族]计时器速率限制
显示ospfv3[进程id][地址家族]流量[接口类型接口号码]
显示ospfv3 [process-id] [address-family]虚拟链接
您可以使用以下命令强制OSPFv3的SPF计算
清除ospfv3 [force-spf |过程|再分配]
摘要
OSPF已经有很长的历史作为主要的IP路由协议。OSPF继续留在适应IPv6的相关,现在演变成一个完全双协议多AF路由协议。组织现在有部署OSPF多种选择。企业可以与OSPFv2的坚持对于IPv4,然后用OSPFv3协议的IPv6-仅适用于分离控制平面和转发平面的配置。现在,企业可以将IPv4和IPv6的配置到一个单一的OSPFv3进程,可以同样出色的工作两种IP协议。
斯科特