什么是網(wǎng)橋?
網(wǎng)橋工作在數(shù)據(jù)鏈路層,將兩個(gè)LAN連起來,根據(jù)MAC地址來轉(zhuǎn)發(fā)幀, 可以看作一個(gè)低層的路由器(路由器工作在網(wǎng)絡(luò)層,根據(jù)網(wǎng)絡(luò)地址如IP地址進(jìn)行轉(zhuǎn)發(fā))。
本文引用地址:http://butianyuan.cn/article/155531.htm
遠(yuǎn)程網(wǎng)橋通過一個(gè)通常較慢的鏈路(如電話線)連接兩個(gè)遠(yuǎn)程LAN,對(duì)本地網(wǎng)橋而言,性能比較重要, 而對(duì)遠(yuǎn)程網(wǎng)橋而言,在長(zhǎng)距離上可正常運(yùn)行是更重要的。
網(wǎng)橋與路由器的比較
網(wǎng)橋并不了解其轉(zhuǎn)發(fā)幀中高層協(xié)議的信息,這使它可以同時(shí)以同種凡是處理IP、IPX等協(xié)議, 它還提供了將無(wú)路由協(xié)議的網(wǎng)絡(luò)(如NetBEUI)分段的功能。
由于路由器處理網(wǎng)絡(luò)層的數(shù)據(jù),因此它們更容易互連不同的數(shù)據(jù)鏈路層,如令牌環(huán)網(wǎng)段和以太網(wǎng)段。 網(wǎng)橋通常比路由器難控制。象IP等協(xié)議有復(fù)雜的路由協(xié)議,使網(wǎng)管易于管理路由; IP等協(xié)議還提供了較多的網(wǎng)絡(luò)如何分段的信息(即使其地址也提供了此類信息)。 而網(wǎng)橋則只用MAC地址和物理拓?fù)溥M(jìn)行工作。因此網(wǎng)橋一般適于小型較簡(jiǎn)單的網(wǎng)絡(luò)
二、使用原因
許多單位都有多個(gè)局域網(wǎng),并且希望能夠?qū)⑺鼈冞B接起來。之所以一個(gè)單位有多個(gè)局域網(wǎng),有以下6個(gè)原因:
首先,許多大學(xué)的系或公司的部門都有各自的局域網(wǎng),主要用于連接他們自己的個(gè)人計(jì)算機(jī)、工作站以及服務(wù)器。 由于各系(或部門)的工作性質(zhì)不同,因此選用了不同的局域網(wǎng),這些系(或部門)之間早晚需相互交往,因而需要網(wǎng)橋。
其次,一個(gè)單位在地理位置上較分散,并且相距較遠(yuǎn),與其安裝一個(gè)遍布所有地點(diǎn)的同軸電纜網(wǎng), 不如在各個(gè)地點(diǎn)建立一個(gè)局域網(wǎng),并用網(wǎng)橋和紅外鏈路連接起來,這樣費(fèi)用可能會(huì)低一些。
第3,可能有必要將一個(gè)邏輯上單一的LAN分成多個(gè)局域網(wǎng),以調(diào)節(jié)載荷。例如采用由網(wǎng)橋連接的多個(gè)局域網(wǎng), 每個(gè)局域網(wǎng)有一組工作站,并且有自己的文件服務(wù)器,因此大部分通信限于單個(gè)局域網(wǎng)內(nèi),減輕了主干網(wǎng)的負(fù)擔(dān)。
第4,在有些情況下,從載荷上看單個(gè)局域網(wǎng)是毫無(wú)問題的,
但是相距最遠(yuǎn)的機(jī)器之間的物理距離太遠(yuǎn)(比如超過802.3所規(guī)定的2.5km)。即使電纜鋪設(shè)不成問題, 但由于來回時(shí)延過長(zhǎng),網(wǎng)絡(luò)仍將不能正常工作。唯一的辦法是將局域網(wǎng)分段,在各段之間放置網(wǎng)橋。 通過使用網(wǎng)橋,可以增加工作的總物理距離。
第5,可靠性問題。在一個(gè)單獨(dú)的局域網(wǎng)中,一個(gè)有缺陷的節(jié)點(diǎn)不斷地輸出無(wú)用的信息流會(huì)嚴(yán)重地破壞局域網(wǎng)的運(yùn)行。 網(wǎng)橋可以設(shè)置在局域網(wǎng)中的關(guān)鍵部位,就像建筑物內(nèi)的放火門一樣,防止因單個(gè)節(jié)點(diǎn)失常而破壞整個(gè)系統(tǒng)。
第6,網(wǎng)橋有助于安全保密。大多數(shù)LAN接口都有一種混雜工作方式(promiscuous mode),在這種方式下,
計(jì)算機(jī)接收所有的幀,包括那些并不是編址發(fā)送給它的幀。如果網(wǎng)中多處設(shè)置網(wǎng)橋并謹(jǐn)慎地?cái)r截?zé)o須轉(zhuǎn)發(fā)的重要信息, 那么就可以把網(wǎng)絡(luò)分隔以防止信息被竊。
三、兼容性問題
有人可能會(huì)天真地認(rèn)為從一個(gè)802局域網(wǎng)到另一個(gè)802局域網(wǎng)的網(wǎng)橋非常簡(jiǎn)單,但實(shí)際上并非如此。 在802.x到802.y的九種組合中, 每一種都有它自己的特殊問題要解決。在討論這些特殊問題之前,先來看一看這些網(wǎng)橋共同面臨的一般性問題。
首先,各種局域網(wǎng)采用了不同的幀格式。這種不兼容性并不是由技術(shù)上的原因造成的, 而僅僅是由于支持三種標(biāo)準(zhǔn)的公司(Xerox, GM和IBM),沒有一家愿意改變自己所支持的標(biāo)準(zhǔn)。其結(jié)果是: 在不同的局域網(wǎng)間復(fù)制幀要重排格式,這需要占用CPU時(shí)間,重新計(jì)算校驗(yàn)和, 而且還有可能產(chǎn)生因網(wǎng)橋存儲(chǔ)錯(cuò)誤而造成的無(wú)法檢測(cè)的錯(cuò)誤。
第二個(gè)問題是互聯(lián)的局域網(wǎng)并非必須按相同的數(shù)據(jù)傳輸速率運(yùn)行。當(dāng)快速的局域網(wǎng)向慢速的局域網(wǎng)發(fā)送一長(zhǎng)串連續(xù)幀時(shí), 網(wǎng)橋處理幀的速度要比幀進(jìn)入的速度慢。網(wǎng)橋必須用緩沖區(qū)存儲(chǔ)來不及處理的幀,同時(shí)還得提防耗盡存儲(chǔ)器。 即使是10Mb/s的802.4到10Mb/s的802.3的網(wǎng)橋,在某種程度上也存在這樣的問題。因?yàn)?02.3的部分帶寬耗費(fèi)于沖突。 802.3實(shí)際上并不是真的10Mb/s,而802.4(幾乎)確實(shí)為10Mb/s。
與網(wǎng)橋瓶頸問題相關(guān)的一個(gè)細(xì)微而重要的問題是其上各層的計(jì)時(shí)器值。假如802.4局域網(wǎng)上的網(wǎng)絡(luò)層想發(fā)送一段很長(zhǎng)的報(bào)文(幀序列)。 在發(fā)出最后一幀之后,它開啟一個(gè)計(jì)時(shí)器,等待確認(rèn)。如果此報(bào)文必須通過網(wǎng)橋轉(zhuǎn)到慢速的802.5網(wǎng)絡(luò), 那么在最后一幀被轉(zhuǎn)發(fā)到低速局域網(wǎng)之前,計(jì)時(shí)器就有可能時(shí)間到。網(wǎng)絡(luò)層可能會(huì)以為幀丟失而重新發(fā)送整個(gè)報(bào)文。 幾次傳送失敗后,網(wǎng)絡(luò)層就會(huì)放棄傳輸并告訴傳輸層目的站點(diǎn)已經(jīng)關(guān)機(jī)。
第三,在所有的問題中,可能最為嚴(yán)重的問題是三種802 LAN有不同的最大幀長(zhǎng)度。對(duì)于802.3,最大幀長(zhǎng)度取決于配置參數(shù), 但對(duì)標(biāo)準(zhǔn)的10M/bs系統(tǒng)最大有效載荷為1500字節(jié)。
802.4的最大幀長(zhǎng)度固定為8191字節(jié)。802.5沒有上限,只要站點(diǎn)的傳輸時(shí)間不超過令牌持有時(shí)間。如果令牌時(shí)間缺省為10ms, 則最大幀長(zhǎng)度為5000字節(jié)。一個(gè)顯而易見的問題出現(xiàn)了:當(dāng)必須把一個(gè)長(zhǎng)幀轉(zhuǎn)發(fā)給不能接收長(zhǎng)幀的局域網(wǎng)時(shí),將會(huì)怎么樣? 在本層中不考慮把幀分成小段。所有的協(xié)議都假定幀要么到達(dá)要么沒有到達(dá),沒有條款規(guī)定把更小的單位重組成幀。 這并不是說不能設(shè)計(jì)這樣的協(xié)議,可以設(shè)計(jì)并已有這種協(xié)議,只是802不提供這種功能。這個(gè)問題基本上無(wú)法解決, 必須丟棄因太長(zhǎng)而無(wú)法轉(zhuǎn)發(fā)的幀。其透明程度也就這樣了。
由于各種802 LAN的特殊性,如:802.4幀帶有優(yōu)先權(quán)位、802.5幀字節(jié)中有A和C位等,九種網(wǎng)橋都有其特殊的問題,見下表:
目的LAN
802.3(CSMA/CD 802.4(令牌總線) 802.5(令牌環(huán))
源LAN 802.3 1,4 1,2,4,8
802.4 1,5,8,9,10 9 1,2,3,8,9,10
802.5 1,2,5,6,7,10 1,2,3,6,7 6,7
1、重新格式化幀,并計(jì)算新的校驗(yàn)和。
2、反轉(zhuǎn)比特順序。
3、復(fù)制優(yōu)先權(quán)值,不管有無(wú)意義。
4、產(chǎn)生一個(gè)假想的優(yōu)先權(quán)。
5、丟棄優(yōu)先權(quán)。
6、流向環(huán)(某種程度上)。
7、設(shè)置A位和C位。
8、擔(dān)心擁塞(快速LAN至慢速LAN)。
9、擔(dān)心令牌因?yàn)榻粨QACK延遲或不可能而脫手。
10、如果幀對(duì)目的LAN太長(zhǎng),則將其丟棄。
設(shè)定的參數(shù):
802.3:1500字節(jié)幀 10Mb/s(減去碰撞次數(shù))
802.4:8191字節(jié)幀 10Mb/s
802.5:5000字節(jié)幀 4Mb/s
當(dāng)IEEE802委員會(huì)開始制訂LAN標(biāo)準(zhǔn)時(shí),未能商定一個(gè)統(tǒng)一的標(biāo)準(zhǔn),卻產(chǎn)生了3個(gè)互不兼容的標(biāo)準(zhǔn),這一失策已受到了嚴(yán)厲的抨擊。 后來,在制定互聯(lián)這3種LAN的網(wǎng)橋的標(biāo)準(zhǔn)時(shí),該委員會(huì)決心干得好一些。這一次確實(shí)較為成功,他們提出了2種互不兼容的網(wǎng)橋方案。 直到目前為止,還無(wú)人要求該委員會(huì)制訂連接它的2個(gè)不兼容網(wǎng)橋的網(wǎng)關(guān)標(biāo)準(zhǔn)。
四、兩種網(wǎng)橋
1、透明網(wǎng)橋
第一種802網(wǎng)橋是透明網(wǎng)橋(transparent bridge)或生成樹網(wǎng)橋(spanning tree bridge)。支持這種設(shè)計(jì)的人首要關(guān)心的是完全透明。 按照他們的觀點(diǎn),裝有多個(gè)LAN的單位在買回IEEE標(biāo)準(zhǔn)網(wǎng)橋之后,只需把連接插頭插入網(wǎng)橋,就萬(wàn)事大吉。不需要改動(dòng)硬件和軟件, 無(wú)需設(shè)置地址開關(guān),無(wú)需裝入路由表或參數(shù)。總之什么也不干,只須插入電纜就完事,現(xiàn)有LAN的運(yùn)行完全不受網(wǎng)橋的任何影響。 這真是不可思議,他們最終成功了。
透明網(wǎng)橋以混雜方式工作,它接收與之連接的所有LAN傳送的每一幀。當(dāng)一幀到達(dá)時(shí),網(wǎng)橋必須決定將其丟棄還是轉(zhuǎn)發(fā)。 如果要轉(zhuǎn)發(fā),則必須決定發(fā)往哪個(gè)LAN。這需要通過查詢網(wǎng)橋中一張大型散列表里的目的地址而作出決定。該表可列出每個(gè)可能的目的地, 以及它屬于哪一條輸出線路(LAN)。在插入網(wǎng)橋之初,所有的散列表均為空。由于網(wǎng)橋不知道任何目的地的位置, 因而采用擴(kuò)散算法(flooding algorithm):把每個(gè)到來的、目的地不明的幀輸出到連在此網(wǎng)橋的所有LAN中(除了發(fā)送該幀的LAN)。 隨著時(shí)間的推移,網(wǎng)橋?qū)⒘私饷總€(gè)目的地的位置。一旦知道了目的地位置,發(fā)往該處的幀就只放到適當(dāng)?shù)腖AN上,而不再散發(fā)。
透明網(wǎng)橋采用的算法是逆向?qū)W習(xí)法(backward learning)。網(wǎng)橋按混雜的方式工作,故它能看見所連接的任一LAN上傳送的幀。 查看源地址即可知道在哪個(gè)LAN上可訪問哪臺(tái)機(jī)器,于是在散列表中添上一項(xiàng)。
當(dāng)計(jì)算機(jī)和網(wǎng)橋加電、斷電或遷移時(shí),網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)會(huì)隨之改變。為了處理動(dòng)態(tài)拓?fù)鋯栴},每當(dāng)增加散列表項(xiàng)時(shí), 均在該項(xiàng)中注明幀的到達(dá)時(shí)間。每當(dāng)目的地已在表中的幀到達(dá)時(shí),將以當(dāng)前時(shí)間更新該項(xiàng)。這樣, 從表中每項(xiàng)的時(shí)間即可知道該機(jī)器最后幀到來的時(shí)間。網(wǎng)橋中有一個(gè)進(jìn)程定期地掃描散列表,清除時(shí)間早于當(dāng)前時(shí)間若干分鐘的全部表項(xiàng)。 于是,如果從LAN上取下一臺(tái)計(jì)算機(jī),并在別處重新連到LAN上的話,那么在幾分鐘內(nèi),它即可重新開始正常工作而無(wú)須人工干預(yù)。 這個(gè)算法同時(shí)也意味著,如果機(jī)器在幾分鐘內(nèi)無(wú)動(dòng)作,那么發(fā)給它的幀將不得不散發(fā),一直到它自己發(fā)送出一幀為止。
到達(dá)幀的路由選擇過程取決于發(fā)送的LAN(源LAN)和目的地所在的LAN(目的LAN),如下所示:
1、如果源LAN和目的LAN相同,則丟棄該幀。
2、如果源LAN和目的LAN不同,則轉(zhuǎn)發(fā)該幀。
3、如果目的LAN未知,則進(jìn)行擴(kuò)散。
為了提高可靠性,有人在LAN之間設(shè)置了并行的兩個(gè)或多個(gè)網(wǎng)橋,但是,這種配置引起了另外一些問題,因?yàn)樵谕負(fù)浣Y(jié)構(gòu)中產(chǎn)生了回路, 可能引發(fā)無(wú)限循環(huán)。其解決方法就是下面要講的生成樹(spanning tree)算法。
評(píng)論