台灣最大程式設計社群網站
線上人數
1314
 
會員總數:246133
討論主題:189712
歡迎您免費加入會員
討論區列表 >> 網管 / 資安 / VM >> Switch 可以擋廣播嗎?
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Switch 可以擋廣播嗎?
價值 : 35 QP  點閱數:13285 回應數:18
樓主

b90220208
初學者
150 156
1448 333
發送站內信


如果 switch 接收到的是廣播封包-例如: ARP request
那麼當它比對該 Frame 的 ethernet destination address 為 FF:FF:FF:FF:FF:FF 時在 switch 的
MAC Address Table 一定找不到,因此會將 Frame flood 出去.

請教,
若此無誤,那麼 switch 既無法擋廣播,假若其所接網段又很多時,那會不會很慘呢(豈不 flood 來 flood 去嗎)?



另外,
那一般講的廣播風暴與此相同嗎?
(以下是我查到的資訊)
===============================
如果接收端位址與發
送端位址屬於同一個連接埠,那
麼該封包將會被 "交換器" 丟
棄,不會通過交換器傳送到其
他的網段;如果接收位址與發
送位址是屬於兩個不同的連
接埠,那麼該封包就會被交換
器轉發到接收位址所屬的連
接埠上。這樣,我們就可以通
過交換器的過濾和轉發功
能,來避免網路 "廣播風暴" ,減
少碰撞和網路擁塞的情況出
現。
===============================

本篇文章發表於2006-01-17 18:26
1樓
回應

微風
檢舉此回應
的確...你問的就是廣播風暴..
目前能檔Broadcast封包的只有Router這一層
當你有很多網段時,Router就是扮演Gateway的腳色來串聯個網段並阻斷廣播造成的影響
你有沒有偶爾觀察一下自己平常在用的ADSL呢
它可是最大的廣播來源 = =
本篇文章回覆於2006-01-17 19:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

b90220208
檢舉此回應
Thanks a lot#

關於 "ADSL 是最大的廣播來源" ...嗯,想不透,可以指點一下嗎?



再請問一下,關於:
一般所謂的 L2 switch 不能擋廣播, L3 route 才能.
為何要強調 L2,L3 ...如此, L3 Router 擋廣播的原理為何?

不管是 ARP Broadcast 或者 IP Broadcast 等類型的廣播,其 Frame 的 Ethernet destination address 欄位值都是 FF:FF:FF:FF:FF:FF ...那麼 Switch 既然是 L2 設備,又為何無法擋(它不是看的到該欄位嗎)?


最後請教 "廣播風暴" 會如何地影響網路?

本篇文章回覆於2006-01-18 01:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

微風
檢舉此回應
在TCP/IP對網路定址的定義中,有一個位址是用來代表此網段上的全部電腦的,就是廣播(broadcast)位址,定義為「將子網路的bit全部設成1」。比如說,10.1.1.0這個網域,其廣播位址為10.1.1.255。當封包目標IP為這個地址時,該封包會透過L1實體網路介面的廣播編號(FF:FF:FF:FF:FF:FF)傳送出去,而所有連接此網路的網路卡都會將此封包接收進主機中,對此封包進行回應或處理。

而Client送出的broadcast封包進到Target的網域時,L3網路層(IP layer)的廣播位址(如:10.1.1.255)
必須要能夠轉換成L1實體層(Physical layer)的Mac Address(FF:FF:FF:FF:FF:FF)才能夠被該區所有PC的網卡接收,
而扮演這個轉換的腳色,就是Router。

而一般的L2連結層Switch是負責一開始的資料編碼與打包 (frame或packet),並加入ICMP Control,再與L1實體層做Link。

當該網段所有的PC接收封包會開始進行處理與回應時,問題就產生了!
Client若假冒其他主機之名向Router發出broadcast的ICMP Echo Request。由於目的地是廣播位址,Router在收到之後會對該區域網段內的所有電腦發出此ICMP封包,所有該區的電腦在接收到此訊息後,會對來源主機(也就是被假冒的受害主機,非原發送封包主機)送出ICMP Echo Reply回應。

當所有的ICMP封包在極短的時間內湧入被假冒的受害主機內,不但造成網路壅塞,更會使受害主機因為無法大量承受與即時反應,造成系統中斷而當機、服務暫停。另外,這些ICMP broadcast(packet flood)被送進該網域內,將會造成該網段內的壅塞,而該網域上的所有電腦都成為攻擊的受害者,也就變成所謂的ICMP Dos/Smurf攻擊。

將router的廣播功能關掉,便可以阻止此種broadcast封包的擴散,阻擋攻擊。
另外設定Fliter對外界傳入的封包過濾。不過如果是來自網域內部的攻擊時,這種防禦方法無效。
本篇文章回覆於2006-01-18 13:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

b90220208
檢舉此回應
Thanks!!
以下若有誤還請指正..

我查了一下午的 GOOGLE 發現廣播風暴的形成原來有著許多種的造因,例如網卡故障,廣播要求主機回應與重發的Dos攻擊(如您說的),路由交換訊息的廣播,...等等乃至純粹的網路使用者過多也可能造成的.

簡單說來: 感覺上就是吃掉過多的網路資源而造成癱瘓的結果.(不知這樣想有無遺漏或不完整?)

只是其中有個原因-- "廣播迴圈",來源: http://speed.cis.nctu.edu.tw/~ydlin/course/cn/exp/Exp_NBL/stp/stp_manual.pdf ,
我實在看不懂,可以請問其原理為何嗎?
本篇文章回覆於2006-01-18 18:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

睡仙
捐贈 VP 給 睡仙 檢舉此回應
你是說 Broadcast Storm 嗎?

那個是因為把兩台Switch的實體線路接成Loop的關係,
簡單說,就是網路封包可以從SwitchA[PortA]到SwitchB[PortA],又可以從Switch[PortB]回到SwitchA上

由於,Switch會自動學習MAC address
在Switch MAC Table中紀錄著往同一個目的地上會有兩份MAC address
所以會造成網路封包會在這兩台Switch中一直相互傳送,吃掉網路的頻寬和Switch的資源

所以才會有STP這玩意出來

前面的大大們說了一下Broadcast封包,小弟也來插嘴一下 ^^
首先,先有一個觀念,每個IP(Layer3)都會有一個相對應的MAC(Layer2)
像是IP:0.0.0.0 其所對應的MAC:FF FF FF FF FF FF
像是IP:192.168.1.255(192.168.1.0網段的廣播封包就是用這個IP),其所對應的MAC:[與發出封包的電腦的MAC 前四碼相同]FF FF

第二個觀念,MAC TABLE 的中每筆資料至少會有下列兩欄 1.MAC ADDRESS 2.在Switch上的哪個Port

第三個觀念,Switch 對於封包會做以下的處置
1.將封包DESTATION MAC位置與MAC TABLE裡相比對
2.如果MAC TABLE有此資料,就將該往該紀錄的PORT送出
3.如果沒有資料,就會往每個PORT送(flood),如果有接收到TCP SYN回應,會把MAC ADDRESS及Switch Port新增到MAC TABLE上

第四個觀念,Switch不理會IP ADDRESS,它只管MAC ADDRESS

言歸正傳 ^^
廣播封包有兩種,
一種是本身網域的廣播封包,其IP是xxx.xxx.xxx.255,其MAC是[與發出封包的電腦的MAC 前四碼相同] FF FF
一種是全世界通行的廣播封包,其IP是0.0.0.0,其MAC是FF FF FF FF FF FF

如果一台Switch上面有接很多不同網段的話,每個網段的廣播封包要如何處理?
很簡單,Switch只會去比較前面四碼,再把廣播封包送到前四碼相同的MAC ADDRESS而已
除非是收到MAC ADDRESS=FF FF FF FF FF FF 的封包或是第一次收到的封包,才會往每個PORT送(flood)

不知道,這樣寫,板大是否明白 ^^
本篇文章回覆於2006-01-20 14:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

b90220208
檢舉此回應
pc1
|
switchA
| |
switchB
|
pc2

您所謂把兩台 Switch 的實體線路接成 Loop 是像如上這樣嗎?
當 pc1 要找 pc2 為何會形成 Broadcast Storm ?
本篇文章回覆於2006-01-20 22:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

睡仙
捐贈 VP 給 睡仙 檢舉此回應
那就一步步來說明吧 ^^

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]

不知道,這樣版大清楚了嗎
本篇文章回覆於2006-01-21 04:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

睡仙
捐贈 VP 給 睡仙 檢舉此回應
這只是針對Broadcast Strom 來做說明

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

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

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

還請版大見諒!!
因為這個用寫的不太容易說清楚,用畫的比較容易了解^^
本篇文章回覆於2006-01-21 04:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

b90220208
檢舉此回應
Thanks a lot!!
可否再問一下:

一般說的 ATM , CSMA/CD , Token-Ring , Wireless LAN , FDDI 網路都可以經由 "橋接器" 互相連結.
我想問的是: 橋接器如何將不同的網路架構連結在一起...例如(我不知這樣問法對不對)
發送端與接收端既然在 Layer2 使用不同的 MAC 協定(如上所列舉的一堆網路架構, 其 frame 格式都不同),那接收端要拆解發送端的 frame 的話,"橋接器" 是否在轉送 FRAME 出去前會改變或轉換什麼呢?

另外就是若兩端網路使用不同的通訊協定堆疊廠牌(ex: 一邊是 novell netware 一邊是 tcp/ip suite)
因為一般要互通就是接收端要能一層一層拆解發送端的封包,那若以我舉的為例,光說網路層就好了: 一邊的網路層協定是 ipx 另一邊則是 ip 這樣接收端不就無法進行拆解了?? ...此種情況若要互連的話,與 "橋接器" 扯的上關係嗎?
本篇文章回覆於2006-01-22 09:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

睡仙
捐贈 VP 給 睡仙 檢舉此回應
嗯...建議版大可以找一本專門講解TCP/IP的書來看看
基本上,版大提出的這些,每一個都可以出一本厚厚的書了^^(大學教授還可以撐一年呢)
詳細的情形,版大可以到VLAB上問看看

小弟在此只做最基礎的而且有點錯誤的說明好了^^(因為容易讓人誤解)

ATM:中文翻譯是叫做非同步傳輸模式,他是把Layer2封包切成每一個53BYTE來傳輸,減少不必要的TCP SYN,來增加實際傳輸的頻寬
CSMA/CD:中文的翻譯簡單來說叫做碰撞偵測,他是當HUB中有封包產生碰撞的時候,HUB對於產生碰撞的封包處理的機制
Token-Ring:這是在IEEE802.3[現在所使用的ETHERNET遵循的規範]產生前所用的網路技術,有4Mbps及16Mbps兩種頻寬[好像是IEEE802.2吧]
Wireless LAN:無線網路,主要是規範在IEEE802.11a/b/g中,規範發射頻率,通道,發射功率........
FDDI:使用Token-Ring規範的網路環境
IPX:像版大找的一樣,他是NOVELL推出來的規範,他的網路定址方式=MAC+IP

以上這些,幾乎是Layer1(實體線路層)的規範
跟TCP/IP完全扯不上關係...ˇˇ,除了TR、FDDI和IPX之外

那就開始簡單說一下正題囉
IPX:
他也是遵守TCP/IP的規範,只不過他的Layrer3封包標頭和Layer2連是在一起的
怎麼說呢?
假設有一台PC,他的網路卡MAC是AA:BB:CC:DD:EE:FF,IP是11.22.33.44
那他在IPX網路中的識別碼=AA.BB.CC.DD.EE.FF.11.22.33.44共十組16進制碼
如果在IP網路中的話,就如我們一般所知的MAC和IP的方式

BRIDAGE(橋接器):
原則上,BRIDAGE不會管他要傳送的封包格式是什麼東西,因為他根本不會去看
BRIDAGE的作用很簡單,他就是把PORTA的訊號(電位)原原本本的送到PORTB
就好像是PORTA及PORTB是同一點[橋接器:顧名思義就是把PORTA及PORTB像橋一樣把他們接起來]
也就是說,BRIDAGE他不看Layer2以上是什麼格式
他只看你的訊號是如何[這是屬於Layer1的範圍]
因此,不管你在PORTA及PORTB上用的是不是同一種FRAME格式都會轉送
會對看FRAME裡面是什麼的是屬於Layer2以上的設備,像是SWITCH之類的
本篇文章回覆於2006-01-22 21:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

睡仙
捐贈 VP 給 睡仙 檢舉此回應
補充一下 ^^
所以當IPX的網路和IP網路接在一起的時候
FRAME可是各跑各的
除非有某台設備(PC、SWITCH、ROUTER....)有設定可以接收及解析這兩種封包
像是收到IPX(IP)的封包,設備將他的標頭重新改寫成IP(IPX)封包後,送到IP(IPX)網路
本篇文章回覆於2006-01-22 21:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
回應

睡仙
捐贈 VP 給 睡仙 檢舉此回應
補充第二下^^
現在沒有多少LAN還在用Token-Ring及FDDI,這是因為被ETHERNET給比過去了...
[聽說FOUNDRY正在向IEEE推出40G ETHERNET規範,想要讓他正式化]
[CISCO更狠,打算直接要推出100G ETHETNE規範]
而IPX除了還有些硬體在用,像是一些實驗室用的精密儀器之類的....
本篇文章回覆於2006-01-22 22:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
作者回應

b90220208
檢舉此回應
不好意思最近較忙
先謝謝您的熱心與指教,歹謝喔,我想我得先消化(整理)一下.
本篇文章回覆於2006-01-24 10:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
作者回應

b90220208
檢舉此回應
我用自己的話講看看對不對
我的問題介於:
硬體(即 Layer1 的網路架構 ATM , CSMA/CD , Token-Ring...等,這些差別是硬體上的嗎? )

軟體(即各廠牌的 Protocol Suite-- tcp/ip , novell netware , apple talk ...等)

[[[ 不同的Protocol Suite是否能相互通訊?? ]]]
假若 bridge(或switch)兩邊的網路不但網路架構不同連 Protocol Suite 也不同的話-----
frame 的流動(從橋接器的一邊流到另一邊的不同網路架構)由您的說明來看是沒啥問題.
但若接收端電腦又與發送端電腦用的 Protocol Suite 也不同的話,將無法解讀....對嗎?


順便問一下網路線,網卡是否沒有分什麼 ATM , CSMA/CD , Token-Ring...專用?


最後,一您的說法:
若我只用一條 cross over 網線連接兩電腦,且這兩電腦分別是用 CSMA/CD + tcp/ip , Token-Ring + tcp/ip
這樣能通嗎?
本篇文章回覆於2006-01-24 10:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
作者回應

b90220208
檢舉此回應
啊怎麼沒人理...是我那兒問錯了嗎??
本篇文章回覆於2006-01-24 22:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   

回覆
如要回應,請先登入.