數據的封裝與解封裝

數據封裝,就是把業務數據映射到某個封裝協議的淨荷中,而後填充對應協議的包頭,造成封裝協議的數據包,並完成速率適配。網絡

       數據封裝是指將協議數據單元(PDU)封裝在一組協議頭和尾中的過程。在 OSI7層參考模型中,每層主要負責與其它機器上的對等層進行通訊。該過程是在「協議數據單元」(PDU)中實現的,其中每層的 PDU 通常由本層的協議頭、協議尾和數據封裝構成。
       每層能夠添加協議頭和尾到其對應的 PDU 中。協議頭包括層到層之間的通訊相關信息。協議頭、協議尾和數據是三個相對的概念,這主要取決於進行信息單元分析的各個層。例如,傳輸頭(TH)包含只有傳輸層能夠看到的信息,而位於傳輸層如下的其它全部層將傳輸頭做爲各層的數據部分進行傳送。在網絡層,一個信息單元由層3協議頭(NH)和數據構成;而數據鏈路層中,由網絡層(層3協議頭和數據)傳送下去的全部信息均被視爲數據。換句話說,特定 OSI 層中信息單元的數據部分可能包含由上層傳送下來的協議頭、協議尾和數據。
      數據封裝的過程大體以下:
      1.用戶信息轉換爲數據,以便在網絡上傳輸
      2.數據轉換爲數據段,並在發送方和接收方主機之間創建一條可靠的鏈接
      3.數據段轉換爲數據包或數據報,並在報頭中放上邏輯地址,這樣每個數據包均可以經過互聯網絡進行傳輸
      4.數據包或數據報轉換爲幀,以便在本地網絡中傳輸。在本地網段上,使用硬件地址惟一標識每一臺主機。
      5.幀轉換爲比特流,並採用數字編碼和時鐘方案
      以常見的OSI模型爲例,它共分爲七層,從下到上依次爲:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層,每層都對應不一樣的功能。爲了實現對應功能,都會對數據按本層協議進行協議頭和協議尾的數據封裝,而後將封裝好的數據傳送給下層,各層的數據封裝過程以下圖所示。其中在傳輸層用TCP頭已標示了與一個特定應用的鏈接,並將數據封裝成了數據段;網絡層則用IP頭標示了已鏈接的設備網絡地址,並可基於此信息進行網絡路徑選擇,此時將數據封裝爲數據包;到了數據鏈路層,數據已封裝成了數據幀,並用MAC頭給出了設備的物理地址,固然還有數據校驗等功能字段等;到了物理層,則已封裝成爲比特流,就成爲純粹的物理鏈接了。

        解封裝,就是封裝的逆過程,拆解協議包,處理包頭中的信息,取出淨荷中的業務信息數據封裝和解封裝是一對逆過程。數據的接收端從物理層開始,進行與發送端相反的操做,稱爲「解封裝」,以下圖所示,最終使應用層程序獲取數據信息,使得兩點之間的一次單向通訊完成。須要說明的是,應用最爲普遍的TCP/IP協議能夠看做是OSI協議層的簡化,它分爲四層:數據鏈路層、網絡層、傳輸層、應用層,其各層對應的數據封裝與OSI大同小異。編碼

相關文章
相關標籤/搜索