首页 > 其他分享 >数据通信网络之IPv6基础

数据通信网络之IPv6基础

时间:2023-09-08 14:04:57浏览次数:43  
标签:R4 数据通信 报文 网络 ICMPv6 地址 IPv6 R1

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

一、目的

  1. 掌握网络设备静态IPv6 地址配置的方法。
  2. 掌握IPv6 地址无状态自动配置的应用。
  3. 掌握通过DHCPv6 部署IPv6 地址配置自动化。
  4. 掌握基本的IPv6 网络连通性测试方法。
  5. 理解RA 报文及无状态地址自动配置过程。
  6. 分析Ping 与Tracert 应用所使用的ICMPv6 报文及工作原理。

二、环境及网络拓扑

如图 1 所示,路由器 R1 通过两个物理接口分别连接物联网终端 R4(通过一台路由器

模拟)及计算机 PC1。其中,路由器 R1 和 R4 推荐使用 AR2220 及以上设备。

数据通信网络之IPv6基础_目的地址

图1 网络拓扑图

三、需求

  1. 完成 R1 的IPv6 基础配置。
  2. 在R1 的GE0/0/2 接口上启动RA 报文通告,使得物联网终端R4 的GE0/0/0 接口能够通 过无状态自动配置获取IPv6 地址。
  3. 在R1 的GE0/0/1 接口上部署DHCPv6,使得PC1 能够通过DHCPv6 协议自动获取IPv6 地址。
  4. 观察各类常见的ICMPv6 报文在网络中的功能与应用。

四、步骤及结果分析

1.完成 R1 的 IPv6 基础配置。 在 R1 上完成如下配置, 配置结果如图2所示:

<Huawei> system-view
[Huawei] sysname R1 
[R1] ipv6 
[R1] interface GigabitEthernet 0/0/1 
[R1-GigabitEthernet0/0/1] ipv6 enable 
[R1-GigabitEthernet0/0/1] ipv6 address FC00:1000::1 64 
[R1-GigabitEthernet0/0/1] quit 
[R1] interface GigabitEthernet 0/0/2 
[R1-GigabitEthernet0/0/2] ipv6 enable 
[R1-GigabitEthernet0/0/2] ipv6 address FC00:14::1 64 
[R1-GigabitEthernet0/0/2] quit

数据通信网络之IPv6基础_数据_02

图2 R1的IPv6基础配置

备注:以上配置展示的是在华为路由器上通过手工方式配置静态IPv6 地址的过程。在多数情况下,络设备的IPv6 地址需要固定,因此大多采用手工配置的方式为设备配置静态IPv6地址。

阶段性验证:在R1上查看IPv6接口信息并展示相应结果,验证R1的GE0/0/1与GE0/0/2 接口是否正确获得了相应的静态IPv6地址。

备注:在设备系统视图上执行display ipv6 interface brief 命令可查看设备的IPv6 接口信息,其中包括接口IPv6 地址、接口物理状态及协议状态。

经过验证, R1的GE0/0/1与GE0/0/2 接口正确地获得了相应的静态IPv6地址,结果如图3所示, 其相应的静态IPv6地址分别为FC00:1000::1、FC00:14::1。

数据通信网络之IPv6基础_数据_03

图3 在R1上查看IPv6接口信息

(2)完成 IPv6 地址无状态自动配置

①在 R1 上完成如下配置:

[R1] interface GigabitEthernet 0/0/2 
[R1-GigabitEthernet0/0/2] undo ipv6 nd ra halt

备注:在华为路由器上ipv6 nd ra halt 命令用来取消使能设备发布路由器通告(Router Advertisement,RA)报文功能,缺省情况下,设备发布RA 报文功能处于未使能状态,可以认为该命令缺省时已经被配置在接口上了。在本实验中,我们需要在R1 的GE0/0/2 接口上发布RA 报文,因为RA 报文中携带IPv6 地址前缀信息,通过RA 报文的通告,R4 可解析出报文中携带的IPv6 地址前缀,并且使用该前缀结合R4 本地生成的接口ID 构造一个IPv6地址,这个过程被称为无状态地址自动配置。为实现这个功能,需要在R1 的GE0/0/2 接口上使能发布RA 报文功能,即执行undo ipv6 nd ra halt 命令。

数据通信网络之IPv6基础_目的地址_04

图4 在R1上完成IPv6 地址无状态自动配置在R1 的GE0/0/2 接口上单击鼠标右键,按图 5 所示开始抓包,以试图捕获R1 的GE0/0/2 接口上的入向与出向数据包。

数据通信网络之IPv6基础_源地址_05

图5 在R1上完成IPv6 地址无状态自动配置②在物联网终端 R4 上完成如下配置, 配置结果如图6所示:

<Huawei> system-view 
[Huawei] sysname R4 
[R4] ipv6 
[R4] interface GigabitEthernet 0/0/0 
[R4-GigabitEthernet0/0/0] ipv6 enable 
[R4-GigabitEthernet0/0/0] ipv6 address auto global default

数据通信网络之IPv6基础_数据_06

图6 配置物联网终端 R4

备注:在以上配置中,ipv6 address auto global 命令用来使能无状态自动生成IPv6 全局地址功能,命令末尾的default 关键字用于指定学习缺省路由,这样一来R4 在收到RA 报文生成IPv6 地址同时,还可以学习RA 报文中的源IPv6 地址,并且把它作为IPv6 缺省路由的下一跳地址。 完成上述配置后,R4 便会通过IPv6 无状态地址自动配置功能在GE0/0/0 接口上自动配 置一个IPv6 地址。在R4 上查看IPv6 接口地址信息:

[R4] display ipv6 interface brief
*down: administratively down
(l): loopback
(s): spoofing
Interface Physical Protocol
GigabitEthernet0/0/0 up up
[IPv6 Address] FC00:14::2E0:FCFF:FECB:6980

备注:以上面的结果为例,R1 通告给R4 的RA 报文中缺省时携带的IPv6 地址前缀是前者GE0/0/2 接口的IPv6 地址前缀FC00:14::/64,R4 将该64bit 前缀与自己本地GE0/0/0 接口的IPv6 接口ID(2E0:FCFF:FECB:6980)构成了一个IPv6 地址:FC00:14::2E0:FCFF:FECB:6980。 其中,接口ID 2E0:FCFF:FECB:6980 是R4 在GE0/0/0 接口上根据接口MAC 地址自动生成 的,采用的是EUI-64 规范,该规范可确保生成的接口ID 唯一。

阶段性验证

⑴ 在R4系统视图下执行display interface GigabitEthernet 0/0/0命令,查看R4的GE0/0/0接口的相关信息并展示相应结果,验证接口MAC地址与上述接口ID是否符合EUI-64规范。 R4的GE0/0/0接口信息如图6所示,可知接口MAC地址与上述接口ID符合EUI-64规范。

数据通信网络之IPv6基础_源地址_07

图6 R4的GE0/0/0接口信息

⑵ 在R4上ping R1 GE0/0/2,具体命令格式为 ping ipv6 IPv6 地址,验证R4是否可与 R1 成功通信。结果如图7所示, R4与 R1 成功通信。

数据通信网络之IPv6基础_数据_08

图7 在R4上ping R1 GE0/0/2

(3)观察RA 报文与无状态地址自动配置过程(1)捕获数据包,查看协议栈。在Wireshark 界面中,查看前面开启抓包后所捕获的信息, R1 和R2 接口配置完成后网络中产生了多个ICMPv6 数据包交互,具体的包含Neighbor Solicitation、Router Solicitation 和Router Advertisement,其中,1 号Neighbor Solicitation 报文为R4 GE0/0/0 接口获得IPv6 地址后为确保该地址在链路上的唯一性而启动重复地址检测(Duplicate Address Detection,DAD)机制所发出的邻居请求报文,2 号ICMPv6 Router Solicitation 报文为R4 主动发送的路由器请求(Router Solicitation,RS)报文以请求R1 发送RA 路由器通告报文,3 号ICMPv6 Router Advertisement 报文即为R1 周期性发送的RA 报文。

数据通信网络之IPv6基础_目的地址_09

图8 R1 和R2 接口配置完成后,R2 GE 0/0/0 所捕获的数据包

回答下列问题:

结合捕获信息,说明 ICMPv6 数据包自下而上的协议栈及封装结构答:ICMPv6是IPv6协议栈中的一个核心协议,它主要用于在IPv6网络中传递控制信息和错误报告。ICMPv6数据包的协议栈和封装结构如下所示:数据链路层:ICMPv6数据包首先被封装在数据链路层的帧中。这个帧包含了目标MAC地址、源MAC地址以及帧类型等信息。 IPv6层:ICMPv6数据包被封装在IPv6数据报中。IPv6数据报包含了目标IP地址、源IP地址、下一个头部字段等信息。 上层协议:ICMPv6数据包被封装在IPv6数据报的上层协议字段中。这个字段指定了封装在IPv6数据报中的上层协议类型,其中包括ICMPv6协议。 ICMPv6头部:ICMPv6数据包的头部包含了类型、代码、校验和等字段。这些字段指定了ICMPv6数据包的类型和用途。 数据部分:ICMPv6数据包的数据部分取决于ICMPv6数据包的类型和代码。例如,当ICMPv6数据包的类型为Echo Request(类型值为128)时,数据部分包含了发送方发送的数据。如果ICMPv6数据包的类型为Router Advertisement(类型值为134),则数据部分包含了路由器的信息。

⑵分析单一数据包格式。①RA 报文:以实际捕获数据为准,选中一个 RA 报文,回答下列问题: a. 包含 RA 报文的以太网帧的源地址和目的地址的十六进制值是多少? 答:包含 RA 报文的以太网帧的源地址为00:e0:fc:1c:7d:1b 目的地址为33:33:00:00:00:01 b. 包含 RA 报文的 IPv6 数据报源地址和目的地址的十六进制值是多少? 答:包含 RA 报文的 IPv6 数据报源地址和目的地址的十六进制值分别是fe80::2e0:fcff:fe1c:7d1b 和ff02::1 c. 给出 ICMPv6 中类型字段的十进制值。 答:134 d. RA 报文中是否包含发送者的 IPv6 地址? 答:RA 报文中包含发送者的 IPv6 地址

②RS 报文:以实际捕获数据为准,选中一个与上面 RA 对应并由 R4 主动发送的 RS 报文,然后展开该数据包的详细信息。回答下列问题: a. 包含 RS 报文的以太网帧的源地址和目的地址的十六进制值是多少? 答:包含 RS 报文的以太网帧的源地址和目的地址的十六进制值分别是: Source:00:e0:fc:ca:38:20 Destination:33:33:00:00:00:01 b. 包含 RS 报文的 IPv6 数据报源地址和目的地址的十六进制值是多少? 答:包含 RS 报文的 IPv6 数据报源地址和目的地址的十六进制值分别是Source:fe80::2e0:fcff:feca:3820 Destination:ff02::1 c. 给出 ICMPv6 中类型字段的十进制值。 答:133 d. RS 报文中是否包含发送者的 IPv6 地址? 答:RS 报文中不包含发送者的 IPv6 地址

数据通信网络之IPv6基础_数据_10

图9 RS报文捕捉

(4)完成 DHCPv6 部署①在 R1 上完成如下配置, 配置结果如图10所示。

[R1] dhcp enable 
[R1] dhcpv6 pool pool1 
[R1-dhcpv6-pool-pool1] address prefix fc00:1000::/64 
[R1-dhcpv6-pool-pool1] excluded-address fc00:1000::1 
[R1-dhcpv6-pool-pool1] quit 
[R1] interface GigabitEthernet 0/0/1 
[R1-GigabitEthernet0/0/1] dhcpv6 server pool1 #在接口上绑定地址池 
[R1-GigabitEthernet0/0/1] quit

数据通信网络之IPv6基础_目的地址_11

图10 R1上完成DHCPv6 部署②配置 PC1 的以太网卡,开启 DHCPv6 客户端功能,如图11所示:

数据通信网络之IPv6基础_源地址_12

图11 开启PC1的DHCPv6客户端功能阶段性验证:在 PC1 的配置界面上选择“命令行”选项卡,然后执行 ipconfig 查看网卡信息并展示相应结果,验证 PC1 是否通过 DHCPv6 获取到了正确地址,如图12所示。

数据通信网络之IPv6基础_数据_13

图12 PC1查看网卡信息(5)联通性测试。

R4 ping PC1:以 PC1 获取的动态地址为 fc00:1000::2 为例,在 R4 上执行如下命令,测试到达PC1的连通性,可以发现二者已经可以正常通信, 如图13所示。

<R4> ping ipv6 fc00:1000::2 
PING fc00:1000::2 : 56 data bytes, press CTRL_C to break 
Request time out 
Reply from FC00:1000::2 
bytes=56 Sequence=2 hop limit=254 time = 30 ms 
Reply from FC00:1000::2 
bytes=56 Sequence=3 hop limit=254 time = 30 ms 
Reply from FC00:1000::2 
bytes=56 Sequence=4 hop limit=254 time = 20 ms 
Reply from FC00:1000::2 
bytes=56 Sequence=5 hop limit=254 time = 30 ms 
--- fc00:1000::2 ping statistics --- 5 packet(s) transmitted 
4 packet(s) received 
20.00% packet loss 
round-trip min/avg/max = 20/27/30 ms

数据通信网络之IPv6基础_数据_14

图13 R4 ping PC1(6)抓包分析。①启动抓包。本实验中,可保持之前在 R1 的 GE0/0/2 接口上持续抓包,期间各种阶段性测试命令及设备间状态更新均会触发多个数据包的产生和交互。另外,也可在前期阶段性抓包分析后停止抓包,此处重新启动抓包。②运行命令。

在 R4 上依次执行以下命令:ping ipv6 fc00:1000::2;tracert ipv6 fc00:1000::2,分别完 成测试与 fc00:1000::2(以 PC1 获取的动态地址为fc00:1000::2为例)的联通性,以及跟踪到fc00:1000::2 的路由信息。结果如图14所示:

数据通信网络之IPv6基础_源地址_15

图14 在R4中执行命令备注: 在网络日常运维和管理过程中,Tracert 是被广泛使用的应用程序,该应用使用ICMPv6的相关报文来实现其功能。Tracert 可以帮助网络管理员检测从源节点到目的节点之间所经过的逐跳设备。由图6 中执行tracert ipv6 fc00:1000::2 命令结果可见,从R4 到PC1 经过了FC00:14::1,最终到达FC00:1000::2。当源与目的节点之间存在多跳设备时,Tracert 执行的结果更加直观。因此面对一个复杂的网络时,这个工具可以方便地帮助网络管理员识别流量的转发路径。以图7 为例,Tracert 的实现原理及过程如下:①R1 首先构造第一个发往目标地址FC00:23::3 的UDP(UDP 目的端口为特殊的33434,该端口不会被具体的应用所使用)报文,这个报文的内容是随机填充的,没有实际意义,但是 在该报文的IPv6 头部中,R1 将Hop Limit 字段设置为1,这意味着报文在发出去之后,只 能传递一跳。R1 可能一次会发出多个相同的UDP 报文。 ②R2 收到该UDP 报文后将Hop Limit 字段值减1 后发现值已为0,因此立即向R1 发送 ICMPv6 错误消息,告知报文的生存时间截止,这个错误消息的源地址为R2 的接口地址; R1 收到这个报错消息后,获得了第一跳设备R2 的接口地址,然后将该地址打印在回显中; ③接着R2 以Hop Limit=2 继续发送UDP 报文,如此反复; ④直到报文到达目的地R3,由于R1 在Tracert 中所使用的UDP 端口在R3 处并未侦听,因 此R3 回应ICMPv6 差错报文,告知R1 目的端口不可达。R1 收到该差错报文后即知晓最后 一跳已到达。

③分析报文Ⅰ 分析 ping 报文在 ICMPv6 报文中,Echo Request 和 Echo Reply 报文是非常基础且重要的报文,被用于 Ping应用程序等,当我们在一个 IPv6 节点上执行 Ping 操作探测到某个目的地址的可达性时,实际上该应用将触发一个 ICMPv6 Echo Request 报文发往目的地址,如果收到了对方回应的Echo Reply,则认为网络是可达的。当 R4 ping PC1 时(即执行相应的命令 ping ipv6fc00:1000::2)捕获到多对 Echo Request 和 Echo Reply 报文,如图15所示。

数据通信网络之IPv6基础_源地址_16

数据通信网络之IPv6基础_数据_17

图15 捕获Echo Request报文

数据通信网络之IPv6基础_目的地址_18

图16 捕获Echo Reply 报文

回答下列问题:a. 此处分别出现多少个 ICMPv6 Echo Request 和 Echo Reply 报文?与测试命令显示的结果是否一致?

答:如图15所示, 一共有5个ICMPv6 Echo Request报文 和5个Echo Reply 报文,并且与测试命令显示的结果一致。

b. 查看 Echo Request 报文,ICMPv6 类型和代码号取值为多少?包含该报文的 IPv6 数据报源地址和目的地址分别是多少?包含该报文的以太网帧源地址和目的地址分别是多少?

答:如图15所示, ICMPv6 类型和代码号取值为128. 包含该报文的 IPv6 数据报源地址和目的地址分别是 Source:fc00:14::2e0:fcff:feca:3820, Destination:fc00:1000::2,包含该报文的以太网帧源地址和目的地址分别是Source:00:e0:fc:ca:38:20, Destination:00:e0:fc:1c:7d:1b

c. 查看 Echo Reply 报文,ICMPv6 类型和代码号取值为多少?包含该报文的 IPv6 数据报源地址和目的地址分别是多少?包含该报文的以太网帧源地址和目的地址分别是多少?

答:如图16所示, ICMPv6 类型和代码号取值为129,包含该报文的 IPv6 数据报源地址和目的地址分别是Source:fc00:1000::2, Destination:fc00:14::2e0:fcff:feca:3820,包含该报文的以太网帧源地址和目的地址分别是 Source:00:e0:fc:1c:7d:1b, Destination:00:e0:fc:ca:38:20.

Ⅱ 分析 Tracert 报文 当 R4 tracert PC1 时(即执行相应的命令 tracert ipv6 fc00:1000::2)捕获到多个 UDP 和 ICMPv6 报文,如图 17 所示。

数据通信网络之IPv6基础_源地址_19

图17 捕获的Tracert 报文

数据通信网络之IPv6基础_源地址_20

图18 捕获的 ICMPv6 Time Exceeded 报文

数据通信网络之IPv6基础_源地址_21

图19 捕获的ICMPv6 Destination Unreachable 报文

以实际捕获数据为准,回答下列问题:a.实际捕获结果中分别出现多少个 UDP、ICMPv6 Time Exceeded 和 ICMPv6 Destination Unreachable 报文?与测试命令显示的结果是否一致? 答:如图17所示,一共有6个 UDP、3个ICMPv6 Time Exceeded 和 3个ICMPv6 Destination Unreachable 报文,与测试命令显示的结果一致。 b.查看 UDP 报文,源端口号和目的端口号分别是多少?不同 UDP 报文所采用的源端口号 是否相同?不同 UDP 报文所采用的目的端口号是否相同?包含该报文的 IPv6 数据报源地址和目的地址分别是多少?包含该报文的 IPv6 数据报中 Hop Limit 取值分别是多少? 答:如图18所示,源端口号是:30037,目的端口号是:33434.不同 UDP 报文所采用的目的端口号不同,包含该报文的 IPv6 数据报Source:fc00:14::2e0:fcff:feca:3820,Destination:fc00:1000::2.包含该报文的 IPv6 数据报中 Hop Limit 取值是1. c.查看 ICMPv6 Time Exceeded 报文,ICMPv6 类型和代码号取值为多少?包含该报文的IPv6 数据报源址和目的地址分别是多少?包含该报文的以太网帧源地址和目的地址分别是 多少? 答:ICMPv6 类型和代码号取值为3,包含该报文的IPv6 数据报源址和目的地址分别是Source:fc00:14::1,Destination:fc00:14::2e0:fcff:feca:3820,包含该报文的以太网帧Source:00:e0:fc:1c:7d:1b,Destination:00:e0:fc:ca:38:20 d.查看 ICMPv6 Destination Unreachable 报文,ICMPv6 类型和代码号取值为多少?包含该 报文的 IPv6 数据报源址和目的地址分别是多少?包含该报文的以太网帧源地址和目的地址分别是多少? 答:如图19所示,ICMPv6 类型和代码号取值为1,包含该报文的IPv6 数据报Source:fc00:1000::2,Destination:fc00:14::2e0:fcff:feca:3820,包含该报文的以太网Source:00:e0:fc:1c:7d:1b,Destination:00:e0:fc:ca:38:20.

标签:R4,数据通信,报文,网络,ICMPv6,地址,IPv6,R1
From: https://blog.51cto.com/u_15736437/7409332

相关文章

  • 【客户案例】星融元:脊叶架构(Spine-Leaf)的云化园区网络部署实践
    前言各行业数字化转型进程加快,作为基础设施的园区网络也面临着升级压力。为此,星融元通过将先进成熟的云网络建设理念引入园区场景,推出了“云化园区网络解决方案”,帮助客户网络实现架构级的深层优化。星融元云化园区网络解决方案介绍深入底层架构的全面变革,星融元发布云化园区网络解......
  • 如何确认一个网站是否开启 IPv6
    在 腾讯云cvm开启IPv6 中我们介绍了服务器如何开启IPv6,接下来我们介绍下如何检查一个网站是否开启IPv6。可以直接访问 在线IPv6网站检测工具 来确认一个网站是否开IPv6访问。如果细分来看,IPv6网站检测主要是两块,网站域名是否有AAAA(IPv6地址)的解析记录,以及 ......
  • C#访问本地网络目录及文件
    来自你的消息:怎么通过C#访问局域网目录?用户名和密码怎么设置?来自ChatAI的消息:要使用C#访问局域网目录,可以使用.NETFramework中的System.Net命名空间提供的类和方法来实现。你可以使用NetworkCredential类设置用户名和密码进行身份验证。下面是一个简单的示例代码:usingSyst......
  • 数据通信网络之使用 eNSP 组网
    文章及资源归档至公众号【AIShareLab】,回复通信系统与网络可获取。一、目的1.熟悉模拟实验环境eNSP的使用;2.掌握eNSP中组网、配置及测试的方法;3.掌握华为网络设备的视图、命令及配置方法;4.掌握利用Wireshark捕获和分析数据包的方法;5.熟悉常用网络命令协议机制和使用方......
  • 计网(网络层)
    网络层概述网络层的主要任务是将分组从源主机经过多个网络和多段链路传输到目的主机,可以将该任务划分为分组转发和路由选择两种重要的功能网络向其上层提供的两种服务IPv4地址概述IPv4地址就是给因特网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯......
  • 网络项目技术了解
    单台服务器即通过ssm在同一台服务器上完成前后端SpringMVC负责前后端转发,Spring负责程序主体,MyBatis负责数据库交互优点:简单,开发速度快缺点:并发能力极差服务器集群即通过一台Nginx服务器将请求均匀分配给Tomcat服务器集群,每个服务器都有完整的项目前后端前后端分离前提:服......
  • 网络编程学习大纲&&网络编程1.1
    网络编程的学习大纲计算机网络体系结构模型,网络编程专业术语(socket/IP/端口号),通信时序图传输协议:TCP协议/UDP协议多进程并发服务器,多线程并发服务器网络编程IO模型:阻塞IO/非阻塞IO/多路复用/信号驱动超时接收数据方法回顾系统编程中进程的通信方式管道无名管道(只能亲......
  • DLNA(数字生活网络联盟)
    DLNA(DigitalLivingNetworkAlliance)是一个由消费电子、移动设备、计算机和娱乐设备制造商组成的全球性联盟。该联盟致力于推动不同设备之间的互操作性和数字媒体传输的标准化。DLNA为家庭和其他场所提供了一种连接各种设备的方法,使用户能够方便地共享音频、视频和图片等数字内容......
  • 网络错误码 10013 错误问题分析
    前言10013以一种访问权限不允许的方式做了一个访问套接字的尝试。 原因绑定一个处于CLOSE_WAIT状态的端口,会产生该错误重现先找到一个处于CLOSE_WAIT状态的端口49724C:\Users\admin>netstat-ano|findstrCLOSE_WAITTCP192.168.11.149:49724123.60.175.170:80CLO......
  • 什么是网络存储服务器
    网络存储器就像一台只有存储功能的终端,独立地工作,里面带有固定的系统,但可以自己设置部分参数功能,可以接入服务器或者电脑进行设置,网络存储服务器实际上就是精简的、小型化的服务器,同样由主板、CPU(Soc,芯片级系统、内存、网络芯片等组成•虽然它是从服务器的基础上简化而来,但功能依......