背景 带宽管理是公司的一个重点研发项目,也是产品的一个重要卖点,一个哥们整了将近两年,还没出一个稳定的东西,后来实在做不下去了,便撂挑子走人了。
老板找到我,问我是否愿意接手这个烂摊子,说实话,开始真的是头皮发麻,不太想接。因为研发计划一拖再拖,市场那边已经错过了很多大单子,所以日程肯定很紧,工作强度会比较大,而且我没有绝对的把握,如果项目做成,一切ok,一旦失败,我也许就成为替罪的羔羊。所以本想拒绝的,不过看着老板那期盼的眼神,我就心软了。一方面,我这个人乐于接受挑战,另一方面,我一直觉得,作为一名职业员工,也应该在逆境中为公司作出贡献。
幸运的是,经过两个多月的奋战,终于把这个功能搞定了,现在感觉好轻松,哈哈!
先来看一下实际效果:
上图是使用迅雷下载电影时的流控效果截图。我针对内网中主机设置的带宽峰值是50K,可以看到控制的效果图比较平滑,很少有大的波动,长时间观察,误差大概在1.5K左右,个人对于这个效果还是比较满意的。
功能总结 国内目前大多数防火墙或者UTM中,都集成了带宽管理的功能。不过令人失望的是,这些产品所采用的技术手段几乎都是一样的,很多产品都是基于Linux,而Linux本身带有比较完善的带宽管理功能,所以只需要进行简单的封装,便可以提供给用户使用。从短期来看,这的确是一条捷径,可以节约研发成本,降低项目风险。但是从长远看,则有很大的弊端,因为研发出的产品和别的产品大同小异,没有功能亮点,没有竞争能力,最终无法成为公司强有力的盈利点。
如果走和别人一样的路,那么我们永远只是在追赶别人;如果我们自己去寻路,则很有可能超越别人。所以最终我们选择了自主研发这条路。
带宽管理,从字面来看,是对带宽进行管理,管理分为两个基本部分,一个是对有害流量进行限制,另一个是对重要流量带宽进行保障,这两个部分统称为调度功能。不同的网络流量,其管理方式是不同的,这就涉及到流量的分类问题。同时,从方法论上讲,人们解决问题是源于对现实问题的正确认识,为有效管理带宽,需要观察到带宽管理的现有问题,由于带宽是虚拟的,我们需要通过技术手段,将其可视化的呈现到用户眼前,这主要是统计报表的功能。此外还有最基本人机接口。
因此,带宽管理划分为了如下几个功能大块:
1.调度功能支持上下行两个方向上特定流量的限制与保障,支持带宽逻辑划分,支持优先级调度,支持智能调整。
2.分类功能支持流量的用户识别,可识别部门、用户,IP地址,IP地址段,IP地址群组等
支持流量的协议识别,支持即时消息、网络电视、P2P下载、在线视频、在线游戏、股票软件、电子邮件等11个大类200多种常见应用的识别,通过特征码识别、行为分析、主动探测等技术,对P2P流量能够精确控制
3.统计报表能够根据多种查询条件,提供实时及历史报表,供网络管理员查看流量排行,协议分布,带宽利用效率等。
4.配置管理支持策略下发/聚合,支持基于时间段的策略管理,支持连接数及连接速率限制,界面简洁易用
5.带宽诊断针对带宽资源的实际使用情况,能够生成诊断报告,主动向管理员汇报带宽利用效率、性能瓶颈等问题
性能及稳定性总结 完善的功能只是产品的一个基本面,作为一个专业的带宽管理产品,时时刻刻都要经受考验,因此,功能、性能、时间、空间、效率等问题都是需要慎重考虑的。因此对产品进行了性能及稳定性测试,测试结果比较令人满意。
测试环境硬件:x86平台,双核,CPU 2.4G HZ,RAM 2G
软件:10000条策略,开启流量整型和统计功能,不限速
网络:透明模式,900M单向、多协议混合流量
测试仪器: Spirent avalanche 2000
测试时长:10 小时
测试结果900M带宽的压力测试下,256字节数据包吞吐接近线速,CPU利用率 60%,内存使用130M左右,10小时内未发现问题
项目心得 作为一名技术人员,最欣慰的事情便是自己亲手打造的产品得到了用户的广泛使用,并受到用户的好评。产品已经推出一段时间,销售势头良好,得到了合作伙伴和最终用户的认同,在高校、企业、能源、政府等行业均有使用,产品运行良好,目前无宕机事件发生。
产品目前还存在一些缺陷,主要是由于项目开发周期较短,功能上还有可待完善的地方,另外性能上应该还可以提高,下一步的工作重点会集中在这些地方。
有些事情并不像想象中的那样可怕,只要敢于尝试,便极有可能成功。
阅读(1052) | 评论(0) | 转发(0) |