網絡基礎知識:交換機轉發原理是怎樣的?

交換機通常是運行在網絡OSI七層模型的第二層數據鏈路層,如圖中,第三層網絡層通常是路由器運行在該層,那麼三層交換機就是說明交換機具有了路由器的某些功能,但是三層交換機是不能替代路由器的。

收藏 | 網絡基礎知識:交換機轉發原理是怎樣的?

網絡交換機和以太網電纜,數據中心概念。

今天我們來看看,交換機的工作轉發原理是什麼樣的。


交換機既然是利用端口進行網絡數據傳輸,那麼它是如何識別數據是誰給誰的呢?


其實交換機通電後會自動建立一個端口地址表,也叫MAC地址表它會記錄每個設備的MAC地址機和哪個端口連接的,它會有自動學習功能,一開始如果沒有地址,每次經過交換機的信息,它都會讀取並記錄下送信息過來的設備端口MAC地址,如果下次有其他設備送信息給該設備,就直接送達了。


收藏 | 網絡基礎知識:交換機轉發原理是怎樣的?


最普遍的情況下,轉發原則是這樣的:交換機收到一個以太幀數據,它自己會比對交換機已經學習到的端口地址表,如果表裡存在端口地址,直接在對應的端口轉發出去。如果表裡不存在,則會向剩下的每個端口(除送信息過來的端口)廣播發送一條相同的信息。


這是我能用自己的話把我所理解的交換機轉發原理盡力展示給大家了,中間已經省掉一些沒必要糾纏的專業術語了。


為了方便大家理解,手動圖:

收藏 | 網絡基礎知識:交換機轉發原理是怎樣的?

交換機A交換機B,現在如果從主機01發一個數據到主機03,設定的前提是,交換機A和B的地址表都是空白。


那麼首先,從主機01發數據到交換機A,交換機A在收到數據以後,先識別出主機的MAC地址是01(假設是01因為每臺設備都是16進制的唯一地址),端口號是1。


交換機A查找自己MAC地址表,發現沒有(如果有就直接轉發),交換機A向其他的所有端口廣播。


交換機B收到數據信息後,識別並學習源地址和過來的端口號。


交換機B查看地址表,發現沒有,記錄並向除了端口3以外的兩個端口發送廣播包。


收藏 | 網絡基礎知識:交換機轉發原理是怎樣的?


最後的情況是,主機02會收到數據一次,不是自己的,丟棄數據;主機03收到數據一次,正好是自己的,接收數據;主機04也收到一次,丟棄。


整個轉發過程就是這樣了。


最後給大家留一個問題,還是上面一張圖,主機01發送數據給主機03成功以後,現在主機04要給主機01發送一個數據包,會有哪些步驟,希望認真看的朋友留言給出答案。


分享到:


相關文章: