博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
icmp协议
阅读量:6710 次
发布时间:2019-06-25

本文共 547 字,大约阅读时间需要 1 分钟。

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字节(即源端口号和目的端口号)

 

转载地址:http://hailo.baihongyu.com/

你可能感兴趣的文章
oracle权限
查看>>
在树莓派上搭建一个maven仓库
查看>>
ecmall店铺添加左侧栏目
查看>>
makefile的编写(4)
查看>>
我也来谈面向对象编程
查看>>
什么是顶尖的互联网产品经理?
查看>>
精品IT课件:MapReduce海量数据并行处理
查看>>
数学期望的性质
查看>>
一个简单的java版GUI窗口
查看>>
乐观锁与悲观琐的区别
查看>>
linux 教程
查看>>
快速构建实时抓取集群
查看>>
Android设计模式之结构型模式
查看>>
jQuery获取Select选中的Text和Value,根据Value值动态添加属性等
查看>>
Hadoop 中的I/O (2) 压缩/解压缩
查看>>
MySQL线程池
查看>>
搞软件的一直会被人叫去修电脑 哎~ 发个安装方法会的可以自己装。
查看>>
Java并发编程实战
查看>>
Android App整体架构设计的思考
查看>>
2.NIO
查看>>