Internet控制消息协议(ICMP)是用于计算机网络中错误报告和诊断目的的实用程序。ICMP是Internet协议(IP)套件的一部分,由具有不同用途的预定义消息组成。Internet控制消息协议的大多数方面都不会被最终用户注意到,但是一些网...
Internet控制消息协议(ICMP)是用于计算机网络中错误报告和诊断目的的实用程序。ICMP是Internet协议(IP)套件的一部分,由具有不同用途的预定义消息组成。Internet控制消息协议的大多数方面都不会被最终用户注意到,但是一些网络工具,如traceroute和ping都依赖ICMP消息来实现它们的功能。Internet控制消息协议(ICMP)是一种用于计算机网络中错误报告和诊断的实用程序。在Internet和小型计算机网络的核心是一组称为IP套件的协议这些协议规定了网络设备之间交换消息的格式,并建立了如何发送和接收这些消息的规则。这些协议也是分层的,每一层都依赖于它下面的一层。ICMP是第二层Internet层的一部分。这一层包括众所周知的Internet负责在一个或多个网络上传输单个数据组(称为数据包)的协议。ICMP用于在设备或主机之间发送错误消息或诊断信息,使用Internet协议。ICMP消息是预定义的,可以通过名称或类型号引用。这些消息大多数用于不同类型的错误报告。例如,当无法访问特定主机时,通常会生成一个ICMP消息,指出阻止数据传递的特定问题。其他类型的如果数据包损坏或网络中的路由器或主机拥塞,则发送消息。数据包的最大大小不是预先定义的,而是由特定网络链路的最大传输单元(MTU)决定的。不同的链路可以有不同的MTU,但是一个包必须小于给定路径上最小的MTU才能完成它的旅程一种称为路径MTU发现(PMTUD)的技术使用ICMP消息在数据包对特定路径段太大时通知发送方。称为ICMP路由器发现协议(IRDP)的相关协议可以帮助支持它的主机自动配置网络。IRDP使用两种类型的Internet控制消息协议通知和发现附近路由器的消息,即连接两个或多个网络的主机。支持IRDP的路由器将定期向主机广播一个ICMP路由器广告消息,宣布其存在。主机也可以发送请求消息,请求所有附近的路由器标识自己。一些流行的网络实用程序还依赖于Internet控制消息协议。traceroute工具利用当数据包过期或超过其“生存时间”(TTL)时生成的ICMP消息。通过故意为数据包设置较低的TTL值,traceroute将从数据包到达的最后一个路由器接收到ICMP超时消息过期。理论上,重复此过程并增加TTL值将生成正在通过的所有主机数据包的列表。另一个名为ping的工具依赖于ICMP回显请求消息,该消息以ICMP回显回复消息响应。不幸的是,在所谓的“蓝精灵攻击”(smurf attack)中,当黑客用伪造的发送方信息发送回显请求,然后由许多其他机器响应时,ping也会被滥用。这会使网络拥塞到无法通过合法数据包的地步,这种情况称为拒绝服务
-
发表于 2020-08-06 11:56
- 阅读 ( 783 )
- 分类:电脑网络