※ 引述《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
或僅有輕微損失。當然魚與熊掌不可兼得,通常這種產品不是超級貴
就是路由功能有所限制。