網橋
出自 MBA智库百科(https://wiki.mbalib.com/)
網橋(Network Bridge)
目錄 |
什麼是網橋[1]
網橋是一種在鏈路層實現申繼,常用於連接兩個或更多個區域網的網路互聯設備。網橋像一個“聰明”的中繼器。中繼器從一個網路電纜里接收信號,放大它們,將其送人下一個電纜。相比較而言,網橋對從關卡上傳下來的信息更敏銳一些。網橋是一種對幀進行轉發的技術,根據MAC分區塊,可隔離碰撞。網橋將網路的多個網段在數據鏈路層連接起來。
網橋將兩個相似的網路連接起來,並對網路數據的流通進行管理。它工作於數據鏈路層,不但能擴展網路的距離或範圍,而且可提高網路的性能、可靠性和安全性。如圖1所示,網路1和網路2通過網橋連接後,網橋接收網路1發送的數據包,檢查數據包中的地址,如果地址屬於網路l,它就將其放棄;相反,如果是網路2的地址,它就繼續發送給網路2。這樣可利用網橋隔離信息,將網路劃分成多個網段,隔離出安全網段,防止其他網段內的用戶非法訪問。由於網路的分段,各網段相對獨立,一個網段的故障不會影響到另一個網段的運行。
- 圖1 網橋的工作過程
網橋可以是專門硬體設備,也可以由電腦加裝的網橋軟體來實現,這時電腦上會安裝多個網路適配器(網卡)。
網橋的功能[1]
網橋的功能在延長網路跨度上類似於中繼器,然而它能提供智能化連接服務,即根據幀的終點地址處於哪一網段來進行轉發和濾除。網橋對站點所處網段的瞭解是靠“自學習”實現的。
當使用網橋連接兩個網段時,網橋對來自網段1的MAC幀,首先要檢查其終點地址。如果該幀是發往網段1上某一站的,網橋則不將幀轉發到網段2,而將其濾除;如果該幀是發往網段2上某一站的,網橋則將它轉發到網段2。這表明,如果網段1和網段2上各有一對用戶在本網段上同時進行通信,顯然是可以實現的。因為網橋起到了隔離作用。可以看出,網橋在一定條件下具有增加網路帶寬的作用。
網橋的存儲和轉發功能與中繼器相比有優點也有缺點,其優點如下。
(1)使用網橋進行互連剋服了物理限制,這意味著網路內的數據站總數和網段數很容易擴充。
(2)網橋納入存儲和轉發功能可使其適應於連接使用不同MAC協議的兩個網路,因而構成一個不同網路混連在一起的混合網路環境。
(3)網橋的中繼功能僅僅依賴於MAC幀的地址,因而對高層協議完全透明。
(4)網橋將一個較大的網路分成若幹網段,有利於改善可靠性、可用性和安全性。
網橋的主要缺點是:由於網橋在執行轉發前先接收幀併進行緩衝,與中繼器相比會引入更多時延。由於網橋不提供流控功能,因此在流量較大時有可能使其過載,從而造成幀的丟失。
網橋的分類[1]
所有網橋都是在數據鏈路層提供連接服務,根據其路由演算法不同,可將網橋分為透明網橋和源路由選擇網橋。
- 1.透明網橋
所謂“透明網橋”是指,它對任何數據站都完全透明,用戶感覺不到它的存在,也無法對網橋定址。所有的路由判決全部由網橋自己確定。當網橋連入網路時,它能自動初始化並對自身進行配置。用戶不需要改動硬體和軟體,無須設置地址開關,無須裝入路由表或參數。只需插入電纜就可以,現有的區域網的運行完全不受網橋的任何影響。
- 2.源路由選擇網橋源路
由選擇網橋規定,發送幀的源工作站負責路由選擇。為此,在每個工作站中都配置一張路由選擇表,在表中為本站所能到達的工作站都建立一個表目,其中列出了由本站到達目的站沿途所有工作站和網橋的站址。由本站發往該目的站的所有幀,都將沿著這條路徑傳輸。
源路由選擇網橋能按用戶要求尋找最佳路由,這對保密性很強的信息傳輸來說是很重要的。但網路工作站的實現較複雜,因為要在工作站中設置路由選擇表,採用某種演算法的路由選擇程式,特別是當互聯網路規模很大時,廣播幀的數目會劇增,引起擁塞。因此,市場上透明網橋居多。
網橋的常用場合[2]
網橋工作在數據鏈路層,進行相似的網路問的幀的轉發,實現MAC子層的連接。遵循IEEE802標準的區域網對網橋是透明的,它不需要對連接在這些網路上的站點的通信軟體進行修改。
網橋的常用場合非常多,只要是相同網路或兩個網路僅在物理層和數據鏈路層實現上有差別,都可以通過網橋來百連。不同的場合,網橋執行的協議不同,例如:
(1)乙太網與乙太網用網橋互連,因為互連的是相同網路,此時的網橋非常簡單,只執行一種協議。
(2)乙太網與FDDI網路之間的互連(不同網路的互連),如圖2所示。此時的網橋執行兩種協議,一種是乙太網協議,一種是FDDI協議。實現乙太網數據幀與FDDI數據幀之間的相互轉換。
- 圖2 網橋的應用實例1
(3)乙太網一令牌環網之間的互連,網橋既執行乙太網協議,又執行令牌環網協議。
(4)乙太網一ATM網路之間的互連,如圖3所示,此時的網橋執行乙太網協議和ATM協議,實現乙太網數據幀到ATM信元之間的轉換。
- 圖3 網橋的應用實例2
(5)乙太網與無線網之間的互連等。
網橋的特點[2]
網橋具有以下特點:
(1)地址過濾:利用網橋互連的網路應當可以容納不同數據鏈路層的編址格式(如各種MAC地址),因此,網橋應能夠識別各種地址,並根據數據幀的宿地址,有選擇地讓數據幀穿越網橋。實際上,目前很多網橋產品都添加了各種過濾功能,允許用戶進行設置,以濾去不希望被轉發的幀。例如:單向地禁止對某個子網的訪問,以確保該子網的安全性。
(2)幀限制:網橋不對幀進行分段,只進行必要的幀格式轉換,以適應不同的子網。超過信宿結點所在子網幀長限制的幀將被網橋丟棄。因此,當採用網橋支持不同LAN之間的互連時,更高層的協議應當保證被傳送的信息長度的一致性。幀限制的另一方面是為了維護各個子網的獨立性,不允許控制幀和要求應答的信息幀穿越網橋。
(3)監控功能:網橋作為單個子網的一部分,參與對子網的監控和對信息幀的校驗。網橋區別於轉發器的關鍵之一是它具有“存儲一轉發”的能力。“存儲”有利於網橋對被轉發的幀進行差錯校驗,網橋不應將有差錯的幀轉發到其他子網上。同一網路內的處理則根據該子網的約定。網橋的工作過程包括接收幀、檢查幀和轉發幀三個部分。
(4)緩衝能力:網橋應當具有一定的緩衝(存儲一轉發)能力,以解決穿越網橋的信息量l瞄時超載的問題,即:網橋應當可以解決數據傳輸不匹配的子網之間的互連。事實上即使是速率相同的網路進行互連,這種緩衝能力也是必需的。
(5)透明性:網橋的引入不應影響原有子網的通信能力,不應產生信宿結點無法檢測的差錯。
一個企業區域網,為什麼不簡單地採用一個大的區域網,而要分成多個子網,再用網橋等互連設備進行網路互連呢?主要基於以下幾方面的因素:
(1)無序性:一個組織內部有許多不同的部門,由於各部門的工作性質不同,因此,可能選用了不同的區域網。當這些部門的區域網之間需要相互連接時,就可能需要網橋。
(2)可靠性:通過使用網橋,網路可以被分成一些自適應的實體,可以對網橋進行編程以決定接收到的內容是否轉發。
(3)性能考慮:一般來說,LAN或MAN的性能將隨著連在其上的設備數量或介質長度的增加而降低。將這些沒備分別集中起來,使得在LAN內部的通信大大超過跨越LAN間的通信,這時採用多個更小的LAN往往可以獲得更好的性能。
(4)地理考慮:一個組織在地理位置上較分散,無法將它們連在同一個區域網內,唯一的辦法是將區域網分段,在各段之間放置網橋。通過使用網橋,可以增加工作的物理距離。
(5)安全考慮:建立多個LAN可以提供通信的安全性。可以把那些不同類型的具有不同安全性要求的信息分別在不同的分隔的物理介質上傳輸。同時,具有不同安全級別的不同用戶必須通過集中控制和監控機制來進行通信。
網橋的路徑選擇[2]
如前所述,網橋直接連接兩個或者多個子網,一方面,作為這些子網上的結點,參與子網的運行,另一方面根據數據幀中的地址進行本網或者跨網的幀轉發。幀的轉發過程實質上也是幀的路徑選擇過程。經過路由選擇後網橋將幀發往適當的埠。目前常用的路徑選擇方法有兩種,對應為兩種類型的網橋:透明橋和指定路徑橋。
- 1.透明橋
透明橋也稱學習橋或自適應橋,內部動態地維護地址映射表,根據該地址映射表,網橋決定收到的幀的轉發。透明橋適合於匯流排型(如:乙太網、令牌匯流排)或者樹狀的網路互連結構。
透明橋的原理十分簡單,當網橋收到每一個幀時,都執行地址表擴充和幀轉發兩項工作。地址表擴充是指從幀中取出信源結點地址,查地址表,如果沒有,將該地址添加到地址表中。從而使網橋“瞭解”哪些結點來自於哪個子網(屬於哪個子網網段)。幀的轉發過程大致如下:
(1)如果幀中的信源結點與信宿結點是在同一個子網中,網橋則丟棄該幀,不作轉發;
(2)否則,在地址表中查找信宿結點地址,如果表中有對應的地址,則網橋就將幀轉發到該地址對應的子網埠;
(3)如果地址表中沒有信宿結點地址,則表示信宿結點地址未知,網橋就將幀轉發到(或稱廣播到)其他所有與本網橋連接的子網中;
(4)當收到信宿結點給信源結點的“應答幀”後,網橋將該信宿結點地址添加到地址表中。
如圖4所示,有一網橋連接了4個子網,假設結點A與結點H通信,當網橋接收到結點A的數據幀後,從數據幀中取出信源地址(00123456),查地址映射表,地址表中已有,屬於子網l;再取出信宿地址(50873EA6),查地址映射表,表中已有,屬於子網4,則網橋僅將數據幀轉發到子網4對應的埠。
- 圖4 透明橋幀的轉發過程舉例l
地址映射表MAC地址端門00123456子網150873EA6了網410173856子網2如圖5所示,假設結點A與結點D通信,當網橋接收到結點A的數據幀後,從數據幀中取出信源地址(00123456),查地址映射表,地址表中已有.屬於子網1;再取出信宿地址(1017385A),查地址映射表,表中沒有,則網橋就將數據幀轉發到它所連接的所有子網對應
的埠(數據幀廣播),這樣子網l、2、3、4上的所有結點都能收到該數據幀+除結點D以外的結點都丟棄該幀,結點D接收該幀,並給予確認。當網橋收到結點D給結點—\的‘‘應答幀”後,將結點L)的MAC地址添加到地址表中,並把“應答幀,,轉發到結點A所在的子網埠。
- 圖5 透明橋幀的轉發過程舉例2
- 2.“廣播風暴”產生
當網橋收到地址映射表中沒有的地址時,它就向其埠所連接的所有網段轉發數據幀,進行數據幀廣播。當網路中結點很多,通過許多網橋進行互聯時,有許多信宿地址不明的幀被廣播到所有結點,結點不停地忙於接收這些數據幀,使得結點不能正常地進行數據發送,這樣極易產生所謂的“廣播風暴”,使得網路性能下降。因此,在設計網路時要避免一個大的網路全部由網橋互聯而成,那樣會容易產生“廣播風暴”。
在設計網橋時有兩個重要因素要加以考慮:
(1)地址映射表的大小
網橋的地址映射表應該適中,太大會影響查詢速度;太小存儲的地址太少,會產生較多的數據幀“廣播”,影響整個網路的性能。
(2)地址表的維護和構造方法
由於網橋的地址映射表的大小是有限的,地址表中保留哪些地址,也會影響到網路的性能。一般有兩種方法,一種是“最近使用的保留”,保留最近使用的那些地址;另一種是“根據使用頻率保留”,根據地址的使用頻率,保留使用頻率高的那些地址。地址表的維護通常採用及時刷新的方法,即將新加入的地址放在表的首部;如果該地址已在表中,刪除原有的地址信息;在表中地址增加的過程中,超出表體積的後部地址自動丟棄。
- 3.支撐樹(SpanTree)
透明橋得以實現的關鍵是假定了任意兩個區域網之間只有一條惟一的通路。為了提高可靠性,有時人們在區域網之間設置並行的兩個或多個網橋(即冗餘網橋),由多個網橋構成的區域網,如果形成環路,會出現數據幀在網路中迴圈傳輸的現象。
例如,當用兩個網橋B1、B2連接兩個區域網LANl、LAN2時(如圖6所示),如果結點A希望發送幀給結點B,由於最初結點B並未記錄在網橋B1和網橋B2的地址表中,根據透明橋的約定,該原始幀將由網橋B1和網橋B2轉發到區域網LAN2上,於是出現了問題。首先是結點B會同時收到網橋B1和B2轉發的2個幀,其次是網橋B1和網橋B2轉發的數據幀在區域網LAN2kY.分別被網橋B2和網橋B1收到,於是兩個橋在記載了結點A屬於區域網1之後,又會認為結點A屬於區域網2。結果不僅該幀在兩個區域網上迴圈地廣播,而結點B的應答信息(假設高層協議要求結點B予以應答)可能無法轉發到區域網1,或者也在兩個區域網中迴圈傳輸。
- 圖6 冗餘網橋引起的迴圈
解決數據幀在網路中迴圈的方法是構造基於網橋的“支撐樹”(SpanTree,也稱“生成樹”)。構造支撐樹的基本思想是首先選擇網路中的某個網橋作為支撐樹的根,原理上該網橋可以任意指定,但實際中通常選擇位於相對中心的某個網橋。由於多個子網的互聯使得至少需要一個或多個網橋,所以這種選擇是可行的。再從與該支撐樹(最初只有支撐樹的根)相鄰(指可以通過某個子網直接訪問)的網橋集合中選擇一個加入支撐樹,選擇的條件是加入該網橋不會形成環路;這種選擇的過程繼續進行,直至支撐樹已經可以互聯所有的子網。剩下的網橋留作備用。構造支撐樹的過程發生在新的網橋加入網路時,或者支撐樹中的某個網橋發生故障的時候。
圖7示意了構造支撐樹的過程。圖7(a)中的子網A至C分別用粗線表示,網橋編號為l-5,即用5個網橋互聯7個子網,顯然在整個網路中出現了多個環路。構造支撐樹的過程描述如下:
- 圖7 支撐樹的構造過程
(1)首先任意選擇一個網橋作為根,此處假設選擇網橋2作為根,於是支撐樹集合為|2|;
(2)根據演算法及設定的條件,從與2相鄰的網橋(1,3,4)中選擇一個,假設為l,即支撐樹集合成為{2,1};
(3)再在與支撐樹{2,1}相鄰的網橋中進行選擇,與2相鄰的有(3,4),與]相鄰的有(3),由於網橋3會形成環路,不能加入支撐樹中,則形成的支撐樹為{2,1,4};
(4)再在與支撐樹{2,1,4}相鄰的網橋中進行選擇,則形成的支撐樹為{2,1,4,5}。對應的無環網路如圖7(b)所示,網橋3為冗餘網橋,以虛線連接。
透明橋具有很高的效率,特別適合匯流排型或樹形的網路互聯結構,因此被IEEE的802.3和802.4工作組推薦採用,也是目前網橋中應用最為廣泛的技術。
- 4.指定路徑橋
指定路徑橋也稱源路徑選擇橋,這種橋的原理來源於IBM的令牌環。由發送的源結點判斷所發送的幀是送往本地子網,還是送給其他網路,選擇幀傳輸的確切路徑,並把它放在要傳輸的幀中。
如果發送的源結點知道所發送的幀傳輸的確切路徑,可以直接傳輸。如果源結點不知道路徑,則發送一個具有測試功能的廣播幀。接到廣播幀的網橋檢查廣播幀中的nI欄位,如果本網橋號已經在RI中,不做任何處理;否則,向RI中增加段號,並將該幀轉發到與之連接且網號未在幀中出現的其他子網。當信宿結點接到該測試幀後,向源髮結點返回一個應答幀。應答幀中包含了所需的路徑信息,並沿著測試幀途徑的路徑反向傳遞。由於廣播的緣故,源髮結點可能會收到多個應答幀,通常是通過某種演算法從中選擇一條(最佳)路徑。
指定路徑橋可以獲得最佳的路徑,其缺點是測試幀的發送增加了網路的信息流量,可能形成“廣播風暴”,甚至可能導致網路擁塞現象。
網橋的應用——乙太網交換機[2]
利用網橋互聯子網的應用十分廣泛,例如:一個企業的各個部門可能根據不同的需要形成各種區域網絡,當部門之間希望互聯時,網橋是較佳的互聯部件。同樣,由於網橋具有分隔子網的功能,如果一個企業擁有很多的電腦和伺服器,而僅組成一個共用網路,則對網路的帶寬要求很高,並且難以實現。採用網橋來劃分子網,使得大部分訪問集中在子網內部,從而可以獲得較高的響應速度。目前,組建區域網常用的乙太網交換機,就是一種簡化的網橋,用於乙太網之間的互聯。乙太網交換機具有如下特點:
(1)提供一定的存儲能力。為避免轉發幀在輸出埠的衝突,交換機往往配置一定的緩存,用於緩存輸入或待輸出的幀;
(2)交換機具有少量的地址表,以提高交換機的查表速度;
(3)交換機處理相同的幀格式,交換速度快。一般的網橋,由於互聯的是兩個或兩個以上不同類型的網路,在數據幀轉發時,需要進行數據幀的協議轉換,這種協議轉換是通過軟體實現的,因此網橋的幀轉發的速度比較慢。而交換機互聯的是相同類型的網路,在數據幀轉發時無需進行幀格式轉換,大大提高了交換機的數據交換速度;
(4)交換機具有分割子網的功能,與一般的網橋一樣,交換機可以用來進行子網分割;
(5)交換機的每個埠獨享指定的帶寬;如10M/100M/1000M的交換機,每個埠可獨享10Mb/s/100Mb/s/1000Mb/s的網路帶寬;
(6)支持多個獨立的數據流,具有較高的吞吐量;一般的網橋同一時刻只有一對埠通信,而交換機同一時刻可有多對埠通信;
(7)交換機內部採用硬體交換,交換速度快。