交換機(jī)的設(shè)計是將網(wǎng)絡(luò)包原樣轉(zhuǎn)發(fā)到目的地,內(nèi)部結(jié)構(gòu)如下鸽捻。
首先凳鬓,信號到達(dá)網(wǎng)線接口茁肠,由PHY (MAU)模塊進(jìn)行接收,這一部分和集線器是相同的缩举。交換機(jī)的接口和PHY(MAU)模塊也是以MDI-X模式進(jìn)行連接的(說明1)垦梆,當(dāng)信號從雙絞線傳入時,就會進(jìn)入PHY(MAU)模塊的接收部分仅孩。
[說明1]:早期的交換機(jī)基本上和上圖最上面的那種情況一樣托猩,通過集線器和計算機(jī)進(jìn)行連接的,由于集線器的接口是MDI-X模式杠氢,如果要用直連網(wǎng)線連接站刑,那么交換機(jī)應(yīng)該采用MDI模式的接口。不過現(xiàn)在基本上不使用集線器了鼻百,而是將計算機(jī)直接連接到交換機(jī)上绞旅,因此交換機(jī)也和集線器一樣采用了MDI-X接線。
接下來温艇,PHY(MAU)模塊會將網(wǎng)線中的信號轉(zhuǎn)換為通用格式因悲,然后傳遞給MAC模塊。MAC模塊將信號轉(zhuǎn)換為數(shù)字信息勺爱,然后通過包末尾的FCS校驗(yàn)錯誤晃琳,如果沒有問題則存放到緩沖區(qū)中,如果檢測到錯誤就丟棄這個包。這部分操作和網(wǎng)卡基本相同卫旱,大家可以認(rèn)為交換機(jī)的每個網(wǎng)線接口后面都是一塊網(wǎng)卡人灼。網(wǎng)線接口和后面的電路部分加在一起稱為一個端口,也就是說交換機(jī)的一個端口就相當(dāng)于計算機(jī)上的一塊網(wǎng)卡[說明2]顾翼。但交換機(jī)的工作方式和網(wǎng)卡有一點(diǎn)不同投放。網(wǎng)卡本身具有MAC地址,并通過核對收到的包的接收方MAC地址判斷是不是發(fā)給自己的适贸,如果不是發(fā)給自己的則丟棄灸芳;交換機(jī)的端口不核對接收方MAC地址,而是直接接收所有的包并存放到緩沖區(qū)中拜姿。因此烙样,和網(wǎng)卡不同,交換機(jī)的端口不具有MAC地址[說明3]蕊肥。
[說明2]如果在計算機(jī)上安裝多塊網(wǎng)卡谒获,并開啟“混雜模式”讓網(wǎng)卡接收所有的網(wǎng)絡(luò)包,然后再安裝一個和交換機(jī)具備同樣功能的網(wǎng)絡(luò)包轉(zhuǎn)發(fā)軟件晴埂,那么這臺計算機(jī)就變成了一臺交換機(jī)究反。
[說明3]內(nèi)置用于實(shí)現(xiàn)管理等功能的處理器的交換機(jī)除外。這種交換機(jī)相當(dāng)于在一個盒子里同時集成了計算機(jī)和交換機(jī)兩種設(shè)備儒洛,其中計算機(jī)的部分是具有MAC地址的。
將包存入緩沖區(qū)后狼速,接下來需要查詢一下這個包的接收方MAC地址是否已經(jīng)在MAC地址表中有記錄了琅锻。MAC地址表主要包含兩個信息,一個是設(shè)備的MAC地址向胡,另一個是該設(shè)備連接在交換機(jī)的哪個端口上恼蓬。MAC地址和端口是一一對應(yīng)的,通過這張表就能夠判斷出收到的包應(yīng)該轉(zhuǎn)發(fā)到哪個端口僵芹。舉例子处硬,如果收到的包的接收方MAC地址為00-02-B3-1C-9C-F9,則與上圖的表中的第3行匹配拇派,根據(jù)端口列的信息荷辕,可通過交換電路將包發(fā)送到8號端口了。
當(dāng)網(wǎng)絡(luò)包通過交換電路到達(dá)發(fā)送端口時件豌,端口中的MAC模塊和PHY (MAU)模塊會執(zhí)行發(fā)送操作疮方,將信號發(fā)送到網(wǎng)線中,這部分和網(wǎng)卡發(fā)送信號的過程是一樣的茧彤。
本文摘取自周自恒翻譯的戶根勤編寫的《網(wǎng)絡(luò)是怎樣連接的》