1. TCP、 UDP、端口号、协议号
TCP:传输控制协议,可靠度面向用户的连接。
UDP:用户数据报协议,不可靠的无连接服务。
UDP用于视频传输,一般长度为500个字节。
端口号:为了标识上层(应用层)协议。
协议号:用于标识上层(传输层)协议。
MTU:最大传输单元,针对网络层数据的大小。
MSS:最大报文段长度,针对TCP能承载的数据大小。
2. TCP数据包结构
源端口(
sport):指一个发送端口,系统随机分配。目标端口(
dport):指数据接收者端口,一般是确定的。序列号:为了标识数据包。
确认序号:确认数据包的到达。
报头长度:占用
4bit,最大60B,最小20B。报头长度就是TCP报文长度。保留:占
6bit标志位:六个标志位,每个作用如表
1:标志位 | 作用 |
URG | 连接紧急位 |
ACK | 在三次握手和四次挥手用(跟确认序列号挂钩) |
PSH | 推送数据时用 |
RAT | 重置链接 |
SYN | 三次握手用 |
FIN | 拆连接用 |
表
1窗口:用来控制对方发送的数据量,单位字节。窗口大小指的是
TCP缓存大小,最大65536B。检验和:检查数据包
紧急位:用来标记某些紧急数据,可提前处理。
可选项:报头长度大于
20B时选择可选项。3. UDP数据包结构
源端口:指一个发送端口,系统随机分配。
目标端口:指数据接收者端口,一般是确定的。
长度:就是指数据长度
+UDP长度。检验和:检查数据包。
4. IP数据包结构
版本号:
4,占4bit。头部长度:占
4bit,IP协议本身头部长度。服务类型:用于流控,占
8bit,QoS服务质量。数据包长度:数据包数据长度
+报头长度。标识号:用来标识一个数据包。
标志位:占
3bit,第一个保留,第二个允许分片位d(don’t),当d=0时,允许分片,当d=1时,不允许分片。第三个更多分片位m(more),当m=0时,是代表最后一片,当m=1时,表示更多分片位。偏移位:分开的数据重组的时候需要用偏移位。
生存时间
(TTL):数据包每经过一个路由器TTL的指就会减1,如果TTL的值为0,路由器则丢包,不负责传送。协议号:用来标识上层协议(
TCP=6 UDP=17 ICMP=1 IGMP=2)。头部检验和:就是用来检测头部数据是否完整。
源
IP地址:发送者地址。目标
IP地址:接受者地址。可选项
填充