1、MAC帧格式
类型:2字节,指出数据域中携带的数据应交给哪些协议实体处理
校验码:校验数据段(采用32位CRC冗余校验方式进行校验)
2、IPV4数据报
版本:IP协议版本,这里为4
首部长度:占4位
总长度:占16位,指首部和数据之和的长度
标识:占16位,它是一个计数器,每产生一个数据报就加1
标志:占3位,标志字段的最低位为MF,MF=1表示后面还有分片;MF=0表示最后一个分片。标识字段中间的一位是DF,只有DF=0时才允许分片
片偏移:占13位,它指出较长的分组在分片后,某片在原分组中的相对位置,片偏移一8个字节为偏移单位
首部校验和:占16位,只校验分组的首部,而不校验数据部分
生存时间TTL:占8位,及数据报在网络中通过的路由器数的最大值
协议:占8位,指出使用何种协议,其中6表示TCP,17表示UDP
固定部分20个字节,可变部分40字节,首部最长60字节。
3、TCP报文格式
序号字段:占4个字节,TCP是面向字节流的
确认号字段:占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。确认号=N,则表明到序号N-1为止的所有数据都已经收到
数据偏移:占4位,指出TCP报文段的数据起始处距离TCP报文段的起始处有多远
保留字段:占6位
标志位:
URG:URG=1时,表明紧急指针有效
ACK:ACK=1时,确认号字段(TCP三次握手里面的ack)才有效
PSH:就收到PSH=1的报文时,就尽快地交付接收应用进程,不用等到整个缓存都填满了后再向上交付
RST:当RST=1时,表明TCP连接中出了很严重的差错,必须释放连接,然后在重新建立连接
SYN:SYN=1、ACK=0,表明这是一个连接请求报文,对方若同意建立连接,则在响应报文中使用SYN=1、ACK=1
FIN:用来释放一个连接,FIN=1表明此报文段的发送方数据已经传送完毕
窗口字段:占2字节,它指出了现在允许对方发送的数据量
检验和:占2字节,检验范围包括首部和数据这两部分
紧急指针字段:占16位,指出文本中紧急数据共有多少字节
选项字段:长度可变
填充字段:为了使整个首部长度4字节的整数倍
4、UDP报文格式
长度:UDP数据报长度,其最小值是8
校验和:检测UDP数据报在传输中是否出错,有错就丢弃,如果字段全为0,表明不校验。