出口流量到底是谁在跑?华为NetStream原始流统计分部门看得清
网管最常被问的一个问题:这个月出口流量为什么这么大?谁用的?多数交换机只能告诉你接口总流量一个数字,至于哪些源地址、哪些端口在吃带宽,答不上来。上专门的探针设备又要花钱又要占端口。华为的 NetStream 是直接在交换机里做流量统计的技术,官方总结两个优势:统计功能强,能对报文里的多种信息做详细统计;实现成本低,不需要部署专用采集设备,也不占用设备端口。统计结果送去 NetStream 服务器,计费、网络监控都有了数据底子。
NetStream 有几种输出方式,本篇讲原始流统计信息输出——流老化时间超时后,每条流的统计信息都输出到 NetStream 服务器。它的特点是服务器能拿到每条流的详细统计信息,粒度最细。
配置步骤
官方示例的场景很实际:企业里部门 1 和部门 2 通过 SwitchA 接入 Internet,网管想掌握两个部门与 Internet 的通信情况,进而分部门计费。做法是在 SwitchA 的 GE1/0/1 接口部署 IPv4 原始流统计信息输出功能,统计接口出入两个方向的流量,上送 NetStream 服务器分析。
第一步,基础接口配置。四个 VLANIF 做 four 个网段的网关,GE1/0/1 到 GE1/0/4 配 Hybrid 口各划各的 VLAN:
<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] vlan batch 100 200 300 400
[SwitchA] interface vlanif 100
[SwitchA-Vlanif100] ip address 10.1.1.1 24
[SwitchA-Vlanif100] quit
[SwitchA] interface vlanif 200
[SwitchA-Vlanif200] ip address 10.1.2.1 24
[SwitchA-Vlanif200] quit
[SwitchA] interface vlanif 300
[SwitchA-Vlanif300] ip address 10.1.3.1 24
[SwitchA-Vlanif300] quit
[SwitchA] interface vlanif 400
[SwitchA-Vlanif400] ip address 10.1.4.1 24
[SwitchA-Vlanif400] quit
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] port link-type hybrid
[SwitchA-GigabitEthernet1/0/1] port hybrid pvid vlan 100
[SwitchA-GigabitEthernet1/0/1] port hybrid untagged vlan 100
[SwitchA-GigabitEthernet1/0/1] quit
第二步,配采样。全量统计对设备压力大,按固定包数采样,每 1200 个包取 1 个,出入方向都要:
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] ip netstream sampler fix-packets 1200 inbound
[SwitchA-GigabitEthernet1/0/1] ip netstream sampler fix-packets 1200 outbound
[SwitchA-GigabitEthernet1/0/1] quit
第三步,配流老化。一条流不能永远占着表项,不活跃流 100 秒老化,另外开启由 TCP 的 FIN 和 RST 报文触发老化——连接正常结束时立刻老化,表项及时腾出来:
[SwitchA] ip netstream timeout inactive 100
[SwitchA] ip netstream tcp-flag enable
第四步,配输出的目的地。统计报文从哪个源地址发、发到哪台服务器哪个端口,示例里源 10.1.2.1、服务器 10.1.2.2 的 6000 端口:
[SwitchA] ip netstream export source 10.1.2.1
[SwitchA] ip netstream export host 10.1.2.2 6000
第五步,配输出报文版本为 V9,然后到接口上使能统计功能,出入方向各一条:
[SwitchA] ip netstream export version 9
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] ip netstream inbound
[SwitchA-GigabitEthernet1/0/1] ip netstream outbound
[SwitchA-GigabitEthernet1/0/1] quit
[SwitchA] quit
验证
配置成功后,NetStream 服务器端能收到设备发来的统计报文;本端设备上用 display ip netstream statistics 查流统计信息。下面这段回显里 Ingress entries 35 条、包 381920 个、字节 125269760,采集已经在跑了:
<SwitchA> display ip netstream statistics slot 1
===== Netstream statistics: =====
Origin/Flexible ingress entries : 35
Origin/Flexible ingress packets : 381920
Origin/Flexible ingress octets : 125269760
Origin/Flexible egress entries : 0
Origin/Flexible egress packets : 0
Origin/Flexible egress octets : 0
Origin/Flexible total entries : 35
Handle origin entries : 35
两条硬件限制必须先看。其一,框式交换机上 NetStream 功能与 IP Source Trail 功能互斥,不能同时配置,两个都要用的场合得取舍。其二,高端机型并非全单板支持:S7700 和 S9700 系列只有 B 系列单板、E 系列单板(ET1D2X48SEC0、ES1D2X48SEC4、EH1D2X48SEC0 三块除外)和 X 系列单板支持,S7900 系列只有 E3E 系列和 X 系列单板支持,选型时别想当然。
出口带宽月月超、部门流量互相扯皮、还要按用量分摊成本,这类问题 NetStream 一开就有了客观账本。贵州诚鑫致达科技在给客户交付网络时,出口处的流量可视化是运维交接的标配项。你的出口现在能查到是谁在跑流量吗,还是只有一个总数字?