路由器轉發數據包時的封裝過程

網絡拓撲構成如下圖所示:

各網絡設備及主機的IP 和MAC地址標註在圖中:

假設PC0 : 10.1.10 ping Laptop1:11.1.1.15,他們不在同一個網段 ,看下路由器路由選擇及數據包封裝變化的過程,進一步鞏固理論知識。

1:PC0創建ICMP (Intenet Control Message Protocol)數據請求包;

2:ICMP 將這個有效負荷(數據包)交給IP協議,IP協議也創建一個包,協議字段爲 1,意思爲:當Laptop1收到數據包時,告訴它將個數據包交給ICMP協議處理;

3:IP 判斷目的IP 不屬於本地網段,IP協議創建的數據包被髮送到網關中,網關就好比不同網絡通信的一扇門,只有通過網關,PC0 的數據包才能發送給Laptop1;

4: 本地網段,主機之間只能通過MAC地址通信,所以PC0 給網關路由器發送數據包,必須知道網關的MAC地址,假定PC0的ARP緩存中有默認網關的MAC地址,否則需要廣播ARP 詢問網關MAC地址。此時PC0 知道了網關的MAC地址,數據包被釋放,傳遞到數據鏈路層並生成幀;

詳細的過程如下圖所示:

5:完成數據幀的封裝後,傳遞到物理層,假設通過雙絞線以0,1bit流逐位傳輸到物理介質;

6:以上步驟有主機PC0完成,接下來是路由器的處理過程:R2 查看這個幀的以太網類型字段,瞭解了在網絡層上採用的協議IP,抽取出數據包,其餘內容丟棄,交於IP協議處理;

7:IP協議檢查目的IP地址,若目標地址不匹配任何路由,則發送“目標地址不可達”的出錯信息給主機PC0;

8:R2轉發數據包: Fa0/0 口收到數據包後經過路由(0.0.0.0/0 via 192.168.1.11)到達R3 Fa0/0 (11.0.0.0網段),此時數據幀封裝變化爲:源MAC地址爲R2的Fa1/0口MAC,目的MAC爲R3的Fa1/0口地址;

9:R3 Fa0/0 到Laptop1: R3對應接口的緩衝區需要了解目的主機的MAC地址。由於數據包中包含目的IP,R3檢查ARP緩存表,找到Laptop0的MAC地址,該數據包和Laptop0的MAC地址被傳輸到數據鏈路層,重新生成幀。

10:Laptop0 接收到數據幀後執行校驗後,檢查MAC地址是否與自己的MAC地址相同,取出數據包,把數據包傳遞給IP協議處理。IP數據包封裝的是一個ICMP迴應請求,把這個數據包交給ICMP處理,ICMP應答請求,丟棄這個數據包並迅速生成一個新的有效負荷作爲回答,重複上面的步驟,直到PC0收到迴應,通信結束。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章