作者s25g5d4 (function(){})()
看板Broad_Band
標題Re: [問題] AP橋接模式下Wan to Lan有線連結無法全速
時間Wed Jul 20 13:02:27 2022
※ 引述《Faing (我也不想這樣)》之銘言:
: 近日家裡升速中華電信1G/600M方案,配的是Dasan h660wm的數據機。
: 家裡連線是使用Mikrotik RB450Gx4的Router,由RB450Gx4負責PPPoE及NAT,
: 後面再有線連結Linksys Atlas Pro 6(三台)及Linksys whw01,均設為AP橋接模式。
: 在此設定下無線網路都可正常穩定連線,
: 但有線連結至Linksys Atlas Pro 6後方Lan孔的筆電測速下僅能達到840M/550M左右。
: 原先以為是RB450Gx4的NAT效能不夠,但查了cpu使用率,均未超過25%,
: 且筆電若直接有線連結RB450Gx4,可以跑到940M/550M,和直連Dasan h660wm差不多,
: 代表Router效能應該是足夠跑1G的。
: 所以速度降下來應該就是Linksys橋接所造成?
: 但橋接模式下明明未設任何QoS或firewall,是什麼原因造成傳輸速度下降呢?
: 後來查了國外網站關於Wi-Fi Router的WAN to LAN Throughput(Mbps),
: 發現各大廠牌的數據大致落在920-890M之間,所以這樣的傳輸速度下降是正常的嗎?
正常。
常見的家用路由器 SoC 其實只有一個 Ethernet 網路介面,
多出來的四個通常是用 switching 晶片兜出來的。
這種路由器稱為 one-armed router 單臂路由器,或稱 router on a stick。
雖然前面提到多四個孔是由 switching 晶片提供,
但實際上是五個都是,而被標為 WAN 的那個孔
會透過 VLAN 與其他 LAN 孔分開,
SoC 再透過內部設定處理 WAN to LAN 流量。
因此設定上來說,四個 LAN 孔都是能跑到 line rate,
並且不會發生壅塞的 switching-only port,
而 WAN 孔要能加入 LAN 孔的網路則必須經過 CPU 橋接,
因此瓶頸除了 CPU 處理速度,也會卡在 switching-CPU 間的內部連接。
那麼把 WAN 跟 LAN 孔設為同一 VLAN 可不可以?
目前消費級的產品幾乎無法這樣做。詳細的原因我不曉得。
值得一提的是 Mikrotik 的 CRS 系列,
是真的可以彈性配置 swithcing 跟 routing port。
相似的問題在各種路由器上其實都會遇到,
畢竟路由歸路由、交換歸交換,交換器的背版頻寬不是標假的。
路由功能由於其本身的複雜性,多是透過 CPU 處理流量,
因此不容易跑滿 line rate,即使單孔可以,
多孔同時負載也會頂到處理速度上限。
例如在特定領域很熱門的軟路由,由於是多個獨立 NIC 組成,
即使配置了強力的 x86 處理器,通常也無法全孔同時全速做 switching。
商用領域裡常見的 layer 3 switch 即是為了解決這問題,
透過特定 ASIC 處理路由功能,並且不犧牲 throughput 與 latency
或僅有輕微損失。當然魚與熊掌不可兼得,通常這種產品不是超級貴
就是路由功能有所限制。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.91.34.68 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Broad_Band/M.1658293351.A.471.html
→ wagwag: 一分錢一分貨 網速越高網速的耗損就越容易感覺的到 07/20 13:21
→ Lei1986: ml 07/20 13:41
→ Lei1986: 單臂路由不是這樣解釋的吧… 07/20 13:41
→ birdy590: 你把 WiSOC 放在 R0 的位置 就會發現邏輯上一樣 07/20 13:49
→ birdy590: 總之 兩個介面 透過交換器晶片交換就可以全速 07/20 13:49
→ birdy590: 如果中間是CPU 就會有耗損... Mikrotik 都會附方塊圖 07/20 13:50
→ birdy590: 找一些機種來看就會比較有概念了 07/20 13:50
→ Lei1986: 如果只是讓不同的 Vlan 溝通,那就單純只是做 inter-vlan 07/20 14:04
→ Lei1986: routing,單臂路由的構成要件應該是在單一 L3 port 下切 07/20 14:04
→ Lei1986: 出子介面來對接L2的 Vlan tag 封包,我是這麼認為的。 07/20 14:04
你說的情況都可以成立。
早期 (N16 那年代) SoC 是只有一個 100/1000 MAC 對接 switch,
然後五個 port 分別被設定為 4 LAN 1 WAN
而那個 WAN 流量是注定要流過 CPU 進去,
所以設定 bridge WAN to LAN 後可以在 ifconfig 看到 br0
所以確實是單臂模式,因為到 CPU 的介面就只有一個 10/1000 MAC。
現代的 WiSoC 由於 multi-giga 興起,CPU 不再只有一個介面,
但不代表最終產品會用上所有介面。
→ Saren: AP內是橋接模式 橋接模式就是會透過CPU轉發. 07/20 14:40
→ Saren: 如果是透過VLAN合併的話則不透過CPU, 單純當交換器在看 07/20 14:41
※ 編輯: s25g5d4 (219.91.34.68 臺灣), 07/20/2022 14:47:35
推 birdy590: 實際上你進這些 AP 的韌體看 應該就會看到 subinterface 07/20 15:05
→ birdy590: 或是 bridge... 只有整合度比較高的新產品 07/20 15:05
→ birdy590: 才有可能把介面和交換晶片的位置改變~ 07/20 15:05
→ birdy590: (看到那些 WAN/LAN 自動偵測任意使用的大概都是這種) 07/20 15:06
推 Lei1986: 我大概了解你們講的概念了,但似乎還是跟網路拓樸上講的 07/20 15:39
→ Lei1986: 單臂路由不太一樣,請問有 resource 可以參考嗎? 07/20 15:39
推 birdy590: 不一定只有一隻手 但同樣"手不夠用" 後面道理都相通 07/20 15:42
→ birdy590: 有一種作法是先把 CPU 都接到交換晶片上 然後再藉由設定 07/20 15:44
→ birdy590: 交換晶片的VLLAN來切換和實體介面的對應 07/20 15:44
→ birdy590: 這就把耗CPU問題解決了 但是會製造出新的限制來~ 07/20 15:45
推 Faing: 感謝說明,這樣就比較可以理解了 07/20 17:10
推 stfang925: 漲知識 07/20 17:13