如果把兩台 Switch 的兩條實體線路接成 Loop如下示意圖
當 pc1 要找 pc2 為何會形成 Broadcast Storm ?

pc1
  |
switchA
 | |
switchB
  |
pc2

網路回應說明

一步步來說明
1.PC1丟出一個封包(來源:PC1 目的:PC2)
2.SWITCHA收到PC1的封包,此時SWITCHA的MAC TABLE已經學習到[往PC1的封包,PC1的MAC,PORT3]
3.因為一開始不知道要往哪送,所以用FLOOD
4.SWITCHA的MAC TABLE學習到PC2的封包要丟給SWITCHB
 這時候SWITCHA的 MAC TABLE新增[往PC2的封包,SWITCHB的MAC,PORT1]
5.SWITCHB的PORT1收到SWITCHA的封包,
 此時SWITCHB的MAC TABLE已經學習到[往PC1的封包,SWITCHA的MAC,PORT1]
6.SWITCHB使用FLOOD來找出PC2的位置
7.SWITCHB的MAC TABLE學習到PC2的封包可以往兩個地方丟,
 一個是SWITCHB的PORT3[接PC2]-->SWITCHB的PORT3會收到PC2回應
 另一個是SWITCHB的PORT2[接SWITCHA]-->SWITCHB的PORT2會收到SWITCHA會回應說"往PC2的封包可以經由SWITCHA的PORT1送"
 此時SWITCHB的MAC TABLE=[往PC2的封包,PC2的MAC,PORT3]及[往PC2的封包,SWITCHA的MAC,PORT2]
8.SWITCHB把要送到PC2的封包往PORT2及PORT3送
9.SWITCHA的PROT2收到SWITCHB的PORT2送來的"要往PC2的封包"
10.SWITCHA比對的MAC TABLE,把封包往PORT1送
11.SWITCHB收到SWITCHA的"要往PC2的封包",比對MAC TABLE,往PROT2及PORT3送
12.PC2由於已經收到相同的封包了(TCP的SYN NUMBER相同),所以會丟棄此封包
13.SWITCHA重複第10步的動作

MAC TABLE       SWITCHA             SWITCHB
STEP1           X                X
STEP2       [PC1,PC1 MAC,PORT3]        X
STEP4       [PC1,PC1 MAC,PORT3]        X
          [PC2,SWITCHB MAC,PORT1]        
STEP5       [PC1,PC1 MAC,PORT3]  [PC1,SWITCHA MAC,PORT1]
          [PC2,SWITCHB MAC,PORT1]        
STEP7       [PC1,PC1 MAC,PORT3]  [PC1,SWITCHA MAC,PORT1]
          [PC2,SWITCHB MAC,PORT1]  [PC2,SWITCHA MAC,PORT2]  ====>這個就是造成Broadcast Storm的元兇
                         [PC2,PC2 MAC,PORT3]


這只是針對Broadcast Strom 來做說明

實際上,
在STEP4中,SWITCHA學到路徑會有兩筆
一筆是[PC2 SWITCHB PORT1]
另一筆是[PC2 SWITCHB PORT2]

在STEP5中,SWITCHB學到路徑也會有兩筆
一筆是[PC1 SWITCHA PORT1]
另一筆是[PC1 SWITCHA PORT2]

這又會牽扯到,因為接成LOOP的關係會造成SWITCH的MAC TABLE不穩定
所以並未加以說明

arrow
arrow

    Johnson峰 發表在 痞客邦 留言(0) 人氣()