【计算机网络】ICMP协议

网际控制报文协议ICMP

  • 为了更有效地转发IP数据报和提高交付成功的机会,使用了网际控制报文协议ICMP
  • ICMP是互联网的标准协议
  • ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告
  • 虽然ICMP报文封装在IP数据报的数据部分但是ICMP是IP层的协议
    ICMP报文的种类有两种,ICMP差错报文ICMP询问报文
ICMP报文的格式

在这里插入图片描述

  1. 前四个字节是统一的格式, 类型(0-8)、代码(8-16)、校验和(16-31)。
  2. 紧接着4个字节的内容取决于ICMP报文的类型。 (第1、2条是IP报文的首部)
  3. 最后是ICMP的数据部分(长度也取决于类型)

ICMP差错报告报文:

  1. 终点不可达:不能交付数据报时
  2. 源点抑制: 由于阻塞而丢失数据时(应该数据报发送数据放慢一些)
  3. 时间超时:接收到生存时间为0的数据报时
  4. 参数问题:路由器或目的主机收到的数据报首部中字段不正确时
  5. 改变路由(重定向):把改变的路由传给主机
ICMP差错报文的数据字段的内容

在这里插入图片描述

不应发送ICMP差错报告报文的几种情况
  1. 对ICMP差错报告报文不再发送ICMP差错报告报文
  2. 对第一个分片的数据报片的所有后序数据报都不发送ICMP差错报文
  3. 对具有多播地址的数据报都不发送ICMP差错报告报文
  4. 对具有特殊地址(127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文

ICMP询问报文:

  1. 回送请求和回答报文:向一个特定主机发出询问,收到此报文的主机必须发回送报文。
  2. 时间戳请求和回答报文:(向主机或路由器)请求和回答当前的日期和时间

ICMP的应用举例:

分组网间探测PING
  • ping用来探测两个主机间的连通性
  • ping使用了ICMP回送请求和回送回答报文
  • ping是应用层直接使用网络层ICMP的例子,没有通过运输层的TCP或UDP
Traceroute的应用举例:用tracert命令获得到目的主机的路由信息
  • 在windows操作系统中这个命令是tracert
  • 用来跟踪一个分组从源点到终点的路径
  • 它利用IP数据报中的TTL字段和ICMP时间超过差错报告报文实现对源点到终点的路径的跟踪。
ICMP(Internet Control Message Protocol,互联网控制消息协议)是计算机网络中常用的一种协议,它主要用于在IP网络中传递控制信息和错误报告。 ICMP协议的功能主要包括以下几点: 1. 错误报告:当在IP数据报传输过程中出现错误时,ICMP会生成错误报文,将错误信息返回给源主机,以便发现和修复网络问题。比如,当目的主机不可达、数据报超时或路由错误等情况发生时,ICMP会发送相应的错误报文。 2. 网络差错处理:ICMP协议可用于报告网络中的差错情况,如数据报被丢弃或无法交付等。通过这些差错报文,网络管理员可以了解网络中存在的问题,并进行适当的处理和调整。 3. 回送请求与回显应答:ICMP协议中的“回送请求和回显应答”功能可用于测试主机或路由器是否可达。源主机会发送“回送请求”消息,目的主机收到后需返回相应的“回显应答”消息,以确认连接正常。这个功能通常被用于网络诊断、故障排除和性能测试等方面。 4. 时间戳和时间戳应答:ICMP协议中的“时间戳”功能可用于同步网络中的时钟。源主机发送时间戳请求消息,目的主机收到后会在应答消息中返回自己的时钟时间。这个功能在网络性能测试和调试中有着重要的作用。 总的来说,ICMP协议提供了一套用于网络信息传递、错误报告和网络故障诊断的机制。它通过生成和传输特定的控制消息,使得数据在IP网络中能够正常传递,且有助于网络管理员发现和解决网络中的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值