如果把兩台 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不穩定
所以並未加以說明
留言列表