运用OSPFv3实现IPv6的通信

2012-05-11 00:45刘昕
微型电脑应用 2012年5期
关键词:路由表路由器报文

刘昕

0 引言

IP协议诞生于上世纪70年代中期,并作为网络的IP基础设施得到广泛的应用。但近年来随着网络规模迅速膨胀和各种新业务的不断出现,IPv4网也面临着越来越多的批评和问题。这些问题主要表现在:①地址空间不足;②服务质量差;③安全性不高等诸多方面,其根本原因则是互联网使用的IPv4协议存在着诸多设计上的缺陷。鉴于IPv4存在的上述缺陷在某种程度上限制了网络的进一步发展,从20世纪90年代就着手制定了下一代网络协议——IPv6。经过多年的研究和实践,到目前为止IPv6已形成了比较完善的协议体系,并得到了广泛的应用,无论是IPv4网还是IPv6网,路由协议一直处于核心地位,而OSPF作为一种优秀的内部网关协议已经广泛地应用在了IPv4网络中。因此,在大力推广IPv6的今天,对IPv6下OSPF路由协议的研究和应用具有很强的现实意义。

经过多年的研究和实践,到目前为止IPv6已形成了比较完善的协议体系为了让OSPF协议支持IPv6,技术人员开发了OSPFv3(OSPF版本3),OSPFv3由RFC2740定义。OSPFv3作为IPv6时代的重要内部网关协议,在很大程度上增强了网络的灵活性与稳定性,伴随着IPv6时代的到来,将OSPFv3动态路由协议高效地运行在多种链路状态类型有机融合的新一代网络上的目标。

1 OSPFv3协议

1.1 OSPFv3协议的原理

开放式最短路径优先(OSPF)算法是由互联网工程任务组(IETF)的内部网关协议工作组为IP网络专门设计的路由协议,是一种基于区域实现的、建立在链路状态(Li-nk State)算法和Dijkstra算法基础之上的内部网关动态路由协议。OSPFv3是该协议的第3版本,是IPv6网络中路由技术的主流协议。

OSPFv3把不同的子网技术分为以下几类:点到点子网、广播子网、NBMA子网(Non-Broadcast Multi-Access,非广播多路接入子网)以及点到多点子网。其中,点到点链路指连接一对路由器的链路,例如56Kb串行线路;广播链路具备广播能力,其上的每对路由器可以相互直接通信,例如以太网;NBMA链路不具备广播能力,要求链路上两两路由器可以相互直接通信,模拟在广播链路上的操作,如ATM网;点到多点链路指把非广播链路视为多个点到点链路的集合,如帧中继网。

工作原理分析实现流程:手动配置邻居之后,该邻居被加入到该接口的邻居列表中,按照正常的发送hello包的规则,每间隔HelloInterval会发送hello包给邻居,在RouterDeadInterval内必须收到邻居的回应才会认为该邻居可以进行通信,才会开始DR、BDR的选举,进而进行下面的操作;如果在RouterDeadInterval内没有收到对方邻居的hello包回应,则认为邻居是一个虚假的邻居,把该邻居进行删除的处理;(在一般链路类型如广播链路,邻居是自动发现的,RouterDeadInterval后没有收到hello回应,则自动把该邻居从接口列表中进行删除;而在NBMA链路类型中,如果在RouterDeadInterval内没有邻居的回应,则触发事件Inactivity_timer,把邻居转为Down状态,同时开启查询邻居定时器(发Hello包),定时器间隔是PollInterval,如果收到了邻居的回应(如果邻居激活,会开启reply_timer定时器,进行reply的发送)则说明该手工配置的邻居真实存在,同时关闭poll_timer查询邻居定时器;反之如果在查询时间内还没有收到邻居的回应,则继续发poll查询,直到手工删除该邻居为止)。

1.1 OSPFv3的数据包

OSPFv3协议直接运行在IPv6上,因此,OSPFv3的数据由IPv6报文携带。在IPv6报文头的”下一个报文头”字段中,用协议号89代表该数据包中携带的是OSPFv3的数据。

紧跟着IPv6报文头的后面是OSPFv3的报文头,其格式如图1所示:

图1 OSPFv3报文头

2 OSPFv3协议在全网的实现

2.1 网络拓扑结构设计

实验目标:根据拓扑结构实现全网启用OSPFV3协议。

实验拓扑结构,如图2所示:

图2 拓扑结构

本实验需要4台路由,其中R2与R3,R1连接在同一台交换机,R1与72-2串口相连。R2与R3,在区域0中,R1与72-2在区域1中。R2与R3连接在同一台交换机,并与R1的E0/1接口连接,并在接口上配置IPV6地址,使能OSPFv3。R1的接口S0/1与72-2的接口S0/1连接,配置IPv6地址并且使能OSPFv3。最后查看路由表。

2.2 根据拓扑开启IPv6路由并设置相应IPv6地址

----72-2的配置-------

[72-2]ipv6

[72-2]interface Ethernet 0/0

[72-2]ipv6 address 2001:db8:0:2::1 64

[72-2]interface s0/1

[72-2]ipv6 address 2001:db8:0:1::1 64

----R1的配置-------

[R1]ipv6

[R1]interface S1/0

[R1]ipv6 address 2002:db8:0:2::2 64

[R1]interface Ethernet0/0

[R1]ipv6 address 2001:db8:0:3::1 64

----R2的配置-------

[R2]ipv6

[R2]interface s0/1

[R2]ipv6 address 2001:db8:0:4::2 64

[R2]interface e0/1

[R2]ipv6 address 2001:db8:0:10::1 64

----R3的配置-------

[R3]ipv6

[R3]interface s0/1

[R3]ipv6 address 2001:db8:0:2::2 64

[R3]interface e0/1

[R3]ipv6 address 2001:db8:0:100::1/64

2.3 根据拓扑启动OSPFv3

要在路由器上实现OSPFv3功能,必须先创建OSPFv3进程、指定该进程的Router ID以及在接口上使能OSPFv3功能。

Router ID用来在一个自治系统中唯一的标识一台路由器。在OSPFv3中,用户必须手工配置一个Router ID,而且必须保证自治系统中任意两台路由器的Router ID都不相同。因此,为了保证OSPFv3运行的稳定性,在进行网络规划时,应确定路由器ID的划分并手工配置。需要注意的是,如果在同一台路由器上运行了多个OSPFv3进程,必须为不同的进程指定不同的Router ID。

在一台路由器上可以创建多个OSPFv3进程,OSPFv3进程号是本地概念,不影响与其它路由器之间的报文交换。因此,不同的路由器之间,即使进程号不同也可以进行报文交换。

----72-2的配置-------

[72-2]ospfv3

[72-2-ospfv3-1]router-id 1.1.1.1

[72-2-ospfv3-1]quit

[72-2-Vlan-interface200]ospfv3 1 area 1

[72-2-Vlan-interface200]quit

--R1的配置-------

[R1-ospfv3-1]router-id 2.2.2.2

[R1]interface s0/0

[R1]ospfv3 1 area 1

[R1]interface s1/0

[R1]ospfv3 1 area 1

--R2的配置-------

[R2-ospfv3-1]router-id 3.3.3.3

[R2]interface e0/0

[R2]ospfv3 1 area 0

[R2]interface s0/1

[R2]ospfv3 1 area 0

--R3的配置-------

[R3-ospfv3-1]router-id 4.4.4.4

[R3]interface e0/0

[R3]ospfv3 1 area 0

[R3]interface s0/1

[R3]ospfv3 1 area 1

2.4 测试结果

路由R2 ping路由72-2的结果,如图3所示:

图3 R2 ping路由72-2

3 OSPFv3协议在windows环境实现

3.1 试验网络拓扑结构设计

实验目标:实现PC机之间OSPFv3互通。

实验拓扑结构:如图4所示:

图4 拓扑结构

用3台路由器串联,R3与R1的Ethernet接口接PC机.把整个网络分成两个区域。R1与PC1相连。PC1与R1在区域0中,R3与PC2在区域1中。R1的与R3连接在同一台路由器R2。在各接口上配置IPv6地址,使能OSPFv3。最后查看路由表并用PC1 ping PC2。

3.2 根据拓扑开启IPv6路由并设置相应IPv6地址

----PC1的配置-------

C:>ipv6 install

C:>ipv6 adu 4/2001:db8:0:10::1000 64

----PC2的配置-------

C:>ipv6 install

C:>ipv6 adu 4/2004:db8:0:10::100 64

----R1的配置-------

[R1]ipv6

[R1]ospfv3

[R1-ospfv3-1]router-id 1.1.1.1

[R1]interface e0/1

[R1]ipv6 address 2001:db8:0:10::1 64

[R1]interface s2/0

[R1]ipv6 address 2002:db8:0:10::1 64

----R2的配置-------

[R2]ipv6

[R2-ospfv3-1]ospfv3

[R2-ospfv3-1]router-id 2.2.2.2

[R2]interface s1/0

[R2]ipv6 address 2002:db8:0:10::2 64

----R3的配置-------

[R3]ipv6

[R3]ospfv3

[R3-ospfv3-1]router-id 3.3.3.3

[R3]interface s1/0

[R3]ipv6 address 2003:db8:0:10::1 64

3.3 根据拓扑启动OSPFv3

----R1的配置-------

[R1]ospfv3 1 area 0 //在接口上使能OSPFv3

[R1]interface s2/0 //进入接口s1/0视图

[R1]ipv6 address 2002:db8:0:10::1 64 //配置s2/0接口的地址

[R1]ospfv3 1 area 0 //在接口上使能OSPFv3

[R1]quit

----R2的配置-------

[R2]ospfv3 1 area 0 //在接口上使能OSPFv3

[R2]interface s0/0 //进入接口s0/0视图

[R2]ipv6 address 2003:db8:0:10::2/64 //配置 s0/0 接口的地址

[R2]ospfv3 1 area 0 //在接口上使能OSPFv3

----R3的配置-------

[R3]ospfv3 1 area 1 //在接口上使能OSPFv3

[R3]interface Ethernet 0/0 //进入e0/0接口视图

[R3]ipv6 address 2004:db8:0:10::1/64 //配置e0/0接口的地址

[R3]ospfv3 1 area 1 //在接口上使能OSPFv3

3.4 测试结果

1.路由表信息及其OSPFv3邻居信息,如图5所示:

图5 路由表信息

通过几个路由表看到各个路由器通过OSPFv3协议来自动的管理各自的动态路由表了,当有新的网络加入时,会自动的更新路由表,以保证各网络间的连通性。

2.PC机的试验结果

为了验证配置过程是否正确我们用PC1来 ping一下PC2如图6所示:

图6 PC1 ping PC2结果

4 试验中常见错误分析

4.1 OSPFv3邻居无法建立

故障现象

OSPFv3邻居无法建立。

分析

如果物理连接和下层协议正常,则检查接口上配置的OSPFv3参数,必须保证与相邻路由器的参数一致,区域号相同。

相邻的两台路由器接口的网络类型必须一致。若网络类型为广播网,则至少有一个接口的DR优先级应大于零。

处理过程

(1)使用display ospfv3 peer命令查看OSPFv3邻居状态。

(2)使用display ospfv3 interface命令查看OSPFv3接口的信息。

(3)检查物理连接及下层协议是否正常运行,可通过Ping命令测试。若从本地路由器Ping对端路由器不通,则表明物理连接和下层协议有问题。

4.2 OSPFv3路由信息不正确

故障现象

OSPFv3不能发现其他区域的路由。

分析

应保证骨干区域与所有的区域相连接。若一台路由器配置了两个以上的区域,则至少有一个区域应与骨干区域相连。骨干区域不能配置成Stub区域。

在Stub区域内的路由器不能接收外部AS的路由。如果一个区域配置成Stub区域,则与这个区域相连的所有路由器都应将此区域配置成Stub区域。

处理过程

(1)使用display ospfv3 peer命令查看OSPFv3邻居状态。

(2)使用display ospfv3 interface命令查看OSPFv3接口的信息。

(3)使用display current-configuration configuration命令查看区域是否配置正确。若配置了两个以上的区域,则至少有一个区域与骨干区域相连。

5 总结

OSPFv3作为未来IPv6网络首选的内部网关路由协议,具有出色的路由能力。但是一种优秀的路由技术,不仅要为数据传输找到一条高速的通道,考虑所选路径的传输容量和服务质量,即具有QoS能力的路由算法,还要分析全网负荷,以平衡各条通道的数据流量。在考虑诸多因素的基础上,研究OSPFv3动态路由协议正是我们今后研究的热点和重点。

[1]伍海桑,陈茂科.IPV6原理与实践[M].北京:清华大学出版社.2005.

[2]张伟玉,杨清波.IPV6下的OSPF路由协议的研究及应用[J].常熟理工院学报,2006,7.

[3]刘百峰.浅析IPV6的动态路由协议[J].计算机与信息技术,2007,36.

[4]张涛.OSPFV3和OSPFV2的差异[J].内蒙古科学与经济,2006,7.

[5]孙践行.IPV6网络中OSPF路由协议的安全机制[J].计算机安全,2005,19.

猜你喜欢
路由表路由器报文
基于J1939 协议多包报文的时序研究及应用
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
CTCS-2级报文数据管理需求分析和实现
基于OSPF特殊区域和LSA的教学设计与实践
研究路由表的查找过程
浅析反驳类报文要点
ATS与列车通信报文分析