詳析三層交換原理

學識都 人氣:7.67K

三層交換原理一直是許多讀者朋友最難理解的,在日常的讀者交流中也經常見到有讀者提出這方面的問題,特別是三層交換與路由原理方面的區別與聯繫。下面就跟小編一起了解一下三層交換機的原理吧!

三層交換原理

二層交換機的二層數據交換一般都是使用ASIC(Application Specific Integrated Circuit ,專用集成電路)的硬件芯片中的CAM表來實現的,因爲是硬件轉發,所以轉發性能非常高。而三層交換機的三層轉發也是依靠ASIC芯片完成的(路由器的路由功能主要依靠CPU軟件進行的),但其中除了二層交換用的CAM表外,還保存有專門用於三層轉發的三層硬件轉發表。

三層交換機的三層交換原理比較複雜,不同網絡環境下、不同廠家的三層交換機的三層交換流程都不完全相同。如圖7-55所示的僅一個直接連接在一臺三層交換機上的兩個不同網段主機三層交換的基本流程,各主要步驟解釋如下:

(1)源主機在發起通信之前,將自己的IP地址與目的主機的IP地址進行比較,如果源主機判斷目的主機與自己位於不同網段時,它需要通過網關來遞交報文的,所以它首先需要通過一個ARP請求報文獲取網關的MAC地址(在源主機不知道網關MAC地址的情形下),即源主機先發送ARP請求幀以獲取網關IP地址對應的MAC地址。

(2)網關在收到源主機發來的ARP請求報文後以一個ARP應答報文進行迴應,在應答報文中的“源MAC地址”就包含了網關的地址。

(3)在得到網關的ARP應答後,源主機再用網關MAC地址作爲報文的“目的MAC地址”,以源主機的IP地址作爲報文的“源IP地址”,以目的主機的IP地址作爲“目的IP地址”,先把發送給目的主機的數據發給網關。

三層交換基本流程

(4)網關在收到源主機發送給目的主機的數據後,由於查看得知源主機和目的主機的IP地址不在同一網段,於是把數據報上傳到三層交換引擎(ASIC芯片),在裏面查看有無目的主機的三層轉發表。

(5)如果在三層硬件轉發表中沒有找到目的主機的對應表項,則向CPU請求查看軟件路由表,如果有目的主機所在網段的路由表項,則還需要得到目的主機的MAC地址,因爲數據包在鏈路層是要經過幀封裝的。於是三層交換機CPU向目的主機所在網段發送一個ARP廣播請求包,以獲得目的主機MAC地址。

(6)交換機獲得目的主機MAC地址後,向ARP表中添加對應的表項,並轉發由源主機到達目的主機的靈氣包。同時三層交換機三層引擎會結合路由表生成目的主機的三層硬件轉發表。

以後到達目的主機的數據包就可以直接利用三層硬件轉發表中的轉發表項進行數據交換,不用再查看CPU中的路由表了。

以上流程適用位於不同VLAN(網段)中的主機互訪時屬於這種情況,這時用於互連的交換機作三層交換轉發。這就是“一次路由,多次交換”的原理。

TAGS:詳析