TCP/IP之icmp
推荐 原创
©著作权归作者所有:来自51CTO博客作者gauyanm的原创作品,如需转载,请与作者联系,否则将追究法律责任
为了提高 IP 数据报交付成功的机会,在网际层使用了因特网控制报文协议 ICMP (Internet Control Message Protocol)。
ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。
ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。
ICMP用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息并不传输用户数据,但是对于用户数据的传递起着重要的作用。
IP互联网利用ICMP传输控制报文和差错报文
ICMP报文的封装:封装在IP数据报中
ICMP 报文的种类有两种, 即 ICMP 差错报告报文和 ICMP 询问报文。
ICMP 报文的前 4 个字节是统一的格式,共有三个字段:即类型、代码和检验和。接着的 4 个字节的内容与 ICMP 的类型有关。
ICMP 差错报告报文共有 5 种 :
• 终点不可达
• 源站抑制
• 时间超过
• 参数问题
• 改变路由(重定向)
ICMP 差错报告报文的数据字段的内容
ICMP主要差错报告类型:
目的地不可达报告
网络不可达、主机不可达、协议和端口不可达等
超时报告
参数出错报告
不应发送 ICMP 差错报告报文的几种情况 :
• 对 ICMP 差错报告报文不再发送 ICMP 差错报告报文。
• 对第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报文。
• 对具有多播地址的数据报都不发送 ICMP 差错报告报文。
• 对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送 ICMP 差错报告报文。
ICMP 询问报文有四种
• 回送请求和回答报文
• 时间戳请求和回答报文
• 掩码地址请求和回答报文
• 路由器询问和通告报文
ICMP请求/应答报文对:
回应请求与应答
测试目的主机或路由器的可达性
时戳请求与应答
获取其他设备的当前时间
掩码请求与应答
从路由器获取本网的子网掩码
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
linux之TCP协议
linux下TCP协议的认识,包括确认应答,超时重传,流量控制,滑动窗口,拥塞控制,三次握手四次挥手等。
TCP 面向字节流 可靠性 有连接 滑动窗口 -
TCP/IP卷一:46---ICMP之(ICMP查询/信息类报文)
待续
ICMP查询/信息类报文 其他