二層交換設備工作在OSI模型的第二層,即數據鏈路層,它對數據包的轉發是建立在MAC(Media Access Control )地址基礎之上的。二層交換設備不同的接口發送和接收數據獨立,各接口屬于不同的沖突域,因此有效地隔離了網絡中物理層沖突域,使得通過它互連的主機(或網絡)之間不必再擔心流量大小對于數據發送沖突的影響。
二層交換設備通過解析和學習以太網幀的源MAC來維護MAC地址與接口的對應關系(保存MAC與接口對應關系的表稱為MAC表),通過其目的MAC來查找MAC表決定向哪個接口轉發,基本流程如下:
- 二層交換設備收到以太網幀,將其源MAC與接收接口的對應關系寫入MAC表,作為以后的二層轉發依據。如果MAC表中已有相同表項,那么就刷新該表項的老化時間。MAC表表項采取一定的老化更新機制,老化時間內未得到刷新的表項將被刪除掉。
- 設備判斷目的MAC地址是不是廣播地址:
- 如果目的MAC地址是廣播地址,那么向所有接口轉發(報文的入接口除外)。
- 如果目的MAC地址不是廣播地址,根據以太網幀的目的MAC去查找MAC表,如果能夠找到匹配表項,則向表項所示的對應接口轉發,如果沒有找到匹配表項,那么向所有接口轉發(報文的入接口除外)。
從上述流程可以看出,二層交換通過維護MAC表以及根據目的MAC查表轉發,有效的利用了網絡帶寬,改善了網絡性能。圖1是一個二層交換的示例。
二層交換設備雖然能夠隔離沖突域,但是它并不能有效的劃分廣播域。因為從前面介紹的二層交換設備轉發流程可以看出,廣播報文以及目的MAC查找失敗的報文會向除報文的入接口之外的其它所有接口轉發,當網絡中的主機數量增多時,這種情況會消耗大量的網絡帶寬,并且在安全性方面也帶來一系列問題。當然,通過路由器來隔離廣播域是一個辦法,但是由于路由器的高成本以及轉發性能低的特點使得這一方法應用有限。基于這些情況,二層交換中出現了VLAN技術。