封裝數據包
1. 什麼是數據包封裝?
當一個計算機要傳送數據信息給另一個計算機時,得添加一些網路控制信息和數據信息一起發送,在傳送的過程中,網路設備會根據控制信息而決定如何轉發。網路控制信息的例子包括地址、session ID、協議參數。 添加控制信息的操作就是封裝。
2. 為什麼要封裝數據包?
為了符合OSI模式的要求;
分析這個要求的根源得從網路結構說起:網路的主要功能常能被不同的技術實現,而網路技術更新速度很快,要能允許不同的技術共存而不影響全局,得模塊化,把模塊間的介面定義好,模塊內部的改變就不至於影響到其他模塊;
OSI模式把網路分為7層,和軟體相關的常用的四層是link, network, transport, protocol (第二、三、四、五層). 每一層的作用、參數被格式化的定義;
在發包前,先封裝每一層的控制信息到個別的報頭。在收到數據包時,網路設備可以一層層的解封裝報頭,讀出協議參數、根據協議而做出決定。 換言之,封裝是一種網路模塊化的機制,它使得分佈各處的網路可以從收到的數據包讀到控制信息,根據協議做出合適的反應;
3. 主機是怎麼封裝、解封裝數據包的?
在這個案例中,主機封裝的重點如下:- 協議報頭:設protocol,4. 信息、數據包、報頭的大小關係是什麼?舉例說明:在乙太網中,主機H1要傳送一個3300byte 的 信息給主機H2;
由於乙太網限制數據包的長度不能超過1500 byte, 這個信息被分割為三個數據包,每個數據包都有三個報頭,協議是ICMP: packet payload link header IP header ICMP header Subtotal 1 15
300 14 20 8 342 信息是3300 byte, 報頭是 126 byte;報頭佔3%:126/(3300+126)=3%. 報頭並沒有耗費過多的網路帶寬資源;
[821293052 via Net ] 什麼是數據包封裝?已經有4038次圍觀
http://cocdig.com/room/show-56.html