![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 b90220208 ![]()
![]() |
如果 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樓 |
你是說 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樓 |
那就一步步來說明吧 ^^
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樓 |
這只是針對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樓 |
嗯...建議版大可以找一本專門講解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樓 |
補充一下 ^^
所以當IPX的網路和IP網路接在一起的時候 FRAME可是各跑各的 除非有某台設備(PC、SWITCH、ROUTER....)有設定可以接收及解析這兩種封包 像是收到IPX(IP)的封包,設備將他的標頭重新改寫成IP(IPX)封包後,送到IP(IPX)網路
本篇文章回覆於2006-01-22 21:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
12樓 |
補充第二下^^
現在沒有多少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
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |