3. 流量特征与测量基础
容量规划的第一步不是买设备,而是把"网络里到底跑了多少流量、怎么跑的"这件事量化清楚。这一节围绕四个核心问题展开:流量从哪里来到哪里去(流量矩阵)、流量随时间如何波动(峰值与均值)、波动有多剧烈(突发性)、以及用什么手段把流量测出来(NetFlow/sFlow/IPFIX、SNMP 计数器、INT 带内遥测)。
流量矩阵:把"总量"拆成"关系"
接口计数器只能告诉你某条链路上有多少字节,却无法回答"这些字节是谁发给谁的"。流量矩阵(Traffic Matrix, TM)正是用来描述这种源—目的(OD)对之间流量的二维结构:行表示入口节点(或源 PoP、源机架),列表示出口节点,矩阵元素 TM[i][j] 表示从 i 到 j 的流量速率。对于有 N 个节点的网络,完整 TM 有 N² 个元素,其中对角线元素是本地流量,非对角线元素是穿越流量。
直接测量全网 TM 成本极高,工程上常用"链路计数 + 推断"的方式:先通过 SNMP 或流采集获得每条链路的负载 y = A·x(A 为路由矩阵,x 为待求 OD 流量),再用重力模型、Tomogravity 等算法求解欠定方程组。做容量规划时,TM 的价值在于识别"热点 OD 对"——例如某数据中心到备份站点的复制流量在夜间占据 40% 骨干带宽,这类结构性特征只有 TM 才能暴露。
峰值、均值与突发性
均值(Average)描述长期平均负载,峰值(Peak)描述短时间内的最大瞬时速率,两者之比即峰均比(Peak-to-Average Ratio, PAR)。突发性(Burstiness)刻画流量在时间轴上的不均匀程度,常用指标包括:
- 峰均比 PAR:
PAR = 峰值速率 / 均值速率,典型园区网 PAR 在 3~10,数据中心东西向流量可达 20 以上。 - 突发度 B:在时间窗口 T 内,
B = (峰值 - 均值) / 均值,反映瞬时冲击强度。 - Hurst 指数 H:H>0.5 表示自相似(长程相关),H=0.5 为泊松,H<0.5 为短程相关。真实数据中心流量 H 常在 0.7~0.9。
容量规划中,均值决定"日常够不够用",峰值决定"会不会丢包",突发性决定"缓冲区要多大"。一个常见误区是用 5 分钟均值做规划:若某链路 5 分钟均值 4 Gbps,但 1 秒峰值达 9 Gbps,按 5 Gbps 配置就会在突发时拥塞。因此必须明确采样粒度——SNMP 默认 5 分钟轮询会平滑掉秒级突发,需要结合 sFlow/INT 的毫秒级数据。
流量采集技术:三种粒度,三种用途
SNMP 接口计数器是最基础的测量手段。通过轮询 ifInOctets、ifOutOctets、ifInErrors 等 OID,可以获取每条链路的累计字节数和错误数。两次轮询之差除以时间间隔即为平均速率。优点是几乎所有设备都支持、开销极低;缺点是只有链路总量、无五元组信息,且 5 分钟轮询会平滑掉秒级突发。适合做长期趋势基线和容量告警。
NetFlow / sFlow / IPFIX 提供流级可见性。NetFlow 由 Cisco 提出,v9 和 IPFIX(RFC 7011)采用模板化格式,可导出源 IP、目的 IP、源端口、目的端口、协议、TOS、字节数、包数、起止时间等字段。sFlow 采用随机采样(典型 1:1000),开销更低但精度略逊。采集架构通常为:设备导出 → 采集器(如 nfdump、pmacct)→ 分析器(如 Elasticsearch + Grafana)。用流数据可以聚合出 OD 矩阵、识别 Top Talker、按应用分类流量。示例:某交换机 10 Gbps 上行口,sFlow 采样比 1:2000,5 分钟内采集到 120 万条流记录,按目的子网聚合后发现 35% 流量指向存储网段,这就是容量规划的关键输入。
INT(In-band Network Telemetry)是近年兴起的高精度手段。数据包在转发路径上被逐跳插入遥测元数据(入端口、出端口、队列深度、时延、时间戳),由末端交换机或接收端收集上报。INT 能捕获微秒级微突发(microburst),这是 SNMP 和 Flow 都做不到的。例如某 AI 训练集群 GPU 服务器在 AllReduce 阶段产生 100 μs 级突发,SNMP 5 分钟均值完全看不出异常,但 INT 可记录到队列深度瞬间从 20 KB 冲到 800 KB,从而指导缓冲区调优和 PFC 阈值设置。
测量数据在容量规划中的使用
三类数据各有分工,组合使用才能形成完整闭环:
| 数据类型 | 采样粒度 | 核心用途 | 典型工具 |
|---|---|---|---|
| SNMP 计数器 | 5 分钟 | 链路利用率基线、扩容触发 | Zabbix、Prometheus SNMP Exporter |
| NetFlow/sFlow | 秒级聚合 | 流量矩阵、应用分布、Top N | nfdump、pmacct、Elastic |
| INT | 微秒级 | 微突发、队列、逐跳时延 | P4 交换机、INT 采集器 |
具体到容量规划流程,可以这样落地:第一步,用 SNMP 历史数据(建议保留 12 个月)计算每条链路的 95 百分位利用率,作为扩容基线;第二步,用 Flow 数据构建周级流量矩阵,识别增长最快的 OD 对,例如某对 OD 月增 15%,则按 6 个月后翻倍预留;第三步,对关键链路开启 INT,确认是否存在微突发导致的丢包或 PFC 反压,若队列深度频繁超过阈值,则需增加缓冲区或调整调度策略。
总结来说,流量矩阵回答"流量在哪",峰值与均值回答"波动多大",突发性回答"冲击多强",而 SNMP、Flow、INT 分别从粗到细提供测量能力。容量规划的本质,是用合适的测量粒度匹配规划目标:长期基线用 SNMP,结构分析用 Flow,微突发防护用 INT,三者缺一不可。