网络基础协议之UDP(下篇)

ICMP 协议的简单描述

  • ICMPTCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
  • ICMP协议通过IP协议发送的,IP协议是一种无连接的,不可靠的数据包协议,属于网络层协议。
  • ICMP报文是在IP数据报内被传输的。在实际传输中的数据包结构:20字节IP首部 + 8字节ICMP首部+ 1472字节<数据大小>38字节。
  • ICMP报文格式:IP首部(20字节)+8位类型+8位代码+16位校验和+(不同的类型和代码,格式也有所不同)

ICMP数据报格式

类型type):ICMP 消息给予RFC 规范的类型域分类

代码Code):ICMP 消息给予RFC 规范的子类型

校验和Checksum):用来保证ICMP 头和数据在抵达目的地址时的完整性

可变域Variable):依赖于类型和代码域的部分

ICMP 请求报文类型

ICMP 响应报文类型

ICMP 协议提供的诊断报文类型

相关案例

案例一:基本数据格式分析

案例二:Linux ICMP 抓包分析

案例三:TTL相关说明

通过对以上信息的详细介绍,可以看到该包的类型为11,代码为0。这表示该数据包是一个请求超时的数据包。在以上信息中,用户可能发现这个数据包的TTL 值为1,也就意味着这个数据包会在它遇到的第一个路由器处被丢掉。这就是因为主机192.168.0.1074.2.2.1通信,之间会经过好多个路由器(至少会有一个),所以这个数据包将不会到达目的地址。由此,就可以判断出该网络的连接情况,并简单的画出网络结构。

心若向阳,无谓悲伤!
原文地址:https://www.cnblogs.com/guge-94/p/14592977.html