计算机网络 #
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
个或多个字节 | 用于存放上层协议的数据