以下內容來自:第一監控
什么是交換機?
以太網交換機就是在以太網傳輸數據的交換機,它的結構形式是每個端口都直接和設備相連,是一種基於MAC地址識別、完成以太網數據幀轉發的網絡設備。
交換機通常是運行在網絡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也收到一次,丟棄。
整個轉發過程就是這樣了。