路由器理论上能跑满多大接入带宽

2018-09-07 21:13:29 +08:00
 cwbsw
家用路由器一般都是接在千兆交换机的一个端口上,这种设计理论上只能跑满双向共计 1Gbps 的带宽,如果是千兆对等网络就不能胜任了。

另外,所谓的单臂路由无论是通过 VLAN 实现或者直接在光猫的 LAN 上拨号,与这种只有交换芯片的路由器设计,理论上能达到的最大带宽是相同的。

以上理解是否正确?
11151 次点击
所在节点    宽带症候群
53 条回复
wwqgtxx
2018-09-08 10:25:58 +08:00
@cwbsw 与其你和我硬抬这个杠还不如自己拿两台电脑测试一下,一台接路由器的 wan 一台接 lan 自己试试 nat 转发下的带宽能不能跑满不就知道了。这种显示的 speed:1000baseT 根本就没啥说服力,很多主板上提供的 USB3.0 接口在操作系统上照样显示 usb2.0 这个只是个汇报值罢了。而且所谓的“家用路由器”并没有详细的定义,你可以说免费的 K2 这种是家用路由器,我也可以说 ac68u 这种在 V2 上很常见的路由器是家用路由器。
cwbsw
2018-09-08 10:43:57 +08:00
@wwqgtxx
没错啊,照你的例子,USB1.X 的鼠标键盘照样也是接在 USB3.X 的高速总线上,所以只能跑 12Mbps,同理 1Gbps Switch 接到 10Gbps 总线上当然也只能跑 1Gbps,好好想想吧。
iwtbauh
2018-09-08 10:55:46 +08:00
@cwbsw #3 #5

4 楼说的没错,你对全双工真的有误解。https://en.m.wikipedia.org/wiki/Duplex_(telecommunications)

我还从来没见过半双工的网卡。

“网卡”这个概念有些泛,应该叫“网络接口”。
wwqgtxx
2018-09-08 10:56:41 +08:00
@cwbsw 我们两个说的不在一个频道上
“ USB1.X 的鼠标键盘照样也是接在 USB3.X 的高速总线上,所以只能跑 12Mbps ”这个没毛病呀,但是你的电脑可以透过一个 usb3.x hub 同时和多个 usb1.x 设备满速通讯这个不冲突呀
我又没说 CPU 和交换机芯片之间的带宽大于 1000mbps 了,CPU 和 LAN1 这个口的速度就能突破 1000mbps 了,但是交换机内部是用交换矩阵实现的,和 CPU 级联的这个端口可以透过这个矩阵和每个端口直接直连而并不是 CPU 和交换机芯片之间还是通过一个 1000mbps 的网口连接的。
按照你的想法实际上是实现了一个六口对等交换机,CPU 和隐藏的第六口相连了,但是实际上设计的时候级联端口的存在本来和其他五口就不是对等的,换句话说让这个口实现 10gbps 的速率并不需要让整个交换机工作在 10gbps,交换机本身还是工作在 1000mbps 下,只是这个级联口和下级的五口之间都有直接连接,这个第六口在 SOC 的设计中根本就不是以网口形式存在的,所以这个口就可以同时和下级的五个口进行 1000mbps 的双向通讯,达到最大 5000mbps 的通讯速率,当然依然是不可能达到我们前面假设的 10gbps,而且大部分的这个内部端口的设计带宽还是只有 2.5gbps,因为这样就够用了,lan 口内部的通讯并不需要经过 CPU,2.5gbps 的双向带宽足以处理 lan 和 wan 口之间的通讯了
LGA1150
2018-09-08 10:57:10 +08:00
@wwqgtxx
我这里正好有一台 4708 SoC 的路由器,摘一部分内核日志:
eth0: Broadcom BCM47XX 10/100/1000 Mbps Ethernet Controller 7.14.89.21 (r524987)

eth0 正是 SoC 内部以太网卡连接交换机芯片的接口,通过 VLAN 划分为 WAN LAN
PCIe 是接无线芯片用的
silencefent
2018-09-08 10:57:12 +08:00
家用的有电信送的十几块钱成本的路由,也有自己买几千块钱的路由
你要我说是不是所有的家用路由都支持千兆对等,那我说肯定不是
wwqgtxx
2018-09-08 11:02:18 +08:00
@LGA1150 eth0 的意思是网卡 0,请不要混淆网卡和 1000MBPS PHY 之间的概念,这种设备本来就只是一种 SOC 内部的虚拟设备,它的存在是为了把 SOC 的网络接口暴露给 linux 内核,好比很多虚拟机提供的虚拟网卡,系统显示连接速度是 100mbps 实际上跑到 1.5gbps 都没问题
wwqgtxx
2018-09-08 11:06:33 +08:00
这种纯硬件设计的东西不要过分解读,更有意思的例子就是 intel 的核显,理论上说它应该就是一个普通的 pci-e 4x 的显卡,但是实际上它却能直接访问内存控制器,通过内部环形总线和 CPU 直接交互。如果你打开你的台式机的设备树看看,几乎所有的设备都接在 PCI 设备总线上,包括 PCI-E 控制器、内存控制器、核显甚至是南桥,但事实上是这样的么,这只是为了兼容现有的系统设备树而做的一种“伪装”而已
@LGA1150
lcy630409
2018-09-08 11:48:10 +08:00
路由器的最大宽带 ,看情况,如果没有 nat,就是网卡的速度,如果有 nat 就需要看 cpu 的处理速度了,一般是网卡的 9 成左右;
看了上面,貌似 lz 对全双工有误解,全双工只是说明在数据传送的过程中,可以同时上下行的传送,和速率没啥大关系,和延迟有大关系,打个比方,全双工就是双向两车道,两个方向同时走,,半双工就是单车道,有两个交警在道路两头指挥,每次这条路上只能走一个方向;
单臂路由 说白了 就是外网内网走一条线,全速的话,网线内是走全速,但是外网传输到你电脑的速度只能是一半了,就像把一条路在不加宽的情况下 强行改成双向车道;
swsh007
2018-09-08 11:59:01 +08:00
理论上是长江
实际跑的是家用自来水管
原因是不管怎么跑都和 cpu 内存相关
通讯设备的核心其实是将原来的交换矩阵做的小做到芯片里面去,剩下的就是 buffer 和在协议上打 tag
针对于 mips 和 arm 的民用产品,一般厂商的理想状态差不多是打个 85 折
cwbsw
2018-09-08 12:42:28 +08:00
@lcy630409 这个贴吐槽的是,现在市面上大多数所谓千兆路由器事实上本来就是只有一张网卡的单臂路由。
LGA1150
2018-09-08 12:49:40 +08:00
@wwqgtxx 实际上 BCM4708 CPU 本身的性能也不够,不支持硬件转发。梅林固件下行跑到 900M 时 CPU 已占满,Web 管理页已经打不开
如果是 BCM4709 这种 SoC 集成硬件转发加速的,启用加速后不会走 eth0,据说可以达到双向 900M
cwbsw
2018-09-08 12:50:50 +08:00
@wwqgtxx
这不就是我的意思,速率是由 Switch 决定的,而不是等于外部总线的速率。
cwbsw
2018-09-08 12:53:20 +08:00
@wwqgtxx
刚才简单测了下手头的 R6300v2 和 k2p,LAN-LAN 都达不到双向 1Gbps ……
LGA1150
2018-09-08 13:09:49 +08:00
@cwbsw LAN-LAN 纯交换的速度不可能达不到双向 1G 吧?你怎么测的?
cwbsw
2018-09-08 13:16:21 +08:00
@LGA1150
就是两边跑 iperf3 呗。
不过也可能是我这台笔记本性能不够,或者 Realtek 网卡太弱的缘故,单向发包只能有 740Mbps,台式机单向发包有 960Mbps,两边同时双向发包的话收发速率都不到 700Mbps。
LGA1150
2018-09-08 13:17:22 +08:00
@cwbsw 怀疑因 ACK 不到而出现了拥塞控制,用 UDP 模式并手动执行带宽试一下
LGA1150
2018-09-08 13:19:48 +08:00
#37 *手动设定带宽
cwbsw
2018-09-08 13:48:57 +08:00
@LGA1150
-u -b 800M 直接卡死了……
wwqgtxx
2018-09-08 13:59:15 +08:00
@cwbsw 如果 LAN-LAN 都打不到可能就是别的问题了,电脑 CPU、网卡的性能问题,网线的质量不过关
@LGA1150 BCM4708A 的话我记得是支持硬件 NAT 加速的吧,可能和硬件版本,你的梅林固件编译的有关

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/487237

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX