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,表明不校驗。