1. 程式人生 > >TCP、UDP、IP、ARP的報文格式以及所代表的含義

TCP、UDP、IP、ARP的報文格式以及所代表的含義

TCP報文格式:


源埠: 資料傳送方的埠號。

目的埠: 資料接受方的埠號。

序號:本資料報文中的的第一個位元組的序號(在資料流中每個位元組都對應一個序號)。

確認號:希望收到的下一個資料報文中的第一個位元組的序號。

資料偏移:表示本報文資料段距離報文段有多遠。

保留:顧名思義,用來保留給以後用的。

緊急位元URG:當值為1時表示次報文段中有需要緊急處理。

確認位元ACK:值為1時確認號有效,值為0時確認號無效。

復位位元RST:值為1時表示TCP連線存在嚴重的錯誤,需要重新進行連線。

同步位元SYN:值為1表示這是一個連線請求或連線接受報文。

終止位元FIN: 值為1表示要傳送的資料報已經發送完畢,需要釋放傳送連線。

視窗欄位:TCP連線的一端根據快取空間的大小來確定自己接受視窗的大小,限制傳送放的視窗上限。

檢驗和:用來檢驗首部和資料兩部分的正確性。

緊急指標欄位:本報文緊急資料的最後一個位元組的序號。

UDP報文格式:


源埠號和目的埠號如上和TCP的相同。

UDP長度:UDP報文的位元組長度(包括首部和資料)。

UDP校驗和: 檢驗UDP首部和資料部分的正確性。

IP報文格式:


版本:指IP協議的版本。

首部長度:首部的長度

服務型別:如下圖:

 

其中優先順序用來區別優先級別不同的IP報文。

D表示要求有更低的時延。

T表示要求有更高的吞吐量。

R表示要求有更高的可靠性。

總長度:報文的長度。

標識:由於資料報長度超過傳輸網路的MTU(最大傳輸單元)而必須分片,這個標識欄位的值被複制到所有資料報分片的標識欄位中,使得這些分片在達到最終的目的地時可以依照標識欄位的內容重新組成原先的資料報。

標誌:最低位是MF,MF=1時,表示後面還有分片。

           中間位的DF,DF=1時,表示不能分片。

片偏移: 和前面的資料分片相關,是本分片在原先資料報文中相對首位的偏移位。

生存時間:資料報在網路中存活的時間,所允許通過的路由器的最大數量,沒通過一個路由器,該值自動減一,如果數值為0,路由器就可以把該資料報丟棄。

協議: 指出資料報攜帶的資料是使用何種協議,以便目的主機的IP層能知道次資料報上交到哪一個程序(不同協議有一個專門不同的程序處理)。

首部校驗位和:對首部進行校驗運算。

                          校驗方法 : 在傳送端,將IP資料報首部劃分為多個16位的二進位制序列,並將首部校驗和欄位置為0,用反碼運算將所有16位序列對位相加後,將得到多的

                                               和的反碼寫入首部校驗和欄位。接收端接收到資料報後,將資料報首部的所有欄位組織成多個16位的二進位制序列,再使用反碼運算相加

                                               一次,將得到的結果取反。如果結果為0代表沒出錯,否則出錯。

源地址:傳送資料報的節點地址。

目的地址:接受資料報的節點地址。 

ARP格式:

ARP協議報文被封裝在乙太網幀頭部中傳輸,如圖所示,是ARP協議請求協議報文頭部格式。

ARP協議請求協議報文頭部格式

ARP協議請求協議報文頭部格式

圖中黃色的部分是乙太網(這裡是Ethernet II型別)的幀頭部。其中,第一個欄位是廣播型別的MAC地址:0XFF-FF-FF-FF-FF-FF,其目標是網路上的所有主機。第二個欄位是源MAC地址,即請求地址解析的主機MAC地址。第三個欄位是協議型別,這裡用0X0806代表封裝的上層協議是ARP協議協議。

接下來是ARP協議協議報文部分。其中各個欄位的含義如下:

硬體型別:表明ARP協議實現在何種型別的網路上。

協議型別:代表解析協議(上層協議)。這裡,一般是0800,即IP。

硬體地址長度:MAC地址長度,此處為6個位元組。

協議地址長度:IP地址長度,此處為4個位元組。

操作型別:代表ARP協議資料包型別。0表示ARP協議請求資料包,1表示ARP協議應答資料包。

源MAC地址:傳送端MAC地址。

源IP地址:代表傳送端協議地址(IP地址)。

目標MAC地址:目的端MAC地址(待填充)。

目標IP地址:代表目的端協議地址(IP地址)。

ARP協議應答協議報文和ARP協議請求協議報文類似。不同的是,此時,乙太網幀頭部的目標MAC地址為傳送ARP協議地址解析請求的主機的MAC地址,而源MAC地址為被解析的主機的MAC地址。同時,操作型別欄位為1,表示ARP協議應答資料包,目標MAC地址欄位被填充以目標MAC地址。