IP 分組
為了更准確地討論 I n t e r n e t協議處理,我們必須定義一些名詞。圖 顯示了在不同的
I n t e r n e t層之間傳遞數據時用來描述數據的名詞。
我們把傳輸協議交給 I P的數據稱為報文。典型的報文包含一個運輸層首部和應用程序數
據。圖所示的傳輸協議是U D P。I P在報文的首部前加上它自己的首部形成一個數據報。如
果在選定的網絡中,數據報的長度太大, I P就把數據報分裂成幾個分片,每個分片中含有它
自己的I P首部和一段原來數據報的數據。圖顯示了一個數據報被分成三個分片。
當提交給數據鏈路層進行傳送時,一個 I P分片或一個很小的無需分片的 I P數據報稱為分
組。數據鏈路層在分組前面加上它自己的首部,並發送得到的幀。
I P只考慮它自己加上的 I P首部,對報文本身既不檢查也不修改 (除非進行分片)。圖8 - 8顯
示了I P首部的結構。
圖包括i p結構中各成員的名字,N e t / 3通過該結構訪問I P首部。
4 7 - 6 7 因為在存儲器中,比特字段的物理順序依機器和編譯器的不同而不同,所以由 # i f s
保證編譯器按照I P標准排列結構成員。從而,當 N e t / 3把一個i p結構覆蓋到存儲器中的一個 I P分組上時,結構成員能夠訪問到分組中正確的比特。
I P首部中包含I P分組格式、內容、尋址、路由選擇以及分片的信息。
I P分組的格式由版本i p _ v指定,通常為4;首部長度i p _ h l,通常以4字節單元度量;分
組長度i p _ l e n以字節為單位度量;傳輸協議 i p _ p生成分組內數據; i p _ s u m是檢驗和,檢
測在發送中首部的變化。
標准的I P首部長度是2 0個字節,所以i p _ h l必須大於或等於5。大於5表示I P選項緊跟在
標准首部后。如i p _ h l的最大值為15 (2 4 -1 ),允許最多4 0個字節的選項( 2 0 + 4 0 = 6 0 )。I P數據
報的最大長度為65535 (2 1 6 -1 )字節,因為i p _ l e n是一個16 bit的字段。如圖是整個構成。