![什么决定了思科路由器的最大吞吐量?](https://linux22.com/image/611636/%E4%BB%80%E4%B9%88%E5%86%B3%E5%AE%9A%E4%BA%86%E6%80%9D%E7%A7%91%E8%B7%AF%E7%94%B1%E5%99%A8%E7%9A%84%E6%9C%80%E5%A4%A7%E5%90%9E%E5%90%90%E9%87%8F%EF%BC%9F.png)
我正在查看思科关于此问题的文档http://www.cisco.com/web/partners/downloads/765/tools/quickreference/routerperformance.pdf我很难把这些数字加起来。
假设 Fast/CEF 交换吞吐率适用于例如 FE 接口上两个子网之间的数据包的基本 IP 路由,这样正确吗?
我之所以问这个问题是因为这些数字似乎有点低。我目前运行的是一台旧的 2611XM,它提供了一种向 ADSL 线路(浮动路由)提供故障转移的简单方法。它目前以 20Mbps 的线路上限速率通过以太网线路路由 IP,而思科文档指出该设备的最大速率为 10.24Mbps。
我打算将光纤线路升级到 100mbit,并且需要一个可以处理该吞吐量的设备。如果希望路由特定吞吐量的流量,是否应该将 Cisco 文档视为最坏情况并严格遵循?
此外,在推动流量通过路由器时,应该检查路由器的哪些指标,以了解其距离限制有多近?
答案1
该文件的第一句话至关重要。
数字以 64 字节数据包大小给出,仅限 IP,仅表示原始交换性能
该文档告诉您某种数据包的最大值。但在实际网络中,您不会只看到 64 字节的数据包。您可能会传输更大的数据包,最大可达 1500 字节。
Mbps 值只是简单计算出来的。[参见声明Mbps calculated by pps * 64bytes * 8bits/byte
]。这不是对典型使用情况下可能情况的测量。
该表中的数据告诉您更多有关每秒可处理的数据包数量的信息,而不是当所有数据包都达到 MTU 大小时您将看到的吞吐量。
另一个重要的声明位于顶部。
每种情况都是不同的 - 请模拟真实环境以获得适用的性能值。
答案2
意识到这是一个老问题,并且它已经得到解答了——我在沮丧地试图确定 eBay 上一些二手路由器的“真实世界”性能能达到什么水平时确实偶然遇到了它,而谷歌一直把我带到这里。
正如接受的答案所述 - 思科数据表(特别是以下是各大路由器型号的比较) 列出基于 64 字节数据包的 PPS(每秒数据包数)。
所以公平地说 - 它会告诉您“最坏的情况”是什么 - 假设路由器没有运行任何其他服务或复杂的 ACL 等。
但与此同时,这并没有多大帮助,特别是如果你的预算非常紧张(比如我)。从这份数据表中我可以看到,如果我花费数千英镑,我可以获得 100Mb/s 的吞吐量,但我正在考虑购买价值数十英镑的路由器。而不是数千英镑。
例如,查看数据表上的 2621 内容:
PPS (CPU) | Mb/s (CPU) | PPS (Hardware) | Mb/s (Hardware)
1,500 | 0.768 | 25,000 | 12.80
因此我预计最高速度不会超过 12Mb/s(考虑到 TCP/IP 开销)。然而,在实际使用中,最高速度仅略高于 40Mb/s。
从理论上讲,这是有道理的 - 数据包大小平均远大于 64 字节 - 因此,作为“真实世界”测试(出于我的目的),我运行了文件传输,并使用捕获了中间流,tcpdump
并使用总结了结果capinfos
。结果如下:
Capture duration: 17 seconds
Start time: Tue Dec 8 20:05:42 2015
End time: Tue Dec 8 20:05:58 2015
Data byte rate: 5161361.66 bytes/sec
Data bit rate: 41290893.31 bits/sec
Average packet size: 2660.72 bytes
Average packet rate: 1939.84 packets/sec
太棒了!每秒 1939 个数据包是“真实世界”(在我的使用场景中),每数据包 2660 字节。(这证实了scp
我在测试执行期间输出的 40Mb/s 数字。)
所以,这表明它受到 CPU 的高度限制(这是有道理的,因为它是路由 - 而不是交换,所以 CEF 无法提供太多帮助),并且从路由器的 CPU 统计数据来看 - 它在这种吞吐量下完全耗尽了它。
从这里来看,似乎可以合理地假设您将被绑定在进程切换 PPS 上(这是“最坏的情况” - 在我的应用程序中几乎总是所有流量的情况)并且实际吞吐量(在我的场景中)将为每数据包~2600 字节。
因此,在此基础上升级到 2851 应该很容易满足我的 100Mb/s 需求 -15000 * 2600 * 8 / 1000000 = 312Mb/s
安装后,我将确认预测并用确认或更正的数字更新此答案。希望这对未来遇到我这种情况的人有所帮助!
不要忘记- 所有这些发现和数字均基于我的具体场景,即 99% 的流量在 VLAN 之间路由,并且大部分是带有大数据包(和相关确认)的 TCP 流。YMMV - 我建议捕获一些您自己的流量(以超过路由器能力的速率)来计算您的场景的效果。
更新:最后,新路由器安装完毕 - 结果如下:
Capture duration: 9 seconds
Start time: Mon Feb 15 21:48:07 2016
End time: Mon Feb 15 21:48:15 2016
Data byte rate: 11469614.56 bytes/sec
Data bit rate: 91756916.44 bits/sec
Average packet size: 2993.35 bytes
Average packet rate: 3831.70 packets/sec
这些数字要大得多(正如预期的那样) - 而且新的路由器也在后台处理更多的服务。
目前,路由器通过一对快速以太网(100Mb)端口连接,因此 92.76Mb/s 的速度基本“符合预期”。
答案3
通常路由器的性能取决于其 CPU。如果路由器正在处理流量,那么它将很好地处理您的流量。但是,对于如此老旧的交换机,我不建议通过它推动 100mbps,因为您很可能会对 CPU 造成瓶颈,从而导致设备挂起。
它高度依赖环境,性能指标显然是基线,不做任何假设。为了安全起见,我建议购买一台可以处理接近该流量的较新设备。