概念
數據封裝
(Data Encapsulation)
數據封裝是指將協定數據單元(PDU)封裝在一組協定頭和尾中的過程。在 OSI 7層參考模型中,每層主要負責與其它機器上的對等層進行通信。該過程是在“協定數據單元”(PDU)中實現的,其中每層的 PDU 一般由本層的協定頭、協定尾和數據封裝構成。
每層可以添加協定頭和尾到其對應的 PDU 中。協定頭包括層到層之間的通信相關信息。協定頭、協定尾和數據是三個相對的概念,這主要取決於進行信息單元分析的各個層。例如,傳輸頭(TH)包含只有傳輸層可以看到的信息,而位於傳輸層以下的其它所有層將傳輸頭作為各層的數據部分進行傳送。在網路層,一個信息單元由層3協定頭(NH)和數據構成;而數據鏈路層中,由網路層(層3協定頭和數據)傳送下去的所有信息均被視為數據。換句話說,特定 OSI 層中信息單元的數據部分可能包含由上層傳送下來的協定頭、協定尾和數據。
舉例解釋
例如,如果計算機 A 要將應用程式中的某數據傳送至計算機 B 套用層。計算機 A 的套用層聯繫任何計算機 B 的套用層所必需的控制信息,都是通過預先在數據上添加協定頭。結果信息單元,其包含協定頭、數據、可能包含協定尾,被傳送至表示層,表示層再添加為計算機 B 的表示層所理解的控制信息的協定頭。信息單元的大小隨著每一層協定頭和協定尾的添加而增加,這些協定頭和協定尾包含了計算機 B 的對應層要使用的控制信息。在物理層,整個信息單元通過網路介質傳輸。
計算機 B 中的物理層接收信息單元並將其傳送至數據鏈路層;然後 B 中的數據鏈路層讀取包含在計算機 A 的數據鏈路層預先添加在協定頭中的控制信息;其次去除協定頭和協定尾,剩餘部分被傳送至網路層。每一層執行相同的動作:從對應層讀取協定頭和協定尾,並去除,再將剩餘信息傳送至高一層。套用層執行完後,數據就被傳送至計算機 B 中的應用程式接收端,最後收到的正是從計算機 A 套用程所傳送的數據。
網路分層和數據封裝過程看上去比較繁雜,但又是相當重要的體系結構,它使得網路通信實現模組化並易於管理。