作者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://webptt.com/cn.aspx?n=bbs/Broad_Band/M.1658293351.A.471.html
1F:→ wagwag: 一分钱一分货 网速越高网速的耗损就越容易感觉的到 07/20 13:21
3F:→ Lei1986: ml 07/20 13:41
4F:→ Lei1986: 单臂路由不是这样解释的吧… 07/20 13:41
6F:→ birdy590: 你把 WiSOC 放在 R0 的位置 就会发现逻辑上一样 07/20 13:49
7F:→ birdy590: 总之 两个介面 透过交换器晶片交换就可以全速 07/20 13:49
8F:→ birdy590: 如果中间是CPU 就会有耗损... Mikrotik 都会附方块图 07/20 13:50
9F:→ birdy590: 找一些机种来看就会比较有概念了 07/20 13:50
10F:→ Lei1986: 如果只是让不同的 Vlan 沟通,那就单纯只是做 inter-vlan 07/20 14:04
11F:→ Lei1986: routing,单臂路由的构成要件应该是在单一 L3 port 下切 07/20 14:04
12F:→ 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 不再只有一个介面,
但不代表最终产品会用上所有介面。
13F:→ Saren: AP内是桥接模式 桥接模式就是会透过CPU转发. 07/20 14:40
14F:→ Saren: 如果是透过VLAN合并的话则不透过CPU, 单纯当交换器在看 07/20 14:41
※ 编辑: s25g5d4 (219.91.34.68 台湾), 07/20/2022 14:47:35
15F:推 birdy590: 实际上你进这些 AP 的韧体看 应该就会看到 subinterface 07/20 15:05
16F:→ birdy590: 或是 bridge... 只有整合度比较高的新产品 07/20 15:05
17F:→ birdy590: 才有可能把介面和交换晶片的位置改变~ 07/20 15:05
18F:→ birdy590: (看到那些 WAN/LAN 自动侦测任意使用的大概都是这种) 07/20 15:06
19F:推 Lei1986: 我大概了解你们讲的概念了,但似乎还是跟网路拓朴上讲的 07/20 15:39
20F:→ Lei1986: 单臂路由不太一样,请问有 resource 可以参考吗? 07/20 15:39
21F:推 birdy590: 不一定只有一只手 但同样"手不够用" 後面道理都相通 07/20 15:42
22F:→ birdy590: 有一种作法是先把 CPU 都接到交换晶片上 然後再藉由设定 07/20 15:44
23F:→ birdy590: 交换晶片的VLLAN来切换和实体介面的对应 07/20 15:44
24F:→ birdy590: 这就把耗CPU问题解决了 但是会制造出新的限制来~ 07/20 15:45
25F:推 Faing: 感谢说明,这样就比较可以理解了 07/20 17:10
26F:推 stfang925: 涨知识 07/20 17:13