Juniper公司自主研发的Netscreen流量整形方案通过硬件实现高效的流量整形功能,为关键流量提供带宽保证和高优先级响应,能够为突发流量提供平滑的整形机制,最大限度地利用网络带宽。 |
单一令牌桶流量整形 |
在网络发生拥塞情况下,令牌桶机制能够保证业务获得基本的可用带宽,避免业务流量因网络拥塞而中断,令牌桶工作原理如下图所示: |
|
启用流量整形功能后,按照应用分类获得各自的令牌桶,并按照特定的速率往令牌桶中存放令牌,即:每类应用将获得指定的最小保证带宽。当桶中的令牌数量满足数据包传输要求时,数据包通过消耗相应数量令牌而得以转发,数据包完成转发后相应数量的令牌将被清除出令牌桶。当令牌桶中令牌数量不满足数据包对带宽要求时,数据包在缓存队列中处于等待状态,直到有足够的令牌供其消费。令牌桶机制有效地保证了业务所需的可靠带宽,同时容许一定的流量突发(如果令牌桶中还有剩余令牌的话),但是我们也看到令牌桶机制未能够充分利用网络带宽资源,如果持续的令牌流将令牌桶注满(如果没有数据包要转发或转发数据包数量少于单位时间内令牌注入的数量),溢出的令牌将被丢弃。 |
双令牌桶拥塞控制机制 |
为充分利用有限的带宽资源,避免溢出令牌的白白浪费,可以采用双令牌桶机制将溢出的令牌进行再利用,双令牌桶工作原理如下图所示:将流量分类,每类流量均有属于自己的令牌桶,同时提供一个公用令牌桶,分类流量令牌桶空闲时溢出的令牌将被放到公用令牌桶中,供突发流量使用。 |
|
令牌的数量满足数据包传输需求时,数据包消耗对应数量令牌后得以转发。当桶中令牌数量小于包的大小时,消耗公用令牌桶中令牌进行数据包转发(公用令牌桶中需有满足数据包转发需要的令牌),如公用令牌桶中没有足够的可用令牌,数据包将在缓存队列中进行等待,直到有足够的令牌供其消费。双令牌桶机制在保证业务可用的基础上,提供了良好的流量突发处理机制,充分利用网络带宽资源。但是我们应看到,具有相同优先级设置的应用将以轮询方式竞争带宽,业务的优先级和吞吐量需求在这里并没有得到充分考虑。 |
Netscreen拥塞控制机制 |
Netscreen自有专利的拥塞控制机制主要要素有:基于策略对应用进行分类,根据每类应用分配最大带宽和保证带宽,基于应用的优先级使用共享带宽。Netscreen自主流量整形机制如下图所示。 |
|
1、根据策略分类应用,分别为每类策略定义最小保证带宽和最大可用带宽。当业务流量突发超过最小保证带宽且低于最大可用带宽时,各类突发流量在共享带宽中严格根据优先级决定包的转发。 |
2、基于策略定义的业务流量不应超过最大可用带宽,当数据包数量超过最大带宽时,将在队列中等候,直到获得足够令牌后转发,或获得共享带宽后转发。 |
3、如果数据包超过最小带宽但低于最大带宽,多余的数据包将被放到共享带宽中进行排队,严格根据优先级决定转发包转发次序。 |
这种2+1模式的令牌桶机制为流量管理提供了灵活控制机制,最大限度地利用了带宽资源。 |
Netscreen流量整形配置 |
Netscreen通过两种方式启用流量整行功能,一种是在物理接口上做带宽管理,对所有进来或出去的流量定义最大可用带宽,采用单令牌桶控制机制。通过策略进行带宽管理可配置最小保证带宽、最大可用带宽及优先级。每个策略可得到其保证带宽并基于优先级共享剩余的带宽 (直至达到其最大可用带宽限制)。 |
1、物理接口带宽限制配置:(适用于zone中单一接口环境下) |
CLI命令行方式: |
set traffic-shaping mode on 打开流量整形功能 |
set interface ethernet1 bandwidth ingress mbw 5000 (单位KB) |
set interface ethernet1 bandwidth egress mbw 2000 |
配置完成后使用,使用下面命令显示当前端口实际吞吐量。 |
get traffic-shaping interface eth1 |
WEB页面方式: |
使用web页面配置接口带宽限制更为方便,先在WEB页面configuration-advanced traffic shaping中打开流量整形功能,然后在network-interface界面下直接配置带宽参数。 |
|
配置完成后用get traffic-shaping interface eth1命令查看限制结果。 |
2、基于策略的带宽限制配置: |
set traffic-shaping mode auto动态开启流量整形功能,允许系统在策略需要时开启信息流整形,在策略不需要时将其关闭。 |
set policy name "Marketing" from trust to untrust marketing any |
any permit traffic gbw 10000 priority 0 mbw 15000 |
设置Marketing部门的地址保证带宽10M(gbw)、最大带宽15M(mbw)、优先级为0(最高)。 |
注:具有相同优先级设置的策略将以轮询方式竞争带宽。 |
set policy from untrust to trust 1.1.1.1/32 2.2.2.0/24 ftp permit traffic gbw 1000 priority 0 mbw 2000设置基于地址和应用的保证带宽、最大带宽和优先级。 |
set policy my_ftp from untrust to trust any any ftp permit traffic pbw 10000 在untrust入口设置到trust区的ftp最大带宽为1M(pbw管制带宽,等同于最大带宽mbw,两者不可同时使用)。 |