跳轉到內容

交換機、路由器、網橋和區域網/網橋

來自華夏公益教科書,開放的世界,開放的書籍

“用於將兩個獨立的乙太網網路連線成一個擴充套件的乙太網的裝置。網橋只轉發發往另一個網路的資料包。Novell 公司使用此術語來表示接收網路層資料包並將其轉發到另一個網路的計算機。”

為什麼要使用網橋?

[編輯 | 編輯原始碼]

網橋在某些網路中很重要,因為這些網路在地理位置上被分成許多部分。需要一些東西來連線這些網路,以便它們可以成為整個網路的一部分。例如,一個分割的區域網,如果沒有任何介質來連線這些分離的區域網部分,那麼企業在增長潛力方面可能會受到限制。網橋是連線這些區域網的工具之一。

其次,區域網(例如乙太網)在其傳輸距離方面可能受到限制。我們可以使用網橋作為中繼器來消除這個問題,這樣我們就可以使用網橋連線建築物或校園內地理位置廣泛的網路。因此,可以使用網橋建立地理位置受限的網路。

第三,網路管理員可以控制透過網橋傳送到昂貴的網路介質上的流量數量。

第四,網橋是即插即用裝置,因此無需配置網橋。假設從網路中取出了任何機器,那麼網路管理員也不需要更新網橋配置資訊,因為網橋是自配置的。它還簡化了資料傳輸,這對資料傳輸非常有用。

MAC 網橋

[編輯 | 編輯原始碼]

網橋用於連線區域網。因此,在確定如何傳輸區域網之間的資料包時,它們使用目標 MAC 地址。網橋將網路層的功能,例如路由發現和轉發,推送到資料鏈路層。網橋沒有傳統的網路層。

在接收錯誤的情況下,網橋無法維護資料傳輸的完整性。例如,假設某個幀中存在錯誤,並且該幀沒有正確傳輸,網橋不會發出任何確認來重新傳輸該幀。如果網橋變得擁塞,幀可能會被丟棄以使流量更順暢。另一方面,網橋易於實現,並且無需配置它們。

網橋型別

[編輯 | 編輯原始碼]
  1. 透明基本網橋
  2. 源路由網橋
  3. 透明學習網橋
  4. 透明生成樹網橋

透明基本網橋

[編輯 | 編輯原始碼]

最簡單的網橋型別是透明基本網橋。它儲存資料包,直到能夠將其傳輸到下一個網路。資料儲存的時間非常短暫。資料包被髮送到所有埠,除了接收資料包的埠。網橋不會對資料包進行任何轉換。在這方面,網橋類似於中繼器。

源路由網橋

[編輯 | 編輯原始碼]

透過區域網網際網路的路由是由資料包的源頭(發起者)決定的,因此這種網橋被稱為源路由網橋。區域網幀頭中的路由資訊欄位 (RIF) 包含區域網網路所遵循的路由資訊。

必須透過路由資訊標識接收和傳送幀所需的中間節點。出於這個原因,源路由需要使用者資料包遵循路由資訊欄位所確定的路徑。

源路由協議的幀與其他網橋幀不同,因為源路由資訊必須包含在幀中。其他網橋和源路由網橋的體系結構類似。兩者都在區域網節點上使用 MAC 中繼實體。透過 MAC 中繼實體和 LLC 提供介面。

上面的圖顯示了源路由網橋的功能體系結構。有兩個基元在 MAC 實體和 LLC 之間呼叫。第一個是 M_UNITDATA.request,第二個是 M_UNITDATA.indication

這些基元中的引數必須提供有關建立幀(幀控制)、MAC 地址、用於透過區域網轉發資料包的路由資訊的資訊。如果要執行幀校驗序列操作,則應包含幀校驗序列值。該基元還包含使用者優先順序引數、資料引數和服務類別引數。使用者引數和服務類別引數僅在令牌環中使用,而不會用於其他區域網,例如乙太網或令牌匯流排。

透明學習網橋

[編輯 | 編輯原始碼]

透明網橋使用源地址和目標地址查詢使用者的地址。當幀到達網橋時,它會檢查其源地址和目標地址。如果目標地址未在路由表中找到,則將其儲存。然後,幀被髮送到所有區域網,除了它來自的區域網。源地址也儲存在路由表中。如果另一幀到達,其中先前的源地址現在是其目標地址,則它將被轉發到該埠。

透明網橋的物理拓撲結構不允許網路中出現環路。這是對透明學習網橋的限制。該網橋的整個操作由網橋處理器完成,該處理器負責跨其埠路由流量。處理器透過訪問路由資料庫來決定關聯 MAC 地址的目標埠。當幀到達時,處理器將檢查資料庫中的輸出埠,幀將在該埠上中繼。如果目標地址不在資料庫中,則處理器將廣播該幀到所有埠,除了幀來自的埠。網橋處理器還會儲存幀中的源地址,因為該源地址可能是另一個傳入幀的目標地址。


Clipboard

待辦事項
引用了圖,但缺失


橋接器會按照上圖所示處理傳入幀。橋接器會檢查傳入幀的源地址和目標地址。在本例中,源地址為“B”,目標地址為“A”。在訪問其路由表後,它發現目標地址不在資料庫中,並將其廣播到所有傳出埠,但來源埠除外。轉發幀後,它將檢查 SA(源地址)並確認它是否知道它。如果 SA 在資料庫中,它將重新整理資料庫並更新此條目,透過重新整理計時器意味著此地址仍然“及時有效”。在所示示例中,它不知道“B”的 SA。它將“B”儲存到資料庫中,表明“B”是 LAN 上的一個活動站點,從橋接器的角度來看,“B”可以在埠 1 上找到。


Clipboard

待辦事項
引用了圖,但缺失


如圖所示,一個幀從埠 3 到達橋接器,DA(目標地址)為“B”,SA(源地址)為 C。橋接器將訪問其資料庫並檢查目標地址是否存在。橋接器找到目標埠並確定“B”可以透過其埠 1 訪問。該決定來自之前的一次操作,其中一個幀從埠 1 到達,SA = 'B' 和 DA = 'A'。此源地址成為此幀的目標地址。因此,橋接器知道確切的目標埠號。這次橋接器不會廣播幀,因為它知道 DA。它會將幀轉發到埠 1,而不是埠 2。橋接器還在其路由表中儲存了 SA 'C' 可以透過埠 3 訪問的資訊。此資訊將在接下來的幀中很有用。學習型橋接器假設在傳入埠上接收的幀已由其他橋接器和 LAN 正確傳遞,因此它不會將幀轉發到它到達的埠。學習型橋接器完全基於信任。

在某些情況下,橋接器不會將幀轉發到任何埠。如圖 5 所示,可以實現完全過濾。一個幀從埠 1 到達橋接器,SA = 'D',DA = 'B'。橋接器將訪問其資料庫並檢查 SA 和 DA,發現 DA = 'B' 可以從埠 1 找到。幀來自同一個埠,因此它不會將該幀轉發到埠 2 或埠 3,也不會向後轉發到埠 1。它還會檢查 SA 是否存在於資料庫中。SA = 'D' 不在資料庫中,因此它將此條目新增到資料庫中,並附加時間。

學習型橋接器允許組播和廣播。如圖所示,一個幀從埠 1 到達,DA = 'ALL'(目標地址欄位中的所有 1)和 SA = 'D'。橋接器不會更新其路由表,因為 'D' 已經存在於資料庫中。在這個示例中,流量被髮送到埠 2 和 3。

圖 6 顯示了橋接器如何轉發和過濾傳入幀的示例。從站點“A”到站點“B”的幀不會被橋接器 1 轉發,因為它假設流量已使用廣播成功從“A”轉發到“B”。站點“A”傳送到站點“C”的流量必須由橋接器 1 轉發,並由橋接器 2 丟棄。而站點“A”傳送到站點“D”的流量必須由兩個橋接器轉發。

下面的流程圖顯示了學習型橋接器的整體工作邏輯。當橋接器從埠 Z 接收傳入幀時,它會在資料庫中查詢其目標 MAC 地址。如果不存在,橋接器會將該幀廣播到所有傳出埠,但到達幀的埠除外。如果 DA 存在於資料庫中,它會轉發幀;否則,如果 DA 是它到達的埠,它會丟棄該幀。然而,如果 DA 不同,它會將幀轉發到相應的埠。然後,橋接器會檢查 SA 是否存在於資料庫中。如果存在,它會重新整理計時器,否則它會將 SA 新增到資料庫中。

透明生成樹橋接器

[編輯 | 編輯原始碼]

最後一種橋接器是透明生成樹橋接器。這些橋接器使用完整拓撲的子網來建立無環操作。下表顯示了透明生成樹橋接器的邏輯。橋接器會以以下方式檢查接收到的幀。將到達幀的目標地址與資料庫中的路由表進行檢查。這裡需要更多資訊來幫助橋接器,因此橋接器埠也會被儲存在資料庫中。此資訊被稱為埠狀態資訊,它有助於確定是否可以使用埠來訪問此目標地址。埠可以處於阻塞狀態以滿足生成樹操作的要求,或者處於轉發狀態。如果埠處於轉發狀態,則幀會被跨埠路由。埠可以具有不同的狀態,例如:出於維護原因,它可能處於“停用”狀態,或者如果由於路由網路變化而導致橋接器中資料庫發生變化,它也可能暫時不可用。

生成樹協議

[編輯 | 編輯原始碼]

某些站點使用一對 LAN 之間的兩個或多個橋接器並聯,以提高網路的可靠性,如圖 7 所示。這種安排會在網路中引入一些迴圈問題。


Clipboard

待辦事項
提到了圖 7,但該圖缺失。


在上圖中,處理了具有未知目標的幀 F。橋接器不知道目標地址,因此兩個橋接器都會廣播該幀。對於此示例,這意味著將其複製到 LAN 2。之後,橋接器 1 看到幀 F2,它是一個具有未知目標地址的幀,它將其複製到 LAN1,生成另一個不在圖中顯示的幀 F3。同樣,橋接器 2 將幀 F1 複製到 LAN1,生成另一個不在圖中顯示的幀 F4。橋接器 1 現在轉發幀 F4,橋接器 2 複製幀 F3。這個迴圈週而復始。這就是迴圈問題出現的原因。

解決此迴圈問題的方案是,橋接器應彼此通訊並使用生成樹改變其實際拓撲,生成樹可以到達網路中的每個 LAN。在生成樹中,網路中的一些橋接器會被丟棄,因為我們想要構建無環拓撲。例如,在下面顯示的圖中,有 10 個路由器連線 9 個不同的 LAN。此配置可以更改為圖 9 中的無環拓撲。這裡,LAN 被顯示為節點,LAN 透過橋接器連線,橋接器由弧線表示。透過刪除虛線表示的弧線,該圖可以簡化為生成樹。現在,從一個 LAN 到另一個 LAN 只有一個路徑。這樣,迴圈問題透過生成樹解決了,每個源到每個目標只有一個路徑。使用生成樹 3 可以完全消除迴圈。

要構建生成樹,請按照以下生成樹演算法進行操作。

  1. 首先選擇根橋接器。根橋接器是序列號最小的橋接器(此號碼由路由器製造商提供)。所有進入或離開橋接器的埠都是指定埠。在我們給定的示例中,圖中的根橋接器是“A”,來自 LAN 1 和 LAN 2 的埠是指定埠。
  2. 然後為非根橋接器選擇一個根埠。非根橋接器的根埠是到根橋接器路徑成本最低的埠。在我們的示例中,進入橋接器“B”的埠是最低成本路徑。其他橋接器也採用相同的邏輯。
  3. 在每個段上選擇一個指定埠。指定埠是到根橋接器成本最低的埠。在我們的示例中,來自橋接器“B”的傳出埠是指定埠,它到根橋接器的成本最低。其他橋接器也採用相同的邏輯。
  4. 在生成樹演算法確定了最低成本生成樹後,它會啟用所有根埠和指定埠,並停用所有其他埠。
  5. 生成樹演算法在正常操作期間會繼續執行。

橋接相對於路由的優勢如下所示:

  1. 透明橋接器是即插即用型的,因為它們是自學習型的,不需要任何配置。對於網路地址分配,路由器需要為每個介面定義地址。這些地址必須是唯一的。
  2. 與路由相比,橋接處理資料包的開銷更少。
  3. 橋接是協議無關的,而路由是協議相關的。
  4. 橋接會轉發所有 LAN 協議,而路由器只能路由資料包。

資料包格式

[編輯 | 編輯原始碼]

配置訊息

下圖顯示了配置訊息的格式。它也被稱為橋接協議資料單元 (BPDU)。以下引數被設定為零:

  1. 協議識別符號。
  2. 版本識別符號。
  3. 訊息型別。
位元組 引數
2 協議識別符號
1 協議版本
1 BPDU 型別
1 標誌
8 根識別符號
4 到根的成本
8 橋接器識別符號
2 埠識別符號
2 訊息年齡
2 最大年齡
2 Hello 時間
2 轉發延遲

根識別符號欄位包含根橋接器的標識,以及一個 2 位元組欄位,用於決定根橋接器和指定橋接器的優先順序。根路徑成本欄位指示從傳送橋接器到根 ID 欄位中列出的橋接器的總成本。

橋接訊息中的標誌欄位包含一個拓撲更改通知標誌,用於通知非根橋接器它們應該更新快取中的站點條目。此欄位還可以用於指示拓撲更改通知位。橋接器不需要使用前面的欄位通知父橋接器已發生拓撲更改。父橋接器將執行此任務。

橋接器和埠識別符號可以指示傳送配置訊息的橋接器的優先順序和 ID。訊息年齡欄位以 1/256 秒錶示時間。Hello 時間欄位也以 1/256 秒錶示,它定義了根橋接器傳送訊息之間的時間間隔。轉發延遲欄位,也以 1/256 秒錶示,是埠從阻塞狀態轉換到轉發狀態之前應處於中間狀態(如學習或偵聽)的時間。

埠狀態

[編輯 | 編輯原始碼]

橋接器上的每個埠都有一個狀態,用於控制其處理接收到的資料包的方式。埠可以正常轉發幀,也可以丟棄幀。此外,埠可以選擇從它丟棄的幀中學習 MAC 地址(除了從它轉發的幀中學習 MAC 地址)。理論上,埠可以在不學習 MAC 地址的情況下轉發資料包,但這在實際應用中並不常用。可能的組合被稱為以下名稱:

丟棄
不進行轉發或學習
學習
埠學習 MAC 地址,但丟棄幀
轉發
埠學習地址並轉發幀

遠端橋接器

[編輯 | 編輯原始碼]

橋接器用於連線兩個(或多個)不同的遠端區域網。例如,一家公司可能在不同的地點擁有不同的部門,每個部門都有自己的區域網。整個網路應該連線起來,使其像一個大型的區域網一樣運作。這可以透過在每個區域網上放置一個橋接器,並用線路(電話公司提供的線路)連線這些橋接器來實現。在圖10中,三個區域網透過遠端橋接器連線。如圖所示,我們可以使用遠端橋接器連線多個區域網。


Clipboard

待辦事項
參考了圖示,但尚未存在


快速生成樹協議 (RSTP)

[編輯 | 編輯原始碼]

2002年,IEEE 推出了快速生成樹協議,它是原始 STP 的擴充套件,支援在拓撲更改後更快地收斂。新協議需要新的 BPDU 格式,但在識別到普通 STP 橋接器的情況下支援回退到舊格式。這意味著 STP 協議本身不再需要,並在 2004 年釋出的 802.1D 標準中被棄用。

華夏公益教科書