崔梅英



摘要:基于網絡電話理論研究的成果提出了基于SSL VPN的SIP網絡電話系統,將SSL VPN虛擬通道應用到網絡電話上來,以提高網絡電話的安全性能,并構建了一個基于SSL VPN的SIP網絡電話系統的模型,并對該系統模型進行了測試。結果顯示對網絡電話采用SSL VPN的方案可行。
關鍵詞:SIP網絡電話;仿真;測試
中圖分類號:TD65+5.1文獻標識碼:A文章編號:1672-3198(2009)23-0281-02
1開源軟件介紹
1.1Osip與eXosip
Osip是一個開源的標準C的RFC 3261的SIP協議棧,Osip協議棧采用ANSIC編寫,結構簡單而小巧,所以速度特別快。它主要提供一些解析SIP/SDP消息的API和事務處理的狀態機,負責生成和解析SIP信令。Osip可以用來開發LserAgent,IP soft-phone和SIP Proxy等等。Osip總體結構主要包括三大模塊:狀態機模塊、解析器模塊和工具模塊,如圖1所示。
圖1Osip模塊結構
Osip把各種SIP消息統一封裝到一個OSIP_MESSAGE_T結構體中。Osip的核心是基于事務層的,一個事務層從邏輯上可以分為客戶和服務器兩部分,客戶端發送請求,服務器端發送響應。
一方面Osip的各個模塊相對清晰、獨立,且詞法解析器提供了較完善的API。但另一方面由于Osip結構簡單,外圍相關模塊需要用戶自己開發,如SIP消息的接收和發送,RTP/RTCP語音數據處理等;協議棧的調試和維護功能比較簡單。我們可以配合使用Osip的擴展協議棧eXosipo eXosip部分封裝了Osip協議棧,提供了網絡數據傳輸模塊,另外還增加了call,dialog,registration,subscription等過程,使之實用性更強。
eXosip的基本思想是在封裝Osip詞法解析模塊的基礎上,增加一個SOCKET傳輸模塊,通過稱之為JEVENT的消息管道實現Osip事務狀態機和SOCKET傳輸層之間的通信,從而實現SIP信令在網絡上發送、接收。eXosip結構模塊如圖2所示:
圖2eXosip模塊結構
eXosip充分重用Osip協議棧的解析器、消息封裝API、狀態機三個模塊,保證SIP消息格式和狀態轉移的正確性。提供了面向呼叫和應答呼叫的API,并實現了SOCKET傳輸模塊和SDP協商模塊,結構簡單清晰。
1.2OpenVPN
OpenVPN是基于數據包封裝技術,利用SSL協議結合強加密算法和身份認證技術構建而成的可靠安全的VPN。其工作原理可描述為:服務器和客戶端通過SSL握手過程進行身份認證和密鑰交換,完成隧道初始化,數據在隧道中傳輸時,借鑒ESP協議的封裝原理對數據進行封裝。
OpenVPN利用數據分層機制分成兩種數據通道:
(1)數據隧道。
數據隧道是傳輸用戶應用數據的安全通道。控制通道用于建立、維護、拆除數據隧道,傳輸SSL會話消息和各種指令性信息。根據兩者對傳輸數據可靠性的要求不同,對數據進行分層處理。
(2)控制通道。
控制通道數據由UDP層上模擬的可靠層來保證其可靠性,隧道數據不要提供可靠性保障,直接由UDP層處理。兩種通道中的數據通過“多路器”進行識別和分流。控制通道完成很多重要的事情,如隧道密鑰的確立、各種控制指令的收發與處理、HMAC防火墻、在UDP上模擬的可靠層、密鑰磋商與變更等。
2測試及分析
2.1測試環境
本系統SIP電話的代理服務器、注冊服務器、定位服務器、重定位服務器及SSL VPN服務器在物理上是一臺服務器,分別為服務器A和服務器B,SIP軟終端分別是終端A和終端B。終端A和終端B所在的局域網分別通過服務器A和服務器B與Internet連接。
服務器A,B的配置分別為:
服務器A(Chariot Console):
本系統通過Chariot測試軟件進行測試。Chariot是由NetIQ公司推出的一款網絡測試軟件。它的出色之處在于,它可提供端到端、多操作系統、多協議測試、多應用模擬測試,應用范圍包括有線網、無線網、廣域網及各種網絡設備。可以進行網絡故障定位、用戶投訴分析、系統評估、網絡優化等,能從用戶角度測試網絡或網絡參數(吞吐量、反應時間、延時、抖動、丟包率等)。支持6種VoIP Code(G.711a,G.711b,G.723.1-ACELP,G.723.1-MPMLQ,G.726,G.729),支持MOS評分,便于對VoIP網絡進行實時分析。它通過模擬真實的網絡流量來測試網絡上的點對點、復雜架構以及分布式結構系統的性能。由于它具備驗證網絡性能、設備性能、應用程序性能、系統執行狀況記錄等多項功能,并且其驗證的公正性得到了眾多網絡實驗室以及各大網絡產品生產商的認可,NetIQ Chariot已經成為應用層網絡性能的評估標準。
2.2測試比較
在語音質量方面,常采用MOS分值衡量。MOS值是分數越高越好,一個正常的模擬或者數字話機的MOS值是4.2—4.4,一個典型的蜂窩話機的MOS值范圍是3.0^-37,而一個通話質量差的蜂窩手機其得分值低于2 o MOS評定有1^-5級的五個評分標準,可以接受的語音在3.5級以上。
為了測試網絡電話系統采用SSL VPN加密后的呼叫性能變化,對使用VPN前后的呼叫建立時間(記錄從INVITE發起,到收到200 OK消息的這段時間)進行對比。呼叫時間如圖3所示。
圖5呼叫建立時間圖
從圖中可以看出,對呼叫建立而言,采用SSL VPN加密后,由于服務器需要對數據包進行加解密,使得呼叫建立時間稍長,但不到1秒,對呼叫性能影響不大。但是卻大大增強了系統的安全性能,完全抵消建立呼叫時間增加的負面影響。并且系統能順利穿越服務器A和服務器B的防火墻//NAT設施。說明采用SSL VPN是可行的。
接下來對SSL協議改進前后對系統服務質量(QoS)的影響進行測試比較。在語音編碼G.726方式下,對于可選擇的加密方式ECC/RSA,SHA-1/MD5,3DES/RC4的所有組合選取3組代表性的進行測試:(1)ECC_MD5_RC4,RSA_MD5;(2)ECC_MD5_RC4、ECC_SHA-1_RC4;(3)ECC_MD5_RC4、ECC-MD5_3DES。RC4:分別對VoIP QoS從端到端延遲、丟包率、抖動、MOS值四個方面進行了比較。如表1所示。
表1測試數據
測試選取了3組代表性的密鑰組合,結果顯示:
(1)ECC與RSA相比,延遲減少了31.561ms,丟包率下降了1.31%,抖動減少了1.329ms,MOS值也增加了0.57;
(2)MD5與SHA-1相比,延遲減少了9.744ms,丟包率下降了0.67%,抖動減少了0.126ms,MOS值稍稍增加了009;
(3)RC4與3DES相比,延遲減少了14.48ms,丟包率下降了0.92%,抖動減少了0.046ms,且MOS值增加了0.28。
相對而言,ECC要比RSA性能突出得多,對系統服務質量改善程度最大。本系統測試連續通話20分鐘,語音流暢、清晰,可以滿足日常通話的需求。
參考文獻
[1]@李琳,王新剛,柴喬林.SIP協議在開發的VoIP模型中的實現[J].計算機工程,2008,28(8):222-226.
[2]@曹玖新,張德運.VoIP實現技術研究[J].計算機工程,2006,26(10):497-500.
[3]@張智江,張云勇,劉韻潔.SIP協議及其應用[M].北京:電子工業出版社,2008.
[4]@趙學軍,陸立.軟交換技術與應用[M].北京:人民郵電出版社,2007.