交換機是二層設備,工作在OSI模型的第二層--數(shù)據(jù)鏈路層,交換的基本概念指基于以下兩條準則做出決策的設備:
- 進入(ingress)端口
- 目的地址
術語ingress用于描述幀通過特定端口進入設備,egress用于描述設備通過特定端口離開設備。交換機做出轉(zhuǎn)發(fā)決定的時候,是基于進入端口以及消息的目的地址的。
交換機維護一張MAC地址表,里面存放了MAC地址與交換機端口的映射,MAC地址表也稱為CAM(Content Addressable Memory) 表。 通過這張表決定如何轉(zhuǎn)發(fā)數(shù)據(jù)流。交換機唯一智能部分是利用這張表基于消息的進入端口和目的地址來轉(zhuǎn)發(fā)。一個交換機中只有一張定義了地址和端口的主交換表;因此,無論進入端口如何,同一目的地址的消息永遠從同一出口離開。
交換機轉(zhuǎn)發(fā)操作
交換機對幀的轉(zhuǎn)發(fā)操作行為一共有三種:泛洪(Flooding) ,轉(zhuǎn)發(fā)(Forwarding) , 丟棄(Discarding) 。
泛洪:交換機把從某一端口進來的幀通過所有其它的端口轉(zhuǎn)發(fā)出去(注意, “所有其它的端口” 是指除了這個幀進入交換機的那個端口以外的所有端口) 。
轉(zhuǎn)發(fā):交換機把從某一端口進來的幀通過另一個端口轉(zhuǎn)發(fā)出去(注意, “另一個端口” 不能是這個幀進入交換機的那個端口) 。
丟棄:交換機把從某一端口進來的幀直接丟棄。
交換機的基本工作原理可以概括地描述如下:
1、如果進入交換機的是一個單播幀, 則交換機會去MAC地址表中查找這個幀的目的MAC地址。
1) 如果查不到這個MAC地址, 則交換機執(zhí)行泛洪操作。
2) 如果查到了這個MAC地址, 則比較這個MAC地址在MAC地址表中對應的端口是不是這個幀進入交換機的那個端口。 如果不是, 則交換機執(zhí)行轉(zhuǎn)發(fā)操作。 如果是, 則交換機執(zhí)行丟棄操作。
2、如果進入交換機的是一個廣播幀, 則交換機不會去查MAC地址表,而是直接執(zhí)行泛洪操作。
3、如果進入交換機的是一個組播幀, 則交換機的處理行為比較復雜,超出了這里的學習范圍, 所以略去不講。
另外, 交換機還具有學習能力。 當一個幀進入交換機后, 交換機會檢查這個幀的源MAC地址, 并將該源MAC地址與這個幀進入交換機的那個端口進行映射,然后將這個映射關系存放進MAC地址表。
交換機域:
交換機比較容易混淆的兩個術語是沖突域和廣播域。
沖突域
設備間共享同一網(wǎng)段稱為沖突域。因為該網(wǎng)段內(nèi)兩個以上設備同時嘗試通訊時,可能發(fā)生沖突。使用工作在數(shù)據(jù)鏈路層的交換機可將各個網(wǎng)段的沖突域隔離,并減少競爭帶寬的設備數(shù)量。交換機的每一個端口就是一個新的網(wǎng)段,因為插入端口的設備之間無需競爭。結果是每一個端口都代表一個新的沖突域。網(wǎng)段上的設備可以使用更多帶寬,沖突域內(nèi)的沖突不會影響到其他網(wǎng)段,這也成為微網(wǎng)段。
廣播域
盡管交換機按照MAC地址過濾大多數(shù)幀,它們并不能過濾廣播幀。LAN上的交換機接收到廣播包后,必須對所有端口泛洪?;ミB的交換機集合形成了一個廣播域。網(wǎng)絡層設備如路由器,可隔離二層廣播域。路由器可同時隔離沖突和廣播域。
當設備發(fā)出二層廣播包,幀中的目的MAC地址被設置為全二進制數(shù),廣播域中的所有設備都會接收到該幀。二層廣播域也稱為MAC廣播域。MAC廣播域包含LAN上所有接收到廣播幀的設備。廣播通信比較多時,可能會帶來廣播風暴。特別是在包含不同速率的網(wǎng)段,高速網(wǎng)段產(chǎn)生的廣播流量可能導致低速網(wǎng)段嚴重擁擠,乃至崩潰。