以太網(wǎng)的發(fā)展歷程基本上可以被看做在一種先天缺欠的結(jié)構(gòu)上修修補補的過程。為了緩解前述的沖突問題,提高網(wǎng)絡(luò)的可擴展性,人們想到將網(wǎng)絡(luò)分段。這種思想很簡單,如果一條總線上有40 臺主機,它們沖突的概率是80%,那么我就將其分割成兩條總線,這樣每條總線將只包含20臺主機,沖突概率是40%,依此類推。
但是,我們不能簡單地將總線剪斷,這樣會喪失連通性。我們需要的是在保持網(wǎng)絡(luò)連通性的同時,將沖突域減小。要達到這個目的就要在網(wǎng)絡(luò)中引入一種特殊的設(shè)備,這種設(shè)備有一個形象的名字——網(wǎng)橋(Bridge)。
什么是網(wǎng)橋?網(wǎng)橋是一種神奇的帶有兩個端口的鐵盒子,被放置在總線的某一點上。一旦被放置在總線上,網(wǎng)橋就會將左右兩邊“有機”地隔離開,如圖1所示。
圖1 網(wǎng)絡(luò)被網(wǎng)橋劃分為網(wǎng)段A和網(wǎng)段B
原本完整的網(wǎng)絡(luò)被網(wǎng)橋劃分為網(wǎng)段A和網(wǎng)段B,均為總線型網(wǎng)絡(luò)。當網(wǎng)段A中的主機A1要向主機A2發(fā)送數(shù)據(jù)時,由于主機A2并不在網(wǎng)段B中,網(wǎng)橋會將這一數(shù)據(jù)阻斷在網(wǎng)段A中,網(wǎng)段B中的主機這時不會發(fā)現(xiàn)總線被占用,反之亦然。這就相當于將原先的大沖突域分割成了A、B兩個小沖突域,有效地降低了沖突概率。與此同時,如果網(wǎng)段A中的主機A1要向網(wǎng)段B中的主機B1發(fā)送數(shù)據(jù),由于總線并沒有硬性地被剪斷,網(wǎng)橋完全可以將數(shù)據(jù)轉(zhuǎn)發(fā)到網(wǎng)段B,主機B1仍然可以收到來自網(wǎng)段A的數(shù)據(jù),反之亦然。這就是所謂的“有機”隔離。
網(wǎng)橋能夠做到“有機”隔離的關(guān)鍵在于其使用的“存儲/轉(zhuǎn)發(fā)(Store andForward)”算法。由于網(wǎng)橋同時處于網(wǎng)段A和網(wǎng)段B,所以網(wǎng)橋可以接收到全網(wǎng)數(shù)據(jù)。當網(wǎng)橋接收到數(shù)據(jù)時先將數(shù)據(jù)存儲在內(nèi)存中進行分析,如果數(shù)據(jù)的目的地址不在本網(wǎng)段,網(wǎng)橋會將該數(shù)據(jù)轉(zhuǎn)發(fā)到另一網(wǎng)段。網(wǎng)橋存儲/轉(zhuǎn)發(fā)算法的依據(jù)是數(shù)據(jù)的MAC地址,所以網(wǎng)橋是工作在數(shù)據(jù)鏈路層的網(wǎng)絡(luò)設(shè)備。
網(wǎng)橋的這種工作機制有利于廣播數(shù)據(jù)在全網(wǎng)的擴散。我們記得,廣播數(shù)據(jù)的目的MAC地址是FFFF.FFFF.FFFF,網(wǎng)橋會無條件地將這種數(shù)據(jù)進行轉(zhuǎn)發(fā),從而實現(xiàn)廣播數(shù)據(jù)的全網(wǎng)擴散。所以你一定要記住,網(wǎng)橋可以有效地隔離沖突域,但無法隔離廣播域。
網(wǎng)橋并不是仙丹,并不可包治百病。一個網(wǎng)橋只能將一條總線隔離成兩個沖突域,從而減少沖突的發(fā)生,但并不能完全消除沖突。完美主義者們希望能夠完全避免沖突,雖然當初設(shè)計以太網(wǎng)的時候他們并不這么想。