8 ICMP与ping

1、ICMP 协议的格式

一般在网络不同的时候,我们首先想到的是ping
那你知道 ping 是如何工作的吗?

java 复制代码
1.ping 是基于 ICMP 协议工作的。
2.ICMP全称Internet Control Message Protocol,就是互联网控制报文协议。

这里的关键在于"控制 "

类似于侦察兵的角色,为后面的网络调用先行侦查
ICMP 报文是封装在 IP 包里面的 。因为传输指令的时候,肯定需要源地址和目标地址。

ICMP 报文有很多的类型 ,不同的类型有不同的代码。最常用的类型是主动请求为 8,主动请求的应答为0。
查询报文类型:例如,常用的ping 就是查询报文,是一种主动请求,并且获得主动应答的 ICMP 协议。所以,ping 发的包也是符合 ICMP 协议格式的,只不过它在后面增加了自己的格式。
对 ping 的主动请求,进行网络抓包,称为ICMP ECHO REQUEST。同理主动请求的回复,称为ICMP ECHO REPLY.
比起原生的 ICMP,这里面多了两个字段,一个是
标识符,另一个是序号
标识符就是标识是去干啥的,序号就是出去了多少,回来了多少.

在选项数据中,ping 还会存放发送请求的时间值,来计算往返时间,说明路程的长短.

差错报文类型:

就是通知我们异常情况的报文类型,比如:

终点不可达为 3,

源抑制为 4,

超时为 11,

重定向为 5
终点不可达

java 复制代码
//小兵:报告主公,您让把粮草送到张将军那里,结果没有送到
//如果你是主公,你肯定会问,为啥送不到?具体的原因在代码中表示就是,网络不可达代码为 0,主机不可达代码为 1,协议不可达代码为 2,端口不可达代码为 3,需要进行分片但设置了不分片位代码为4
//具体的场景就像这样:
1.网络不可达:主公,找不到地方呀?
2.主机不可达:主公,找到地方没这个人呀?
3.协议不可达:主公,找到地方,找到人,口号没对上,人家天王盖地虎,我说 12345!
4.端口不可达:主公,找到地方,找到人,对了口号,事儿没对上,我去送粮草,人家说他们在等救兵。
5.需要进行分片但设置了不分片位:主公,走到一半,山路狭窄,想换小车,但是您的将令,严禁换小车,就没办法送到了。

源站抑制:

java 复制代码
1.也就是让源站放慢发送速度。小兵:报告主公,您粮草送的太多了吃不完.

时间超时:

java 复制代码
1.也就是超过网络包的生存时间还是没到。小兵:报告主公,送粮草的人,自己把粮草吃完了,还没找到地方,已经饿死啦

路由重定向:

java 复制代码
就是让下次发给另一个路由器。小兵:报告主公,上次送粮草的人本来只要走一站地铁,非得从五环绕,下次别这样了啊
2、ping 的发送和接收过程



相关推荐
果丁智能1 小时前
智能锁赋能网约房民宿数字化管控:身份核验+远程授权,筑牢安全防线、降本增效
网络·数据库·人工智能·安全·智能家居
wp123_12 小时前
射频前端无源器件观察:Coilcraft WBC1-1TLC vs TONEVEE WBT1-1CT 国产与进口巴伦变压器的技术博弈
网络
映翰通朱工3 小时前
工业4G网关无公网IP远程运维实战(内网终端异地访问方案)
运维·服务器·网络·安全·智能路由器
天南散修3 小时前
MT7916 BA流程
网络·驱动开发·wifi·802.11
Yang96113 小时前
多功能一体化,成都鼎讯 LDMN-JM1 满足石油煤矿设备检定与训练需求
网络·能源
weixin_462446233 小时前
手把手教你用 Bash 脚本自动更新 /etc/hosts —— 自动绑定网卡 IP 与节点名
开发语言·tcp/ip·bash
IP老炮不瞎唠4 小时前
Python 价格监控如何实现?思路与实用方法分享
运维·服务器·网络
睡不醒男孩0308234 小时前
CLup 6.x 版本中针对StarRocks 存算一体集群的完整操作手册
java·服务器·网络·clup
dog2504 小时前
网络长尾延时的重尾本质
开发语言·网络·php
戴西软件5 小时前
戴西 DLM 许可授权管理系统:破解无网络环境下工业软件授权难题,助力制造企业降本增效
网络·人工智能·python·深度学习·程序人生·算法·制造