(2012-09-05 06:58:04)
作者:毛明
我曾在一家IDC(因特网数据中心)做网络管理工作,用户量很大,用户开展的业务多种多样,发生的网络流量也非常不均衡。
有一个客户对我们接入因特网的质量非常认可,所以购买了15M带宽服务。 但是,我在实际运营中发现,该客户的网络流量经常超过30M!虽然我们公司不会向客户收取超额部分的费用,但这会给上联因特网链路造成压力,对新客户服务质量造成影响。
如果其他客户的数据流也出现类似的情况,或者IDC的某一条上联链路出现故障,都会使整个运营网络与上游ISP之间产生拥塞,随之而来的是客户对我们服务质量的怀疑,甚至会招致投诉。
图1
保证服务质量的一个传统办法就是扩容上联链路,以大幅度增加运营费用为代价,这对我们来说并不现实;购买流量控制器,投资大,也是不可行;设置一台计算机对客户进行限流,不仅增加投资和管理成本,而且限流速度也很难达到要求,也不能采纳。
图2
结合笔者的工作实践,参考了一些技术文献,在没有增加任何设备和投资的前提下,解决了现有网络的精确限流问题。
首先,我将那个发生超额流量的客户接入到6509交换机的一个FE端口上(3/1)(见图1)。
在6509上实现的配置步骤如下:
图3
1.在交换机上设置流量定义: 平均速率为15M , 突发速率为5M, 超过速率则进行丢包。
set qos enable
set port qos 3/1 port-based
set qos policer microflow mypolicer rate 15000 burst 5000 drop
使用命令进行确认:
Console> (enable) sh qos policer config all
QoS microflow policers:
Microflow name Avg. rate (kbps) Burst size (kb) Exceed action ACL attached
----- ----- -----
mypolicer 15000 5000 drop ming
QoS aggregate policers:
No aggregate policer found.
2.在6509交换机上定义 qos ACL 。
set qos acl ip ming trust-ipprec microflow mypolicer host 211.211.211.1
使用命令进行确认:
Console> (enable) sh qos acl info config all
set qos acl ip ming
---------------------
trust-ipprec microflow mypolicer ip host 211.211.211.1 any
3.在交换机上激活此ACL。
Console> (enable) commit qos acl ming
使用命令进行确认:
Console> (enable) sh qos acl editbuffer
ACL Type Status
---------------------
ming IP Committed
4.将该ACL绑定到交换机的一个FE端口上(3/1)
set qos acl map ming 3/1
使用命令进行确认:
Console> (enable) sh port qos 3/1
显示略
经过这样的配置,该客户的网络流量确实得到了比较理想的控制,并且,仍然给客户提供了很好的优惠方案,在网络空闲的状态下,该客户的数据流量可以达到20M。
通过这次成功的尝试,我们提出了有竞争力的服务,就是为重要客户提供个性化的服务等级协议(SLA),承诺客户有保障的网络带宽和突发带宽。
例如,某客户签署的SLA中规定:承诺带宽为2M,突发后最高带宽为8M。
图2是我在网络正常空闲的状态下随机获取的该客户数据流量图,我们看到客户可以达到5M的流量,实际上,经笔者长期观察,客户在有更大流量需求时最大可以达到8M。
图3是笔者在网络拥塞发生的时候获取的该客户数据流量图。可以看到该客户的数据流量在这种情况下,最高只能达到2M。
采取这种网络流量控制手段后,使公司的服务可以针对客户进行细分,对真正业务量大、需要高质量服务的客户,能够满足他们的高标准、严要求;对于业务量小,但是有突发业务量需求的客户,在一般正常情况下也可以满足他们的要求。
上面的监管限流方法,使用了命名策略定义带宽控制细节,然后再将此策略名应用到指定的数据流上,从而达到流量精确控制的目的。
中华人民共和国备案号:浙ICP备10018243号