乐趣区

关于ipv6:数据通信网络之IPv6静态路由

文章及资源归档至公众号【AIShareLab】,回复 通信零碎与网络 可获取。

一、目标

  1. 把握路由器的 IPv6 根底配置。
  2. 把握动态 IPv6 路由的根底配置。
  3. 了解 IPv6 数据报文的路由过程。

    二、拓扑

    如图 1 所示,三台路由器 R1、R2 和 R3 别离通过相应物理接口进行连贯,其中,R1 及
    R3 各自下联一个网段,简略起见,此处只体现了这些网段中的两台计算机 PC1 和 PC2,PC1 与 PC2 别离应用 R1 及 R3 作为本人的默认网关。其中,路由器 R1、R2 和 R3 举荐应用 AR2220 及以上设施。

图 1 IPv6 动态路由根底试验拓扑图

三、需要

  1. 在 R1、R2 及 R3 上实现配置,使得这三台路由器之间可能互相通信。
  2. 在 R1、R2 及 R3 上实现配置,使得 PC1 与 PC2 所在网段可能互相通信。

    四、步骤

    (1)实现 R1、R2 及 R3 的根底配置
    在 R1 上实现如下配置, 配置后果如图 2 所示:

    <Huawei> 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 

图 2 R1 的 IPv6 根底配置
②在 R2 上实现如下配置,配置后果如图 3 所示:

<Huawei> 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/0
[R2-GigabitEthernet0/0/1] ipv6 enable 
[R2-GigabitEthernet0/0/1] ipv6 address fc00:23::2 64
[R2-GigabitEthernet0/0/1] quit 

图 3 R2 的 IPv6 根底配置

③在 R3 上实现如下配置, 配置后果如图 4 所示:

<Huawei> 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 

图 4 R2 的 IPv6 根底配置

(2)在 R1、R2 及 R3 上实现配置,使得这三台路由器之间可能互相通信

阶段性验证:
⑴ 在 R1 上 ping R2 GE0/0/0,具体命令格局为 ping ipv6 相应接口的 IPv6 地址,验证 R1 是否可与 R2 胜利通信。

图 5 R1 与 R2 胜利通信
由图 5 可知,验证可知 R1 与 R2 胜利通信。
⑵ 在 R2 上 ping R3 GE0/0/0,具体命令格局为 ping ipv6 相应接口的 IPv6 地址,验证 R2 是 否可与 R3 胜利通信。

图 6 R2 与 R3 胜利通信
由图 6 可知,验证可知 R2 与 R3 胜利通信。
⑶ 在 R1 上 ping R3 GE0/0/0,具体命令格局为 ping ipv6 相应接口的 IPv6 地址,验证 R1 是 否可与 R3 胜利通信。

图 7 R1 与 R3 无奈通信
由图 7 可知,验证可知 R1 与 R3 无奈通信。
⑷ 在 R1 零碎视图下执行 display ipv6 routing-table 命令,查看以后的路由表并展现相应结 果,验证 R1 的路由表中目前是否蕴含达到 R3 GE0/0/0 接口的动态路由。

图 8 R1 路由表
由图 8 可验证 R1 的路由表中目前没有蕴含达到 R3 GE0/0/0 接口的动态路由.

备注:由阶段性验证后果能够发现,在上述配置实现后,R1 与 R2、R2 与 R3 可能互相通信。以 R1 与 R2 为例,设施之间存在直连的链路,对于 R1 而言,当咱们在设施上配置 GE0/0/ 0 接口的 IPv6 地址后,设施会主动在其路由表中生成达到该接口所在网段的直连路由,因而它能够间接通过直连路由达到 R2,无需人工干预路由信息。相同地,此时 R1 无奈与 R3 互相拜访,之所以呈现这种景象,是因为 R1 的路由表中并没有达到 R3 GE0/0/0 接口(IPv6 地址为 FC00:23::3)的路由信息。

① 为 R1 配置达到 FC00:23::/64 的路由:
[R1] ipv6 route-static FC00:23:: 64 FC00:12::2
备注:在华为路由器上 ipv6 route-static 命令用来配置 IPv6 动态路由,常用命令格局为 ipv6 route-static dest-ipv6-address prefix-length nexthop-ipv6-address,其中,参数 dest-ipv6-address 用来指定目标 IPv6 地址,参数 prefix-length 用来指定 IPv6 前缀的长度,参数 nexthop-ipv6-address 用来指定设施的下一跳 IPv6 地址。

阶段性验证:
⑴ 在 R1 零碎视图下执行 display ipv6 routing-table 命令,查看以后的路由表并展现相应后果,验证 R1 的路由表中目前是否蕴含达到 R3 GE0/0/0 接口的动态路由。

图 9 R1 路由表
由图 9 可验证 R1 的路由表中有蕴含达到 R3 GE0/0/0 接口的动态路由, 已胜利增加达到 FC00:23::/64 的路由.

⑵ 在 R1 上 ping R3 GE0/0/0,具体命令格局为 ping ipv6 相应接口的 IPv6 地址,验证 R1 是
否可与 R3 胜利通信。

图 10 R1 无奈与 R3 通信
由图 10 可验证 验证 R1 还是不可与 R3 通信。
备注:由阶段性验证后果能够发现,R1 的路由表中已胜利增加达到 FC00:23::/64 的路由,
然而,R1 仍然无奈 ping 通 R3。这是因为一个应用程序触发的数据交互过程往往是双向的,
此时 R1 发往 R3 的申请报文可能达到下一跳 R2,而 R2 又能依据直连路由将报文转发给
R3,然而 R3 此时并无达到 R1 GE0/0/0 接口(IPv6 地址为 FC00:12::1)的路由信息,因而
R1 ping R3 的应答报文无奈达到 R1。

②在 R3 上增加路由:
[R3] ipv6 route-static FC00:12:: 64 FC00:23::2

阶段性验证:
在 R1 上 ping R3 GE0/0/0,具体命令格局为 ping ipv6 相应接口的 IPv6 地址,验证 R1 可与
R3 胜利通信。

图 11 R1 与 R3 胜利通信
由图 11 可验证 R1 与 R3 胜利通信。

(3)在 R1、R2、R3、PC1 及 PC2 上实现配置,使得 PC1 与 PC2 所在网段可能互相通信
接下来,咱们在 R1 和 R3 上面别离新增一个网段,用于连贯用户终端设备,并使得这
些用户终端设备可能互相通信。

① R1 新增如下配置:

[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

图 12 R1 新增配置

② R3 新增如下配置:

[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

图 13 R3 新增配置
③ 动态配置 PC1 的 IPv6 地址、前缀长度及网关信息,具体的参数如图 14 所示。

图 13 PC1 的 IPv6 动态地址配置

④ 动态配置 PC2 的 IPv6 地址、前缀长度及网关信息,具体的参数如图 14 所示。

图 14 PC2 的 IPv6 动态地址配置
⑤ 在 PC1 的 Ethernet0/0/1 接口上单击鼠标右键,开始抓包,以试图捕捉 PC1 的 Ethernet0/0/1 接口上的入向与出向数据包。

阶段性验证:
⑴在 PC1 上 ping PC2,具体命令格局为 ping PC2 的 IPv6 地址 -6(留神:通过 ping 命令
测试与 IPv6 目标地址联通性时,计算机和网络设备上的命令格局略有不同,此处参数“-6”
示意强制应用 IPv6),验证 PC1 是否可与 PC2 胜利通信。

图 15 PC2 与 PC1 无奈失常通信
(2) 在 Wireshark 界面中,查看后面开启抓包后所捕捉的信息,验证以后 PC1 收回 ICMPv6
Echo Request 报文后是否收到对应的 ICMPv6 Echo Reply 报文,与测试后果是否吻合?

图 16 PC2 与 PC1 无奈失常通信
由图 16 可知, 以后 PC1 收回 ICMPv6Echo Request 报文后无奈收到对应的 ICMPv6 Echo Reply 报文.
备注:由阶段性验证后果能够发现,当 PC1 Ping PC2 时,PC1 收回的 ICMPv6 Echo Request
报文的源 IPv6 地址是 PC1 的地址 FC00:1::1,目标地址则是 PC2 的地址 FC00:2::1,该报文
从 PC1 发给了它的默认网关 FC00:1::FFFF,也就是 R1,然而 R1 并没有达到目标网段的路
由,因而该报文被抛弃。

⑥ 为了让 PC1 与 PC2 可能互相通信,须要满足下列条件:
让 R1 晓得如何达到 FC00:2::/64 网段;
让 R2 晓得如何达到 FC00:1::/64 和 FC00:2::/64 网段;
让 R3 晓得如何达到 FC00:1::/64 网段。
因而,在 R1 上新增如下配置:
[R1] ipv6 route-static FC00:2:: 64 FC00:12::2
在 R2 上新增如下配置:
**[R2] ipv6 route-static FC00:1:: 64 FC00:12::1
[R2] ipv6 route-static FC00:2:: 64 FC00:23::3**
在 R3 上新增如下配置:
[R3] ipv6 route-static FC00:1:: 64 FC00:23::2

(4)联通性测试
在 PC1 上 ping PC2,具体命令格局为 ping PC2 的 IPv6 地址 -6,验证 PC1 是否可与 PC2
胜利通信。

图 17 PC2 与 PC1 胜利通信
(5)抓包剖析
①启动抓包。本试验中,可放弃之前在 PC1 的 Ethernet0/0/1 接口上继续抓包,期间各种阶
段性测试命令及设施间状态更新均会触发多个数据包的产生和交互。另外,也可在后期阶段
性抓包剖析后进行抓包,此处重新启动抓包。
②运行命令。
在 PC1 上顺次执行以下命令:ping fc00:2::1 -6;tracert fc00:2::1 -6,别离实现与 PC2
的联通性测试,以及实现跟踪到 PC2 的路由信息。

图 18 PC1 顺次执行命令

图 19 PC1 捕捉后果

备注:值得注意的,用来探测一个数据包从源点到目的地所通过的两头路由器的形式通常有 3 种形式,别离为:基于记录路由选项的路由探测、基于 UDP 协定的路由探测和基于 ICMP Echo Request 的路由探测。其中,基于记录路由选项的路由探测形式体现在借助命令“ping -r 目标节点地址”显示两头路由的过程中,基于 UDP 协定和基于 ICMP Echo Request 的路由探测形式体现在借助命令“Tracert”显示数据包达到目标主机所通过的门路的过程中。

如图 5 所示,由 PC 发动 Tracert 命令为例,Tracert 的实现原理及过程如下(留神,图 20 中采纳基于 IPv4 的网络拓扑,基于 IPv6 网络中原理与此类似,ICMP 协定相应的变更为 ICMPv6):

⑴PC 在发动 Tracert 命令时,以本地 IP 地址为源,以路由器地址为目标地址,封装 ICMPEcho Request 报文。首先收回的 ICMP 报文 TTL=1,交换机收到当前,将 TTL 减 1。此时,TTL=0,交换机抛弃报文,并回送一个 Time Exceeded 报文,源地址为交换机的地址。PC 收到报文当前,就晓得了本人的下一跳地址。
⑵PC 再次收回 Echo Request 报文,TTL=2。交换机收到当前,将 TTL 减 1,并转发给防火墙。防火墙再减 1,TTL=0。防火墙抛弃报文,并回送一个 Time Exceeded 报文,源地址为防火墙的地址,载荷为 PC 收回的 Echo Request 报文。PC 收到报文当前,就晓得了第二跳的地址。
⑶PC 反复这个过程,直到 Echo Request 报文达到真正的目标地址。此时,路由器回送 EchoReply 报文给 PC。

综上,Tracert 应用三种 ICMP 报文:Echo Reply、Echo Request 和 Time Exceeded。

须要阐明的是,以上工作过程仅实用于 Windows 零碎下的 Tracert。UNIX-like 操作系统中对应的工具是 Traceroute。Traceroute 默认应用 UDP 报文探测目标地址(具体的原理和示例请参考第二单元软件试验讲义抓包剖析局部),并且成心抉择 33434~33534 之间的目标端口(通常首次探测应用 33434,第二次应用 33435,以此类推)。因为这些端口并不存在,指标主机收到报文当前会回送一个端口不可达的报文(Port Unreachable)。很多网络设备的解决形式与 UNIX-like 操作系统相似,例如华为防火墙、交换机产品,即以 UDP 报文发动探测。一些 UNIX-like 操作系统的 Traceroute 命令也提供了参数选项,能够应用 ICMP Echo Request 或者其余协定报文发动探测。

图 20 基于 ICMP Echo request 的 Tracert 工作原理示例
③剖析报文。
Ⅰ 剖析 ping 报文
在 Wireshark 界面中,查看 PC1 ping PC2 时(即执行相应的命令 ping fc00:2::1 -6)所捕捉的多对 ICMPv6 Echo Request 和 Echo Reply 报文,表明以后 PC1 与 PC2 曾经联通。
答复下列问题:
a. 此处别离呈现多少个 ICMPv6 Echo Request 和 Echo Reply 报文?与测试命令显示的后果是否统一?
答: 如图 21 所示, 此处别离呈现 5 个 ICMPv6 Echo Request 和 Echo Reply 报文, 与测试命令显示的后果统一.

图 21 PC1 报文捕捉后果

b. 查看 Echo Request 报文,ICMPv6 类型和代码号取值为多少?蕴含该报文的 IPv6 数据报
源地址和目标地址别离是多少?蕴含该报文的以太网帧源地址和目标地址别离是多少?
答: 如图 22 所示, 查看 Echo Request 报文,ICMPv6 类型是 Echo (ping) request (128) 和代码号取值为 0, 蕴含该报文的 IPv6 数据报源地址是 fc00:1: :1, 目标地址是 fc00:2:1, 蕴含该报文的以太网帧源地址是 HuaweiTe_49: 04:d1 (54:89:98:49:04:d1) 和目标地址是 HuaweiTe_0d: 72:e0 (00:e0:fc:0d: 72:e0).

图 22 Echo Request 报文相干信息

c. 查看 Echo Reply 报文,ICMPv6 类型和代码号取值为多少?蕴含该报文的 IPv6 数据报源
地址和目标地址别离是多少?蕴含该报文的以太网帧源地址和目标地址别离是多少?
答: 如图 23 所示, 查看 Echo Request 报文,ICMPv6 类型是 Echo (ping) reply (129) 和代码号取值为 0, 蕴含该报文的 IPv6 数据报源地址是 fc00:2: :1, 目标地址是 fc00:1:1, 蕴含该报文的以太网帧源地址是 HuaweiTe_0d: 72:e0 (00:e0:fc:0d: 72:e0)和目标地址是 HuaweiTe_49: 04:d1 (54:89:98:49:04:d1).

图 22 Echo Reply 报文相干信息

Ⅱ 剖析 Tracert 报文
在 Wireshark 界面中,查看 PC1 tracert PC2 时(即执行相应的命令 tracert fc00:2::1 -6)
所捕捉的多个 ICMPv6 Echo Request、ICMPv6 Echo Reply 和 ICMPv6 Time Exceeded 报文,
如图 23 所示。

图 23 捕捉的 Tracert 报文
以理论捕捉数据为准,答复下列问题:
a. 理论捕捉后果中别离呈现多少个 ICMPv6 Echo Request、ICMPv6 Echo Reply 和 ICMPv6
Time Exceeded?与测试命令显示的后果是否统一?
答: 如图 24 所示, 此处别离呈现 12 个 ICMPv6 Echo Request 和 3 个 Echo Reply 报文, 9 个 ICMPv6 Time Exceeded , 与测试命令显示的后果统一.

图 24 捕捉的 Tracert 报文

b. 选中一个 ICMPv6 Echo Request 报文并查看,ICMPv6 类型和代码号取值为多少?蕴含该报文的 IPv6 数据报源地址和目标地址别离是多少?蕴含该报文的以太网帧源地址和目标地址别离是多少?比照查看所有 ICMPv6 Echo Request 报文,蕴含这些报文的不同 IPv6 数据报中,Next Header 和 Hop Limit 取值是否雷同?

答: 如图 25 所示, 查看 Echo Request 报文,ICMPv6 类型是 Echo (ping) request (128) 和代码号取值为 0, 蕴含该报文的 IPv6 数据报源地址是 fc00:1: :1, 目标地址是 fc00:2:1, 蕴含该报文的以太网帧源地址是 HuaweiTe_49: 04:d1 (54:89:98:49:04:d1) 和目标地址是 HuaweiTe_0d: 72:e0 (00:e0:fc:0d: 72:e0). 比照查看所有 ICMPv6 Echo Request 报文,蕴含这些报文的不同 IPv6 数据报中,Next Header 雷同, Hop Limit 取值不同.

图 25 Echo Request 报文相干信息

c. 选中一个 ICMPv6 Time Exceeded 报文并查看,ICMPv6 类型和代码号取值为多少?比照查看所有 ICMPv6 Time Exceeded 报文,蕴含这些报文的不同 IPv6 数据报中,源地址和目标地址别离是多少,是否雷同?
答: 如图 26 所示, 选中一个 ICMPv6 Time Exceeded 报文并查看,ICMPv6 类型是 Time Exceeded (3)和代码号取值为 0 (hop limit exceeded in transit), 比照查看所有 ICMPv6 Time Exceeded 报文,蕴含这些报文的不同 IPv6 数据报中,源地址 fc00:23: :3 和目标地址 fc00:1::1,源地址 fc:1::ffff 和目标地址 fc00:1: :1, 源地址 fc00:12: :2 和目标地址 fc00:1::1 源地址不雷同, 目标地址雷同.

图 26 Time Exceeded 报文相干信息

d. 选中一个 ICMPv6 Echo Reply 报文并查看,ICMPv6 类型和代码号取值为多少?蕴含该报文的 IPv6 数据报源地址和目标地址别离是多少?蕴含该报文的以太网帧源地址和目标地址别离是多少?比照查看所有 ICMPv6 Echo Reply 报文,蕴含这些报文的不同 IPv6 数据报中,Next Header 和 Hop Limit 取值别离是多少,是否雷同?
答: 如图 27 所示, 查看 Echo Request 报文,ICMPv6 类型是 Echo (ping) reply (129) 和代码号取值为 0, 蕴含该报文的 IPv6 数据报源地址是 fc00:2: :1, 目标地址是 fc00:1:1, 蕴含该报文的以太网帧源地址是 HuaweiTe_0d: 72:e0 (00:e0:fc:0d: 72:e0)和目标地址是 HuaweiTe_49: 04:d1 (54:89:98:49:04:d1). 比照查看所有 ICMPv6 Echo Reply 报文,蕴含这些报文的不同 IPv6 数据报中,Next Header : ICMPv6 (58) , 和 Hop Limit 取值是 252,雷同.

图 27 Echo Reply 报文相干信息

退出移动版