透明網橋最早是在1980年代早期由數位裝置公司(DEC)開發的,現在在乙太網路/IEEE 802.3網路中非常流行。
本章首先將透明網橋定義為實現生成樹協定的學習網橋。其中包括生成樹協定的詳細說明。
實施透明網橋的思科裝置過去被分為兩類:執行Cisco IOS®軟體的路由器以及執行特定軟體的Catalyst系列交換器。現在情況已經不同了。有幾種Catalyst產品現在基於IOS。本章介紹IOS裝置上可用的不同橋接技術。有關Catalyst軟體特定的配置和故障排除,請參閱LAN交換一章。
最後,我們介紹一些故障排除過程,這些過程根據透明橋接網路中通常出現的潛在問題的症狀進行分類。
透明網橋的名稱源於其存在和運行對網路主機透明的事實。當透明網橋通電後,它們通過分析來自所有連線網路的入站幀的源地址來瞭解網路的拓撲。例如,如果網橋看到幀從主機A到達第1行,則網橋會推斷主機A可以通過連線到第1行的網路到達。通過此過程,透明網橋會構建內部橋接表,如Table 20-1中的表。
表20-1:透明橋接表
主機地址 | 網路號碼 |
---|---|
0000.0000.0001 | 1 |
0000.b07e.ee0e | 7 |
? | - |
0050.50e1.9b80 | 4 |
0060.b0d9.2e3d | 2 |
0000.0c8c.7088 | 1 |
? | - |
網橋使用其橋接表作為流量轉發的基礎。當其中一個網橋介面收到幀時,網橋會在其內部表中查詢該幀的目的地址。如果表在目的地址與網橋的任何埠(除了接收幀的埠之外)之間對映,則將該幀轉發到指定的埠。如果未找到對映,幀將泛洪到所有出站埠。廣播和組播也以這種方式被泛洪。
透明網橋成功地隔離了網段內流量,並減少了各個網段上看到的流量。這通常會縮短網路響應時間。流量降低的程度以及響應時間的提高取決於網段間流量(相對於總流量)以及廣播和組播流量。
如果沒有橋接器到橋接器協定,當網際網路中任意兩個LAN之間有多條橋接器和區域網(LAN)路徑時,透明橋接器演算法將失敗。Figure 20-1說明了此類橋接環路。
圖20-1:透明橋接環境中的不準確轉發和學習
假設主機A向主機B傳送幀。兩個網橋都收到該幀,並正確地斷定主機A位於網路2上。遺憾的是,主機B收到主機A幀的兩個副本後,兩個網橋都在其網路1介面上再次收到該幀,因為所有主機都通過廣播LAN接收所有消息。在某些情況下,網橋隨後會更改其內部表以指示主機A在網路1上。如果是這種情況,當主機B對主機A的幀作出應答時,兩個網橋都會接收並隨後丟棄這些應答,因為它們的表指示目的地(主機A)與幀的源位於同一網段上。
除了基本連線問題(如所描述的問題)之外,帶有環路的網路上的廣播消息激增也代表了一個潛在嚴重的網路問題。根據Figure 20-1 ,假設主機A的初始幀是廣播。兩個網橋都無休止地轉發幀,使用所有可用的網路頻寬,並阻止在兩個網段上傳輸其他資料包。
具有如圖20-1所示的循環的拓撲可能很有用,也可能有害。環路表示存在多條穿過網際網路的路徑。具有從源到目的地的多條路徑的網路具有所謂的改進的拓撲靈活性,可提高整體網路容錯能力。
生成樹演算法(STA)是由乙太網的關鍵供應商DEC開發的,目的是在保留環路優勢的同時消除環路問題。DEC演算法隨後被IEEE 802委員會修訂並在IEEE 802.1d規範中發佈。DEC演算法和IEEE 802.1d演算法不同,也不相容。
STA通過放置這些網橋埠來指定網路拓撲的一個無環子集,因此,如果處於活動狀態,它可以將環路建立為備用(阻塞)條件。在主鏈路發生故障時,可以啟用網橋埠阻塞,從而提供通過網際網路的新路徑。
STA使用圖論的一個結論作為構建網路拓撲的一個無環子集的基礎。圖論指出:「對於由節點和連線節點對的邊組成的任何連線的圖形,都有一個邊的生成樹,它保持圖形的連通性但不包含循環。」
Figure 20-2說明了STA如何消除環路。STA要求為每個網橋分配一個唯一的識別符號。通常,此識別符號是網橋的媒體訪問控制(MAC)地址之一加上優先順序指示。每個網橋中的每個埠還分配有一個唯一的(在該網橋內)識別符號(通常是它自己的MAC地址)。 最後,每個網橋埠都與一個路徑開銷相關聯。路徑開銷表示通過該埠將幀傳輸到LAN的成本。在Figure 20-2中,路徑開銷會記在來自每個網橋的線路上。路徑開銷通常是預設值,但可以由網路管理員手動分配。
圖20-2:透明網橋網路(STA之前)
生成樹計算中的第一個活動是選擇根網橋,它是具有最低網橋識別符號值的網橋。在Figure 20 - 2中,根網橋為Bridge 1。接下來,確定所有其他網橋上的根埠。網橋的根埠是連線根網橋的埠,其聚合路徑開銷最小。到根路徑的最小聚合路徑開銷值稱為根路徑開銷。
最後,確定指定網橋及其指定埠。指定網橋是每個LAN上提供最小根路徑開銷的網橋。LAN的指定網橋是唯一允許將幀轉發到LAN或從LAN轉發到其指定網橋的網橋。LAN的指定連線埠是將其連線到指定橋接器的連線埠。
在某些情況下,兩個或多個網橋可能具有相同的根路徑開銷。例如,在Figure 20-2中,網橋4和5都可以到達網橋1(根網橋),路徑開銷為10。在這種情況下,會再次使用網橋識別符號來確定指定的網橋。選擇網橋4的LAN V埠時,應選擇網橋5的LAN V埠。
通過此過程,除了一個橋接器之外,所有直接連線到每個LAN的橋接器都會被消除,這樣可以消除所有雙LAN環路。STA還消除了涉及兩個以上LAN的環路,但仍能保持連線。Figure 20-3顯示了將STA應用到圖20-2中所示網路的結果。Figure 20-2更清楚地顯示了樹拓撲。將此圖與Figure 20-3的比較表明,STA已將網橋3和網橋5中通往LAN V的埠置於備用模式。
圖20-3:透明網橋網路(STA之後)
當網橋通電以及檢測到拓撲更改時,將進行生成樹計算。此計算需要跨距樹狀目錄橋接器之間的通訊,此通訊可通過設定訊息(有時稱為橋接器通訊協定資料單元或BPDU)完成。 配置消息包含標識假定為根的網橋的資訊(根識別符號)以及從傳送網橋到根網橋的距離(根路徑開銷)。 配置消息還包含傳送網橋的網橋和埠識別符號以及配置消息中包含的資訊期限。
網橋定期交換配置消息(通常為一至四秒)。 如果網橋發生故障(導致拓撲更改),鄰近的網橋很快會檢測到缺少配置消息並啟動生成樹重新計算。
所有透明網橋拓撲決策都是在本地做出的。配置消息在附近的網橋之間交換。在網路拓撲或管理方面沒有中央機構。
透明網橋交換配置消息和拓撲更改消息。配置消息在網橋之間傳送以建立網路拓撲。拓撲更改消息在檢測到拓撲更改後傳送,以指示必須重新運行STA。
表20-2顯示了IEEE 802.1d配置消息格式。
表20-2:透明網橋配置
協定識別符號 | 版本 | 消息型別 | 標誌 | 根ID | 根路徑開銷 | 網橋ID | 連線埠ID | 消息期限 | 最大使用期限 | Hello 時間 | 轉撥延遲 |
---|---|---|---|---|---|---|---|---|---|---|---|
2 位元組 | 1位元組 | 1位元組 | 1位元組 | 8 位元組 | 4 位元組 | 8 位元組 | 2 位元組 | 2 位元組 | 2 位元組 | 2 位元組 | 2 位元組 |
透明網橋配置消息包含35個位元組。以下是訊息欄位:
協定識別符號:包含值0。
版本:包含值0。
消息型別:包含值0。
標誌:一個位元組欄位,其中僅使用前兩個位。拓撲變化(TC)位表示拓撲變化。拓撲更改確認(TCA)位設定為確認收到設定了TC位的配置消息。
根ID:標識根網橋,並列出其2位元組優先順序和6位元組ID。
根路徑開銷:包含從網橋向根網橋傳送配置消息的路徑開銷。
網橋ID:標識傳送消息的網橋的優先順序和ID。
埠ID:標識傳送配置消息的埠。此欄位允許檢測和處理由多個連線的網橋建立的環路。
消息年齡:指定自根傳送當前配置消息所基於的配置消息以來經過的時間。
最大使用期限:指示何時必須刪除當前配置消息。
Hello 時間:提供根網橋配置消息之間的時間段。
轉發延遲:提供在拓撲更改後過渡到新狀態之前網橋必須等待的時間量。如果網橋過渡過快,並非所有網路鏈路都能準備好更改其狀態,從而導致環路。
拓撲更改消息格式與透明網橋配置消息類似,只是它只包含前四個位元組。以下是訊息欄位:
協定識別符號:包含值0。
版本:包含值0。
消息型別:包含值128。
思科路由器有三種不同的橋接實施方式:預設行為、並行路由和橋接(CRB)以及整合路由和橋接(IRB)。
預設行為
在IRB和CRB功能可用之前,您只能基於平台橋接或路由協定。例如,如果使用ip route命令,則在所有介面上完成IP路由。在這種情況下,無法在路由器的任何介面上橋接IP。
並行路由和橋接(CRB)
使用CRB,您可以根據介面確定是橋接還是路由協定。也就是說,您可以在某些介面上路由指定協定,並在同一路由器內的網橋組介面上橋接同一協定。然後路由器既可以是路由器,也可以是指定協定的網橋,但是在路由定義的介面和網橋組介面之間不能有任何型別的通訊。
此示例說明,對於給定的協定,單個路由器在邏輯上可以充當單獨的獨立裝置:一台路由器和一個或多個網橋:
圖20-4:並行路由和橋接(CRB)
整合路由和橋接(IRB)
IRB具有網橋組虛擬介面(BVI)的概念,可在網橋組和路由介面之間路由。 由於橋接發生在資料鏈路層,路由發生在網路層,因此它們具有不同的協定配置模型。例如,使用IP時,網橋組介面屬於同一網路並具有集體IP網路地址,而每個路由介面代表一個具有自身IP網路地址的不同網路。
BVI的概念是為了使這些介面能夠交換特定協定的資料包。從概念上講,如以下範例所示,思科路由器看起來像連線到一個或多個橋接組的路由器:
圖20-5:整合路由和橋接(IRB)
BVI是路由器中的虛擬介面,其作用類似於普通路由介面。BVI代表路由器內路由介面的對應網橋組。BVI的介面號是此虛擬介面所代表的網橋組的編號。該號碼是該BVI與網橋組之間的鏈路。
此範例說明BVI原則如何適用於Catalyst交換器中的路由交換器模組(RSM):
圖20-6:Catalyst交換器中的路由交換器模組(RSM)。
本節提供透明橋接網際網路中連線問題的故障排除資訊。文中將描述具體的透明橋接症狀,分析各種問題的可能起因並指出解決辦法。
注意:第10章「IBM故障排除」中介紹了與源路由橋接(SRB)、轉換橋接和源路由透明(SRT)橋接相關的問題。
為了有效排除橋接網路的故障,您必須具有其設計的基本知識,特別是在涉及生成樹時。
必須提供以下內容:
橋接網路的拓撲圖
根網橋的位置
冗餘鏈路(和阻塞埠)的位置
排除連線故障時,將問題減少到最少的主機數量,最好是僅一台客戶端和一台伺服器。
以下各節介紹透明橋接網路中最常見的網路問題:
症狀:客戶端無法通過透明橋接網路連線到主機。
表20-3列出了可能導致此症狀的問題並提供了解決方案建議。
表20-3:透明橋接:無連線
可能的原因 | 建議的操作 |
---|---|
硬體或介質問題 |
|
主機已關閉 |
|
橋接路徑已中斷 |
|
橋接過濾器配置錯誤 |
|
輸入和輸出隊列已滿 | 過多組播或廣播流量可能會導致輸入和輸出隊列溢位,從而導致資料包被丟棄。
|
[1]MAC =媒體訪問控制
[2]LSAP =鏈路服務接入點
症狀:主機之間暫時失去連線。多個主機同時受到影響。
表20-4列出了可能導致此症狀的問題並提供了解決方案建議。
表20-4:透明橋接:不穩定生成樹
可能的原因 | 建議的操作 |
---|---|
鏈路抖動 |
注意:由於CPU進程中為調試輸出分配了高優先順序,因此使用debug spantree event 命令可能會使系統不可用。因此,請僅使用debug指令對特定問題進行疑難排解,或在進行作業階段時對思科技術支援人員的問題進行疑難排解。此外,最好在網路流量較低和使用者較少的情況下使用debug命令。如果在這些時段內進行調試,則會降低debug命令額外負荷過程增加影響系統使用的可能性。 |
根網橋繼續更改/多個網橋聲稱是根 |
|
未交換Hello |
|
症狀:在透明橋接環境中成功建立連線,但會話有時會突然終止。
表20-5列出了可能導致此症狀的問題並提供了解決方案建議。
表20-5:透明橋接:會話意外終止
可能的原因 | 建議的操作 |
---|---|
過度重傳 |
|
串列鏈路延遲過大 | 增加頻寬、應用優先順序隊列、增加保持隊列大小或修改系統緩衝區大小。有關詳細資訊,請參閱第15章「串列線路故障排除」。 |
症狀:資料包環路和廣播風暴發生在透明網橋環境中。終端站被迫進行過多重新傳輸,導致會話超時或中斷。
注意:資料包環路通常由網路設計問題或硬體問題引起。
表20-6列出了可能導致此症狀的問題並提供了解決方案建議。
橋接環路是橋接網路中最糟糕的情況,因為它可能會影響每個使用者。在緊急情況下,快速恢復連線的最佳方法是手動禁用網路中提供冗餘路徑的所有介面。很遺憾,如果這樣做,橋接環路的原因將很難確定。如果可能,請事先嘗試Table 20-6操作。
表20-6:透明橋接:出現循環和廣播風暴
可能的原因 | 建議的操作 |
---|---|
未實現生成樹 |
|
生成樹演算法不匹配 |
注意:DEC和IEEE生成樹演算法不相容。 |
多個橋接域配置不正確 |
|
連結錯誤(單向連結)、雙工不相符和連線埠上高度錯誤。 | 當應阻塞的連線埠進入轉送狀態時,會發生回圈。連線埠需要從鄰近的橋接器接收BPDU,才能處於封鎖狀態。任何導致BPDU丟失的錯誤都可能是橋接環路的原因。
|
[1]IEEE =電氣和電子工程師協會
當網路穩定時,儘可能收集有關其拓撲的資訊。
至少收集以下資料:
網路的物理拓撲
根網橋的預期位置(和備用根網橋)
阻塞埠的位置
書籍:
互連、網橋和路由器、Radia Perlman、Addison-Wesley
Cisco Lan交換, K.Clark, K.Hamilton, Cisco Press