TCP/IP整體架構概述
利用TCP/IP傳送訊息
TCP資料頭格式
IP資料頭格式
Ethernet資料頭格式
IP網路架構概述
IP的定址方式
次級網路
網路間Router介面
網路間Router介面實例
參考資料


TCP/IP通訊協定及網路架構研析

IP資料頭格式

  被IP加上資料頭之後的資料包,看起來是這個樣子的:

IP資料頭格式

  IP的資料頭中,最重要的就是來源位址(Source Address),及目的位址(Destination Address)。來源位址是發出此訊息的主機位址,有了此一位址,目的端主機,才知道資料包從何處來,在必要時可以回覆訊息。目的位址,則是接收訊息的主機位址,有了此一位址,網路上的各router,才能判斷將資料包往何處送。

  Protocol Number則告知目的端主機,將此資料包送給哪一個呼叫此IP的協定(TCP或是UDP . . . 等其中之一)模組,繼續處理。當資料包被送到某個網路時,如果這個網路沒,有辦法傳送如此大的資料包時,每一個資料包會被切成幾個更小的資料塊,此時Flags和Fragment Offset ,會被用來記錄追蹤這些小資料塊們。

  Time to Live中的數字,在資料包每經過一個系統的時候,就會被逐漸遞減,當此值等於0時,此資料包會被丟棄不再傳送,如此就可以避免,萬一傳送的路徑形成迴路時,無法停止傳送。

  加上IP資料頭之後,整個訊息看起來,就變成這個樣子:

資料包加上IP資料頭

Ethernet資料頭格式

  最後,目前大多數的網路,在實質上都屬於乙太網路(Ethernet)。由於Ethernet,有自己的定址方式(Ethernet使用48位元的位址格式,每塊Ethernet網路控制卡本身,就內含了這個位址設定,所有的Ethernet控制卡製造廠商,都得向全球統一的中心註冊,以確保每一塊卡上的位址都不相同)。

  所以當資料包,在Ethernet上傳送時,Ethernet協定,要負責將每一塊資料包上的目的端主機位址,和自己主機上的Ethernet位址,做一轉換比對,才知道是不是要接收此資料包、或是要繼續向外傳送此資料包。所以Ethernet會在所有的資料包前,加上來源及目的主機的位址(各48位元)。如下圖所示:

Ethernet資料頭格式

  Type Code是用來指明此資料包,在Ethernet上層,對應的是TCP/IP或DECnet或Xerox . . . 等協定中的哪一種。而Ethernet除了會為資料包加上資料頭之外,也會在資料包的尾端,加上一個加總檢查數,以確保資料包內容,在傳送過程中沒有出錯。若用「E」代表Ethernet資料頭,「C」代表加總檢查數,你的訊息看起來,會是這樣子:

資料包加上Ethernet資料頭

  當這些資料包,被目的端主機接收到之後,所有的資料頭,都會被移除。Ethernet模組會除去Ethernet資料頭,及加總檢查數,並且依據Type Code,來做進一步處理。

  如果Type Code表明了使用IP,則Ethernet模組,會將資料包,上傳給IP模組。IP模組除去了IP資料頭時,根據該IP資料頭的Protocol欄位中,所指明的協定做判斷,若其值為TCP,則該資料包會被上傳給TCP模組。TCP模組,再根據TCP資料頭中的Sequence Number、及其它資訊,來組合所有的資料包,還原成原來的訊息。