李双梅
(南京工业大学浦江学院计算机与通信工程学院,江苏南京211222)
IPv4的最大问题是其地址资源不足,早在2011年初ICANN 就公开表示,全球IPv4 地址已分配完毕[1]。随着移动互联网、物联网等的快速发展,IPv4 地址紧缺问题日益严重,我国大力推进IPv6 的发展和部署。2019年4月16日,工业和信息化部发布《关于开展2019 年IPv6 网络就绪专项行动的通知》,业界将2019年称为IPv6元年。在政府、运营商、设备制造商以及其他相关企业的共同努力下,IPv6建设取得了显著成效。但是在当前计算机网络相关课程的本科教学中,针对IPv6的教学内容稍显不足,特别是在实践应用方面,由于实验设备受限等因素无法满足网络课程对于实践教学的需求。文章结合学校实际情况,引入华为模拟器eNSP 进行实践教学,设计IPv6 相关实验供学生学习和实践。本文主要介绍其中的IPv6动态路由协议OSPFv3实验的设计和实现。
eNSP(Enterprise Network Simulation Platform)是华为公司研发的一款具备极高仿真度的数通设备模拟器,界面操作简单。使用eNSP进行实验,不受实验室物理环境的限制,学生只要拥有一台电脑就可以安装该软件并且使用,方便了实验的开展。这款仿真软件运行的是物理设备VRP 操作系统,最大限度地模拟真实设备环境,并且支持对接真实设备,以及数据包的实时抓取,可以帮助学习者深刻理解网络协议的运行原理,进一步地探索和专研网络技术,近年来eNSP在高校教学中的应用也越来越广泛[2-4]。
开放最短路径优先(Open Shortest Path First,OSPF)是一个基于链路状态的内部网关协议,它可以层次化地设计网络,具有适应范围广、收敛速度快、无自环等优点。OSPFv2 在IPv4 网络中得到了广泛的应用。
OSPFv3 是IETF 在保留OSPFv2 优点的基础上针对IPv6网络设计的。它主要在IPv6网络中提供路由功能,是IPv6网络中的主流路由协议,保留了OSPFv2中的大部分算法,从IPv4到IPv6,基本的OSPF机制保持不变。
两者也有一些区别,如OSPFv3 是基于链路的,OSPFv2是基于子网的;两者LSA类型的异同;协议报文格式变化等,这些具体内容可参阅相关资料。
文章设计两个实验,分别讨论OSPFv3 单区域和多区域的配置,通过该实验,掌握OSPFv3的基本配置方法。
3.1.1 仿真配置拓扑图及地址划分
单区域OSPFv3如图1所示。
3.1.2 配置过程
通过以下5个步骤来配置和验证OSPFv3单区域功能。
(1)首先在R1、R2 和R3 路由器上全局使能IPv6功能;然后在接口上使能IPv6,并配置IPv6 地址。以R1 的配置为例,R2 和R3 进行类似的配置即可。
图1 单区域OSPFv3拓扑
[HuaWei]sysname R1//修改设备名称
[R1]ipv6//全局使能IPv6功能
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ipv6 enable//接口下使能IPv6功能
[R1- GigabitEthernet0/0/0]ipv6 address 2001::1/64//配置IPv6地址
[R1-GigabitEthernet0/0/0]quit//退出当前视图
[R1]interface GigabitEthernet 0/0/1//进入接口GE0/0/1视图
[R1-GigabitEthernet0/0/0]ipv6 enable
[R1- GigabitEthernet0/0/0]ipv6 address 2002::1/64
(2)配置OSPFv3。
[R1]ospfv3 1//启动ospfv3协议,1 为进程号
[R1-ospfv3-1]router-id 1.1.1.1//配置route ID
注意Router ID 是一个32 位的无符号整数,采用IPv4 地址形式,是一台路由器在自治系统中的唯一标识。这里OSPFv3的Router ID 必须手工配置,如果没有配置ID 号,OSPFv3 无法正常运行,这一点与OSPFv2不同。
(3)将接口加入OSPFv3 的区域0中,与OSPFv2 一致,对于单区域一般配置为area 0。
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ospfv3 1 area 0 //将接口g0/0/0加入区域0中
(4)配置PC1 和PC2 的IPv6 地址,分别为2001::2/64和2004::2/64。
(5)验证配置,确认设备间能正常建立邻居,路由器上路由正常,PC1 能ping 通PC2。
完成以上R1 和PC1、PC2 的配置后,再相应地完成R2和R3的配置。
在每个路由器上通过以下命令验证配置的正确性。
①display ospfv3 peer //查看路由器的OSPFv3邻居状态。
②display ospfv3 lsdb //查看路由器的OSPFv3链路状态数据库。
相比于OSPFv2 版本,OSPFv3 新增了两种LSA:Link LSA(链路LSA)和Intra Area Prefix LSA(区域内前缀LSA)。
③display ospfv3 routing //查看OSPFv3 生成的路由信息。
可以看到通过OSPFv3学习到了全网的路由。在PC2 上执行命令:ping 2001::2,可以发现PC2 能够和PC1正常通信,且各路由器之间通信也正常。
3.2.1 仿真配置拓扑图
OSPFv3的区域划分与OSPFv2类似,骨干区域配置为area 0,用来连接其他区域。非骨干区域之间的OSPFv3 路由更新需要通过骨干区域来完成。因此,OSPFv3也要求所有非骨干区域都必须直接与骨干区域相连。但在实际应用中有时因环境限制不能满足要求,这时可使用虚连接解决。关于虚连接的问题这里不深入讨论,本拓扑中所有非骨干区域都直接与骨干区域相连。拓扑如图2所示。
3.2.2 配置及验证
本拓扑在上面单区域的拓扑上进行了区域的划分,分为3个区域(0、1、2),其中area 0 为骨干区域,所以基本配置与上面单区域配置相同。需要修改的只是在第3 步,在单区域中将所有接口加入OSPFv3 的区域0 中。对于多区域则根据需求将接口加入不同的区域中。具体配置只需在以上单区域的基础上进行修改。
以路由器R1 的配置修改为例(R2 和R3 根据拓扑对应修改)。
图2 多区域OSPFv3
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]undo ospfv3 1 area 0 //将接口gi0/0/0从区域0中去除
[R1-GigabitEthernet0/0/0]ospfv3 1 area 1 //将接口gi0/0/0加入区域1中
以上配置完成,即实现了多区域的OSPFv3配置,可通过命令display ospfv3 routeing 查看OSPFv3 路由正常(路由前面的字段IA 表示该路由为区域间路由),并且通过ping测试pc1可以与pc2正常通信。图3为路由器R1中OSPFv3生成的路由。
图3 路由器R1中OSPFv3生成的路由
本文描述了基于华为模拟器eNSP来构建OSPFv3动态路由的实验环境,通过该实验学习者可以直观地了解OSPFv3协议的基本应用,为进一步学习OSPFv3协议内容以及其他网络知识打下了基础。