三層報文交換過程

三層報文交換過程

三層報文交換過程
根據上圖所示,假設VPC2想訪問VPC3,當咱們使用ping命令進行驗證時,報文是如何轉發打VPC3的
1 . 首先,在VPC2上,會對本身的IP地址與掩碼作一個與操做(192.168.1.1 與255.255.255.0進行與操做,獲得網絡號爲192.168.1.0),而後根據網絡號判斷要訪問的目的地址是否與本身屬於同一網段內,根據上圖,VPC2和VPC3不屬於同一網段,所以要進行三層轉發
2 . 因爲VPC2與要訪問的目標地址不在同一網段,所以須要將數據包發往網關
2.1 主機VPC2發送ARP廣播獲取網關MAC地址
ARP報文格式
三層報文交換過程
根據上圖咱們能夠得知如下信息
三層報文交換過程網絡

2.2 交換機在MAC地址表記錄主機VPC2的信息,並用網關的MAC地址迴應主機VPC2的ARP請求
交換機收到主機VPC2的ARP請求後,首先學習ARP報文頭部Ethernet的S-MAC,交換機將自動將其VPC2的mac地址,接受該APR信息的交換機端口e0/0,以及該接口所屬vlan等信息寫入mac地址表,以下所示
Switch#show mac address-table
Mac Address Tableide

Vlan Mac Address Type Ports學習


10 0050.7966.6802 DYNAMIC Et0/0blog

因爲主機VPC2發送的ARP報文中的目的IP就是該交換機上接受ARP廣播接口e0/0所屬的VLAN10的IP地址,因此交換機將經過vlan10的mac地址做爲源回覆主機VPC2的ARP請求
三層報文交換過程接口

2.3 主機VPC2收到網關的ARP迴應報文後,主機VPC2會將網關MAC當成主機VPC3的MAC地址,因此主機VPC2給VPC3發送數據時,將網關MAC做爲D-MAC來封裝幀,以下所示
三層報文交換過程路由

2.4 數據包到達交換機後,交換機經過轉發表或者路由表進行三層轉發
當交換機收到VPC2發來的數據包後,根據ethernet的目標MAC,去查找mac表,發現目標mac屬於本地vlan10,此時交換機會將數據包交給三層轉發引擎處理該數據包,此時須要分三種狀況處理
(1) 硬件轉發表有表項匹配,根據目標IP地址進行匹配
a. 若是目標地址屬於本地IP地址,則完成數據包傳輸
b. 若是爲其餘IP地址,則交換機須要完成接下來的轉發,將出接口mac地址最爲新的源MAC,下一跳做爲目標MAC,而後繼續將數據包轉發
(2) 若是(1)不匹配,則查找路由表,而後將數據包轉發到下一跳
(3) 若是(2)不匹配,則將數據包丟棄
在咱們的實驗環境中,該目標地址屬於其餘IP地址,並且交換機中已經存在該轉發表或路由表,因此將修改源MAC和目標MAC爲vlan20的mac和VPC3的mac
三層報文交換過程
這樣就完成了不一樣網段的路由轉發, 此時交換機的硬件轉發表已經保存了VPC2和VPC3的表項。
注意:mac地址表和ARP表是有老化時間的,若是在老化時間內沒有任何數據包交互,則將清除表項,後續有報文交換時,就須要從新進行上述過程。it

相關文章
相關標籤/搜索