為什么我們說三層交換機的三層轉(zhuǎn)發(fā)性能要比路由器的效率要高的多?有時候在很多書里會提及到現(xiàn)在路由器的軟件做的也非常強大,幾乎也能夠達到限速轉(zhuǎn)發(fā)的能力;但是軟件能夠和硬件比嗎,不太可能;交換機之所以轉(zhuǎn)發(fā)速度快是因為交換機使用了專門的asic硬件轉(zhuǎn)發(fā)卡,而路由器是software-based 的轉(zhuǎn)發(fā)。
我們習(xí)慣說,在二層網(wǎng)絡(luò)環(huán)境中相同vlan之間可以通信,不同vlan之間不可以通信,如果想通信必須借助三層設(shè)備,所以說三層交換機必須要做的事情是路由轉(zhuǎn)發(fā),但是具體的工作原理是什么樣的呢 ?
首先三層交換機在同一子網(wǎng)和不同子網(wǎng)環(huán)境中都分別會做些什么事情,有哪些不同呢?
如上圖,在二層環(huán)境中a---b之間通信,a發(fā)送一個數(shù)據(jù)包目的mac地址是b,當(dāng)發(fā)送到交換機,交換機基于目的mac地址的轉(zhuǎn)發(fā),然后開始查看自己的mac表項,找出對應(yīng)的出口出去了整個過程中只有mac地址的查找,沒有對數(shù)據(jù)幀產(chǎn)生任何的改變,我在這只對二層幀轉(zhuǎn)發(fā)做一個簡短而又簡單的描述,畢竟重點不在這。
在三層環(huán)境中 a---c之間通信,a發(fā)送一個數(shù)據(jù)包,目的mac地址應(yīng)該是網(wǎng)關(guān)mac地址,也即是交換機的mac地址smac好在這里插一個小插曲,之前有人問過我說一個交換機要不要三層轉(zhuǎn)發(fā)是怎么判斷的,我當(dāng)時的回答是看這個數(shù)據(jù)包的mac地址是不是自己,如果是就執(zhí)行三層轉(zhuǎn)發(fā),別人說回答是正確的;但是當(dāng)我回來研究這個問題的時候,我發(fā)現(xiàn)當(dāng)時我的回答是不嚴(yán)謹(jǐn)?shù)模瑸槭裁??當(dāng)一個交換機收到一個數(shù)據(jù)包的二層目的mac地址是自己,此時它要做什么?
插個一個小插曲,前兩天在微信上看過這樣的一個小短片,說的是在一所大學(xué)教室里,有兩個男生特別喜歡坐在他們身后的班花,就不停的看著那個女孩,突然,那個女孩站起來準(zhǔn)備走了,在路過他們身邊的時候塞給了坐在一邊的男生一個卷起來的小紙條;物理上,這個女生是將紙條遞給了這個男生,想想這個男生接下來要做什么事情?是要打開紙條查看里面寫了什么內(nèi)容吧!三層交換機在接收到目的mac地址是自己的時候要做的事情也是向上層解封裝,查看三層目的ip地址,然后呢
?當(dāng)時那個男生很高興的拿著那個紙條,然后打開了,上面寫著“請將紙條遞給下一個人”,哈哈,,,三層交換機也是這樣一看原來目的ip地址不是自己,這才執(zhí)行路由層面的轉(zhuǎn)發(fā);所以說交換機在執(zhí)行要不要三層轉(zhuǎn)發(fā),是在目的mac是自己的同時,ip地址是不是自己,如果是自己那還轉(zhuǎn)發(fā)個啥來,就不用轉(zhuǎn)發(fā)了。
交換機在判斷出目的ip不是自己的時候是不是一定就去查看路由表呢 ?不是,這個就是交換機的關(guān)鍵所在了,交換機此時不會查看路由表,不會查看arp表,不會查看mac地址表;那交換機會查看什么表?
交換機此時會查看自己集成在asic硬件轉(zhuǎn)發(fā)卡中的硬件轉(zhuǎn)發(fā)表,那這個硬件轉(zhuǎn)發(fā)表都包含了什么內(nèi)容呢?
當(dāng)?shù)谝粋€包過來的時候,發(fā)現(xiàn)硬件轉(zhuǎn)發(fā)表并沒有什么表項,所以此時必須將數(shù)據(jù)包交由路由進程處理,一旦交由cpu處理,必然會消耗cpu資源,此時會查看路由表,然后發(fā)現(xiàn)此ip地址個自己是直連的,此時就去查看arp找出此地址對應(yīng)的mac地址,就可以轉(zhuǎn)發(fā)出去了
在決定轉(zhuǎn)發(fā)出去過程中,交換機至少會做三件事情,一,修改ip包頭的ttl值;二,修改原mac地址,改成自己出接口mac地址;三,建立交換機硬件轉(zhuǎn)發(fā)表,包括目的ip地址,目的ip地址(下一跳)對應(yīng)的mac地址,mac地址對應(yīng)的vlan,以及對應(yīng)的端口(這個每個廠家有自己的理解)
這樣當(dāng)一下包過來的時候,交換機就會查看硬件轉(zhuǎn)發(fā)表直接轉(zhuǎn)發(fā)而不會在經(jīng)過路由表的查詢了,也即是交換機的一次路由,多次交換機原理。
每個廠家在這一塊定義都不太一樣,但原理是一樣的,cisco中使用的是cef表,并且在路由器的現(xiàn)在也集成了基于軟件的cef,其中cef包含了三張表,包括fib表、鄰接表(硬件轉(zhuǎn)發(fā)表)和netflow表項。
昆明網(wǎng)站建設(shè)-企業(yè)門戶網(wǎng)站能夠幫助企業(yè)整體形象展示上海小程序開發(fā)都要具備哪些基本功能?『微信公眾號運營注意事項』微信公眾號里八大不能忍受的用戶體驗讓房地產(chǎn)網(wǎng)站設(shè)計增色的設(shè)計技巧為什么呼倫貝爾SEO優(yōu)化需要很長時間才會起作用網(wǎng)站排名掉落到100名外,如何恢復(fù)作為網(wǎng)站管理員怎樣對網(wǎng)站進行優(yōu)化呢?開發(fā)一個小程序需要多久