摘 要:針對下一代網絡中IP電話VoIP服務質量" title="服務質量">服務質量QoS的需求,對目前國內外各種QoS技術進行了分析研究,介紹了基于SIP協議的VoIP網絡協議棧結構,提出了一種基于Q-SIP的VoIP網絡服務器架構模型,并對其主要的功能模塊進行了詳細的闡述。
關鍵詞:會話初始協議? 網絡電話? 服務質量? 多協議標記交換
?
??? 目前構建VoIP系統結構的信令協議主要有H.323協議和SIP協議[1]。雖然H.323協議正主導著VoIP技術,但其實現復雜、成本高、建立連接時延" title="時延">時延大,在現有網絡中很難實現互聯互通。因此,IETF組織提出了會話初始協議SIP(Session Initial Protocol)。SIP將網絡設備的復雜性推向網絡邊緣,支持單播通信、多播通信、名稱映射和重定向業務,還支持類似呼叫轉發、呼叫拒絕等電信業務的實現以及支持用戶移動性。與H.323協議相比,SIP協議更適合于智能用戶終端,使用更加靈活、簡單。
IP技術是一種面向無連接的技術,IP網絡只提供一種“盡力而為”(Best Effort)的服務,這對于只要求準確率而對時延沒有嚴格要求的數據業務來說是合適的,而對于音、視頻等實時通信的QoS(Quality of Service)卻難以保證。因此,如何為音、視頻等實時通信保證合理可預測的QoS,提供與公共開關電話網PSTN(Public Switched Telephone Network)可媲美的質量和服務已成為當前IP領域中一個重要的研究熱點。
1 基于SIP協議的VoIP 網絡及QoS指標
VoIP泛指在以IP為網絡協議的計算機網絡中進行語音通話的系統,它采用的技術統稱為VoIP(Voice over IP)。VoIP技術是建立在IP技術上的分組化、數字化語音傳輸技術,其基本原理是通過語音壓縮算法對語音數據進行壓縮編碼處理,然后把這些壓縮后的數據按照IP等相關協議進行打包,通過IP網絡把數據包分組傳輸到目的地,再把這些包組合起來,經過解碼解壓處理后,恢復成原來的語音信號,從而達到由IP網絡傳送語音的目的。而呼叫的建立、拆除、控制、附加服務和能力交流等則需要由控制信令來實現[2]。
1.1 基于SIP協議的VoIP協議棧架構
基于SIP協議的IP電話的協議棧架構如圖1所示,其實現方式是:IETF組織制定SIP協議的一個重要原則就是最大限度地重用已有的協議,力爭只做少量的功能擴展和應用環境配置。因此,SIP協議棧中的媒體傳送層與H.323系統相同,采用PCM編碼或其他各種壓縮編碼的語音信號經過實時傳送協議(RTP)封裝后在IP網絡上傳送,并用實時傳送控制協議(RTCP)監測QoS。而任選RSVP協議用于資源預留,以此保證傳送的QoS。實時流協議(RTSP)用于控制存儲媒體的一些實施操作,如播放、快進、暫停等動作,在IP電話中則主要用于語音信箱的控制。傳輸層協議可以使用TCP或UDP。如果采用UDP,可以由應用層控制消息的定時和重發,并且可以方便地利用多播機制并行搜索目的用戶,無須為每個搜索建立一個單獨的TCP連接,因此在實際應用中首選使用UDP[3-4]。
?
1.2 VoIP網絡的QoS指標
VoIP在Internet各類應用中占據越來越大的比重,其QoS的保證問題也日益突出。要實現語音QoS的保證,首先要了解語音QoS的衡量指標。國際上對基于IP的語音QoS一般從端到端" title="端到端">端到端時延、時延抖動和丟包率等幾個方面來評價[5]。
?? (1)端到端時延
根據ITU-T組織建議使用G.144協議,端到端時延有如下規定:①0ms~150ms對于大多數應用可接受。②150ms~400ms對于有限的應用可接受。③400ms以上對于通常的網絡應用不可接受。
??? (2)時延抖動
在VoIP技術中,時延抖動(Delay Jitter)一般是指語音流中兩個連續的語音包的端到端時延的差值。時延抖動對需要規則化傳輸包的VoIP技術等應用(其他還包括視頻播放等)的性能有著顯著的影響。
??? (3)丟包率
語音質量的評價通常用丟包率(R值)來衡量。R=Ro-Is-Id-Ie+A。式中,Ro為基本信噪比,Is為同時損害因子,Id為延時帶來的損害因子,Ie為設備帶來的損害因子, A為有利因子。
丟包率(R值)有如下規定:①<5%,可接受。②<10%,通過提示丟包噪音可接受。
??? (4)保證QoS的關鍵
減少延時和抖動是保證QoS的關鍵。在VoIP端到端傳輸過程中的時延,平均時延為150ms~400ms,所要做的是使時延小于100ms~150ms,以達到高QoS保證的VoIP技術。網絡中的QoS可以通過使用高速的IP網絡提高核心網的容量或者通過使用有QoS保證的IP網絡(通過RSVP、Diffserv協議)來實現;客戶端" title="客戶端">客戶端的QoS可以通過抖動補償和選擇合適的編解碼算法(G.711、G.723等)來實現。
2 VoIP網絡的QoS機制
傳統的Internet是一個面向無連接的網絡,只提供一種承載業務,即盡力傳送(Best Effort)業務,也就是說,網絡并不保證數據流的傳送時延、時延抖動和丟包率等技術指標,RTP也并不保證QoS,而且在一個連接路徑上不做資源預留,還需要使用信令協議來建立連接,協商將要使用的介質格式。然而,為了保證音頻、視頻等實時通信應用,網絡必須支持具有一定QoS的端到端的承載業務。為此,IETF組織已經提出了幾種服務模型和機制。下面主要討論綜合服務(IntServ/RVSP)模型、區分服務" title="區分服務">區分服務(DiffServ)模型及多協議標記交換MPLS(Multiprotocol Label Switching) 模型等在保證基于SIP的VoIP技術業務中的應用[4]。
2.1 綜合服務模型
綜合服務模型(IntServ/RSVP)由IETF RFC1633提出,其基本思想是:將RSVP作為IntServ結構中的主要信令協議,利用RSVP消息,端點應用程序可以提出數據傳送全過程必須預留的網絡資源(如帶寬、緩沖區大小等),同時也確定了沿途各路由器的傳輸調度策略,基于每個流提供端到端的保證或是受控負載的服務;IntServ在發送方與接收方之間用RSVP作為每個流的信令;RSVP信息跨越整個網絡,從接收方到發送方之間沿途的每個路由器都要為每一個要求QoS的數據流預留資源;路徑沿途的各路由器包括核心路由器必須為RSVP數據流維護軟狀態。
資源預留協議RSVP(Resource Reservation Protocol)是為改善網絡對業務流的控制能力而設計的信令協議,不是一種路由協議。這種協議在網絡的各個節點之間交換信息,數據發送端將其服務請求通過RSVP協議發送給網絡,服務請求則通過網絡中的路由協議傳遞到目的節點,傳遞過程中RSVP協議收集各個節點的可用資源情況,目的節點根據這些信息以及接收到的QoS請求在返回的信息中在各個節點上申請預留資源,并在無法提供足夠的資源預留時發出錯誤信息。
IntServ的優點是具有很好的QoS保證,使用RSVP的軟狀態可以支持網絡狀態的動態改變與組播業務中成員的動態加入。IntServ存在的問題是網絡的擴展性不好,需要進行端到端的資源預留。
2.2 區分服務模型
區分服務模型(DiffServ)的基本思想是“邊緣分類、內部轉發”,即根據預先確定的規則對數據流進行分類和標記,以便將多種應用數據流聚合為有限的幾種數據流等級。區分服務是由綜合服務發展而來的,它采用IETF組織的基于RSVP的服務分類標準,拋棄了分組流沿路節點上的資源預留。
DiffServ在網絡邊緣將業務流分成少量的類或聚集BA(Behavior Aggregation),它由IP分組頭的區分服務碼點DSCP(DiffServ Code Point)標志(在IPv4中的ToS字段,IPv6中流類型字段)。
在網絡的核心節點上,路由器根據每個BA相關的逐跳行為PHB(Per Hop Behavior)來轉發分組。PHB是BA的外部表現,可分解成調度特性和丟棄優先級。
DiffServ的優點是可擴展性較好,缺點是不能完全依靠自身提供端到端的QoS。
2.3 MPLS技術
多協議標記交換的主要思想是將二層交換(虛電路)與三層路由有機結合,用二層的高速轉發支持第三層,大大提高了路由器的轉發性能。在MPLS網絡中,對分組頭的分析檢查僅由網絡入口處的入口標記路由器I-LER(Ingress LER)處理,即分組進人MPLS網絡之前,控制層面的路由協議,如OSPF建立網絡路由表、LDP建立到目的網絡的標記交換通道LSP(Label Switch Path),將網絡層的路由信息直接映射到數據鏈路層的交換路徑上。I-LER確定分組所屬的轉發等價類FEC(Forwarding Equivalent Class),完成標記的映射和添加。在核心處,標記交換路由器LSR(Label Switch Router)只需根據標記表快速交換分組,用出標記替換入標記將分組逐級轉發給LSP上的下一跳路由器;在網絡的出口處,由E-LER(Egress LER)移出標記。
2.4 DiffServ Over MPLS技術[6]
用MPLS技術來承載DiffServ,改變了DiffServ無連接的PHB分組轉發方式,為實現端到端的QoS提供了基礎平臺。其中的I-LER不僅完成普通MPLS邊界路由器的功能,同時融合了DiffServ中的ER職能,完成標記的封裝和流的聚合形成BA,并將BA映射到對應的LSP上,完成對聚合流的監管和調度;LSR完成標記轉發的同時,還需要對分組進行調度、丟棄和整形。可見其關鍵是如何實現標記到PHB的映射。
對于標記到PHB的映射,RFC 3270中提供了兩種映射方法,分別為L-LSP(Label-Infered-PSC LSP)和E-LSP(EXP-Infered-PSC LSP)。PSC(PHB Scheduling Class)是指一類具有相同隊列處理要求的PHB。由于需要擴展來支持數量更多的PHB,在整個網絡上接受這些PHB,但合并LSP卻較困難。
3 基于Q-SIP的VoIP網絡架構
通過SIP在兩個終端之間建立會話協議,雖然有統一的資源標識符,但是SIP協議在IP網絡中進行會話時沒有QoS控制能力,無控制會話功能,難于運營維護。因此,在當前追求會話傳輸質量的高通信要求下,原有的S1P協議體系難以滿足這種需求[7]。
在SIP協議中,SIP客戶端通過一個SIP代理服務器(Outbound Proxy)處理發出和進入的呼叫,客戶端發送SIP消息給代理服務器并且從該服務器接收消息。由此,SIP服務器可以添加(和讀取)SIP消息的QoS相關信息,從SIP信令中抽取QoS參數并與網絡QoS機制實現交互,以下稱改進的SIP服務器為Q-SIP服務器。因此,為了在未來寬帶網絡中更好地實現VoIP服務質量保證以克服原有SIP協議的缺點,本文提出一種基于Q-SIP的VoIP網絡服務器架構模型如圖2所示。該模型在實現服務質量會話控制時,可協同多種協議完成QoS任務,如RSVP、Diffserv、MPLS、COPS協議等。圖2所示的新的Q-SIP網絡架構具有QoS控制和服務功能,從而保證了VoIP網絡的服務質量。
?
3.1 Q-SIP模型的功能
Q-SIP模型的功能主要包括高級SIP代理、用戶優先、QoS控制和策略等模塊[7-9],其功能圖如圖3所示。
?
?? 下面對主要功能模塊進行分析。
?? (1)高級SIP代理模塊
該模塊完成的功能主要是從SIP消息中提取有關的會話信息,完成SIP協議的相關內容。其主要任務是:①對IPV6的會話分析:提取會話的相關信息,例如源、目的地址、端口號等。②對SIP會話初始化協議:在會話建立前,在發送方和接收方之間協商互操作性、基于文本的編碼方式。③SIP URI統一資源標識符:用于確定終端的地址語法;對IPV6網絡提供的巨大地址空間有擴展性。④Q-SIP消息分析的流程為:分析SIP消息→使用源、目的IPV4/IPV6地址和端口號→配置Diffserv、MPLS等,使用路由器中的數據包優先級隊列控制。
??? (2)用戶優先模塊
用戶優先模塊主要完成對會話有效的QoS數據優先功能,例如語音會議、視頻會議;實現用戶優先的會話控制,以提供個性化的服務,例如多媒體、位置信息等。
??? (3)QoS控制模塊
該模塊是非常重要的模塊。其主要功能:①可以與高級SIP代理協作,根據會話信息確定QoS級別。②通過通用開放策略服務COPS(Common Open Policy Service),命令行接口CLI(Command Line Interface)和QoS命令來實現基于用戶優先對路由器進行控制,配置RSVP、Diffserv、MPLS等。其中,COPS協議[10]是一種查詢反饋類型協議,用于在策略服務器與一組客戶端(通常是指網絡中的設備,如交換機等)之間交換策略信息,為網絡資源請求提供一種基于策略的控制機制。業務策略也可以采用命令行的方式部署在設備上,但是如果要實施動態策略則會非常繁瑣,甚至無法實施,而且全網策略的同步沒有機制保障,存在全網策略不一致的風險。COPS定義了兩個邏輯實體:策略決策點PDP(Policy Decision Point)和策略執行點PEP(Policy Enforcement Point)。PDP與PEP的關系可以看作是服務器與客戶機的關系,PEP向遠端的PDP發送配置、更新、刪除等請求,PDP收到后,將決策響應回送給PEP,PEP執行相關的操作。COPS采用TCP作為傳輸協議,PEP負責初始一個TCP連接,定時向PDP發送Keep_Alive消息,以檢驗連接的有效性。
??? (4)策略模塊
所謂策略就是將業務分類并且與數據轉發控制結合起來,實現網絡的全局性流量管理。通常所說的策略包括:業務的優先級、安全過濾、網絡容量。策略是支持策略網絡的基本模塊,一個完整的策略包括流量分類、定義的執行策略和策略安排。①流量分類:流量分類實際上是一個條件,當數據流滿足這個條件時相應的策略就會執行。因此流量分類反映了管理者對業務質量的要求。②定義的執行策略:策略的執行定義了當流量分類滿足某個條件時應當響應的動作。這些動作包括:標示特定的DSCP值;為滿足條件的數據分配特定的帶寬;突發數據的流量整形;丟棄該數據。③轉發隊列:每臺支持策略優先級的網絡設備均支持相應的排隊機制,通過這些排隊機制實現不同優先級業務的差分服務。
3.2 Q-SIP體系的協議序列
Q-SIP呼叫過程的消息序列圖如圖4所示。
?
3.3 Q-SIP的可擴展性
這種基于Q-SIP的VoIP網絡架構模型可以在現有的網絡上實現,并支持未來寬帶網絡,如IPV6網絡、移動會話網絡等[5]。該模型不需要部署在專用網上,因而具有很大的發展空間。Q-SIP可擴展性在于可以在大規模網絡環境中通過多個Q-SIP服務器相互協作來完成網絡會話服務,通過高級SIP代理進行QoS級別的設置等。
根據VolP系統中高質量語音的需求,分析了如何滿足與傳統電信網相當的QoS要求(包括丟包率、傳輸延時和延時抖動等),提出了一種支持QoS的SIP代理服務器模型的實現方案。該方案充分利用了多層次和多平面結合的特點,協同多種協議工作,解決了SIP代理服務器無會話QoS控制的能力和VoIP網絡中策略服務器無會話控制能力的問題。另外,模塊化的設計結構增強了系統的通用性和可移植性,有利于系統的后期維護和功能擴展,而且對下一代網絡中的IPV6技術有很好的擴展和支持。
參考文獻
[1] ?ROSENBERG J, SCHULZRINNE H, CAMANILO G. SIP:Session initiation protoco1[S] .Internet RFC 3261,2002.
[2] ?LUO Lin, WARFIELD B. Analysis and applications of SIP?in internet telephony[J]. The Journal of CUPT,2005,12(1):70-75.
[3] ?DAVIDSON J, FOX T. Deploying cisco voice over IP?solutions[M]. Beijing:Post and Telecommunications Press,?2003.
[4] ?STEVENS W R.TCP/IP詳解 卷1:協議[M]. 北京:機械工業出版社,2003.
[5] ?吳雯,靳鵬.一種基于SIP-QoS體系的VoIP技術[J].?軍事通信技術,2004,25(4).
[6] ?LE F F,DAVIE B, DAVAFI S, et a1. Multiprotocol label?Switching support of diferentiated service[S].RFC3270,2002.
[7] ?司端鋒,韓心慧,龍勤,等.SIP標準中的核心技術與研究進展[J].軟件學報,2005,16(2):239-250.
[8] ?MCCABE J D. Network analysis, architecture, and design?[second edition][M]. Beijing:Publishing House of Electronics??Industry,2005.
[9] ?葉婷,杜旭,潘鵬,等.支持SIP代理服務器的方案設計與實現[J].計算機工程,2006,32(1):139-141.
[10] DURHAM D, BOYLE J, COHEN R, et al. The common?open policy service protocol[S]. RFC 2748,2000.