ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

icmp协议【部分转载】

2022-06-03 10:33:35  阅读:174  来源: 互联网

标签:协议 icmp ICMP IP 报文 转载 数据包 路由


ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

ICMP 是 TCP/IP 模型中网络层的重要成员,与 IP 协议、ARP 协议、RARP 协议及 IGMP 协议共同构成 TCP/IP 模型中的网络层。虽然 ICMP 是网络层协议,但是它不像 IP 协议和 ARP 协议一样直接传递给数据链路层,而是先封装成 IP 数据包然后再传递给数据链路层。所以在 IP 数据包中如果协议类型字段的值是 1 的话,就表示 IP 数据是 ICMP 报文。IP 数据包就是靠这个协议类型字段来区分不同的数据包的。

从技术角度来说,ICMP就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况﹐也能确保连线的准确性。当路由器在处理一个数据包的过程中发生了意外,可以通过ICMP向数据包的源端报告有关事件。

其功能主要有:侦测远端主机是否存在,建立及维护路由资料,重导资料传送路径(ICMP重定向),资料流量控制。ICMP在沟通之中,主要是透过不同的类别(Type)与代码(Code) 让机器来识别不同的连线状况。

1. 确认IP包是否成功到达目标地址
2. 通知在发送过程中IP包被丢弃的原因

已经定义的ICMP消息类型大约有10多种,每种ICMP数据类型都被封装在一个IP数据包中。

ICMP大概分为两类报文:
一类是通知出错原因 ;一类是用于诊断查询【1】【3】

封装在IP内部的ICMP报文格式如下:【2】

 

基于ICMP的常用命令:

ping和traceroute

ping(目标主机是否可达)

 

 

 

 traceroute(windows 下是tracert)(追踪路由信息)

 

 

 linux通过TTL+1递增发送UDP查询路由;windows仍为发送ICMP报文查询路由

 

 参考资料:

【1】ICMP_百度百科 (baidu.com)

【2】(79条消息) ICMP协议详解_honeyRJ的博客-CSDN博客_icmp

【3】深入理解ICMP协议 - 知乎 (zhihu.com)

标签:协议,icmp,ICMP,IP,报文,转载,数据包,路由
来源: https://www.cnblogs.com/Asphyxia/p/16339573.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有