局域網(wǎng)交換技術(shù)是OSI參考模型中的第二層——數(shù)據(jù)鏈路層(Data-Link Layer)上的技術(shù),所謂“交換”實際上就是指轉(zhuǎn)發(fā)數(shù)據(jù)幀 (frame)。在數(shù)據(jù)通信中,所有的交換設(shè)備(即交換機)執(zhí)行兩個基本的操作:
交換數(shù)據(jù)幀,將從輸入介質(zhì)上收到的數(shù)據(jù)幀轉(zhuǎn)發(fā)至相應(yīng)的輸出介質(zhì);
維護交換操作,構(gòu)造和維護交換地址表。
下面,我們探討一下這兩個基本操作的具體細節(jié)。
交換數(shù)據(jù)幀
交換機根據(jù)數(shù)據(jù)幀的MAC(Media Access Control)地址(即物理地址)進行數(shù)據(jù)幀的轉(zhuǎn)發(fā)操作。交換機轉(zhuǎn)發(fā)數(shù)據(jù)幀時,遵循以下規(guī)則:
如果數(shù)據(jù)幀的目的MAC地址是廣播地址或者組播地址,則向交換機所有端口轉(zhuǎn)發(fā)(除數(shù)據(jù)幀來的端口);
如果數(shù)據(jù)幀的目的地址是單播地址,但是這個地址并不在交換機的地址表中,那么也會向所有的端口轉(zhuǎn)發(fā)(除數(shù)據(jù)幀來的端口);
如果數(shù)據(jù)幀的目的地址在交換機的地址表中,那么就根據(jù)地址表轉(zhuǎn)發(fā)到相應(yīng)的端口;
如果數(shù)據(jù)幀的目的地址與數(shù)據(jù)幀的源地址在一個網(wǎng)段上,它就會丟棄這個數(shù)據(jù)幀,交換也就不會發(fā)生構(gòu)造維護交換地址表交換機的交換地址表中,一條表項主要由一個主機MAC地址和該地址所位于的交換機端口號組成。整張地址表的生成采用動態(tài)自學(xué)習(xí)的方法,即當(dāng)交換機收到一個數(shù)據(jù)幀以后,將數(shù)據(jù)幀的源地址和輸入端口記錄在交換地址表中。思科的交換機中,交換地址表放置在內(nèi)容可尋址存儲器(Content-Addressable Memory, CAM)中,因此也被稱為CAM表。
當(dāng)然,在存放交換地址表項之前,交換機首先應(yīng)該查找地址表中是否已經(jīng)存在該源地址的匹配表項,僅當(dāng)匹配表項不存在時才能存儲該表項。每一條地址表項都有一個時間標(biāo)記,用來指示該表項存儲的時間周期。地址表項每次被使用或者被查找時,表項的時間標(biāo)記就會被更新。如果在一定的時間范圍內(nèi)地址表項仍然沒有被引用,它就會從地址表中被移走。因此,交換地址表中所維護的一直是最有效和最精確的地址—端口信息。