二层数据帧格式:
目的MAC地址 源MAC地址 类型 IP数据包 FCS(帧校验序列)
6byt 6byt 2byt 46-1500byt 4byt
注意:
类型是用来标志上一层使用的协议,以便把帧中的数据包交给上一层协议。
三层数据包格式:
4bit 4bit 6bit 16bit 32bit 4byt
版本 首部长度 区分服务 总长度
16byt 3byt 13byt
标识 标志 片偏移
8bit 8bit 16bit
生存时间 协议 首部校验和
源地址
目的地址
可选字段(长度可变) 填充
数据
总长为20byt
注意:区分服务是用来确定哪个包先传送,标识就是相当于数据包的ID,标志就是0和1(如果第一位是0,表示数据包有可能没有被分段,或者是被分段的第一个数据包,如果是1表示数据包被分段)片偏移是用来数据包怎么组合的.首部校验和也就是相当于二层里的(FCS)
四层数据段:
UDP数据段格式:
2byt 2byt 2byt 2byt
源端口 目的端口 长度 校验和
TCP数据包格式:
16bit 16bit
源端口 目的端口
4byt
序号
确认号
4bit 6bit 6bit 16bit
数据偏移 保留 ACK FIN SYN... 窗口
16bit 16bit
校验和 紧急指针
24bit 8bit
选项(长度可选) 填充
总长为20byt
注意:序号指的是本报文段所发送的第一个字节的序号。确认号是期望收到下一个报文段的第一个字节的序号。
SYN 请求
ACK 确认
FIN 最后一个数据包