IP协议解码详解

协议分析 IP协议解码详解

IP协议简介 IP,全称Internet Protocol,中文名叫因特网协议,它工作在OSI的网络层,它负责将数据传输到正确的目的地,同时也负责路由。无论传输层使用何种协议,都要依赖IP来发送和接受数据。
IP提供一种无连接的传输机制,这就意味着在网络传输的每个数据报都作为独立的单元来对待。IP并不维护服务器和客户端之间的连接细节。
IP不能保证数据传输的可靠性。然而,这些并不意味着分组将被毫无规则的忽略,而是仅在网络出现故障时才会发生数据丢失。
下面我们来介绍一下IP数据报的格式、

IP数据报格式,如图1,

版本

头部长度

服务类型

总长度

标识

分段标志

分段偏移量

生存时间

协议

校验和

源地址

目标地址

选项

填充

数据

(图1 IP数据报的格式)

  1. 版本:用于传输数据的IP版本,大小为4位;
  2. 头部长度:用于规定报头长度;
  3. 服务类型:用于设置数据传输的优先权或者优先级,其大小为8位;
  4. 总长度:指出数据报的总长,数据报总长=报头长度+数据长度,大小为16位;
  5. 标识:用于标识所有的分段,大小为16位;
  6. 分段标志:确定一个数据报是否可以分段,同时也指出当前分段后面是否还有更多分段,大小为3位;
  7. 分段偏移量:由目标计算机用于查找分段在整个数据报中的位置,大小位13位;
  8. 生存时间:设置数据报可以经过的最多路由器数。长度为8位;
  9. 协议:指定用于创建数据字段中的数据的上层协议,大小为8位;
  10. 校验和:检查所传输数据的完整性,大小为16位;
  11. 源地址:源IP地址,字段长度为32位;
  12. 目标地址:目标IP地址,字段长度为32位;
  13. 选项:不上一个必须的字段,字段长度具体取决于所选择的IP选项;
  14. 数据:包含网络中传输的数据,IP数据报还包括上层协议的报头信息;

解码详解

使用网络分析系统捕获IP数据包,其详细解码如图2,


(图2 网络分析系统中IP数据包的详细解码)

图2为网络分析系统中IP数据包的详细解码,下面我们来分别说明IP数据包的解码信息:

版本:4,表示当前网络中为IPv4;
头部长度:4,表示IP报头长度为5x4=20字节;
服务类型:0,表示当前IP数据包中没有使用服务类型字段;
总长度:40,表示该数据报总长为40字节;
标识:表示该数据报的标识为0x41AB(16进制);
分段标志:第二位为1,表示该数据报不能被分段,
分段偏移量:由于没有被分段,所以该分段便偏移量为0;
生存时间:表示该数据报最多可以经过128个路由;
上层协议:6代表TCP协议;
校验和:该数据报校验和为0x36A8(正确),表示该数据报是完整的;
源IP地址:192.168.0.208;
目标IP地址:192.168.0.92;

选项:表示该数据报没有选项字段;
原文地址:https://www.cnblogs.com/ljl_falcon/p/2194073.html