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