tay*_*10r -4 networking router performance
我的朋友曾经在一些辩论中告诉我,某人是否拥有快速/千兆路由器不会影响他们的互联网速度,因为互联网比 100 和 1000 mbps 慢得多。我不同意,没有很好的方法来解释为什么,所以让我先问:
千兆路由器与快速路由器是否会影响从互联网到端点设备的数据传输速度?
我在网上没有找到太多答案,但我认为确实如此。具体来说,我认为这是因为这个数学证明:
Fs = Final speed
Rs = Router speed
Is = Internet speed
Ft = Final time
Sd = Size of Data
Ft = (Sd / Is) + (Sd / Rs) // Time to reach router + time to reach device (from router)
Fs = Sd / Ft // final speed is equal to the data size divided by the total time
Fs = Sd / ((Sd / Is) + (Sd / Rs))
Fs = 1 / ((1 / Is) + (1 / Rs))
// or
1 / Fs = (1 / Is) + (1 / Rs) // resembles some circuit equations
// comparatively
Fs (gigabit) = 1 / ((1 / 20) + (1 / 1000)) = 19.6 Mbps
Fs (gigabit) = 1 / ((1 / 50) + (1 / 1000)) = 47.6 Mbps
Fs (fast) = 1 / ((1 / 20) + (1 / 100)) = 16.6 Mbps
Fs (fast) = 1 / ((1 / 50) + (1 / 100)) = 33.3 Mbps
Run Code Online (Sandbox Code Playgroud)
而从这点看来,还是有很大的不同的。但问题是,即使我是对的,我也不能用这种方式向他解释这一点(不是每个人都喜欢用数学说话)。那么,是否有任何权威参考或基准可以回答这个问题?因为我已经有很多人说它不是没有太多阐述。
编辑:我要澄清的是,如果我说的上网速度在任何时间点,我正在指的是速度从互联网到终点的设备。
编辑:我知道,大部分的答案我得到会说没有。所以,我认为这些答案告诉我为什么我对这个问题的以下假设是错误的,这应该是公平的:
路由器有自己的总线速度(除了互联网速度),它们是恒定的(10、100、1000,没有中间)。
这是我想象正在发生的事情的方式:
internet --(20Mbps)--> router --(1000Mbps)--> device
发送到路由器的每个字节都必须被接收到路由器的 RAM 中,然后才能重新传输到设备。相对于流动直到电缆对应于所述设备接收数据。
更新:没有基准,我不会接受任何答案。由于可能还没有为此发布的基准,我将把一个放在一起。如果我是对的,我会发布结果(即使我错了,我也可能会发布结果)。如果我错了,我会接受最好的答案并结束。
编辑:我认为没有人真正理解我的意思,所以我很不愿意接受答案。暂时忘记我在谈论网络并考虑三种任意总线速度:
Starting point -b0-> (Node 1) -b1-> (Node 2) -b2-> End point
Run Code Online (Sandbox Code Playgroud)
每一位数据都必须在每个节点停止,然后按顺序再次传输到下一个(在这种情况下,每个节点同时接收和发送)。现在再次考虑计算数据(任何大小)到达终点所需时间的数学方法。
TotalTime = (DataSize / BusSpeed0) + (DataSize / BusSpeed1) + (DataSize / BusSpeed2)
TotalTime = DataSize * ((1 / BusSpeed0) + (1 / BusSpeed1) + (1 / BusSpeed2))
TotalSpeed = DataSize / TotalTime
TotalSpeed = DataSize / (DataSize * ((1 / B0) + (1 / B1) + (1 / B2)))
TotalSpeed = 1 / ((1 / B0) + (1 / B1) + (1 / B2))
Run Code Online (Sandbox Code Playgroud)
这与网络传输数据的方式相同(每个有线设备传输数据的方式相同),怎么会出错呢?
我没有基准可以提供给你,但我仍然可以指出我如何不同意你的“数学证明”:你的基本假设对我来说似乎完全错误。
你的说法:Final Time = Time to reach router + time to reach device (from router)。
如果数据传输仅包含一个数据包(例如,在 ping 期间),这将是正确的。
但是,例如,如果您正在下载 4 GB 的文件,您的路由器绝对不会等待收到 4 GB 的数据将其传输到您的计算机。
在接收第二个数据包时,它会将第一个数据包发送到您的计算机。由于您的个人连接比 Internet 连接快,您的计算机将在路由器完成从 Internet 接收第二个数据包之前完成从路由器接收第一个数据包。
(嗯,这并不完全正确,但它给出了图像。)
所以最后,你可以意识到,“数学证明”变成了:
(total time) = (total size / Internet speed) + (time of 1 packet local transfer)
Run Code Online (Sandbox Code Playgroud)
而在下载大文件时(毕竟网速很重要),本地传输的时间在你的网速限制之前是微不足道的。
编辑 :
我认为这是一个深刻的误解,这不应该怪你,因为这在当今并不是一件很清楚的事情。
你可以衡量关于速度的两件事。这些东西是:How long does it take for a packet to go from the server to my computer ?和How much data can go through my router or my ethernet wire during one second ?这两个东西是完全不同的。
第一件事就是所谓的latency它,它决定了服务器回答您的速度,例如,这与在线视频游戏相关。该值的常用度量是ping time。
第二个是bandwidth,也就是这个以 来衡量的Mbps。路由器规格中给出的“速度”字面意思是:How much data can go out of one the ethernet connector of my router during one second ?。
因此,有两种情况:
事实上,与水管的类比在这里非常相关。您可以测量每个 H2O 分子通过管道的速度,以及在一秒钟内从管道中流出的水量。这两件事是完全不同的。这里完全一样。