文章及资源归档至【AIShareLab】,回复 通信系统与网络 可获取。
一、目的
二、拓扑
如图1 所示,三台路由器R1、R2 和R3 分别通过相应物理接口进行连接,其中,R1 及
R3 各自下联一个网段,简单起见,此处只体现了这些网段中的两台计算机PC1 和PC2,PC1
与PC2 分别使用R1 及R3 作为自己的默认网关。其中,路由器R1、R2 和R3 推荐使用
AR2220 及以上设备。
图1 OSPFv3 基础实验拓扑图
三、需求
在R1、R2 及R3 上完成OSPFv3 配置(三台路由器都属于Area 0),使得PC1 与PC2
所在网段能够相互通信。
四、步骤
(1)完成R1、R2 及R3 的基础配置
①在R1 上完成如下配置:
system-view
[Huawei] sysname R1
[R1] ipv6
[R1] interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0] ipv6 enable
[R1-GigabitEthernet0/0/0] ipv6 address fc00:12::1 64
[R1-GigabitEthernet0/0/0] quit
[R1] interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1] ipv6 enable
[R1-GigabitEthernet0/0/1] ipv6 address FC00:1::FFFF 64
[R1-GigabitEthernet0/0/1] quit
图2 R1配置过程
② 在R2 上完成如下配置:
system-view
[Huawei] sysname R2
[R2] ipv6
[R2] interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0] ipv6 enable
[R2-GigabitEthernet0/0/0] ipv6 address fc00:12::2 64
[R2-GigabitEthernet0/0/0] quit
[R2] interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1] ipv6 enable
[R2-GigabitEthernet0/0/1] ipv6 address fc00:23::2 64
[R2-GigabitEthernet0/0/1] quit
图3 R2配置过程
③ 在 R3 上完成如下配置:
system-view
[Huawei] sysname R3
[R3] ipv6
[R3] interface GigabitEthernet 0/0/0
[R3-GigabitEthernet0/0/0] ipv6 enable
[R3-GigabitEthernet0/0/0] ipv6 address fc00:23::3 64
[R3-GigabitEthernet0/0/0] quit
[R3] interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1] ipv6 enable
[R3-GigabitEthernet0/0/1] ipv6 address FC00:2::FFFF 64
[R3-GigabitEthernet0/0/1] quit
图4 R3配置过程
(2)在R1、R2 及R3 上完成OSPFv3 配置
①启动抓包:在R1 的GE0/0/0 接口上单击鼠标右键,按图2 所示开始抓包,以试图捕获R1
的GE0/0/0 接口上的入向与出向数据包。
②在R1 上完成如下配置:
[R1] ospfv3 1 #系统视图下使用的命令,其作用是创建OSPFv3进程,并进入
OSPFv3视图,其中,1是进程标识符,进程标识符仅具有本地意义。
[R1-ospfv3-1] router-id 1.1.1.1 #OSPFv3视图下使用的命令,其作用是为
运行的OSPFv3协议配置一个唯一的、以IPv4地址格式表示的路由器标识符,这里,1.1.1.1
是IPv4地址格式表示的路由器标识符。
[R1-ospfv3-1] quit
[R1] interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0] ospfv3 1 area 0 #接口视图下使用的命令,其
作用是在指定接口(这里是接口GigabitEthernet 0/0/0)启动OSPFv3路由协议,并指定接
口所属的区域,这里,1是进程标识符,在创建OSPFv3进程时指定,0是区域标识符,
表示指定接口属于区域0。注意,接口只有在启动IPv6功能后,才能使用该命令。
[R1-GigabitEthernet0/0/0] quit
[R1] interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1] ospfv3 1 area 0
图5 R1配置过程
③在R2 上完成如下配置:
[R2] ospfv3 1
[R2-ospfv3-1] router-id 2.2.2.2
[R2-ospfv3-1] quit
[R2] interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0] ospfv3 1 area 0
[R2-GigabitEthernet0/0/0] quit
[R2] interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1] ospfv3 1 area 0
图6 R2配置过程
④ 在R3 上完成如下配置:
[R3] ospfv3 1
[R3-ospfv3-1] router-id 3.3.3.3
[R3-ospfv3-1] quit
[R3] interface GigabitEthernet 0/0/0
[R3-GigabitEthernet0/0/0] ospfv3 1 area 0
[R3-GigabitEthernet0/0/0] quit
[R3] interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1] ospfv3 1 area 0
完成上述配置后,三台路由器即开始启动OSPFv3 协议报文交互,并进行路由计算。
图6 R3配置过程
阶段性验证:
⑴在R1 上查看OSPFv3 邻居关系,具体命令格式为display ospfv3 peer,验证R1 是否已与
R2 建立邻接关系。
备注:运行结果示例如下: display ospfv3 peer
OSPFv3 Process (1)
OSPFv3 Area (0.0.0.0)
Neighbor ID Pri State Dead Time Interface Instance ID
2.2.2.2 1 Full/Backup 00:00:38 GE0/0/0 0
以上输出的内容是R1 的OSPFv3 邻居表,从表中可以看出R1 发现了邻居R2,并且当前该
邻居的状态为“Full”,这意味着两者以建立全毗邻的邻接关系。
图7 R1 OSPFv3 邻居关系
验证可知, R1 已与R2 建立邻接关系。
⑶ 在R2 上查看OSPFv3 邻居关系,具体命令格式为display ospfv3 peer,验证R2 是否已与R1 和R3 建立邻接关系。
图8 R2 已与R1 和R3 建立邻接关系
⑷ 在R3 上查看OSPFv3 邻居关系,具体命令格式为display ospfv3 peer,验证R3 是否已与R2 建立邻接关系。
图9 R2 已与R3 建立邻接关系
(4)在R1 上查看路由表,具体命令格式为display ipv6 routing-table,验证R1 是否已通过
OSPFv3 学习到了去往远端网络的路由。
图10 R1 已通过OSPFv3 学习到了去往远端网络的路由
由上图可知, R1 通过 OSPFv3 学习到了去往 FC00:23::/64 及 FC00:2::/64 的路由, 这两条路由的“Protocol”字段都为“OSPFv3”,这表示路由是通过 OSPFv3 获知。
⑸在 R2 上查看路由表,具体命令格式为 display ipv6 routing-table,验证 R2 是否已通过 OSPFv3 学习到了去往远端网络的路由并标明相应的表项, R2已通过 OSPFv3 学习到了去往远端网络的路由。
图11 R2路由表
⑹在 R3 上查看路由表,具体命令格式为 display ipv6 routing-table,验证 R3 是否已通过 OSPFv3 学习到了去往远端网络的路由并标明相应的表项,如图12所示,R2已通过 OSPFv3 学习到了去往远端网络的路由。
图12 R3路由表
(3)观察OSPF 报文交互过程
①捕获数据包,查看协议栈。
在Wireshark 界面中,查看前面开启抓包后所捕获的信息,如图3 所示,R1、R2 和R3
配置完成后网络中产生了多个OSPF 报文交互。
图13 R1、R2 和R3 接口OSPFv3 配置完成后,R1 GE 0/0/0 所捕获的数据包
以实际捕获数据为准,回答下列问题:
结合捕获信息,说明OSPF 数据包自下而上的协议栈及封装结构。
OSPF(Open Shortest Path First)是一种内部网关协议(IGP),用于在单一自治系统(AS)中的路由器之间交换路由信息。OSPF 数据包在传输过程中会经过自下而上的协议栈,并在每一层添加特定的头部和尾部,以实现数据的封装和解封装。OSPF 数据包自下而上的协议栈及封装结构如下:
数据链路层(Data Link Layer):OSPF 数据包在数据链路层使用的协议通常是以太网(Ethernet)。在这一层,OSPF 数据包会添加以太网帧头和帧尾。以太网帧头包括源地址和目标地址等信息,帧尾包括校验和等信息。
网络层(Network Layer):OSPF 数据包在网络层使用的协议为 IP(Internet Protocol)。在这一层,OSPF 数据包会添加 IP 数据包头和尾。IP 数据包头包括源 IP 地址和目标 IP 地址等信息,IP数据包尾包括校验和等信息。
OSPF 层:OSPF 数据包在 OSPF 层使用 OSPF 协议。在这一层,OSPF 数据包会添加 OSPF 报文头和尾。OSPF 报文头包括版本号、报文类型、区域 ID 等信息,报文尾包括校验和等信息。OSPF 报文类型包括:Hello 报文、数据库描述报文、链路状态请求报文和链路状态更新报文。
应用层(Application Layer):OSPF 数据包在应用层没有特定的协议。但是,OSPF 数据包中包含 OSPF 路由信息,这些信息可以被路由器的路由表使用,以决定最佳的路由路径。
综上所述,OSPF 数据包自下而上的协议栈及封装结构包括以太网帧头和帧尾、IP 数据包头和尾、OSPF 报文头和尾等。在每一层,都会添加相应的协议头和尾,以实现数据的封装和解封装。
备注:OSPF 是IETF 组织开发的一个基于链路状态的内部网关协议。目前,针对IPv4 使用的是OSPF Version 2 (OSPFv2),针对IPv6 协议使用OSPF Version 3 (OSPFv3)。OSPFv3 在OSPFv2 基础上进行了增强,是一个独立的路由协议。OSPFv3 具有如下特点:在区域划分、状态机、泛洪机制、支持的网络类型(Broadcast、NBMA、P2P 和P2MP)、报文类型(Hello报文、DD 报文、LSR 报文、LSU 报文和LSAck 报文)和路由计算等方面的工作原理与OSPFv2 保持一致;把自治系统划分成逻辑意义上的一个或多个区域,通过LSA(Link StateAdvertisement)的形式发布路由;依靠区域内各设备间交互OSPFv3 报文来达到路由信息的统一;OSPFv3 报文封装在IPv6 数据报内,可以采用单播和组播的形式发送;OSPFv3 基于链路运行,设备只要在同一链路,则可以建立邻居关系;链路支持多实例,具体的,一个OSPFv3 物理接口可以与多个实例绑定,并用不同的实例标识(Instance ID 区分),即OSPFv3的单个链路支持运行多个OSPFv3 实例,运行在同一条物理链路上的多个OSPFv3 实例,分别和链路对端设备建立邻居及发送报文,且互不干扰;OSPFv3 报文和LSA 报文中去掉了IP地址的意义,且重构了报文格式和LSA 格式;OSPFv3 通过Router ID 标识网络设备,Router ID 是一个OSPFv3 设备在自治系统中的唯一标识,其长度为32 位,作为本地标识符,与IPv6 地址无关,用点分十进制表示法表示;OSPFv3 使用链路本地地址(FE80::/10)作为发送报文的源地址和路由的下一跳。OSPFv3 主要包含五种报文类型,相应的名称和作用如表1 所示。
表1 OSPFv3 报文类型
②分析单一数据包格式。
以实际捕获数据为准,回答下列问题:
a.在实际捕获结果中出现的OSPF 报文分别是什么,共有多少类型?与表1 所列的OSPF 报
文类型是否一致?
答: 在实际捕获结果中出现的OSPF 报文分别是Hello报文、DD报文、LSR报文、LSU报文、LSA报文,共有5种类型,与表1所列的 OSPF 报文类型一致.
b.查看各OSPF 报文,包含不同OSPF 报文的IPv6 数据报中,Next Header 取值是多少?不
同报文中该字段是否相同?
答:如图14所示, 包含不同OSPF 报文的IPv6 数据报中,Next Header 取值OSPF IGP (89), 不同报文中该字段相同.
图14 OSPF 报文
c.选中一个Hello Packet 报文并查看,包含该报文的IPv6 数据报源地址和目的地址分别是
多少?包含该报文的以太网帧源地址和目的地址分别是多少?
答: 如图15所示,选中一个Hello Packet 报文并查看,包含该报文的IPv6 数据报源地址fe80: :2e0:fcff:fec7 :6622 和目的地址ff02: :5, 包含该报文的以太网帧源地址HuaweiTe_ c7:66:22 (00:e0:fc:c7:66:22) 和目的地址IPv6mcast 05 (33:33: 00: 00:00:05).
图15 Hello Packet 报文
d. 选中一个LS Acknowledge 报文并查看,包含该报文的IPv6 数据报源地址和目的地址分
别是多少?包含该报文的以太网帧源地址和目的地址分别是多少?报文中是否包含发送者
的IPv6 地址?
答: 如图16,选中一个LS Acknowledge 报文并查看,包含该报文的IPv6 数据报源地址fe80: :2e0: fcff:fec7:6622 和目的地址ff02::5, 包含该报文的以太网帧源地址 HuaweiTe_ c7:66:22 (00:e0:fc:c7:66:22) 和目的地址IPv6mcast_ 05 (33: 33:00: 00:00:05), 报文中包含发送者的IPv6 地址.
图16 LS Acknowledge 报文
(4)在PC1 及PC2 上完成配置
①静态配置PC1 的IPv6 地址、前缀长度和网关信息,具体的参数如图17所示。
图16 LS Acknowledge 报文
(4)在PC1 及PC2 上完成配置
①静态配置PC1 的IPv6 地址、前缀长度和网关信息,具体的参数如图17 所示。
图17 PC1 的IPv6 静态地址配置
②静态配置PC2 的IPv6 地址、前缀长度和网关信息,具体的参数如图18所示。
图18 PC2 的IPv6 静态地址配置
(5)联通性测试
在PC1 上ping PC2,具体命令格式为ping PC2 的IPv6 地址 -6,验证PC1 是否可与
PC2 成功通信。
图19 PC1 可与 PC2 成功通信
如图19,PC1可与 PC2 成功通信.