與傳統(tǒng)的二層交換機(jī)相比,三層交換機(jī)增加了路由功能,可以理解為具有路由功能的交換機(jī)。
三層交換機(jī)可以根據(jù)其處理數(shù)據(jù)的不同而分為純硬件和純軟件兩大類。
(1)純硬件的三層技術(shù)相對(duì)來(lái)說(shuō)技術(shù)復(fù)雜,成本高,但是速度快,性能好,帶負(fù)載能力強(qiáng)。其原理是,采用ASIC芯片,采用硬件的方式進(jìn)行路由表的查找和刷新。
當(dāng)數(shù)據(jù)由端口接口芯片接收進(jìn)來(lái)以后,首先在二層交換芯片中查找相應(yīng)的目的MAC地址,如果查到,就進(jìn)行二層轉(zhuǎn)發(fā),否則將數(shù)據(jù)送至三層引擎。在三層引擎中,ASIC芯片查找相應(yīng)的路由表信息,與數(shù)據(jù)的目的IP地址相比對(duì),然后發(fā)送ARP數(shù)據(jù)包到目的主機(jī),得到該主機(jī)的MAC地址,將MAC地址發(fā)到二層芯片,由二層芯片轉(zhuǎn)發(fā)該數(shù)據(jù)包。
(2)基于軟件的三層交換機(jī)技術(shù)較簡(jiǎn)單,但速度較慢,不適合作為主干。其原理是,采用CPU用軟件的方式查找路由表。
當(dāng)數(shù)據(jù)由端口接口芯片接收進(jìn)來(lái)以后,首先在二層交換芯片中查找相應(yīng)的目的MAC地址,如果查到,就進(jìn)行二層轉(zhuǎn)發(fā)否則將數(shù)據(jù)送至CPU。CPU查找相應(yīng)的路由表信息,與數(shù)據(jù)的目的IP地址相比對(duì),然后發(fā)送ARP數(shù)據(jù)包到目的主機(jī)得到該主機(jī)的MAC地址,將MAC地址發(fā)到二層芯片,由二層芯片轉(zhuǎn)發(fā)該數(shù)據(jù)包。因?yàn)榈蛢r(jià)CPU處理速度較慢,因此這種三層交換機(jī)處理速度較慢。
二層交換機(jī)的二層數(shù)據(jù)交換一般都是使用ASIC(專用集成電路)的硬件芯片中的Mac表來(lái)實(shí)現(xiàn)的,因?yàn)槭怯布D(zhuǎn)發(fā),所以轉(zhuǎn)發(fā)性能非常高。而三層交換機(jī),但其中除了二層交換用的Mac表外,還保存有專門用于三層轉(zhuǎn)發(fā)的三層硬件轉(zhuǎn)發(fā)表。
如下圖所示的為三層交換機(jī)的基本工作流程,其主要步驟解釋如下:
(1)源主機(jī)在發(fā)起通信之前,將自己的IP地址與目的主機(jī)的IP地址進(jìn)行比較,如果源主機(jī)判斷目的主機(jī)與自己位于不同網(wǎng)段時(shí),它需要通過(guò)網(wǎng)關(guān)來(lái)遞交報(bào)文的,所以它首先需要通過(guò)一個(gè)ARP請(qǐng)求報(bào)文獲取網(wǎng)關(guān)的MAC地址(在源主機(jī)不知道網(wǎng)關(guān)MAC地址的情形下),即源主機(jī)先發(fā)送ARP請(qǐng)求幀以獲取網(wǎng)關(guān)IP地址對(duì)應(yīng)的MAC地址。
?。?)網(wǎng)關(guān)在收到源主機(jī)發(fā)來(lái)的ARP請(qǐng)求報(bào)文后以一個(gè)ARP應(yīng)答報(bào)文進(jìn)行回應(yīng),在應(yīng)答報(bào)文中的“源MAC地址”就包含了網(wǎng)關(guān)的MAC地址。
?。?)在得到網(wǎng)關(guān)的ARP應(yīng)答后,源主機(jī)再用網(wǎng)關(guān)MAC地址作為報(bào)文的“目的MAC地址”,以源主機(jī)的IP地址作為報(bào)文的“源IP地址”,以目的主機(jī)的IP地址作為“目的IP地址”,先把發(fā)送給目的主機(jī)的數(shù)據(jù)發(fā)給網(wǎng)關(guān)。
三層交換基本流程圖解
?。?)網(wǎng)關(guān)在收到源主機(jī)發(fā)送給目的主機(jī)的數(shù)據(jù)后,由于查看得知源主機(jī)和目的主機(jī)的IP地址不在同一網(wǎng)段,于是把數(shù)據(jù)報(bào)上傳到三層交換引擎(ASIC芯片),在里面查看有無(wú)目的主機(jī)的三層轉(zhuǎn)發(fā)表。
?。?)如果在三層硬件轉(zhuǎn)發(fā)表中沒(méi)有找到目的主機(jī)的對(duì)應(yīng)表項(xiàng),則向CPU請(qǐng)求查看軟件路由表,如果有目的主機(jī)所在網(wǎng)段的路由表項(xiàng),則還需要得到目的主機(jī)的MAC地址,因?yàn)閿?shù)據(jù)包在鏈路層是要經(jīng)過(guò)幀封裝的。于是三層交換機(jī)CPU向目的主機(jī)所在網(wǎng)段發(fā)送一個(gè)ARP廣播請(qǐng)求包,以獲得目的主機(jī)MAC地址。
?。?)交換機(jī)獲得目的主機(jī)MAC地址后,向ARP表中添加對(duì)應(yīng)的表項(xiàng),并轉(zhuǎn)發(fā)由源主機(jī)到達(dá)目的主機(jī)的包。同時(shí)三層交換機(jī)三層引擎會(huì)結(jié)合路由表生成目的主機(jī)的三層硬件轉(zhuǎn)發(fā)表。
以后到達(dá)目的主機(jī)的數(shù)據(jù)包就可以直接利用三層硬件轉(zhuǎn)發(fā)表中的轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行數(shù)據(jù)交換,不用再查看CPU中的路由表了。這就是“一次路由,多次交換”的原理。
北京炫億時(shí)代科技有限公司主營(yíng)思科、華為、華三
網(wǎng)絡(luò)設(shè)備。三層交換機(jī)產(chǎn)品型號(hào)多,價(jià)格優(yōu),歡迎咨詢4000806056。