为了更有效的提高ip数据报的成功转发和交付的效率,在网际层使用了icmp网际控制报文协议,这个协议允许主机和路由器提供差错和异常情况的报告,icmp不是高层协议,而是网际层的协议,加在ip数据报中一起发出

ICMP的报文种类有ICMP差错报文和ICMP询问报文:

差错报告报文有5种:

(1)终点不可以到达:当路由器和主机不能交付的时候:

(2)源点抑制:当路由器由于网络拥塞而丢弃的时候

(3)时间超过:当路由器收到生存时间为0的数据报的时候

(4)参数问题:当目的主机发现收到的数据报首部有问题的时候

(5)改变路由:路由器把改变你的路由交付主机,告诉下一次的主机

改变路由:每一个主机都有一个自己的路由表,当该主机发送数据报的时候,他先查看自己的路由表,看看应该从哪一个接口吧数据报发送出去,由于主机的数量过大,主机不会主动去更新自己内部的路由表,所以,在一个新的主机加入的时候,都会加入一个默认的路由,他会将数据报发送给这个默认的路由,这个默认路由知道到达每一个目的·ip的最佳路由,如果发现最佳的转发路由不是自己,而是另一个,他就用改变路由报文发送黑源主机,源主句就在自己的路由表中加入这个信息

所有的icmp差错报文都是一样的,把收到的数据报的首部和数据字段的前8个字节提取出来,在在前面加上ICMP的前8个字节,就构成了ICMP的差错报告报文。这个作为数据报的数据字段,在加上首部,一起作为ip数据报发送出去。

两种ICMP询问报文:

(1)ICMP请求与回答报文:主机和路由器向主机发送一个ICMP请求报文,目的主机发送一个ICMP回答报文,用来测试两方能否互相通信

(2)ICMP时间戳请求与回答报文:ICMP时间戳报文请某个主机和路由器回答当前的时间,ICMP回答时间戳是一个32位的字段,其中写入的整数表示从1900/1/1到现在的秒数

ICMP应用ping

(1)ping直接是应用层调用网路层的一个例子,应用ICMP请求与回答报文

连续发送4个icmp请求报文

(2)traceroute:用来跟踪源主机到目的主机的路径

是从源主机向目的主机发送的一连串的ip数据报,数据报中封装的无法交付的UDP用户数据报(就是使用了非法端口),第一个将生存时间TTL设为1,到达第一个路由,TTL-1=0.路由器直接丢弃,并向源主机发送了ICMP时间超过差错报文,第二次的TTL生存时间为2,这样依次进行,知道某个路由接受到的ttl-1=1,那么主机不转发了,但是因为无法交付,就返回一个ICMP终点不可到达差错报文。这样就结束了

并不一定经过的路由器多时间就多,可能路由器少的会发生阻塞

转载于:https://www.cnblogs.com/13224ACMer/p/6411828.html

ICMP(网际控制报文协议)相关推荐

  1. 图文并茂的讲解 ICMP (网际控制报文)协议

    ICMP 网际控制报文 为了提高 IP 数据报交付成功的机会,在网络层使用了网际控制报文协议来允许主机或路由器报告差错和异常情况.ICMP 报文作为网际层数据报的数据,加上数据报的首部,组成 IP 数 ...

  2. ICMP —— 网际控制报文协议

    曾经看过这样的一道面试题,ICMP报文是基于什么传输层协议进行传输的?顺着他的思路传输层的两个主要协议TCP和UDP,区别也就是在于是否需要保证传输的可靠性.当时还没有系统的学习过ICMP的报文结构和 ...

  3. 计算机网络-基本概念(2)【网络层】-网际控制报文协议ICMP

    为了更有效的转发IP数据报和提高交付成功的机会,在网络层使用了网际控制报文协议ICMP.ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告. 差错报告报文 终点不可达:使用tracerout ...

  4. 网际控制报文协议icmp_网络中的ICMP(Internet控制消息协议)

    网际控制报文协议icmp ICMP(Internet控制消息协议)简介 (Introduction to ICMP (Internet Control Message Protocol)) IP (I ...

  5. 计算机网络 网际控制报文协议 ICMP

    介绍 为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议 ICMP(Internet Control Message Protocol) ICMP是互联网的标准协议 ICM ...

  6. LWIP学习笔记---网际控制报文协议ICMP

    网际控制报文协议 背景 相关概念 报文类型 报文格式 差错报文 查询报文 代码实现 数据结构 发送差错报文代码实现 回送报文请求 背景 IP协议并不完美,在传递数据时提供的是一种无连接的不可靠数据报交 ...

  7. 网际控制报文协议ICMP的应用——traceroute

    为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议ICMP(Internet Control Message Protocol). ICMP的应用举例 ICMP的一个重要应 ...

  8. 【计算机网络】湖科大微课堂笔记 p54-56 IPv4数据报的首部格式、网际控制报文协议ICMP、虚拟专用网VPN与网络地址转换NAT

    文章目录 IPv4数据报的首部格式 小结 一些例题 网际控制报文协议ICMP 小结 一些例题 虚拟专用网VPN与网络地址转换NAT 小结 IPv4数据报的首部格式 版本 首部长度.可选字段.填充字段 ...

  9. 网络层:网际控制报文协议ICMP

    网络层:网际控制报文协议ICMP 笔记来源: 湖科大教书匠:网际控制报文协议ICMP 声明:该学习笔记来自湖科大教书匠,笔记仅做学习参考 主机或路由器使用ICMP来发送差错报告报文和询问报文 ICMP ...

  10. 网络层(4.网际控制报文协议)

    为了更有效的转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议ICMP. ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告. ICMP不是高层协议,是IP层的协议. ICM ...

最新文章

  1. 优化算法optimization:AdaGrad
  2. 注册与验证码php源代码,PHP验证码处理源代码
  3. CDOJ1633 Video Game Combos [AC自动机+dp]
  4. gulp编译less简单demo
  5. React Native 轻松集成分享功能(Android 篇)
  6. gradle的插件包
  7. jeecg自定义按钮使用exp属性不起作用
  8. 电信无线网服务器是什么,怎样使用路由器共享电信天翼无线网络
  9. 日常学习随笔-数组、单链表、双链表三种形式实现队列结构的基本操作(源码注释)...
  10. 聚合支付SAAS系统OEM贴牌定制开发聚合支付系统开发、聚合支付平台开发等。
  11. OEM 11g在win7 ie11下报错“证书错误,导航已阻止”的恢复方法
  12. 多种方法让你在PC上使用iCloud服务
  13. Linux学习思维导图
  14. 在远程linux服务器上用wget命令下载nuscenes数据集出现HTTP request sent, awaiting response... 403 Forbidden错误
  15. std__vector介绍
  16. 系统集成项目管理工程师高频考点(第一章)
  17. imprecise external abort
  18. 【数据分析之道】数据分析导读
  19. 大家都在用的视频音频提取器,免费用!
  20. Windows下Putty使用ssh密钥对远程连接阿里云服务器

热门文章

  1. struts教程笔记1
  2. 顺序存储循环队列的基本操作
  3. clion opencv安装_Mac 下搭建 Clion + OpenCV4.x 的开发环境
  4. pyspark ml
  5. cv2不能读取中文路径
  6. Caffe学习:Blobs, Layers, and Nets
  7. python报表利器TableOne学习实践
  8. python求解按等级分配糖果问题
  9. python调整照片
  10. 2021-08-04 Mysql自连接