网络扫盲(二)
一、ICMP 协议
ping 是基于 ICMP
协议工作的,先来熟悉 ICMP 协议。
ICMP 全称是 Internet Control Message Protocol,也就是互联网控制报文协议。
ICMP
主要的功能包括:
- 确认 IP 包是否成功送达目标地址
- 报告发送过程中 IP 包被废弃的原因和改善网络设置等
在 IP
通信中如果某个 IP
包因为某种原因未能达到目标地址,那么这个具体的原因将由 ICMP 负责通知。
1、ICMP包格式
ICMP 报文是封装在 IP 包里面,它工作在网络层,是 IP 协议的助手。
ping命令就是当ICMP类型为回送请求8实现的。
ICMP类型主要可以分为两个大类:查询报文类型、差错报文类型
值 | 内容 | 种类 |
---|---|---|
0 | 回送应答 | 查询报文类型 |
3 | 目标不可达 | 差错报文类型 |
4 | 原点抑制 | 差错报文类型 |
5 | 重定向或改变路由 | 差错报文类型 |
8 | 回送请求 | 查询报文类型 |
11 | 超时 | 差错报文类型 |
二、ICMPv6协议
[IPv6-ICMPv6协议 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/542738900#:~:text=1 首先 Source 用 1500 字节作为 MTU 向目标节点发送一个,发送 IPv6 数据包,该数据包顺利到达了目的地。 6 Source 和 Destination 之间的会话被建立起来。)
1、IPv6 ping
在ipv6中,ping使用的协议是icmp6协议,ipv6 ping的过程如下:
- 首先本地ipv6地址设置为2024::3,对端地址设置为2024::2,两个终端在同一公网下,当输入命令开始ping的时候,首先2024::3会发送Echo (ping) request报文;
- 发现找不到2024::2的链路地址,就会使用NDP协议去学习,发送源地址为2024::3,目的地址为组播地址ff02::1:ff00:2的NS报文;
- 当组播地址中的对端2024::2收到NA报文,且判断是请求自身地址后,便恢复源地址是2024::2,目的地址是2024::3的NS报文,当本地2024::3终端收到并处理该报文后,便学习到了2024::2的链路地址以及通信地址。
最后正常的ping报文发送与回复如下:
…(img-XsmvldDv-1709189261244)]
最后正常的ping报文发送与回复如下: