什么是網橋?
網橋工作在數據鏈路層,將兩個LAN連起來,根據MAC地址來轉發幀,可以看作一個“低層的路由器”(路由器工作在網絡層,根據網絡地址如IP地址進行轉發)。
遠程網橋通過一個通常較慢的鏈路(如電話線)連接兩個遠程LAN,對本地網橋而言,性能比較重要,而對遠程網橋而言,在長距離上可正常運行是更重要的。
網橋與路由器的比較
網橋并不了解其轉發幀中高層協議的信息,這使它可以同時以同種凡是處理IP、IPX等協議,它還提供了將無路由協議的網絡(如NetBEUI)分段的功能。
由于路由器處理網絡層的數據,因此它們更容易互連不同的數據鏈路層,如令牌環網段和以太網段。網橋通常比路由器難控制。象IP等協議有復雜的路由協議,使網管易于管理路由;IP等協議還提供了較多的網絡如何分段的信息(即使其地址也提供了此類信息)。而網橋則只用MAC地址和物理拓撲進行工作。因此網橋一般適于小型較簡單的網絡。
二、使用原因
許多單位都有多個局域網,并且希望能夠將它們連接起來。之所以一個單位有多個局域網,有以下6個原因:
首先,許多大學的系或公司的部門都有各自的局域網,主要用于連接他們自己的個人計算機、工作站以及服務器。由于各系(或部門)的工作性質不同,因此選用了不同的局域網,這些系(或部門)之間早晚需相互交往,因而需要網橋。
其次,一個單位在地理位置上較分散,并且相距較遠,與其安裝一個遍布所有地點的同軸電纜網,不如在各個地點建立一個局域網,并用網橋和紅外鏈路連接起來,這樣費用可能會低一些。
第3,可能有必要將一個邏輯上單一的LAN分成多個局域網,以調節載荷。例如采用由網橋連接的多個局域網,每個局域網有一組工作站,并且有自己的文件服務器,因此大部分通信限于單個局域網內,減輕了主干網的負擔。
第4,在有些情況下,從載荷上看單個局域網是毫無問題的,但是相距最遠的機器之間的物理距離太遠(比如超過802.3所規定的2.5km)。即使電纜鋪設不成問題,但由于來回時延過長,網絡仍將不能正常工作。唯一的辦法是將局域網分段,在各段之間放置網橋。通過使用網橋,可以增加工作的總物理距離。
第5,可靠性問題。在一個單獨的局域網中,一個有缺陷的節點不斷地輸出無用的信息流會嚴重地破壞局域網的運行。網橋可以設置在局域網中的關鍵部位,就像建筑物內的放火門一樣,防止因單個節點失常而破壞整個系統。
第6,網橋有助于安全保密。大多數LAN接口都有一種混雜工作方式(promiscuousmode),在這種方式下,計算機接收所有的幀,包括那些并不是編址發送給它的幀。如果網中多處設置網橋并謹慎地攔截無須轉發的重要信息,那么就可以把網絡分隔以防止信息被竊。
三、兼容性問題
有人可能會天真地認為從一個802局域網到另一個802局域網的網橋非常簡單,但實際上并非如此。在802.x到802.y的九種組合中,每一種都有它自己的特殊問題要解決。在討論這些特殊問題之前,先來看一看這些網橋共同面臨的一般性問題。
首先,各種局域網采用了不同的幀格式。這種不兼容性并不是由技術上的原因造成的,而僅僅是由于支持三種標準的公司(Xerox,GM和IBM),沒有一家愿意改變自己所支持的標準。其結果是:在不同的局域網間復制幀要重排格式,這需要占用CPU時間,重新計算校驗和,而且還有可能產生因網橋存儲錯誤而造成的無法檢測的錯誤。
第二個問題是互聯的局域網并非必須按相同的數據傳輸速率運行。當快速的局域網向慢速的局域網發送一長串連續幀時,網橋處理幀的速度要比幀進入的速度慢。網橋必須用緩沖區存儲來不及處理的幀,同時還得提防耗盡存儲器。即使是10Mb/s的802.4到10Mb/s的802.3的網橋,在某種程度上也存在這樣的問題。因為802.3的部分帶寬耗費于沖突。802.3實際上并不是真的10Mb/s,而802.4(幾乎)確實為10Mb/s。
與網橋瓶頸問題相關的一個細微而重要的問題是其上各層的計時器值。假如802.4局域網上的網絡層想發送一段很長的報文(幀序列)。在發出最后一幀之后,它開啟一個計時器,等待確認。如果此報文必須通過網橋轉到慢速的802.5網絡,那么在最后一幀被轉發到低速局域網之前,計時器就有可能時間到。網絡層可能會以為幀丟失而重新發送整個報文。幾次傳送失敗后,網絡層就會放棄傳輸并告訴傳輸層目的站點已經關機。
第三,在所有的問題中,可能最為嚴重的問題是三種802LAN有不同的最大幀長度。對于802.3,最大幀長度取決于配置參數,但對標準的10M/bs系統最大有效載荷為1500字節。802.4的最大幀長度固定為8191字節。802.5沒有上限,只要站點的傳輸時間不超過令牌持有時間。如果令牌時間缺省為10ms,則最大幀長度為5000字節。一個顯而易見的問題出現了:當必須把一個長幀轉發給不能接收長幀的局域網時,將會怎么樣?在本層中不考慮把幀分成小段。所有的協議都假定幀要么到達要么沒有到達,沒有條款規定把更小的單位重組成幀。這并不是說不能設計這樣的協議,可以設計并已有這種協議,只是802不提供這種功能。這個問題基本上無法解決,必須丟棄因太長而無法轉發的幀。其透明程度也就這樣了。
由于各種802LAN的特殊性,如:802.4幀帶有優先權位、802.5幀字節中有A和C位等,九種網橋都有其特殊的問題,見下表:
1、重新格式化幀,并計算新的校驗和。
2、反轉比特順序。
3、復制優先權值,不管有無意義。
4、產生一個假想的優先權。
5、丟棄優先權。
6、流向環(某種程度上)。
7、設置A位和C位。
8、擔心擁塞(快速LAN至慢速LAN)。
9、擔心令牌因為交換ACK延遲或不可能而脫手。
10、如果幀對目的LAN太長,則將其丟棄。
設定的參數:
802.3:1500字節幀10Mb/s(減去碰撞次數)
802.4:8191字節幀10Mb/s
802.5:5000字節幀4Mb/s
當IEEE802委員會開始制訂LAN標準時,未能商定一個統一的標準,卻產生了3個互不兼容的標準,這一失策已受到了嚴厲的抨擊。后來,在制定互聯這3種LAN的網橋的標準時,該委員會決心干得好一些。這一次確實較為成功,他們提出了2種互不兼容的網橋方案。直到目前為止,還無人要求該委員會制訂連接它的2個不兼容網橋的網關標準。