• 8 ICMP与ping


    1、ICMP 协议的格式

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

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

    这里的关键在于"控制"
    类似于侦察兵的角色,为后面的网络调用先行侦查
    ICMP 报文是封装在 IP 包里面的。因为传输指令的时候,肯定需要源地址和目标地址。
    在这里插入图片描述
    ICMP 报文有很多的类型,不同的类型有不同的代码。最常用的类型是主动请求为 8,主动请求的应答为0。
    查询报文类型:例如,常用的ping 就是查询报文,是一种主动请求,并且获得主动应答的 ICMP 协议。所以,ping 发的包也是符合 ICMP 协议格式的,只不过它在后面增加了自己的格式。
    对 ping 的主动请求,进行网络抓包,称为ICMP ECHO REQUEST。同理主动请求的回复,称为ICMP ECHO REPLY.
    比起原生的 ICMP,这里面多了两个字段,一个是
    标识符,另一个是序号
    标识符就是标识是去干啥的,序号就是出去了多少,回来了多少.

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

    差错报文类型:
    就是通知我们异常情况的报文类型,比如:
    终点不可达为 3,
    源抑制为 4,
    超时为 11,
    重定向为 5
    终点不可达

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

    源站抑制:

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

    时间超时:

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

    路由重定向:

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

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    kafka属性说明
    华为云云耀云服务器L实例评测|华为云云耀云服务器L实例评测使用
    【国标语音对讲】EasyCVR视频汇聚平台海康/大华/宇视摄像头GB28181语音对讲配置
    如何降低海康、大华等网络摄像头调用的高延迟问题(一):海康威视网络摄像头的python sdk使用(opencv读取sdk流)
    16哈希表-基础操作
    浅析数据迁移工具Sqoop
    【OpenCV-Python】教程:3-14 Hough 圆变换
    Spark运行spark-shell与hive运行时均报错的一种解决方案
    元宇宙虚拟形象公司为各行业提供商业应用
    网站安全维护:守护您的数字领土
  • 原文地址:https://blog.csdn.net/weixin_39563769/article/details/134260196