張瑤,吳逸倫,彭偉
(國防科學技術大學計算機學院,長沙 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保障模型,無法實現高優先級用戶在網絡擁塞情況下得到更多網絡資源的目標。本文針對這一問題,在已有研究基礎上,提出一種新的網絡服務質量模型,即基于用戶認證的網絡服務質量模型。該模型解決了內部網、校園網等無法根據用戶身份提供有區別的服務質量保障這一問題,通過用戶認證,獲得當前接入的用戶類型,并賦予數據包正確的優先級信息。通過隊列管理和調度,進行數據包入隊轉發,最后通過實驗驗證,證明了該模型的可行性。
本模型分為2個模塊,用戶認證模塊和隊列管理調度模塊,如圖1所示。

圖1 基于用戶身份認證的網絡服務質量保障模型
用戶認證模塊用戶認證模塊主要獲得當前用戶的類型,解決用戶身份識別、優先級確認等問題,保證用戶身份的安全、可控和完整性。用戶認證模塊功能實現主要分為用戶認證、認證反饋和用戶注銷3個階段。用戶認證階段,用戶與接入路由器互驗證書,確定雙方合法性,接入路由器將認證信息發送至認證服務器并得到用戶優先級的反饋信息。認證反饋階段,接入路由器通過提取數據包的源IP地址判斷該數據包是否來自認證用戶。用戶注銷階段,接入路由器根據用戶IP地址刪除用戶信息。
隊列管理調度模塊隊列管理調度模塊進行優先級隊列管理,并對隊列中的數據包進行轉發調度。隊列管理調度模塊維護多個優先級隊列,每個優先級隊列里包含該優先級對應的待轉發數據包。進入隊列管理調度模塊的數據包根據自身攜帶的優先級信息,進入對應的優先級隊列中等待調度。隊列管理調度模塊按照本文提出的算法計算每個隊列的帶寬分配比,并根據帶寬分配比進行數據包轉發調度。同時,隊列管理調度模塊根據優先級隊列的狀態和數據包優先級值,對隊列進行即時的添加刪減操作。

圖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、數據包優先級列表中關于該用戶的數據,完成注銷過程。
在網絡中,未進行認證的用戶所發的數據包將依照一個默認的低優先級發送,而認證后的用戶發送的數據包將被賦予一個新的較高的優先級。用戶認證成功后,數據包進入隊列,申請隊列管理、調度,如圖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.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提取的實驗數據
通過實驗數據分析,在網絡擁塞情況下,若用戶未獲得更高級別的用戶優先級,網絡服務質量很難得到保障。通過實驗,實現了根據用戶身份提供有區別的服務質量保障這一目標,驗證了基于用戶認證網絡服務質量的可行性。
本文設計并實現了基于用戶認證的網絡服務質量模型,可在一個域內對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.