封裝與解封裝
封裝與解封裝
封裝:將數據變為比特流的過程中,在參考模型的每一層需要添加上特定的協議報頭動作
動作:從高層往低層依次封裝,在每一層使用特定的協議,對數據進行處理,在數據前添加特定的協議報頭。
封裝原則:
1:每一層在上一層數據前添加協議報頭
2:添加完協議報頭的整體,就是該層的PDU
3:每一層的PDU對於下一層來說就是上層數據(每一層的上層數據就是上層的PDU)
PDU(協議數據單元,也就是每層的數據單位)
表示層:APDU
會話層:PPDU
傳輸層:SPDU
傳輸層:段(segment)
網絡層:包(packet)
數據鏈路層:幀(frame)
物理層:比特(bit)
封裝由發送者發送出去,數據只有被封裝以後才有可能被發送出去。
*主機在封裝數據包之前,必須要知道目的端IP地址,在封裝數據幀之前,必須要知道去往目的網絡的路由以及下一跳的MAC地址。
封裝的必要參數
傳輸層:源端口號 目標端口號
網絡層:源IP地址 目標IP地址
數據鏈路層:源MAC地址 目標MAC地址
解封裝:封裝的逆過程,數據從比特流還原為數據的過程
動作,從底層往高層依次解封裝,每解封裝一層,會將該層的忒點那個協議報頭去掉
解封裝原則:
1:必須從底層往高層解封裝
2:解封裝時,只有協議報頭合理(打個比方,你收到一個包裹,上面有你的名字還有你的家庭住址才是你的,之久叫做合理),才可以解封裝。
3:解封裝一旦停止,數據就會被丟棄
解封裝由接收者觸發,數據必須經過解封裝才可以被接受
數據鏈路層分為兩個子層:
LLC子層:邏輯鏈路控制子層--負責和上層協商,使用SAP來區分不同的上層協議
MAC子層:介質訪問控制子層
數據鏈路層有FCS(幀檢驗字段)用於檢測數據的完整性
LLC子層提供服務訪問點(SAP),標識上層協議
1:每一層都需要利用下層的服務進行通信
2:每一層都需要為上層服務,所以需要標識上層所使用的協議或應用
傳輸層:使用端口號標識上層應用
網絡層:使用協議號標識上層應用
本文出自 “costin” 博客,請務必保留此出處http://brighttime.blog.51cto.com/12837169/1949698
封裝與解封裝