複製鏈接
請複製以下鏈接發送給好友

數據封裝

鎖定
數據封裝(Data Encapsulation),籠統地講,就是把業務數據映射到某個封裝協議的淨荷中,然後填充對應協議的包頭,形成封裝協議的數據包,並完成速率適配。
解封裝,就是封裝的逆過程,拆解協議包,處理包頭中的信息,取出淨荷中的業務信息數據封裝和解封裝是一對逆過程。
中文名
數據封裝
外文名
Data Encapsulation
學    科
信息工程
領    域
工程技術

數據封裝簡介

數據包利用網絡在不同設備之間傳輸時,為了可靠和準確地發送到目的地,並且高效地利用傳輸資源(傳輸設備和傳輸線路),事先要對數據包進行拆分和打包,在所發送的數據包上附加上目標地址,本地地址,以及一些用於糾錯的字節,安全性和可靠性較高時,還要進行加密處理等等。這些操作就叫數據封裝。而對數據包進行處理時通信雙方所遵循和協商好的規則就是協議。與郵寄物品相比,數據包本身就如同物品,而封裝就如同填寫各種郵寄信息,協議就是如何填寫信息的規定。
從上面的分析可以看出,對數據包封裝實際上很複雜:要達到可靠、準確及高效的目的,必須考慮很多影響因素,並有針對性地採取防範措施。在實際應用中,組網的數據封裝按功能分層進行,目的很簡單,就是為了能將複雜系統分解為很多模塊,各模塊獨立,互不影響,每個模塊(每層)之間用接口進行連接和交互,並互相提供服務。這樣不僅更容易實現功能,而且使整個系統具有良好的兼容性和可擴展性 [1] 

數據封裝原理

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

數據封裝數據封裝的過程

數據封裝的過程大致如下:
1.用户信息轉換為數據,以便在網絡上傳輸
2.數據轉換為數據段,並在發送方和接收方主機之間建立一條可靠的連接
3.數據段轉換為數據包或數據報,並在報頭中放上邏輯地址,這樣每一個數據包都可以通過互聯網絡進行傳輸
4.數據包或數據報轉換為幀,以便在本地網絡中傳輸。在本地網段上,使用硬件地址唯一標識每一台主機。
5.幀轉換為比特流,並採用數字編碼和時鐘方案
以常見的OSI模型為例,它共分為七層,從下到上依次為:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層,每層都對應不同的功能。為了實現對應功能,都會對數據按本層協議進行協議頭和協議尾的數據封裝,然後將封裝好的數據傳送給下層,各層的數據封裝過程如圖1所示。
圖1 發送方的數據封裝過程 圖1 發送方的數據封裝過程
其中在傳輸層用TCP頭已標示了與一個特定應用的連接,並將數據封裝成了數據段;網絡層則用IP頭標示了已連接的設備網絡地址,並可基於此信息進行網絡路徑選擇,此時將數據封裝為數據包;到了數據鏈路層,數據已封裝成了數據幀,並用MAC頭給出了設備的物理地址,當然還有數據校驗等功能字段等;到了物理層,則已封裝成為比特流,就成為純粹的物理連接了 [2] 

數據封裝數據解封裝的過程

仍然以OSI模型為例來説明數據解封裝的過程。數據的接收端從物理層開始,進行與發送端相反的操作,稱為“解封裝”,如圖2所示,最終使應用層程序獲取數據信息,使得兩點之間的一次單向通信完成。
圖2 接收方的數據解封裝過程 圖2 接收方的數據解封裝過程
需要説明的是,應用最為廣泛的TCP/IP協議可以看作是OSI協議層的簡化,它分為四層:數據鏈路層、網絡層、傳輸層、應用層,其各層對應的數據封裝與OSI大同小異。

數據封裝數據封裝協議

SDH網絡中封裝協議有多種,最常用的有PPP/HDLC、LAPS、GFP。某一些設備廠商的專有封裝協議。
  • PPP/HDLC協議
為點到點協議,它要利用HDLC(高速數據鏈路控制)協議來封裝幀,用字節同步的方式把HDLC幀映射入SDH的VC中,成為VC的淨荷。
POS系統中,可用來承載IP數據;
在SDH系統中,用來承載以太幀。
  • LAPS協議
為鏈路接入協議,這種方式特別用於SDH鏈路承載以太幀,它與HDLC十分相似。
  • GFP協議
為通用幀協議,是一種鏈路層標準。這種封裝協議可以承載所有的數據業務,是一種可以透明地將各種數據信號封裝進現有網絡的技術,可以替代眾多不同的封裝方法,有利於各廠商設備之間的互聯互通。GFP採用不同的業務數據封裝方法對不同的業務數據進行封裝。包括幀映射(GFP-F)和透明傳輸(GFP-T)兩種模式。
GFP-F封裝方式可以將業務信號幀完全地映射進一個可變長度的GFP幀,對封裝數據不做任何改動。這種方式是在收到一個完整的數據幀後再處理,最適合於以太網業務這類可變長度的分組數據。GFP-T封裝採用透明映射的方式及時處理而不必等待整個幀的到達,適合處理實時業務和固定幀長的塊狀編碼的業務。

數據封裝數據庫操作”四駕馬車”

插入操作:INSERT 
更新操作:UPDATE 
刪除操作:DELETE 
查詢操作:SELECT

數據封裝總結

數據沿着協議棧向下傳輸時,每一層都添加一個報頭,並將封裝後的內容作為數據傳遞給下一層,直到達物理層,數據被轉換為比特,通過介質進行傳輸 [3] 
參考資料
  • 1.    韋靜, 張浩. 一種數據封裝新格式--GFP[J]. 光通信技術, 2003, 27(8):29-31.
  • 2.    劉昌平, 範明鈺, 王光衞. 可信計算環境數據封裝方法[J]. 計算機應用研究, 2009, 26(10):3891-3893.
  • 3.    鄧博於, 趙尚弘, 李勇軍, et al. 衞星光網絡數據封裝問題研究[J]. 光通信技術, 2015, 39(5).