每秒比特数与每秒数据包数

网络工程 转变
2021-07-13 13:36:28

最近,我一直在检查来自不同供应商的几种交换机型号的数据表。对于给定的交换机,供应商发布了一些我认为可以衡量交换机容量/性能的数据:

  • 一个值总是以每秒数据包数来衡量
  • 另一个总是以每秒位数来衡量

尽管不同的供应商对数字使用不同的名称,但含义似乎总是相同的。

我想明白三件事:

  1. 每个数字的确切含义是什么?
  2. 它们之间有什么区别?
  3. 我应该什么时候关注开关评估的每个值?
4个回答

当您考虑供应商数据表时,我只想简要提及营销数学的现实。当您拥有全双工链路时,供应商经常重复计算 bps 或 pps 容量。例如,Cisco 的 Catalyst 6500 有一个 Supervisor 720。使用 720 是因为它在市场上标榜具有 720Gbps 的交换矩阵容量。

但是……如果你问思科是如何计算 720Gbps 的,答案是:

  • 每个插槽 80Gbps 的结构乘以机箱中的 9 个插槽

这里的问题是他们的结构只是一个 40Gbps 的全双工结构......但是,思科在 720G 数量中同时计算了入口和出口,即使这样计算并没有真正意义。要点是您有时需要小心并检查如何将供应商文献中的数字应用于现实。

几乎每个供应商都像这样扭曲营销数字,我只选择 Cat6500,因为我非常熟悉该平台。这并不是在谴责 Cisco 或 Cat6500(我实际上对它充满热情)。

每个数字的确切含义是什么?它们之间有什么区别?

  • 基点
    • 每秒可以在不丢失数据的情况下处理的数据位数。bps 几乎总是使用 1500 字节(或可能更大)的以太网负载来测量。
    • bps 在测量互连机箱内多个线路卡或端口(如交换结构)的组件的容量时经常使用。有时,中央处理引擎可能有 bps 限制...
  • pps
    • 在丢弃数据之前每秒可以处理的数据包数;pps 总是使用尽可能小的数据包大小来测量。
    • pps 经常用于测量查看数据包标头内部的组件(IP 地址、mac 地址、DSCP 值等)。例如,路由和交换处理器的容量以 pps 为单位。

我应该什么时候关注开关评估的每个值?

这种分析是有时间和地点的,但大多数人只使用他们交换机 pps / bps 容量的一小部分,除非它是繁忙数据中心的架顶式交换机,或用于中大型的核心交换机服务提供商 POP。

即便如此,供应商销售人员可能对突出产品限制不感兴趣,或者他们自己可能无法很好地理解这些限制。此外,每秒数据包数通常会根据您打开的功能或功能组合而变化......确实无法替代提出一些好的测试用例,并测试盒子的性能您认为您实际需要的功能组合。

由于差异和人们可以使用数据表上的数字玩的游戏,您可以询问供应商的最重要的事情是“告诉我您如何计算该组件的 bps 和 pps 数字”。

也就是说,硬件和软件功能与竞速 bps / pps 数字一样重要,或者更重要。 ..

  • 在转发引擎上(通常以 pps 为单位)

    • 将平均机箱端口数的带宽相加,然后找到功能开启和关闭的平均数据包大小(以公布的非丢包率)(比较这些数字可能如何变化)
    • 聚合 IPv4 / IPv6 / MPLS pps 性能(这些数字可能会发生变化,具体取决于平台或您使用的功能组合)
    • ACL 规则限制(关于 ACE 的数量、您可以过滤的标头字段、计数器等...)
    • 硬件和 DRAM 中支持的前缀/mac 地址总数
    • 支持 SNMP MIB
    • 支持的 QoS 模式和功能,以及将这些 QoS 功能集成到网络的其余部分的难易程度。
    • 路由处理器故障转移时间
    • 服务中软件升级的可用性和可靠性
    • 操作系统是否具有模块化软件组件
    • Vlan 是否对接口本地重要,或者该框是否具有全局 vlan 利用率
  • 结构/线卡结构连接/线卡 ASIC(通常以 bps 为单位)

    • 每个 1GE 或 10GE 端口的平均成本
    • 端口数和线路卡超额订阅率
    • 线卡和端口缓冲区大小
    • 如果出口交换矩阵端口拥塞,交换机是否支持对入口线卡的背压
    • 入口与出口多播复制

通常,您会看到以 Mbps(M 位/秒)和 Mpps(M 包/秒)为单位的吞吐量。这些被认为是背板或盒子吞吐量数字。 营销材料通常以最好的方式呈现数字,这是在长度为 1500 字节的大数据包的理想条件下。在使用Internet Mix (IMIX) 数据的测试条件下可以获得实际吞吐量,其中数据包长度和协议都不同。

  1. Mbps 与 Mpps——“M”包含在数字中,通常显示为 x 10^6——只是原始“位”与“数据包”交换或处理能力之间的差异。当硬件交换是可能的时,这些数字假设了最好的条件,即不需要对每个数据包进行进程交换(对 CPU 的处理)。
  2. 由于大帧(不是 Jumbos)具有 1500 字节的有效载荷,因此这 1 个 1500 字节 x 8 位/字节 = 12,000 位的数据包。
  3. 在聚合所有接口时,Mbps 会提示您了解位交换的容量。Mpps 可帮助您了解可以处理多少个聚合数据包。如果您正在考虑使用带有 DFC 的 Cisco 交换机模块之类的东西,这一切都可以改变。

添加@generalnetworkerror 和@MikePennington 给出的好答案

数据表中报告的 pps 和 bps 都是理想化的数字,不仅 bps 经常被重复计算(重复计算的原因是为了迎合 10Gbps 接口,您需要 20Gbps 的内存带宽,因此在这种情况下这是公平的,但可能让买家感到困惑)就像迈克解释的那样。

但它们,尤其是 pps 也被理想化为供应商定义的“典型”场景,该场景对类似交换机的设备(思科催化剂、Juniper ex、Force10、Brocade)的影响要小得多,因为它们往往以恒定时间运行用于查找的 ASIC 类型设备。它往往对类似路由器的设备(Cisco ASR9k、Juniper MX、Alcatel SR)产生更大的影响,因为它们倾向于运行 NPU,在设计上与普通 CPU 接近,并且执行工作需要不同的时间。

当供应商购买“由 3rd 方验证”的测试时,这种固有特性就会被利用,例如 Cisco 可能会付钱给 Miercom 来测试 Cisco+Juniper,而 Juniper 可能会付钱给 EANTC 来测试 Cisco+Juniper。
这些 EANTC 和 Miercom 工程师获得了两个平台的内幕信息,他们使用这些内幕信息来展示一个平台(付费客户)如何胜过另一个平台。因为他们选择的测试用例针对该供应商选择的理想化场景中的妥协。

幸运的是,在类似交换机的设备中,pps 或 bps 很少会成为您的问题,更有可能在接近平台 bps/pps 限制之前就被例如微爆(小缓冲区的后果)咬住。
更常见的是 pps 和 bps 在运行 COTS CPU 的低端设备中会影响您,即基于软件的设备,如 Cisco ISR、Juniper SRX 分支或防火墙。

用非常通用和粗略的术语来说,bps 衡量内存带宽,pps 衡量查找性能(“CPU”速度)

同意上面的说法,也知道每个供应商都会稍微捏造他们的统计数据。即启用 PAT、简单的防火墙规则、访问控制列表、QOS,你会发现这些数字甚至可以将某些时间减半——这通常是由于网络设备的处理能力,在网络设备上运行的每项服务都需要一定的CPU 资源量。PPS 和 BPS 并不总是最好的统计数据。

在考虑升级时,请查看您当前使用的内容。SNMP(简单网络管理协议)可以帮助您实现这一目标。通过升级您的环境以实现新设备上当前网络利用率低于 50% 的带宽和低于 40% 的 CPU 使用率,从而获得增长空间。