22 · Building Redundant Switched Topologies建置備援交換拓樸

Issues in Redundant Topologies備援拓樸中的問題

In the absence of a protocol to monitor link forwarding states, a redundant switch topology is vulnerable to these conditions:

在沒有通訊協定監控鏈路轉送狀態的情況下,備援交換拓樸容易出現以下狀況:

  • Continuous frame duplication: Without some loop-avoidance process, each switch floods broadcast, multicast, and unknown unicast frames endlessly. Switches flood broadcast frames to all ports except the port on which the frame was received. The frames then duplicate and travel endlessly around the loop in all directions. The result of continuous broadcast frame duplication is called a broadcast storm.持續的框架重複:若沒有某種迴圈避免機制,每台交換器都會無限地泛流廣播、群播與未知單播框架。交換器會將廣播框架泛流到除了接收該框架的連接埠以外的所有連接埠。這些框架接著會不斷複製,並在迴圈中朝各個方向無限傳播。持續的廣播框架重複所造成的結果稱為廣播風暴
  • Multiple frame transmission: Multiple copies of unicast frames may be delivered to destination stations. Many protocols expect to receive only a single copy of each transmission. Multiple copies of the same frame can cause unrecoverable errors.多重框架傳輸:單播框架的多個副本可能會被送達目的地站台。許多通訊協定預期每次傳輸只會收到一份副本。同一框架的多個副本可能導致無法恢復的錯誤。
  • MAC database instability: Instability in the content of the MAC address table results from the fact that different ports of the switch receive copies of the same frame. Data forwarding can be impaired when the switch consumes the resources that are coping with instability in the MAC address table.MAC 資料庫不穩定:由於交換器的不同連接埠都會收到同一框架的副本,MAC 位址表的內容會變得不穩定。當交換器消耗資源來應付 MAC 位址表的不穩定狀況時,資料轉送可能因而受阻。

For example, in the topology that is shown in the figure no Layer 2 loop prevention mechanism is implemented. Suppose that host A sends a frame to host B. Host A resides on network segment A, and host B resides on network segment B. Assume that none of the switches have learned the address of host B.

舉例來說,如圖所示的拓樸中並未實作任何第 2 層迴圈防止機制。假設主機 A 傳送一個框架給主機 B。主機 A 位於網路區段 A,主機 B 位於網路區段 B。假設所有交換器都尚未學習到主機 B 的位址。

Host A transmits the frame destined for host B on segment A.

主機 A 在區段 A 上傳送目的地為主機 B 的框架。

Switch W receives the frame that is destined for host B, learns the MAC address of host A on segment A, and floods it out to switches X and Y.

交換器 W 收到這個目的地為主機 B 的框架,在區段 A 上學習到主機 A 的 MAC 位址,並將其泛流到交換器 X 與 Y。

Switch X and switch Y both receive the frame from host A (via switch W) and correctly learn that host A is on segment 1 for switch X and on segment 2 for switch Y. Switch X and switch Y then forward the frame to switch Z. Switch Z receives two copies of the frame from host A: one copy through switch X on segment 3 and one copy through switch Y on segment 4.

交換器 X 與交換器 Y 都(透過交換器 W)收到來自主機 A 的框架,並正確地學習到:對交換器 X 而言主機 A 位於區段 1,對交換器 Y 而言主機 A 位於區段 2。接著交換器 X 與交換器 Y 都將框架轉送給交換器 Z。交換器 Z 收到來自主機 A 的兩份框架副本:一份透過區段 3 上的交換器 X,另一份透過區段 4 上的交換器 Y。

Assume that the first copy of the frame from switch X arrives first. Switch Z learns that host A resides on segment 3. Because switch Z does not know where host B is connected, it forwards the frame to all its ports (except the incoming port on segment 3) and therefore to host B and also to switch Y.

假設來自交換器 X 的第一份框架副本先到達。交換器 Z 學習到主機 A 位於區段 3。由於交換器 Z 不知道主機 B 連接在哪裡,它會將框架轉送到除了區段 3 上的進入埠以外的所有連接埠,因此框架會送到主機 B,也會送到交換器 Y。

When the second copy of the frame from switch Y arrives at switch Z on segment 4, switch Z updates its table to indicate that host A resides on segment 4. Switch Z then forwards the frame to host B and switch X.

當來自交換器 Y 的第二份框架副本在區段 4 上到達交換器 Z 時,交換器 Z 會更新其資料表,指出主機 A 位於區段 4。接著交換器 Z 將框架轉送給主機 B 與交換器 X。

In this example where no loop prevention mechanism exists the result is that host B has received multiple copies of the frame, which can cause problems with the receiving application directly on the host B.

在這個沒有迴圈防止機制的範例中,結果是主機 B 收到了多份框架副本,這可能直接對主機 B 上接收端的應用程式造成問題。

Switches X and Y now change their internal tables to indicate that host A is on segment 3 for switch X and on segment 4 for switch Y. The copies of the initial frame from host A being received on different segments of the switches results in MAC database instability.

交換器 X 與 Y 現在會變更其內部資料表,指出對交換器 X 而言主機 A 位於區段 3,對交換器 Y 而言主機 A 位於區段 4。由於來自主機 A 的初始框架副本在交換器的不同區段上被收到,因而造成 MAC 資料庫不穩定。

Furthermore, if the initial frame from host A was a broadcast frame, then all switches forward the frames endlessly. Switches flood broadcast frames to all ports except the port on which the frame was received. The frames then duplicate and travel endlessly around the loop in all directions. They eventually would use all available network bandwidth and block transmission of other packets on both segments. This situation results in a broadcast storm.

此外,如果來自主機 A 的初始框架是廣播框架,那麼所有交換器都會無止盡地轉送這些框架。交換器會將廣播框架泛流到除了接收該框架的連接埠以外的所有連接埠。這些框架接著會不斷複製,並在迴圈中朝各個方向無限傳播。它們最終會用盡所有可用的網路頻寬,並阻擋兩個區段上其他封包的傳輸。這種情況的結果就是廣播風暴

What could cause a potential problem when a redundant physical connection exists between two or more switches that share a common network segment?當兩台以上共用同一網路區段的交換器之間存在備援實體連線時,可能造成潛在問題的原因為何?