ICMP协议

简介:

       ICMP:Internet Control Message Protocol。互联网控制报文协议。

       ICMP报文封装在IP数据报内被传输,实际上它时IP协议的一个组成部分,必须被每一个IP模块实现。

       IP协议是无连接的,不能提供可靠的数据传输,在数据传输的过程中,可能会由于路由器、主机或传输链路故障导致传输错误,IP协议并不处理这些故障,ICMP协议对此类问题提供了反馈机制。通过ICMP,路由器和目的主机能够与源主机通信,报告数据传输过程中的错误和控制信息。

      icmp(Internet Control Message Protocol)协议是在接收端在接收到发送端发送的数据后(分两种情况,接收和转发),无法把数据上传或转发,需要回馈一个信息给发送端,典型的例子,当接收端接收到数据包后,没有找到把数据发送出去的路由表项,此时就会发送一个icmp包给发送端,告诉发送端,目的不可达。而主机收到的icmp数据包一般都是应答包,比如接收发送目的不可达的数据包回来,接收端就会接收到这个包,并根据类型,把信息打印出来。当收到应答包时,接收方就不需要再回复一个应答包给对方,从而避免的循环回复。

本地发送数据包,如果找不到IP地址对应的MAC地址时,会发送arp广播查找MAC地址,如果是本地局域网的,就查看本地路由表,如果是要通过网关的,就可以通过默认网关;有时我们ping本地子网,也ping不同,就是因为本地路由表中没有对应的路由表项造成(比如要ping的本地机器关机,则相应的路由表项都会被删除)。

icmp协议的数据包结构,会根据参数的不同而不同,一般包括

eth首部(6字节目的MAC地址+6字节源MAC地址+2字节类型)+20字节IP首部(不包含选项)+icmp首部+源数据包IP首部(包含选项)+源数据包TCP前8字节(即源端口号和目的端口号)


ICMP报文的类型:

      ICMP报文分为两大类:差错报文和查询报文。其中差错报文包括:目的不可达,重定向、源抑制,时间超过,参数问题。查询报文包括:Echo,信息,时间戳,地址掩码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值