扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
一、 从流量控制到流量调度
1、广域网流量与带宽的矛盾
广域网覆盖范围广、接入用户多、承载业务复杂。随着政府、企业等信息化的不断发展,尤其是近年来数据大集中带来的业务整合,高清视频、IP语音、公共资源平台等应用上线,推动广域网数据类型、数据流量、网络规模的快速增加。
相对于园区网、城域网和数据中心,广域网跨越距离远,线路资源有限,高速带宽费用昂贵。快速增加的业务流量与有限的带宽资源之间的矛盾,使得广域网上的流量很容易产生拥塞,导致业务延时增加、流量抖动,甚至丢包。如图1所示。
图1 广域网流量特征
广域网的上述矛盾决定了广域网业务质量的“不可靠”性,也使得流量控制始终是广域网方案设计的核心内容。
2、流量控制方案
随着线路类型以及网络产品和技术的发展,在广域网上进行流量控制的技术主要分为三种。?
◆InterServ方式
集中服务方式,主要应用于早期的广域网专线,如ATM、FR,通过将线路划成多个PVC**(Permanent Virtual Circuit,永久虚电路,例如ATM线路的VPI/VCI、FR线路的DLCI等),每个PVC分配所需的保证带宽(CBR),将线路的实际带宽在PVC上进行分配。通过将不同类型的业务映射到对应的PVC上,使用PVC的分配带宽,实现不同类型业务的传输带宽和时延质量保证。
该种方式要求网络中的所有节点(包括核心节点)都记录并保留每个类型业务流的资源预留状态,同时为每个类型的业务流设置单独的内部虚电路资源,以保证业务流的带宽。因而该方式对于可划分PVC的ATM、FR等线路比较容易实现。
然而现在广域线路以POS、E1、以太网为主,采用共享带宽方式,在线路上已经不能进行虚拟电路划分。另外,在大型网络中,业务流数量非常庞大,对网络节点设备的处理能力有着非常高的要求。同时,由于必须在所有节点上都保留每个类型业务流的资源状态,整体网络设计和部署的可扩展性也较低。
因此,IntServ方式主要在早期的广域网线路中应用,而不再适应当前以IP为主的广域网线路,以及日益增多的应用业务,它逐渐被DiffServ方式所替代。?
◆DiffServ方式
区分服务方式,是IETF工作组为了克服InterServ的可扩展性差而提出的服务模型,目的是制定一个可扩展性相对较强的方法来保证IP的服务质量。在DiffServ模型中,业务流被划分成不同的区分服务类。一个业务流的区分服务类由其IP包头中的区分服务标记字段(Different Service Code Point,简称DSCP)来表示。在实施DiffServ的网络中,每一个节点路由器都会根据数据包的DSCP字段执行相应的PHB(Per Hop Behavior)行为,主要包括EF、AF、BE三类:
1. Expedited Forwarding (EF):主要用于低延迟、抖动和丢包率的业务,这类业务一般运行一个相对稳定的速率,需要在路由器中进行快速转发。
2. Assured Forwarding (AF):这类业务在没有超过最大允许带宽时能够确保转发,一旦超出最大允许带宽,则允许根据不同的丢弃级别丢弃报文。
3. Best Effort (BE):尽力转发,主要用于对时延、抖动和丢包不敏感的业务。
区分服务只包含有限数量的业务级别,状态信息的数量少,因此扩展性较好。目前,区分服务是业界认同的IP骨干网的QoS解决方案。尽管IETF为每个标准的PHB都定义了推荐的DSCP值,但是设备厂家可以重新定义DSCP与PHB之间的映射关系,用户可根据网络实际需要进行灵活定义。?
◆MPLS TE方式:
Diffserv是基于流分类的逐跳行为,但是不能选择路径。MPLS TE流量工程是将InterServ方式应用到IP网络中,进行资源预留和流量分担,从而提高线路带宽利用率,对网络资源的使用进行优化。但是TE的实现机制比较复杂,对设备的功能和性能要求很高;同时TE主要应用于运营商骨干网络,适合于网状或者半网状网络结构,对于企业级的星形、层次化网络结构并不适合。因此MPLS TE在企业级广域网中应用比较少见。
在以上三种方式中,目前较为常用的是DiffServ方式,采用流量分类、流量监管(限速)、拥塞管理(优先级队列)等QoS技术,对不同类型流量执行不同的流量控制策略,保证高优先级关键业务的传输质量。
3、流量调度需求
流量控制方案虽然能够保证关键业务的传输质量,但随着广域网上业务类型的增加,面临多样化的业务流量控制需求,逐渐显现一些不足,主要体现在以下几点。?
◆不能全局协调
DiffServ方式的出发点就是通过PHB的方式,每个节点独立执行流量控制策略。目前广域网的双节点、双链路组网方式已经成为主流,这种基于单节点、单链路的PHB控制策略,无法充分利用主、备链路带宽。例如,当主链路业务流量突发超过主链路带宽时,根据主链路节点设备的流量控制策略,即使备链路有空闲带宽,仍然会对主链路上过载流量进行丢弃,导致同一网络节点上的链路资源没有得到充分利用。备链路很可能仍有一定的空闲。根据主链路节点的流量控制策略,主链路上必然产生流量丢包,备链路上的空闲资源没有得到有效利用。
图2 双链路流量控制
如图2所示,主、备链路带宽均为10M,主链路流量突发(达到12M),而备链路流量正常(6M)。由于R1、R2的流量控制策略是独立部署和执行的,根据路由器R1的流量控制策略,会有2M流量被丢弃,而R2所在链路还空余4M的链路带宽,主、备链路压力和利用率不均衡。?
◆不能动态调整
流量控制是基于业务流特征执行策略,一般很少考虑对终端用户进行控制。事实上,业务类型和终端用户的增加,使得业务流突发存在很大的不确定性。例如在线办公系统(Notes、Email等),通过流量控制保证2M带宽,则10人使用时,每人平均100K的流量,50人使用时,每人平均只有40K。如果一些用户收发大邮件、占用大量带宽,将会导致其他人员只能使用远小于平均值的带宽,业务访问速度降低,甚至会影响正常办公。若对每个用户的访问速度进行限制(例如每人最大50K),又会抑制整体访问速度,当并发访问人员较少时,虽然带宽有富余,访问速度也不能增加。因此,由于缺乏动态调整机制,很难对每个用户的使用带宽进行有效限制和保证,以提高效率、兼顾公平性。?
◆不能精细化控制
通过路由器、交换机等网络设备执行流量控制策略,必须明确配置每种业务的特征(IP地址、端口号、协议类型、优先级等),对于无法通过上述特征识别的业务(如FTP、基于HTTP、P2P等的应用),基于流量控制方案不能进行有效的控制。而随着B/S架构、服务器虚拟化的广泛应用,传统的业务流特征已经不再包含单一应用,必须有对应的深入识别和控制手段,进行精细化流量控制。?
◆整体部署策略复杂
DiffServ方式流量控制虽然可以结合MPLS TE、分层QoS技术,实现更加强大的流量控制功能(例如对关键业务进行带宽预留,对不同部门的不同业务进行分级带宽保证),但MPLS TE和分层QoS技术实现和配置比较复杂,除了运营商骨干网,企业级网络中应用较少。事实上,基于企业级网络的组网结构和运维管理水平,它需要简单、直观、可扩展、适应性强的技术和策略。
为了改进传统流量控制方案中的不足,满足多样化的业务流量控制需求,企业广域网需要一种动态、智能、简单的机制实现流量控制,这就是流量调度。
表1 流量控制与流量调度对比:
二、 流量调度方案的主要构成
广域网流量调度方案,主要包括业务分流、拥塞避免、流量路由、精细化流量控制等几个部分。
1、业务分流
业务分流是进行流量调度方案设计的前提。通过路由协议(Cost、路由优先级等路由策略调整)、策略路由、VRRP/VRRPE等,将流量在链路上进行策略性的分担。例如将办公、生产等业务在主链路上承载,将视频会议业务在备链路上承载。
2、拥塞避免
传统的流量控制是“后觉”行为,主要部署在网络设备出接口,当需要转发的流量超过出接口带宽时,执行拥塞管理策略,通过优先级队列转发高优先级流量、丢弃低优先级流量。QoS技术中虽然有WRED拥塞避免技术,但其主要原理是通过提前丢包降低业务流速率,从而减轻出接口拥塞程度,但并不能完全避免拥塞。
图3 拥塞管理时延测试
以某测试为例,出接口为10M以太网链路,配置CBQ优先级队列,优先保证UDP报文流量。通过流量测试仪生成混合报文,UDP包(模拟视频流)占1/4,IP包(64字节)占1/4,IP包(1024字节)占1/2,依次测试流量为1.2M、2.4M、3.6M、…、10.8M、12M等几种情况,记录每个报文的平均时延、丢包率。
测试结果如图3所示,流量未超过链路带宽时,所有报文都能够正常转发,平均时延在1ms以下。当流量超过链路带宽,发生拥塞时,通过CBQ拥塞管理策略,UDP包仍然能够完全转发,丢包率为0;而IP包的丢包率随着流量增加而增大。同时,无论是UDP包还是IP包,平均时延都大幅增加,达到15ms以上,IP包甚至达到30ms以上。
可见,虽然拥塞管理可以保证高优先级流量的传输带宽与正常转发,但会导致较大的时延,对高清视频等敏感业务造成一定的影响。
通过拥塞避免,则可以有效的解决上述问题。拥塞避免的主要思路是“先觉”,采用简单、高效的令牌桶技术,对路由器进入的流量进行评估和着色,对链路带宽内的流量标记绿色,超过链路带宽的流量标记红色,只允许绿色的流量进入到出接口,使得出接口的流量不会超过链路带宽,不产生拥塞。
相对于复杂的CBQ队列调度机制,拥塞避免采用了简单、高效的令牌桶流量评估和转发机制,有效降低了流量的时延。如图4所示,通过拥塞避免,路由器总体流量达到出接口链路带宽的120%~160%时,将时延控制在5ms左右,大大低于拥塞管理的时延。
图4 拥塞避免与拥塞管理时延对比
3、流量路由
传统的流量控制,每个网络节点都基于出接口链路带宽独立执行策略,无法实现主、备链路带宽资源的充分利用。通过流量路由技术,可以实现对多个端口或链路进行流量全局调度,动态监测整个节点链路的带宽利用率;在业务突发时,将较低优先级的流量报文重路由到空闲的备链路上转发,避免主链路上的流量拥塞,从而尽量避免报文丢弃,提高系统链路带宽的利用率。由于业务突发时不发生丢包,因此能够维持应用层会话不中断,提高整体应用系统的可靠性。
流量路由实现流程主要包括以下三部分,如图5所示:
图5 流量路由技术实现流程?
◆流量监测:对进入路由器的所有流量进行统计,获取优先级、流量大小特征。图5中,主链路带宽为10M,流量1、2、3、4的保证带宽分别为2M、2M、4M、2M,实际带宽分标为2M、2M、3M、5M,其中流量4有突发,实际带宽大于保证带宽,流量3的实际带宽小于保证带宽。?
◆流量着色:根据流量监测的结果,以及设定的拥塞避免策略,为各类业务流标记颜色,以执行对应的转发策略。具体原则为:
(1)根据每个业务的保证带宽、实际流量,对流量报文着色。
◆当业务流量低于保证带宽时,标记为绿色;当业务流量高于保证带宽时,表示有突发,将超过保证带宽的突发流量标记为红色。图5中,流量1、2、3的业务流量标记为绿色,流量4有2M流量标记为绿色,3M流量标记为红色;
(2)进行多级调度,为业务流量重分配带宽,从而达到带宽均衡。
◆经过步骤(1)后,业务流量包括绿色的正常流量,以及红色的突发流量。如果某个业务流量小于保证带宽,则绿色的流量速率小于出接口带宽,此时可以通过多个业务带宽重分配,将富余的带宽分配给一部分红色的突发流量,使之变为绿色。反之,如果绿色流量的速率大于出接口带宽,此时可以通过多个业务带宽重分配,将一部分优先级较低的流量变为红色。图5中,流量3的实际流量比保证带宽小1M,流量1、2、3的绿色流量带宽为9M,富余的1M将分配给流量4,则流量4有3M流量标记为绿色,2M流量标记为红色;
(3)可以将红色的流量进行优先级重标记,打上特定的DSCP优先级,用于执行流量转发策略。例如,将着色为红色的流量,标记特殊优先级DSCP11。?
◆流量转发:根据流量着色结果执行转发策略。对绿色的流量正常转发,通过出接口A沿主链路转发;对红色的流量,按照设定的流量策略,将报文丢弃,或者重路由到出接口B,转发给相邻路由器,沿备链路转发。
在实际应用中,为了防止重路由后的流量再重新返回(例如冗余广域链路故障),还需要在主路由器上配置策略,禁止由B接口送出的重路由流量再由接口B返回路由器。
4、精细化流量控制
由于传统的流量控制只能根据L2~L4报文进行处理,因此需要依靠DPI(深入报文检测)、ACG(应用流量控制)等技术和设备进行精细化流量识别和控制,并且能够基于用户执行灵活控制策略。?
◆DPI:路由器设备的L4~L7层报文特征识别功能,通过CPU实现。优点是路由器软件集成,不增加额外成本;缺点是识别功能较弱,性能不高。适用于带宽不高、流量较少的小型网络。?
◆ACG:采用专用的硬件设备,通过特征库实现L4~L7层报文特征识别功能,既可以是独立的硬件设备,也可以是路由器的业务模块。优点是功能强大,除了报文特征识别外,还可以基于流特征(如持续时间、速率波动、流量统计特征)识别报文特征难以界定或经常变化的应用流量(如P2P流量,经常更改端口号、协议字段);缺点是需要增加额外投资。适用于带宽较高、流量比较复杂的中大型网络。 通过ACG专用设备,还可以使用直观、易于管理的配置界面,实现复杂的流量控制和调度策略。例如,对广域网30个分支机构、每个机构5种业务设定带宽分配和优先级转发策略。如果通过路由器的分层QoS技术实现,涉及150种QoS策略,配置和实现非常复杂;而通过ACG设备实现,可以通过图形化界面进行统一配置,部署简单、直观。
三、 流量调度方案的主要应用场景
采用流量调度方案,可以满足不同网络环境的多样化流量控制需求。
1、带宽预留与共享
SDH和IP技术在带宽分配方面,前者通过时隙划分带宽,适合对不同部门和业务分配绝对带宽,但各部门和业务之间无法做到带宽共享;后者通过包交换共享带宽,可以充分利用设备和链路资源,但如果需要实现带宽预留,必须通过复杂的MPLS TE技术,实施难度很大。
对于政府、企业的某些广域网建设,多个部门、业务共享物理网络平台,为了兼顾业务传输质量和带宽均衡,有时需要为关键部门和业务分配一定的预留带宽,保证该业务持续、正常运行,防止带宽被其他业务占用;同时,也需要各部门和业务能够共享剩余带宽,当业务突发时,保证总体带宽的利用效率。
通过流量调度方案可以很好的实现上述需求,如图6所示:
图6 多部门带宽预留与共享
在地区A、B的汇聚路由器上,流量调度方案设计如下:?
◆地区A、B之间广域网链路带宽155M;?
◆为部门1、部门2各预留40M带宽,剩余75M作为共享带宽;?
◆为保证视频质量的稳定,各部门视频流(10M)只能占用部门预留带宽,而不能走共享带宽;?
◆在部门预留带宽内,数据流量可以自动根据视频流量大小调整带宽分配,当没有视频流量时,数据流量可以占用全部40M预留带宽,超过40M的流量占用共享带宽;有视频流量(2~10M)时,数据流量只占用剩余的预留带宽。
2、双链路流量调度
为保证高可靠,广域网普遍采用主、备冗余链路。随着业务类型和流量的增加,备链路已不再只是作为备份,而是与主链路进行分担,共同承载业务流量,实现对广域网链路资源的充分利用。
传统流量控制设计,都是基于单接口或链路的,当该接口或链路业务流量超出带宽后,就会产生丢包。采用流量调度方案,可以针对双链路组网结构,进行跨设备跨链路的统一流量调度,从而避免一条链路可能严重拥塞,而另外一条链路却空闲的情况,最大化利用链路带宽资源。
图7 双链路流量调度
如图7所示,实现方案设计如下:?
◆业务分流:规划路由、策略路由,生产等重要业务走主链路,办公和视频业务走备用链路;?
◆过载流量调度:主链路带宽被占满,超过的流量转发到备链路;?
◆带宽保证:根据业务优先级进行带宽保证,链路故障、流量超载时,优先保证关键业务传输。
3、带宽公平调配
对于出口带宽较小,而人数较多的分支机构,经常会出现由于某个人收发大邮件等,占用大量的带宽,导致其他人上网速度明显变慢,甚至可能影响到其他的重要业务,比如视频会议。而大邮件收发属于正常办公业务,传统的流量控制只能控制所有用户的办公业务流量,而不能限制某个用户的流量。
通过基于在线IP的动态流量调度技术,则可以实现基于终端IP的带宽公平分配和共享,同时对重要业务进行带宽保证和优先转发。
图8 带宽公平分配
如图8所示,设计方案如下:?
◆对在线用户进行带宽公平分配,例如某一时刻在线10人,则每个人员都可以得到至少200K的带宽。而另一时刻,有20人在线,则每个人可以得到的带宽则为至少100K。?
◆此外,还可以设定分组,例如A、B、C三组,每个分组设定总体带宽,并将该带宽在组内进行公平分配。例如A组保证带宽500K,A组内10个人在线,则每个人可得到最少50K带宽。通过设定分组,可以满足不同类型用户的网络访问需求。?
◆通过上述带宽公平分配,在总体流量较小时,用户可以使用富余的带宽,实现高速网络访问;当总体流量较大时,用户可以保证最低带宽,满足正常的办公和网络访问需求。
四、 结束语
流量调度方案更加关注全局、动态、智能,对进入路由器的流量在转发前进行监测,并根据流量类型、流量突发情况等分配带宽,执行相应的流量控制策略和转发策略。同时,流量调度方案所使用的技术、部署方式必须尽可能的简单,使其能够真正应用于企业级网络的不同应用场景,提供链路均衡负载、业务独享或共享带宽保证、用户带宽公平分配、精细化流量识别和控制等功能,适应多业务发展和流量突发环境,使得行业和企业客户能够根据业务流量特点和自身需求,制定灵活、精简、易于管理、可扩展的业务流量管理策略,从而建设快速、高效、可靠的智能广域网络承载平台。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
去集群 更超群——大容量网络演进之路
2019 IBM 中国论坛
H3C 2019 Navigate 领航者峰会
助推数据中心网络现代化转型 打造灵活可靠基础架构平台