计算机网络

IP数据报格式

IP数据报格式:

0
4
8
16
19
31
版本
IHL
服务类型
总长度
标识
标志
片偏移
生存时间
协议
首部校验和
源地址
目的地址
选项
填充
数据
  • 版本号:IP协议的版本号 | IPv4为0100,IPv6为0110
  • 首部长度:IP首部的长度 | 单位为4字节(一行)| 最小值为0101,最大值为1111
  • 服务类型:服务类型 | 占用 1 个字节 | 用于指定数据报的优先级和服务质量
  • 总长度:占用 2 个字节 | 包括首部和数据部分长度 | 单位为1字节 | 最大值为65535
  • 标识:占用 2 个字节 | 标识用于唯一标识主机发送的每一份数据报
  • 标志:占用 3 个比特 | 用于指定数据报的分片情况
  • 片偏移:占用 13 个比特 | 用于指定数据报分片的偏移量
  • 生存时间:占用 1 个字节 | 用于指定数据报在网络中的最大生存时间
  • 协议类型:占用 1 个字节 | 用于指定数据报的上层协议类型
  • 首部校验和:占用 2 个字节 | 用于校验IP首部的正确性
  • 源IP地址:占用 4 个字节 | 用于指定发送端的IP地址
  • 目的IP地址:占用 4 个字节 | 用于指定接收端的IP地址
  • 选项:占用 0 个或多个字节 | 用于指定IP首部一些可选的功能
  • 填充:占用 0 个或多个字节 | 用于填充IP首部,使其长度为4的倍数
  • 数据:占用 0 个或多个字节 | 用于存放上层协议的数据

UDP数据报格式

UDP数据报格式:

0
8
16
24
31
源端口号
目的端口号
UDP总长度
校验和
数据
  • 源端口号:占用 2 个字节 | 用于指定发送端的端口号
  • 目的端口号:占用 2 个字节 | 用于指定接收端的端口号
  • 长度:占用 2 个字节 | 用于指定UDP首部和数据部分的长度,单位为1字节
  • 校验和:占用 2 个字节 | 用于校验UDP首部和数据部分的正确性
  • 数据:占用 0 个或多个字节 | 用于存放上层协议的数据

TCP数据报格式

TCP数据报格式:

0
4
7
16
24
31
源端口
目的端口
序号
确认号
数据偏移
保留
N S
C W R
E C E
U R G
A C K
P S H
R S T
S Y N
F I N
窗口大小
校验和
紧急指针
选项
填充
数据
  • 源端口号:占用 2 个字节 | 用于指定发送端的端口号
  • 目的端口号:占用 2 个字节 | 用于指定接收端的端口号
  • 序号:占用 4 个字节 | 用于指定本报文段的第一个数据字节在整个数据流中的序号
  • 确认号:占用 4 个字节 | 用于指定期望收到对方下一个报文段的第一个数据字节的序号
  • 首部长度:占用 4 个比特 | 用于指定TCP首部的长度 | 单位为4字节 | 最小值为0101,最大值为1111
  • 保留:占用 3~6 个比特 | 保留为0
  • 标志:占用 6~9 个比特 | 用于指定TCP报文段的一些标志
  • 窗口大小:占用 2 个字节 | 用于指定接收端的接收窗口大小
  • 校验和:占用 2 个字节 | 用于校验TCP首部和数据部分的正确性
  • 紧急指针:占用 2 个字节 | 用于指定本报文段中紧急数据的字节数
  • 选项:占用 0 个或多个字节 | 用于指定TCP首部一些可选的功能
  • 数据:占用 0 个或多个字节 | 用于存放上层协议的数据