金伟超
摘 要:随着计算机网络的飞速发展,网络的各种应用(OA系统、语音系统、网络视频监控系统)日趋复杂,导致网络传输数据的种类越来越多,网络上各种数据的重要性、优先级不同,需求的带宽也不一样。不具备QoS功能的网络,其同等对待所有的转发数据流,并不保证某一特殊的数据流会受到特殊的转发待遇。当网络带宽充裕的时候,所有的数据流都得到较好的处理,当网络发生拥塞的时候,所有的数据流都有可能被丢弃。这种转发策略是尽最大能力转发数据,其只能尽可能充分利用交换机自身的带宽,因此不具有提供品质服务的能力。在网络中配置QoS可以避免网络管理拥塞,减少报文的丢失率,调控网络的流量,为特定用户或特定业务提供专用带宽和支持网络上的实时业务。实现重要数据的优先传输,本文介绍了基于DiffServ体系的QoS实现特定业务服务质量。
关键词:QoS; DiffServ体系; 优先级传输; 拥塞控制
Abstract: With the rapid development of computer network, various network applications (OA system, voice system, network video monitoring system) have become increasingly complex, more and more types of data are transmitted through the network. The importance and data priority are not the same on the network, the bandwidth requirements consequentially are not the same. The network without QoS function could treat all the forwarding data equally, and could not guarantee that a particular data stream receives special forwarding treatment. When the network bandwidth is abundant, all data streams are well processed. When the network is congested, all data streams may be discarded. This forwarding strategy is to transmit data to the greatest extent, and only make full use of the bandwidth of the switch itself, so it does not have the ability to provide quality services. According to the recent research, configuring QoS in network can avoid network management congestion, reduce packet loss rate, regulate network traffic, provide dedicated bandwidth for specific users or specific businesses, and support real-time services on the network. In order to realize the priority transmission of important data, this paper introduces the implementation of the specific service quality of QoS based on the DiffServ system.
Key words: QoS; DiffServ; priority transmission; congestion control
1 QoS的配置背景
服務质量(Quality of Server)是指网络通信过程中,允许用户业务在丢包率、延迟、抖动和带宽等方面获得可预期的服务水平。QoS要根据具体网络的环境和业务需要选择实施。在图1所示的三种网络应用环境中,图1(a)具有超过需求的链路带宽,完全不需要QoS;图1(c)链路严重超载,此时,QoS有一定的作用,但不显著,最好升级带宽;图1(b)只有少量拥塞,此时QoS配置最有效。
2 QoS技术概述
2.1 QoS的3种模型
QoS主要有3种模型。一是Best-Effort模型,采用先进先出队列(FIFO)的算法进行存储转发;二是IntServ模型,是通过信令向网络申请特定的QoS服务。网络在流量参数描述范围内,预留资源以承诺满足该请求;三是DiffServ模型,又称为区分服务模型。该模型能够在网络出现拥塞时,根据业务的不同服务等级约定,有差别地进行流量控制和转发来解决拥塞问题。Best-Effort模型是目前Internet的缺省服务模型,其特点是尽最大可能发送报文,对时延、可靠性等性能不提供任何保障;而DiffServ模型则是为现代网络及解决方案量身打造的一种QoS实现形式。其采用基于类别的数据流处理,应用程序在发出报文前,不需要通知路由器,网络也不需要为每个流维护状态,根据每个报文指定的QoS,来提供特定的服务,包括报文的分类、流量整形、流量监管和排队。
2.2 QoS内容
相对于具体的网络元素而言,QoS可以由拥塞管理、队列管理、链路效率、整形和管制工具提供。
2.2.1 拥塞管理
网络中的视频、音频、数据流量存在突发性,有时这些流量会超出链路速度。此时网络设备是选择将流量缓冲在一个对列中,然后让最先来的数据最先转发还是将数据流入不同的对列,并给这些对列提供优先的服务这些问题就是由拥塞管理来解决。具体包括先入先出队列(FIFO)、优先级排队(PQ)、自定义排队(CQ)、基于流的加权公平排队(WFQ)和基于类别的加权公平排队(CBWFQ)等。
2.2.2 队列管理
由于队列管理长度是有限的,所以存在填满溢出的情况。当队列已满时,任何额外的数据流,即使是优先级更高的数据都不能进入队列。这时,这些数据队列将被丢弃。显而易见,这种尾部丢弃的管理方式是没有QoS保证的。为建立更好地管理机制,QoS中的队列管理应当完成两个任务:一是试图保证队列不会被填满,这样才有空间容纳更高优先级的数据;其二是允许一些标准来保证丢弃高优先级数据之前先丢弃低优先级的数据。
2.2.3 链路效率
很多时候低速链路处理实时数据流时会出现问题。例如,1 500字节的数据包在56kbit/s上的传输延迟是214 m/s。如果语音数据包安排在这个大数据包之后,那么在转发语音数据包之前,其就可能已经超时,链路分片和交织技术允许把大数据包分成小片,然后和语音数据包交织发送。链路效率的另一种管理机制是去除过多的开销比特,例如对实时协议数据包的头部进行压缩,将数据减小到适合管理的尺寸。
2.2.4 流量整形和管理
整形是指创建一个具有带宽限制的流量,超过配置速率的流量将被缓存并在以后发送。由此可以有效地防止远程链路缓冲队列溢出的问题。管制则类似于整形,区别在于超过匹配速率的流量不会被缓存(通常被丢弃)。
3 QoS报文分类及标记
配置了QoS的网络环境,增加了网络的性能可预知性,并能够有效地分配网络带宽,更加合理地利用网络资源。这种传输品质服务的实现,是通过为某种类别的数据流赋予某个级别的传输优先级,标识其相对重要性,并使用交换机所提供的各种分优先级转发策略、拥塞避免等机制,从而使这些数据流获得特殊传输服务。
3.1 QoS报文分类信息
DiffServ体系规定每一个传输报文将在网络中被分类到不同的类别,IETF规定使用IP报文中ToS(Type Of Server)字段中的前6个比特来携带报文的分类信息。当然分类信息也可以被携带在链路层帧头上。附带在报文中的分类信息如图2所示。
User Priority bits,携带在802.1Q帧头上的Tag Control Information 中的前3个比特,包含了8个类别的优先级信息;IP precedence(IP优先级),携带在IP报文头中的ToS字段中的前3个比特;DSCP(Differentiated Services Code Point,区分服务代码点),携带在IP报文头中的ToS字段前6个比特。交换机或路由器可以根据报文所携带的类别信息,为各种数据流提供不同的传输优先级,为某种数据流预留带宽,适当丢弃一些重要性较低的报文或者采取其它一些操作。
3.2 基于DiffServ体系的QoS模型
以DiffServ体系为基础的QoS模型,数据处理流程如图3所示。QoS的入口动作首先是分类,其过程是根据信任策略或者根据分析每个报文的内容来确定将这些报文归类到以CoS值来标示的各个数据流中,因此分类动作的核心任务是确定输入报文的CoS数值。分类发生在端口接收输入报文阶段,当某个端口关联了一个表示QoS策略的policy-map后,分类就在该端口上生效,其作用于所有从该端口输入的报文。对于IP报文,可以根据以下准则来归类报文,如果端口的信任模式为trust ip-precedence,则直接从IP报文的IP precedence字段(3个比特)提取出来,填充到输出报文的CoS字段(3个比特);如果端口的信任模式为trust cos,则将报文的CoS字段(3个比特)直接提取出来覆盖报文IP Precedence字段(3个比特)。如果端口关联的policy-map中使用了基于IP access-list(extended)的ACLs归类,那么在该端口上,将通过提取报文的源IP地址、目的IP地址、Protocol字段以及第4层TCP/UDP端口字段来匹配关联的ACLs,以确定报文的DSCP值,然后根据DSCP到CoS的映射确定报文的CoS值。
3.3 QoS分类和流量限制的配置
缺省情况下,交换机的QoS功能是关闭的,即交换机对所有的报文同等处理。只有将一个Policy Map关联到某一个接口上,或设置了该接口的信任模式,该接口的QoS功能才被打开。可以根据需要配置匹配访问控制列表,基于命名的IP标准、扩展ACL和MAC ACL均可。使用Police命令为数据流定义策略动作,支持限制该数据流的带宽和为带宽超限部分指定处理动作。Rate-bps是每秒钟的带宽限制量,对于10/100M以太网接口取值范围是1-100 Mbps;对于千兆以太网接口取值范围是8-1 000 Mbps;burst-byte是猝發流量限制值,对于百兆接口,支持的值为4 096、8 192、16 384、32 768、65 536;对于千兆接口,支持的值为4 096、8 192、16 384、32 768、65 536、131 072、262 144、524 288。在配置命令中,使用drop关键字设置丢弃带宽超限部分的报文。
4 QoS功能实现
采用基于DiffServ体系的QoS模型,配置交换机QoS数据分类和带宽约束,根据业务的不同服务等级约定,有差别地进行流量控制和转发来解决拥塞问题。
4.1 设备及连接
实验所需设备和连接方式如图4所示。3层交换机S3550和S2126通过Trunk接口的F0/1相互连接;S2126设置VLAN10和VLAN20并分别连接PC1和PC2;PC3运行嗅探软件(Ethereal),监控F0/1接口的数据。
4.2 配置交换机QoS
实现对ICMP报文的分类报文标记的设置,并对HTTP流量进行限速。参考配置如下:
(1)指定接口开启QoS信任
S2126(config)#interface fastEthernet 0/3
S2126(config-if)#mls qos trust cos
(2)设置用于分类筛选的ACL
S2126(config)#ip access-list extended icmp
S2126(config-ext-nacl)#permit icmp any any
S2126(config-ext-nacl)#exit
S2126(config)#ip access-list extended http
S2126(config-ext-nacl)#permit tcp any any eq 80
S2126(config-ext-nacl)#exit
(3)配置关联ACL的分类规则
S2126(config)#class-map 1
S2126(config-cmap)#match access-group icmp
S2126(config-cmap)#exit
S2126(config)#class-map 2
S2126(config-cmap)#match access-group http
S2126(config-cmap)#exit
(4)配置QoS策略,分类规则1(ICMP流量)设置DSCP值为48,分类规则2(HTTP流量)限速1M,猝发流量为4096,超限报文丢弃
S2126(config)#policy-map qos_test
S2126(config-pmap)#class 1
S2126(config-pmap-c)#set ip dscp 48
S2126(config-pmap-c)#exit
S2126(config-pmap)#class 2
S2126(config-pmap-c)#police 1 000 000 4 096 exceed-action drop
S2126(config-pmap-c)#exit
S2126(config-pmap)#exit
(5)在S2126的F0/3和F0/4接口启用已配置的policy-map
S2126(config)#interface range fastEthernet 0/3-4
S2126(config-if-range)#service-policy input qos_test
S2126(config-if-range)#end
4.3 验证与调试
通过查看接口的QoS状态、分类规则信息、ACL的配置信息、policy-map的配置信息。不仅实现了对ICMP报文的标记及HTTP流量的限速。同时还根据业务的不同服务等级约定,有差别地进行流量控制和转发解决了拥塞问题。
5 结束语
随着互联网络的飞速发展,网络服务质量(QoS)成为人们的关注焦点,在信息化社会中,人们对计算机网络的依赖日益增强,越来越多的信息和重要的数据资源存储和传输于网络中,通过网络获取或交换信息的方式已经成为当前主要的信息沟通方式之一。网络上各种新业务(电子支付、网络银行、网络会议等)不断兴起,这对网络的稳定性、安全性提出了更高的要求,需要一种技术解决在网络出现拥堵、延时的时候,能够保证重要数据的优先传输。文中介绍的基于DiffServ体系的QoS技术,实现了根据业务的不同服务等级约定,有差别地进行流量控制和转发来解决拥塞问题。
参考文献
[1] 欧仁辉,齐传辉,主雪梅. 利用VRRP协议实现网络的负载均衡[J]. 河北工程技术高等专科学校学报,2010(1):63-65.
[2] 张岚,王俊良,贾颖. 浅谈VRRP协议在企业组网中的应用[J]. 科技创新导报,2010(11):249-251.
[3] 朱应国,江森林. 基于VRRP高可靠性校园数据中心建设[J]. 无锡职业技术学院学报,2008,7(3):45-46.
[4] FROOM R. CCNP自学指南:组建Cisco多層交换网络(BCMSN)[M]. 4版. 刘大伟,张芳,译.北京:人民邮电出版社, 2009.
[5] 苏兵,黄冠发. 基于粒子群优化的WSN非均匀分簇路由算法[J]. 计算机应用, 2011,39(9):2340-2343.
[6] 王楷,肖诗松,赵锦元. Ad Hoc网络中基于粒子群优化的QoS多播路由研究[J]. 微电子学与计算机, 2006,23(9):41-43.
[7] 齐小刚,刘三阳. 基于K最优路径的QoS路由预计算新算法[J]. 电子学报, 2005,33(10):1751-1756.