□ 文 郝 航 潘智勇
随着互联网的高速发展,企业的运转和服务模式发生了巨大变化,企业运转越来越依靠信息系统,随着信息系统数量的增多和规模的增大,企业对互联网接入带宽需求也越来越大,导致企业互联网流量激增,这对企业的互联网带宽接入能力带来了极大的挑战。互联网带宽需求剧增带来的不仅是容量问题,更是管理问题,单纯扩展带宽容量是不能解决企业内部不同系统、不同业务之间对有限带宽资源争用的问题。
同时在企业数字化转型过程中,对各项投入进行成本核算已成为常态,是企业实现精细化运营的必经之路。在众多核算项中,互联网带宽租赁费用作为企业长期高额投入的部分,对其建立完善的内部核算机制已迫在眉睫。
通过建立企业互联网带宽资源的计量计费模式,可实现互联网接入成本在各类系统、各类业务的分摊,从而建立良性的发展模式,优化有限带宽资源的分配和利用,实现企业增效降本提质的目标。本文旨在设计一套基于Netflow流量采样的互联网带宽计量计费系统,实现覆盖企业所有园区互联网出口的带宽资源系统维度、业务维度的统计,同时提出了基于链路繁忙度的动态激励计费模式,对引导各类业务错峰上网,优化企业互联网带宽资源分配具有重要意义。
NetFlow是1996年由Cisco公司开发的一款用于分析网络数据包信息的流量轮廓监控技术,它描述了路由器输出关于被路由套接字对(the routed socket pairs)统计信息的方法。NetFlow常见的部署结构如图1所示,一套基于NetFlow的流量统计分析系统通常包括数据导出模块(NetFlow Data Exporter)、数据采集模块(NetFlow Data Colle c tor)和数据分析模块(Net Flow D at a Analyzer)。
NetFlow的工作原理为:NetFlow首先使用标准的交换模式对IP包的数据初始化,同时把IP包的数据缓存下来,形成NetFlow缓存,随后NetFlow在同一数据流中传输缓存信息相似的数据,从而完成数据包的计数和统计。当设备缓存的NetFlow数据包超过上限或缓存的NetFlow条目达到老化时间,就会把该NetFlow数据发送至采集模块进行统一存储,存储在收集器中的NetFlow条目最后会被分析器加载,完成流量数据的最终统计分析。
传统的NTA(Network Traffic Analysis)设备通常采用实时采样的方式感知监控链路的流量,对设备的性能要求较高,而本文设计的带宽计量计费系统是通过周期性的启动、关闭探针实现对监控链路的周期性采样,与传统的实时采样相比,周期性采样的流量统计分析系统具有以下优势:
(1)减轻统计分析设备负载
企业内部网络设备负载通常处于较高水平,如采用全流量实时采样的方式势必会额外增加设备的计算开销,导致设备负载持续走高,影响设备性能和可靠性。而对企业互联网流量进行周期性采样可以有效降低流量监控范围,其统计结果也具备较高的可信度。
(2)避免产生过多背景流量
由于NetFlow本身会产生统计报文,因此势必会在企业网络中引入背景流量,从而影响企业网络性能,为尽量降低背景流量对企业网络的干扰,必须考虑减少NetFlow的生成速率,而周期性采样流量方式可有效降低NetFlow的生成速率,从而减少对现网的影响。
(3)简化统计模型设计
企业内部往往运行众多服务器和业务系统,每台服务器每个业务系统都会产生大量的联网数据,基于实时采样数据的统计模型的设计和实现难度极大。为实现统计模型的简化,抓住统计重点,必须减少统计的样本数量,因此适合采用周期性采样的方式进行统计。
1.3.1 总体架构
本文设计的统计系统包含探针、收集器和分析器三部分,其功能架构如图2所示。
探针负责根据收集器下发的采样任务对监控链路进行周期性采样,并在一个采样周期结束后或缓存的NetFlow条目达到缓存上线后将NetFlow统计信息发送至收集器。
收集器负责所有探针的采样任务管理和统计数据的收集、存储,并通过REST接口提供统计报文的查询服务。
分析器中部署了带宽计量模型和计费模型,通过从收集器中获取统计数据并运行计量、计费模型产生业务系统维度和业务部门维度的带宽使用报表,并提供可视化大屏展示。
主要功能模块说明如下:
(1)通信模块:负责探针、收集器和分析器之间的底层数据通信,采用非阻塞式异步通信框架,避免各节点之间因耗时任务执行导致的通信异常。
(2)心跳模块:用于探针和收集器之间的心跳保活,在探针发生故障后,收集器会因为心跳超时感知故障探针,标记探针状态并及时发出告警。
(3)采样任务模块:收集器上的采样任务模块是针对探针采样任务配置管理,包括设置探针采样时长和采样间隔等配置;探针上的采样任务模块主要是负责本节点采样任务的定时启停和结果上报。
(4)统计分析模块:通过部署计量、计费模型,对收集器中存储的NetFlow数据做进一步统计分析,生成可视化大屏所需的带宽占用数据和费用数据。
部署架构如图3所示。
本文设计的系统充分考虑企业多园区结构,通过在不同园区内部署探针设备,实现全域互联网流量的监测,从而实现覆盖企业全部园区的互联网带宽计量和计费。在探针部署阶段,对于支持镜像端口的网络设备,直接镜像互联网出口流量至探针设备;对于不支持镜像端口的网络设备,可以借助分流器等设备对原始流量进行克隆并引流至探针设备。
表1 采样参数
1.3.2 流量采样频率
为降低带宽资源统计分析系统的复杂度,同时考虑采样数据的准确性,本文提出的带宽资源统计模型中采样间隔为5分钟,24小时采样,每日采样数据包括288个/每IP的主机带宽数据和288个链路带宽数据。
1.3.3 带宽计量模型
本文所设计的带宽计量模型相关概念定义如下:
(1)主机采样带宽:采样时刻主机实际使用带宽。
(2)系统采样带宽:采样时刻系统所属的主机采样带宽之和。
(3)链路采样带宽:采样时刻互联网出口链路实际总使用带宽。
(4)系统日带宽:每日系统采样带宽的95峰值计为系统日带宽。为避免系统对互联网突发性访问造成带宽计量过高,系统日带宽采用95峰值计量模式,即对系统所有采样点进行降序排列,移除最高5%的采样数据后的次高采样数据作为系统日带宽的计量数据。
1.3.4 带宽计费模型
本文所设计的带宽计费模型相关概念定义如下:
(1)链路带宽:企业从运营商租赁的互联网链路带宽。
(2)链路繁忙时段:每日链路采样带宽超过链路带宽50%的时段。
(3)系统高峰时段:每日系统采样带宽在80峰值以上的时段。
(4)系统日参堵率:系统高峰时段与链路繁忙时段重叠时长与链路繁忙时段总时长之比。当链路繁忙时段总时长为零时,所有系统日参堵率为零。
本文所设计的带宽计费模型计算方式如下:
其中,C日是系统日费用;B日是系统日带宽;C年度租赁费是互联网链路年度租赁费;B总带宽是链路总带宽;S是计费激励因子,计算公式:S=0.5*(1+系统日参堵率)。
在以上计费方式中,企业内部系统占用带宽产生的费用除了与实际占用带宽大小有关,还与企业互联网链路的繁忙程度相关,当链路处于非繁忙时段时,系统占用带宽产生的费用将优惠至多50%,而链路处于繁忙时段时,系统占用带宽产生的费用优惠力度大幅度降低,从而实现了根据链路繁忙度变化的动态激励方式,达到鼓励、引导企业不同系统、不同业务错峰上网,优化互联网带宽资源使用的目的。
通过在某企业实际部署系统,收集某天带宽数据如图4所示:
已知企业互联网总带宽为250Mbit/s,链路负载>50%总带宽的时段是08:00~18:25,系统A、B、C、D的各项参数如表2所示:
表2 系统占用带宽统计表
假设企业年带宽租赁费用为100万/年,使用带宽计费公式计算A-D系统的日带宽费用分别是:
由以上结果可知,系统A和C、系统B和D的系统日带宽基本相同,但C、D系统的日参堵率较高,说明这两个系统与其它系统之间存在带宽争用现象,因此在核算带宽占用费时优惠幅度小,其带宽费用较日带宽占用量相近的A、B系统高出近40%,C、D系统所属业务部门应当考虑调整用网时段以降低本部门带宽成本,从而提高企业互联网链路带宽的综合利用率。
随着互联网的发展,企业对互联网带宽的需求日益增长,如何提高企业互联网带宽资源的综合利用率是当前研究的一个重点。本文对带宽使用采样统计进行数学模型分析,将解决问题的思路归纳为带宽采样、计量模型和计费模型三个方面,并设计了一套较完善的带宽数据采集、存储、分析、可视化的计量计费系统,对加强企业互联网资源的管理有重要意义。同时本文还提出了基于链路实时负载的动态激励模式,对于引导企业内部错峰上网,优化带宽资源使用有较高价值。■