数据通信网络之OSPFv3基础

2023年 9月 12日 88.9k 0

文章及资源归档至【AIShareLab】,回复 通信系统与网络 可获取。

一、目的

  • 掌握路由器的IPv6 基础配置。
  • 掌握OSPFv3(单区域)的基础配置。
  • 二、拓扑

    如图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 成功通信.

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论