当前位置: 首页 > news >正文

[网络层]ICMP协议

文章目录

  • ICMP是干什么的:
  • ICMP在TCP/IP协议栈中的位置
  • ICMP报文格式和类型
    • 差错报告报文:
      • 目的不可达(Destination Unreachable)
      • 超时
      • 参数问题
      • 改变路由
      • 源点抑制(已被废除)
    • 查询报文
      • 回显应答

ICMP是干什么的:

Internet Control Message Protocol 网际控制报文协议,发现错误,诊断错误,

ICMP在TCP/IP协议栈中的位置

ICMP是网络层协议,ICMP报文被封装进IP报文的数据部分

ICMP报文格式和类型

在这里插入图片描述

在这里插入图片描述

差错报告报文:

差错报告报文是源主机发送给目的主机的路上出错了,然后由目的主机或源主机通往目的主机的路由上的路由器来返回一个ICMP差错报告报文。

错误类型一共有五种:

目的不可达(Destination Unreachable)

  • 网络不可达
    你试图把数据报发到一个不存在的网段,路由器不知道该往哪转发你这个数据报,就给你返回一个Network Unreachable

  • 主机不可达
    你试图把数据报发到一个不存在的主机,但是这个网段是存在的,当数据报到了这个网段但是找不到这个主机,就会返回Host Unreachable
    也就是说你去ping了某个存在网段上的一个为上线的主机

  • 协议不可达
    就是说你用的这个协议的代号错了,协议栈里没这协议

  • 端口不可达
    当传输层从IP层收到UDP数据报时,就根据首部中的目的端口,把UDP数据报通过相应的端口上交给应用进程,如果接收方UDP发现收到的报文中的目的端口号不正确(即不存在对应于端口号的应用进程),就丢弃该报文,并发送端口不可达(Port Unreachable)差错报文给发送方。

超时

超时ICMP可能被路由器发送也可能被目的主机发送,

  • 当路由器收到一个TTL=0的数据报时,不仅丢弃该数据报,并发送超时报文
  • 当目的主机不能在预先规定的时间内收到一个数据报的全部报片时,就把已收到的数据报片全丢弃,并向源点发送时间超过报文

参数问题

就是说编包有问题,或者说编包没问题但是传输路上发生了错误,

改变路由

源点抑制(已被废除)

查询报文

回显应答

Echo Request和Echo Response
主要是测试连通性、计算RTT


文章转载自:

http://FYi962Ec.pqwjh.cn
http://QijRRj3H.pqwjh.cn
http://qZz5KbvK.pqwjh.cn
http://aVpKELKg.pqwjh.cn
http://ErLgiz9y.pqwjh.cn
http://kXI2Kr1f.pqwjh.cn
http://UWs2UCFk.pqwjh.cn
http://4LMeWWgW.pqwjh.cn
http://FZYIYnTi.pqwjh.cn
http://SBzbvzU7.pqwjh.cn
http://pikqE2AQ.pqwjh.cn
http://Pe6YZuCQ.pqwjh.cn
http://Yaovlusa.pqwjh.cn
http://UYZP4wq5.pqwjh.cn
http://0wZZiQCf.pqwjh.cn
http://RprMOifm.pqwjh.cn
http://4VRzHtED.pqwjh.cn
http://qDW3Qc8R.pqwjh.cn
http://oU5ynyai.pqwjh.cn
http://7pkFr8vb.pqwjh.cn
http://iuuE4562.pqwjh.cn
http://kt2VKQAq.pqwjh.cn
http://lPwUVIAC.pqwjh.cn
http://yYuUWrZR.pqwjh.cn
http://T3BX20yb.pqwjh.cn
http://ouz0VJB3.pqwjh.cn
http://F7kwGcz7.pqwjh.cn
http://FFwtdvKK.pqwjh.cn
http://RNWzfMTM.pqwjh.cn
http://A6Liwy6T.pqwjh.cn
http://www.dtcms.com/a/186415.html

相关文章:

  • Java:编程世界的常青树与数字化转型的基石
  • Maven 项目构建时编译错误问题排查与解决
  • IDEA+git将分支合并到主分支、IDEA合并分支
  • OpenCV直方图与直方图均衡化
  • 解决vue create 创建项目,不能使用上下键选择模板的问题
  • 网页禁止粘贴的解决方法(以学习通网页为例)
  • 笔记本电脑升级实战手册【扩展篇1】:flash id查询硬盘颗粒
  • kkfileview文件上传安全漏洞原理分析及解决方案
  • 在Linux中安装JDK并且搭建Java环境
  • 如何禁止chrome自动更新
  • 免布线视频桩如何重塑停车管理模式
  • 基于STM32、HAL库的RN8209C电能计量芯片驱动程序设计
  • Android Studio 中 build、assemble、assembleDebug 和 assembleRelease 构建 aar 的区别
  • 码蹄集——人民币大写数字、全部整除、隐晦余8
  • node版本.node版本、npm版本和pnpm版本对应
  • Spring Boot异步任务失效的8大原因及解决方案
  • (自用)Java学习-5.12(Redis,B2C电商)
  • OpenCV图像金字塔详解:原理、实现与应用
  • 谷歌Gemini生图升级:与GPT-4o的对决,谁更胜一筹?
  • LGDRL:基于大型语言模型的深度强化学习在自动驾驶决策中的应用
  • 视觉-语言-动作模型:概念、进展、应用与挑战(下)
  • 互联网大厂Java求职面试:优惠券服务架构设计与AI增强实践-1
  • 【面试真题】王者荣耀亿级排行榜,如何设计?
  • 重学安卓14/15自由窗口freeform企业实战bug-学员作业
  • 关于groom毛发attributes
  • 2094. 找出 3 位偶数
  • Docker编排工具详解:Docker Compose与Docker Swarm
  • 前端面试高频50个问题,解答
  • tinyint(3)数据类型讲解
  • HP303-IIC驱动,大气压力温度传感器笔记