文章及资源归档至公众号【AIShareLab】,回复 通信零碎与网络 可获取。
一、目标
- 把握网络设备动态IPv6 地址配置的办法。
- 把握IPv6 地址无状态主动配置的利用。
- 把握通过DHCPv6 部署IPv6 地址配置自动化。
- 把握根本的IPv6 网络连通性测试方法。
- 了解RA 报文及无状态地址主动配置过程。
- 剖析Ping 与Tracert 利用所应用的ICMPv6 报文及工作原理。
二、环境及网络拓扑
如图 1 所示,路由器 R1 通过两个物理接口别离连贯物联网终端 R4(通过一台路由器
模仿)及计算机 PC1。其中,路由器 R1 和 R4 举荐应用 AR2220 及以上设施。
图1 网络拓扑图
三、需要
- 实现 R1 的IPv6 根底配置。
- 在R1 的GE0/0/2 接口上启动RA 报文通告,使得物联网终端R4 的GE0/0/0 接口可能通
过无状态主动配置获取IPv6 地址。 - 在R1 的GE0/0/1 接口上部署DHCPv6,使得PC1 可能通过DHCPv6 协定主动获取IPv6
地址。 - 察看各类常见的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
图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。
图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
命令。
图4 在R1上实现IPv6 地址无状态主动配置
在R1 的GE0/0/2 接口上单击鼠标右键,按图 5 所示开始抓包,以试图捕捉R1 的GE0/0/2 接口上的入向与出向数据包。
图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
图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): spoofingInterface Physical ProtocolGigabitEthernet0/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标准。
图6 R4的GE0/0/0接口信息
⑵ 在R4上ping R1 GE0/0/2,具体命令格局为 ping ipv6 IPv6 地址,验证R4是否可与 R1 胜利通信。后果如图7所示, R4与 R1 胜利通信。
图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 报文。
图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 地址
图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
图10 R1上实现DHCPv6 部署
②配置 PC1 的以太网卡,开启 DHCPv6 客户端性能,如图11所示:
图11 开启PC1的DHCPv6客户端性能
阶段性验证:在 PC1 的配置界面上抉择“命令行”选项卡,而后执行 ipconfig 查看网卡信息并展现相应后果,验证 PC1 是否通过 DHCPv6 获取到了正确地址,如图12所示。
图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
图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所示:
图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 ipv6
fc00:1000::2)捕捉到多对 Echo Request 和 Echo Reply 报文,如图15所示。
图15 捕捉Echo Request报文
图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 所示。
图17 捕捉的Tracert 报文
图18 捕捉的 ICMPv6 Time Exceeded 报文
图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.