資料封裝(Data Encapsulation),籠統地講,就是把業務資料對應到某個封裝協定的淨荷中,然後填入對應協定的包頭,形成封裝協定的資料包,並完成速率適配。
從上面的分析可以看出,對封包封裝其實很複雜:要達到可靠、準確及高效的目的,必須考慮許多影響因素,並有針對性地採取防範措施。 (推薦學習:web前端影片教學)
在實際應用中,組網的資料封裝依功能分層進行,目的很簡單,就是為了能將複雜系統分解成許多模組,各模組獨立,互不影響,每個模組(每層)之間用介面進行連接和交互,並互相提供服務。這樣不僅更容易實現功能,而且使整個系統具有良好的兼容性和可擴展性。
資料封裝的過程大致如下:
1.使用者資訊轉換為數據,以便在網路上傳輸
2.資料轉換為數據段,並在發送方和接收方主機之間建立一條可靠的連接
3.資料段轉換為資料包或資料報,並在報頭中放上邏輯位址,這樣每一個資料包都可以透過互聯網進行傳輸
4.資料包或資料封包轉換為幀,以便在本地網路中傳輸。在本機網段上,使用硬體位址唯一標識每台主機。
5.幀轉換為位元流,並採用數位編碼和時脈方案
以常見的OSI模型為例,它共分為七層,從下到上依序為:物理層、資料鏈結層、網路層、傳輸層、會話層、表示層、應用層,每層對應不同的功能。為了實現對應功能,都會對資料依本層協定進行協定頭和協定尾的資料封裝,然後將封裝好的資料傳送給下層,各層的資料封裝過程如下圖所示。
其中在傳輸層以TCP頭已標示了與一個特定應用的連接,並將資料封裝成了資料段;網路層則以IP頭標示了已連接的裝置網路位址,並可基於此資訊進行網路路徑選擇,此時將資料封裝為資料包;到了資料鏈結層,資料已封裝成了資料幀,並用MAC頭給出了設備的實體位址,當然還有資料校驗等功能欄位等;到了實體層,則已封裝成為位元流,就變成純粹的實體連結了。
以上是資料封裝在資料鏈結層被稱為什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!