iT邦幫忙

0

兩個switch接在一起如何避免STP(Spanning Tree Protocol)的block機制?

  • 分享至 

  • xImage

您好,
我有一個需求如下圖,
https://ithelp.ithome.com.tw/upload/images/20231215/20106587WqRj1fieAG.jpg
我需要將兩個內建switch的NIC串接在一起,
但因為為了要避免broadcast storm,
所以兩邊switch上的ports都開啟STP,
但問題來了,
這樣的話只有一條路可以通其他的都會被block,
為了避免有被block的問題產生,
有人建議我採用link aggregation group,
把兩邊各自所有的ports bind成一個virtual port,
這樣就可以解決這個問題,
但這方式對於我的使用上有困難,
因為我就是要讓每個port能夠獨立運作.

後來我聽說如果把每個port都切一個VLAN給它,
例如NIC1上的port 1切VLAN10(172.16.10.1),
port 2切VLAN20(172.16.20.1),
依此類推,
這樣也可以避免broadcast storm(也就是不用開STP也可運作),
但這樣的做法我不清楚是否可行,
如果真的可行的話,
那是我兩邊switch都要做嗎?
還是單邊switch做就好?
因為如果兩邊都做,
是不是會有IP相衝突的問題?
因為VLAN就是背後要有一個DHCP,
等於是每個port都有一個獨立的DHCP去assign IP,
例如NIC1 port 1 IP 172.16.10.1,
接到NIC1 port 1的設備就會被assign IP 172.16.10.x
此時跟它對接的NIC2 port 1如果我也切VLAN,
那這兩個port對接肯定無法正常連線,
那是否NIC2上面我什麼都不要設定就好,
只需被動讓NIC1上的DHCP去assign IP過來就好?

所以我想請教:

  1. 以我的案例,
    採用每個port切獨立VLAN,
    是否可以避掉broadcast storm問題?

  2. 如果切VLAN給每個port是可行的話,
    那我是否只需要切單邊switch的port就好?

謝謝.

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
sd3388
iT邦好手 1 級 ‧ 2023-12-15 10:57:26
最佳解答

我建議首先需要你說明一下需求細節
是為何流量要分不同路徑嗎?
怕干擾嗎?還是想加大頻寬?

一般切VLAN就可以避掉broadcast storm
但如果沒有太多設備其實沒有必要

如果切了VLAN是建議帶tag
然後switch部分要設trunk
這樣就兩邊都需要做VLAN的動作

看更多先前的回應...收起先前的回應...
lasthero iT邦新手 4 級 ‧ 2023-12-15 12:07:07 檢舉

感謝您的回覆, 需求的話就是要針對硬體研發的設備做驗證測試, 其中包含了要針對所有的ports同時打封包以產生full load, 用以驗證硬體的穩定度, 以及整體硬體的performance/throughput, 當然我有想過直接去買現成的網卡去跟它對接來測, 這是最直接且最符合實際應用的狀況, 但因為port數高達3x個, 因此要花不少錢去買NIC card以及不同的host system跟它對接, 所以才會有拿兩個一樣的研發硬體對接去做測試的想法. 另外請教一下, 所以如果要讓這兩片NIC所有port都能運作起來, 我所說的方式不可行嗎? 也就是只需要其中一個switch針對每個port去切不同的VLAN, 而另一個switch完全是被動的被assign IP, 還是說, 就只能依照您說的方式, 兩個switch上都要切VLAN, 然後用trunk的方式串起來?

sd3388 iT邦好手 1 級 ‧ 2023-12-15 12:49:55 檢舉

看來你是要用兩台HOST上的網卡對測
要看這設備上網路卡有沒有支援port isolated的功能
不然如果要同時測好幾個接口
一般是兩邊都要做VLAN trunk
這跟VLAN採用的模式有關

lasthero iT邦新手 4 級 ‧ 2023-12-15 13:13:28 檢舉

是, 網卡硬體研發測試, 因為考量到要省測試成本, 不想多花錢買其他設備, 所以想要了解是否可以兩張網卡在不同的host system上然後做對接去做測試. 至於網卡是否有支援port isolation, 可能我要問客戶了, 至於兩邊都做VLAN trunk, 這部分我也得需要研究一下, 畢竟我對於Ethernet switch這塊領域不是專業.

lasthero iT邦新手 4 級 ‧ 2023-12-15 16:09:37 檢舉

請教一個問題, 我後來google相關的資料關於broadcast storm, 原理就是一台以上switch串接在一起, 然後因為host跟client電腦並非接在同一個switch上, 所以host跟client電腦中間資料傳輸就可能會引發broadcast storm(因為有switch的ARP table並沒有目的地電腦的MAC address), 但今天我是只有兩個switch對接, 照理說NIC1發broadcast ARP request出去要確認NIC2 MAC address, 但NIC1經過內部switch出去到NIC2內部switch後, 因為NIC2內部switch的ARP table自然有目的地的MAC address, 此時應該NIC2 switch就不會再把這ARP request又回傳到NIC1 switch上面才對, 會有這問題, 是否是當三台switch串在一起, 才會引發broadcast storm呢? 不知道我這樣的認知是否有誤?

sd3388 iT邦好手 1 級 ‧ 2023-12-18 12:26:43 檢舉

一般避免broadcast storm是為了怕Loop
所以按目前架構上看你的測試就是會有可能
我的建議是
既然想要做測試省錢省事
就好好按標準把該設的VLAN,Trunk設好
不然就一次接一條線測試
雖然麻煩就一定不會有broadcast storm

lasthero iT邦新手 4 級 ‧ 2023-12-21 07:48:45 檢舉

這幾天我利用兩台FortiGate串接做實驗, 的確, 每個port給他獨立切VLAN, 又或甚是連VLAN都不用切, 就每個port給他單獨的static IP, 這樣子他就不會有broadcast storm的問題, 也可以互相ping的通, 就只差因為FortiGate內部FortiOS無法進行iPerf測試, 不過我想既然ping的通也沒有broadcast storm, 那這樣應該是可行的.

lasthero iT邦新手 4 級 ‧ 2023-12-21 07:51:58 檢舉

簡單畫了兩台FortiGate兩ports對接的示意圖, 兩邊的port 4 and port 5不管我是切VLAN, 還是assign static IP, 結果都是可以ping互通且不會產生broadcast storm, 想像一下如果FortiGate上面的FortiOS是有可以自己運作的iPerf, 那這樣就測得起來了.

https://ithelp.ithome.com.tw/upload/images/20231221/20106587AYOp3G5kWs.png

sd3388 iT邦好手 1 級 ‧ 2023-12-21 14:56:36 檢舉

lasthero大
因為您用的是Fortigate
它的每個埠解開switch模式後都是isolation
所以當初才說要找有支援的網路設備
不過FGT上也有測速顯示在fortiview上設定可見
只是以前測用起來不是很準

0
I.T. Wang
iT邦新手 1 級 ‧ 2023-12-16 11:11:24

如果你不想要STP功能、又想每個port都運作,也可以把每個port從L2 mode轉L3 mode。
我是覺得啦...當初某些協定就是為了解決某些問題而設計,如果造成困擾,十之八九應該是使用者觀念/需求有誤。
如果需求簡單,建議別搞太特規、會找自己麻煩

0
bluegrass
iT邦高手 1 級 ‧ 2023-12-18 08:49:43

不太明白你在搞什麼.

真要我說的話, SDWAN 級數設備可以解決你問題

如果你是L3級加支持PVID的SWITCH, 比如CISCO的3850, 9300, 也可以"勉強"做到

兩邊PORT 1 ACCESS VLAN 1, 各自給一個STATIC IP, 比如192.168.1.1/24和192.168.1.254/24
兩邊PORT 2 ACCESS VLAN 2, 各自給一個STATIC IP, 比如192.168.2.1/24和192.168.2.254/24
...
兩邊PORT 10 ACCESS VLAN 10, 各自給一個STATIC IP, 比如192.168.10.1/24和192.168.2.254/24

然後各自的SWITCH加入10個STATIC一樣AD一樣DISTANCE一樣METRIC的ROUTE到對方的網路走以上10個VLAN

恩...這個設計有點86+1就是了, 這種做法就是VLAN"物理"TRUNK

看更多先前的回應...收起先前的回應...
lasthero iT邦新手 4 級 ‧ 2023-12-18 09:26:48 檢舉

測試用途, 當然一般使用不會這樣用啦, 為了省預算不想買一堆NIC cards跟它對接著測. 你說的方式就是跟我的構想差不多, 每個port都給它切單獨的VLAN, 但後來我想到, 這樣的switch router對接, 正常end端就是接device的LAN然後被DHCP assign IP, 但如果是兩邊都是switch對接, 例如你說的開VLAN用固定IP而非DHCP, 那這樣還可以對連得起來嗎? 因為對方都不是end device.

lasthero iT邦新手 4 級 ‧ 2023-12-18 09:28:45 檢舉

然後即使對接得起來, 要如何透過iperf進行測試? 除非router內部OS本身內建iperf tool, 又或是router自己安裝retail OS? 但如果裝了retail OS, 要怎麼去弄VLAN?

bluegrass iT邦高手 1 級 ‧ 2023-12-18 09:38:19 檢舉

為什麼不能對連得起來? IP ROUTE LOAD BALANCING很正常

要如何透過iperf進行測試? 哈?
你除便找個電腦裝個IPERF3再接到交換機不就好?

好了, 你電腦支持SFP+ 10G嗎?
你交換機又有10G口嗎?
不然你怎能用盡10個1G口?

所以你到底是在干麻?

lasthero iT邦新手 4 級 ‧ 2023-12-18 12:20:18 檢舉

就兩個相同的設備port to port對接再一起, 10G port就跟10G port對接, 依此類推, 沒有什麼10個1G口的問題. 目前就打算在兩台system上config兩片NIC切獨立VLAN給每個port, 然後每個port都是static IP, 然後再透過system上的iperf -s and -c command去run performance/full load stress test.

bluegrass iT邦高手 1 級 ‧ 2023-12-18 12:29:12 檢舉

那我問你,
如果你設備到SWITCH是10G,
SWITCH VLAN1之間又都是10G,
你另一個VLAN 2要如何full load TEST?

Vlan 1 就已經處理完了

https://ithelp.ithome.com.tw/upload/images/20231218/20102031uDvSF4zI20.png

lasthero iT邦新手 4 級 ‧ 2023-12-21 07:46:18 檢舉

你誤會了, 是利用switch裡面的OS去做的, 不是你提供圖上面switch兩邊的PC.

我要發表回答

立即登入回答