APP下载

基于用户身份认证的网络服务质量保障模型

2014-06-27张瑶吴逸伦彭伟

关键词:视频点播链表队列

张瑶,吴逸伦,彭伟

(国防科学技术大学计算机学院,长沙 410073)

基于用户身份认证的网络服务质量保障模型

张瑶,吴逸伦,彭伟

(国防科学技术大学计算机学院,长沙 410073)

针对当前网络无法根据用户身份提供有区别的服务质量保障这一问题,提出了基于用户身份认证的网络服务质量保障模型。模型由用户认证模块和队列管理调度模块组成,实现了根据用户类型网络属性提供服务质量的保障。通过用户认证,获得当前接入的用户类型,确定数据包正确的优先级信息;通过队列管理,按照用户优先级顺序对数据包进行入队转发。实验结果证明:在网络拥塞情况下,经过认证的用户可以以较高的优先级进行数据包转发。

网络服务质量;用户身份;优先级;调度

近年来,随着互联网的高速发展,网络和人们生活的关系愈加密切,多样化的业务应运而生。特别是多媒体等实时业务类型迅速增多,网络拥塞现象日益严重,传统网络的“尽力而为”服务已不能满足网络用户的需求[1]。为此,IETF提出了服务质量(quality of service,QoS)[2],旨在为Internet提供服务区分和性能保证,为用户提供端到端的服务质量控制或保证。QoS是网络在传输数据流时要求满足的一系列服务请求,具体可以量化为吞吐量(throughout)、时延(delay)、时延抖动(jitter)、丢包率(loss rate)等性能指标[3]。为满足QoS的不同需求,国内外学者进行了大量研究工作,提出了多种QoS模型系统。20世纪90年代初期,R.Braden、D.Clark和S.Shenker提出了一种基于单流的综合服务(IntServ)模型[4]。该模型使用RSVP信令为有QoS需求的数据流进行资源预留,为特定的业务流提供服务质量保证,并在路由器中存有特定流的状态信息,明确区分和保证每一个业务流的服务质量,为网络提供最细粒度化的服务质量区分。但是,资源预留要求传输路径上的每一个节点都必须有足够的带宽资源进行预留,一旦一个节点不满足要求,整个资源预留路径将宣告失败。因此IntServ存在网络伸缩性不佳、扩展性差、对路由器要求高等问题,在骨干网络中难以广泛使用。针对IntServ存在的不足,S.Blake、D.Black和M.Carlson提出了区分服务(diffServ)模型[5]。该模型采用聚合的机制将具有相同特性的若干业务流聚合起来,为整个聚集流提供服务,通过网络边界节点对业务流进行分类、整形、标记,核心节点按照资源管理策略分配资源,不同类的数据流会得到有区分的服务[6-7]。DiffServ基于DSCP字段和分类提供不同等级的服务,不需要保留每个流的状态、不需要复杂的信令,具有良好的扩展性和鲁棒性。由于DiffServ只承诺相对的服务质量,因此无法提供严格的端到端服务质量保证。为解决IntServ、DiffServ模型存在的局限性,E.Rosen、A.Viswanathan和R.Callon提出了多协定标签交换(MPLS)技术[6]。该技术是一种新的路由转发机制,拥有强大的流量工程能力,是一种基于标签机制的交换技术,兼具了IP技术的灵活性和ATM技术的快速交换优势,可以在物理层、多种数据链路层、IP层、TCP等多个层次上直接建构。同时,MPLS对分组进行分类,使用标记来标志属于同一转发类型的分组,使IP网络具备高速交换、流量控制、QoS等性能。随后,IETF提出了一种新的QoS解决方案:MPLS DSTE[7]。该技术利用Diffserv的可扩展性和MPLS的显式路由能力,网络资源可根据用户的需求得到充分利用。

虽然目前的网络服务质量模型在数据类型方面实现了一定的时延、带宽、可靠性保障,但也存在发展局限。传统的QoS保障技术仅基于数据类型这一单一属性进行分析,只在分析的基础上将技术的实用性和可靠性延伸到吞吐量、丢包率、时延等属性上。随着网络技术及信息处理技术的迅速发展,网络复杂程度不断提高,已涉及自然界、工程界和社会界等方面,网络节点数从几千达到几亿不等[8],网络中存在的属性类型也日趋复杂。基于单一属性进行分析的QoS保障很可能成为网络服务质量技术发展的瓶颈。

当前的QoS技术仅从数据类型这一属性进行研究,没有考虑用户身份的不同对网络质量需求的不同,存在用户类型不敏感,不能根据用户类型、等级进行分类等问题,无法使不同等级用户获得有区别的服务质量。特别是大中型企业、校园等单位缺乏基于用户身份的QoS保障模型,无法实现高优先级用户在网络拥塞情况下得到更多网络资源的目标。本文针对这一问题,在已有研究基础上,提出一种新的网络服务质量模型,即基于用户认证的网络服务质量模型。该模型解决了内部网、校园网等无法根据用户身份提供有区别的服务质量保障这一问题,通过用户认证,获得当前接入的用户类型,并赋予数据包正确的优先级信息。通过队列管理和调度,进行数据包入队转发,最后通过实验验证,证明了该模型的可行性。

1 系统结构

本模型分为2个模块,用户认证模块和队列管理调度模块,如图1所示。

图1 基于用户身份认证的网络服务质量保障模型

用户认证模块用户认证模块主要获得当前用户的类型,解决用户身份识别、优先级确认等问题,保证用户身份的安全、可控和完整性。用户认证模块功能实现主要分为用户认证、认证反馈和用户注销3个阶段。用户认证阶段,用户与接入路由器互验证书,确定双方合法性,接入路由器将认证信息发送至认证服务器并得到用户优先级的反馈信息。认证反馈阶段,接入路由器通过提取数据包的源IP地址判断该数据包是否来自认证用户。用户注销阶段,接入路由器根据用户IP地址删除用户信息。

队列管理调度模块队列管理调度模块进行优先级队列管理,并对队列中的数据包进行转发调度。队列管理调度模块维护多个优先级队列,每个优先级队列里包含该优先级对应的待转发数据包。进入队列管理调度模块的数据包根据自身携带的优先级信息,进入对应的优先级队列中等待调度。队列管理调度模块按照本文提出的算法计算每个队列的带宽分配比,并根据带宽分配比进行数据包转发调度。同时,队列管理调度模块根据优先级队列的状态和数据包优先级值,对队列进行即时的添加删减操作。

图2 用户认证

2 用户认证模块

用户认证模块主要解决用户身份识别问题,确认不同等级用户的用户优先级。该模块功能由用户、认证服务器和接入路由器三方共同完成,如图2所示。本文采用基于802.1技术的EAP[9]进行用户认证,用户优先级列表(C)以链表形式存储于接入路由器内,存储经过此接入路由器的用户源IP地址、用户优先级信息。每个源IP地址与相同源IP地址的数据包优先级链表相连。

图3 用户认证过程

2.1 用户认证

用户接入网络后,若想获得QoS保障,首先要与路由器进行认证,认证过程如图3所示。具体认证过程如下:用户与接入路由器交换证书,分别使用根证书验证对方证书的合法性;用户端向接入路由器发送用户IP以及接入请求;接入路由器读取用户证书中的用户名,向认证服务器发送〈用户名ID,用户IP〉;认证服务器根据用户名查询出用户对应优先级;认证服务器向接入路由器返回〈用户IP,优先级〉;接入路由器记录认证服务器发送来的用户〈用户IP,优先级〉,存储于列表C中;接入路由器向用户返回认证结果;用户回应接入路由器,认证结束。身份认证成功后,认证服务器会告知用户的接入路由器用户已经成功认证,可以对其发送的数据包提升优先级。用户本身的优先级划分方法需要根据具体的情况进行划分并存于认证服务器中。

2.2 认证反馈

列表C存储于接入路由器数据库内,接入路由器只识别连接本路由器的用户优先级信息。认证成功后,接入路由器依据用户优先级信息和IP报文头对数据包的优先级进行反馈。通过判断源IP地址,明确数据包优先级及数据包走向,并确定数据包在网络传输中的优先级。数据包进行优先级标记后,被提交给队列管理调度模块进行后续操作。

网络中有数据包经过接入路由器时,首先,接入路由器提取数据包的源IP地址(SrcIP);其次,遍历存储于接入路由器内的列表C,判断列表C中有无该数据包中的SrcIP,若SrcIP未出现在列表C中,则将数据包递交给队列管理模块,等待调度;若SrcIP出现在列表C中,则提取列表C中对应的优先级,将用户优先级写入数据包中的TOS域,数据包进入队列,等待调度,如图4所示。

2.3 用户注销

当用户下线,注销QoS保障时,需给接入路由器发送注销请求(包含用户IP地址)。接入路由器收到用户的注销请求后,根据用户的IP地址遍历列表C和数据包优先级列表,找到该用户相关的项,删除列表C、数据包优先级列表中关于该用户的数据,完成注销过程。

3 队列管理调度模块

在网络中,未进行认证的用户所发的数据包将依照一个默认的低优先级发送,而认证后的用户发送的数据包将被赋予一个新的较高的优先级。用户认证成功后,数据包进入队列,申请队列管理、调度,如图5所示。本文利用链表L_queue特性。首先,路由器遍历链表L_queue判断是否需要新建优先级队列;其次,若需新建队列,则调用带宽分配函数,重新分配各队列带宽分配比,将数据包插入队列,等待出队;再次,数据包发送后,检查队列是否为空,等待下一次发送。

3.1 队列管理

数据包进入优先级队列后,申请队列管理。链表L_queue标记一组缓冲队列,链表中的每一个元素就是一个缓冲队列。缓冲队列之间按照优先级排列,链表头部优先级最高,尾部优先级最低。路由器遍历链表L_queue判断链表中是否含有数据包优先级。若链表中存在该数据包的数据包优先级,则数据包直接入队列,插入对应优先级的队列尾部,等待调度;若链表中不存在该数据包的优先级,则需为该数据包创建对应的优先级队列。具体流程为:根据数据包的优先级,新建链表L_queue的节点;遍历链表L_queue,找到相邻节点A、B,使得数据包的优先级介于A节点优先级和B节点优先级之间;新建节点C插入A、B节点之间;数据包插入新建的队列中。

图5 队列管理调度

数据包插入新建队列或对应优先级队列尾部后,链表L_queue的节点发生变化,即优先级队列发生变化,需调用带宽分配函数,计算各队列分配比例。其中,queue_num表示正在运行的队列数量;Pi(0<=i<=queue_num)表示数据包优先级;Fi表示队列分配到的带宽比例。带宽分配流程为:遍历链表L_queue;提取L_queue中所有节点的数据包优先级Pi;计算每一个队列可以获得的带宽比;更新带宽分配表。计算公式为:

3.2 队列调度

L_queue链表中优先级队列按照带宽分配比例发送数据包,某数据包发送完毕后,检查存放数据包的优先级队列是否为空。若队列不为空,表明队列内仍有数据包,则返回调度申请,继续发送数据包;若队列为空,则将该队列从L_queue链表中删除,L_queue中队列发生变化,需再次调用带宽分配函数分配各优先级队列带宽分配比例。

4 实验

为了验证方法的有效性和模型的基本功能,搭建网络实验平台。通过测试,实现了用户与接入路由器、认证服务器之间的认证,获得了用户的身份、优先级值等信息。通过认证反馈、提升用户优先级等措施,确保高级用户在网络出现拥塞时得到应有的网络服务质量保证,达到了根据用户身份提供有区别的服务质量保障这一目标。

4.1 实验环境

实验使用VMWare开启多个虚拟机,由视频发生端、视频接收端、大流量通信端、路由器等设备组成,各设备分别由1台虚拟机进行模拟,实验环境如图6所示。其中,模拟路由器的虚拟机使用Cent-OS 5.6操作系统,搭载2.6.18版本Linux内核。实验对Linux_2.6.18内核进行了修改,添加认证反馈和队列管理,满足系统要求。队列管理实现方面,暂采用PFIFO机制。本文提出的队列管理实现将作为下一步工作进行实施。在应用层,添加用户认证和用户注销,从而实现用户认证模块。

图6 实验环境

为检测网络拥塞情况下,通过提升用户优先级这一措施能否达到有效的网络服务质量保障目标,实验配备了2台大流量通信端。2台大流量通信端通过发送大量的TCP报文,在路由器A、B之间造成网络拥塞。

4.2 实验过程

为达到实验目的,选取一段3分钟高清视频作为视频点播演示内容。

正常情况下,用户优先级为20的视频点播发送端经路由器C、B、A向视频点播接收端发送视频流。在未开启大流量通信端的情况下,网络环境良好,视频点播接收端通过VLC视频播放软件可以流畅观看视频;当开启大流量通信端后,大流量通信端A、B的优先级为40,A、B通过Tcpreplay软件进行大量数据包重发,导致路由器A、B之间视频流异常,造成网络拥塞,直接表现为视频点播接收端接收到的视频出现马赛克等问题,用户网络服务质量得不到保障。

在网络拥塞情况出现后,视频点播发送端申请提高优先级,向认证服务器进行认证,认证服务器确认视频点播发送端身份后,将视频点播发送端优先级提高至60,并将优先级修改信息递交给路由器C。路由器C记录视频发送端优先级后,视频发送端的数据包以60的优先级在网络中进行转发。此时,在网络通道瓶颈的路由器A、B之间的视频流数据包发送速率基本恢复正常,直观表现为视频马赛克问题得到解决,用户的网络服务质量得到保障。

为了更好地检测各阶段实验数据,实验在路由器A中部署了流量监测软件,测试各阶段通过路由器A的流量使用情况。实验数据提取共分为3个时间段,分别为正常视频流阶段、大流量通信端开启阶段和用户优先级提升阶段。每个时间段约1 min,实验数据如图7所示。其中,横坐标为时间轴(s),纵坐标为转发数据包(个)。

正常视频流阶段视频播放的第1个阶段,如图7(b)中0至t1时间段,检测路由器A对各个优先级数据包的转发情况。由于本实验中用户对象数量较少,因此仅能观察到视频通信双方和大流量通信端的数据包情况。监测软件每秒刷新1次,获得每1 s路由器A的数据包发送情况。经测试,路由器A转发的视频点播数据包速率基本在150~300个/s上下浮动。在第1阶段中,视频点播数据包平均发送速率为219个/s。

大流量通信端开启阶段开启大流量通信端A、B后,引入了背景流量。如图7(a)中t1时刻后,经路由器A转发的大量TCP数据包存在于路由器A、B之间,造成路由器A、B之间网络拥塞。经测试,大流量通信端通过路由器A发送的数据包平均速率为25 140个/s,视频点播发送端通过路由器A发送的数据包速率降至70~100个/s之间。在第2阶段中,视频点播数据包的平均发送速率为91个/s,相比第1阶段,降幅约58%,网络时延现象严重,视频出现马赛克等问题。

用户优先级提升阶段视频点播发送端通过认证后,用户优先级提高至60。如图7(b)中t2时刻后,虽然大流量通信端依然开启,并造成网络拥塞,但视频点播发送端数据包的发送速率恢复至正常水平。本次实验中,提升视频点播发送端优先级后,路由器A和路由器B之间对视频流的拥塞现象明显缓解,路由器A转发的视频流数据包平均速率恢复到196个/s,视频点播接收端观看视频流畅,用户网络服务质量得到保障。

图7 通过路由器A提取的实验数据

通过实验数据分析,在网络拥塞情况下,若用户未获得更高级别的用户优先级,网络服务质量很难得到保障。通过实验,实现了根据用户身份提供有区别的服务质量保障这一目标,验证了基于用户认证网络服务质量的可行性。

5 结束语

本文设计并实现了基于用户认证的网络服务质量模型,可在一个域内对QoS实现有效管理,适用于大中型企业的内部网和校园网;能根据不同的用户提供不同的QoS服务,初步实现了基于用户身份认证的网络服务质量保障。

下一步的主要工作包括综合考虑用户优先级、数据优先级两种属性之间的关系;提出两种属性之间的算法;改进实验中的数据包队列管理、调度策略,改用带宽分配比进行数据包转发,进一步提高基于用户身份认证的QoS保障质量。

[1]宫志伟.IP网络实时业务数据服务质量的研究和实现[D].北京:北京邮电大学,2010:1-9.

[2]CRAWLEY E,NAIR R,RAJAGOPLAN B.framework for QoS-based routing in the interent.IETF[Z].Internet.1998.

[3]林闯,单志广,任丰原.计算机网络的服务质量(QoS)[M].1版.北京:清华大学出社,2003:214-215.

[4]BRADEN R,CLARKD,SHENKERS.Integrated Services in the Internet[D].Architecture:An Overview,1994.

[5]BLAKE S,BLACK D,CARLSON M,et.al.An Architecture for Differentiated Service[Z],1998.

[6]ROSEN E,VISWANATHAN A,CALLON R.Multiprotocol Label Switching Architecture[Z].2001.

[7]张光胜.MPLS接纳控制关键技术研究[D].北京:国防科学技术大学,2008.

[8]王林,戴冠中.复杂网络的度分布研究[J].西北工业大学学报,2006,24(4):405-409.

[9]谢波.基于IEEE802.1X协议应用研究[D].重庆:重庆大学,2005.

(责任编辑 杨黎丽)

Client Identity Authentication Based Network Service
Quality Guarantee Model

ZHANG Yao,WU Yi-lun,PENG Wei
(College of Computer,National University of Defense Technology,Changsha 410073,China)

As the current network can not provide differentiated service quality guarantee on the basis of client identity,a network service quality model based on the client identity was proposed,consisting of client authentication module and queue management and scheduling module.It can provide network service quality assurance by client type network property.With client authentication,the current access client type can be obtained,and the correct priorities can be given to the data packets information.According to the client priority order,data packets can be enqueued and transmitted via the queue management and scheduling.It is proved by experiments that under the congestion situations,authenticated clients can forward packets in higher priorities.

QoS;client identity;priority;scheduling

TP393

A

1674-8425(2014)03-0116-06

10.3969/j.issn.1674-8425(z).2014.03.021

2013-10-17

国家自然科学基金资助项目( 61070199;61202486)

张瑶(1983—),男,山东菏泽人,硕士研究生,主要从事计算机网络研究。

张瑶,吴逸伦,彭伟.基于用户身份认证的网络服务质量保障模型[J].重庆理工大学学报:自然科学版,2014(3):116-121.

format:ZHANG Yao,WU Yi-lun,PENG Wei.Client Identity Authentication Based Network Service Quality Guarantee Model[J].Journal of Chongqing University of Technology:Natural Science,2014(3):116-121.

猜你喜欢

视频点播链表队列
今年订阅视频点播收入将超票房收入
队列里的小秘密
基于多队列切换的SDN拥塞控制*
基于二进制链表的粗糙集属性约简
跟麦咭学编程
在队列里
基于链表多分支路径树的云存储数据完整性验证机制
丰田加速驶入自动驾驶队列
流媒体的视频点播系统在微课堂中的应用研究
基于嵌入式Linux平台的网络视频点播系统