朱劍鋒
(海南熱帶海洋學院 電子通信工程學院,海南 三亞 572022)
?
SIP軟交換系統健壯性的改良
朱劍鋒
(海南熱帶海洋學院 電子通信工程學院,海南 三亞 572022)
在研究基于SIP協議的多媒體通信時,發現目前SIP軟交換系統存在健壯性方面的缺陷和隱患.提出了數據包過濾的方法,控制SIP數據的風險,實現了SIP軟交換系統健壯性的改良.
SIP;軟交換系統;數據包過濾;健壯性
多媒體通信是指在因特網上相交互雙方或多方的多媒體通信活動,包括Internet多媒體會議、Internet電話、遠程教育、遠程醫療以及遠程監控等.會話初始化協議SIP (session initiation protocol)[1]是在網絡模型應用層上的進行多媒體通信的信令協議,用來解決IP網上軟交換的信令控制,進行會話管理,如發起、建立、修改及終止等多媒體會話進程控制.SIP與會話描述協議SDP(Session Description Protocol)[2]配合,會話雙方動態調整多媒體通信屬性,如多媒體的類型及編解碼格式等,確保不同終端間的多媒體通信.
基于SIP協議的軟交換技術,通過多協議操作來指揮多媒體網關的交換行為,在分組交換網上提供實時語音及多媒體業務的網絡稱為SIP軟交換系統.目前,SIP軟交換系統中主要用于語音、視頻[3]與IP數據網相結合的業務,完成多媒體通信的呼叫發起、建立、修改及釋放等信令控制.SIP以其簡單、靈活的特點越來越受到青睞,3GPP(3rd Generation Partnership Project)將SIP作為移動通信系統多媒體領域的全IP網絡的核心控制協議.
隨著Internet的規模不斷擴大及網絡越來越復雜,在網絡中傳輸的數據也越來越頻繁,大量無用的數據虛耗系統資源,存在“黑客”、病毒和DoS(Denial of Service)等眾多安全因素的威脅.SIP軟交換系統處于UAS和UAC都可見的位置,一些SIP數據包會引發系統拋出異常,影響系統穩定運行.針對以上問題,主要討論如何結合SIP軟交換系統的運作模式、SIP數據包和SDP消息的特點等,解析從以太網獲取的SIP數據包,控制非正常業務的SIP數據包和可能引發系統異常的數據包,提出了SIP數據包的過濾方法,節省處理異常數據包的時間開銷和內存開銷,節約系統資源,保證系統穩定高效運行,提高SIP軟交換系統的健壯性和服務質量.

圖1 GSM網關連接圖
SIP終端A呼叫SIP終端B的會話過程:SIP終端A發出INVITE信息呼叫被叫方B,SIP服務器Proxy Server收到之后查詢被叫方實際的SIP地址,Proxy Server便向SIP終端B發出INVITE信息.SIP終端B在回復200 OK的時候, Proxy Server將轉送200 OK給SIP終端A[4].
為了實現IP網絡與GSM網絡的多媒體通信,引入了GSM網關WG2001,WG2001通過以太網與Proxy Server相連,Proxy Server通過GSM2001與GSM網絡相連,這樣注冊在Proxy Server上的SIP終端就能通過GSM網關與GSM網絡的非SIP終端會話.如圖1所示.
引入GSM網關的呼叫控制流程參照圖2.其中F1,F2,F3為認證流程,F4-F13為會話發起與通話過程,F14-F17為會話結束過程.
在引入GSM網關之后,該網關向SIP服務器不斷送出虛假的SIP數據包,接受大量不良SIP數據包的SIP服務器,將產生內存泄漏(Memory Leak)等異常現象.這些異常現象會時時造成SIP服務器資源浪費,運行前期不斷降低SIP服務器的運行性能,在嚴重情況下將導致SIP服務器的系統服務失效及系統運行中止.如果被網絡黑客利用,還引發SIP服務器的安全問題,會引發故障.說明該SIP軟交換系統本身存在穩定性、健壯性及安全性的風險.
SIP服務器Proxy Server在接收到一個以太網數據幀時,數據從協議棧中由底層向頂層逐層上升的同時,剝離各層協議上的報文首部及相應尾部[5].并且,各層協議檢查報文首部的協議標識,以確定本層接收應用數據的協議首部,并按以太網數據幀的分用過程規則分析出需要的內容,如數據包的源IP地址、目的IP地址、源端口號、及SIP協議的請求行(Request-Line)和狀態行(Status-Line)等.
IP數據包的首部將在網絡層被“剝去”,剩下數據部分,如圖3所示.數據首部8字節數據是固定的,起始行長度不定,但必須含有SIP關鍵字:SIP/版本號(如SIP/2.0),起始行分為請求行(Request-Line)和狀態行(Status-Line)兩類.請求行是客戶端發送到服務器的,狀態行是服務器發給客戶端的,這里只考慮請求行的起始行.SIP請求消息的一般格式:
SIP請求消息 = SIP請求起始行
*(通用頭部 | 請求頭部 | 實體頭部)
空行
[消息體]
SIP請求消息從請求行開始,SIP的請求行由SIP方法名(Method)、SIP請求(Request-URL) 和SIP版本號(SIP-Version)組成,各部分之間用空格符分隔,SIP請求行的結束采用CRLF符號,請求IP數據包的格式如下:
Request-Line = Method +空格+ Request-URL+空格+SIP-Version+CRLF

圖3 SIP數據包格式
方法名(Method):有6種方法,如REGISTER用于注冊,INVITE、ACK、CANCEL用于建立多媒體會話,BYE用于結束多媒體會話,OPTIONS用于查詢服務器或UA的能力.
Request-URI:Request-URI是一個SIP或者SIPS URI,禁止包含空白字符或者控制字符,并且禁止用“<>”括上.
通過對SIP系統的運作模式和數據包的分析,通過檢驗可以得出:
①SIP消息分為請求消息和應答消息,只有請求消息才會引發系統異常;
②SIP數據包的IP數據包首部和數據首部是固定的格式,消息頭和消息體是可以沒有的,所以起始行是進行消息“合法性”判斷的關鍵部位;
③系統缺陷具有集群效應.
參照數據包的分析,解析數據起始行的請求消息即能丟棄“非法”的SIP數據包.具體方法如下,結構圖如圖4.

圖4 數據包的過濾
步驟一:檢證“合法”數據最小長度;
步驟二:檢證是否含有行結束標志CRLF或LF;
步驟三:檢證Request-Line中是否含有SIP版本信息(如SIP/2.0);
步驟四:檢證Request-Line中是否包含Method關鍵字;
步驟五:檢證Request-Line中Request-URI是否符合規定格式.
要確保SIP軟交換系統高效穩定的運行,除了提高系統的健壯性之外,系統的安全性同樣重要.通過GSM網關的動作,發現SIP軟交換系統存在穩定性問題,對問題進行匯總分析,對該系統健壯性問題進行了改良.但在安全性方面還需要進一步的深入研究,提出確實可行的安全機制.
通過對影響SIP軟交換系統的健壯性與穩定性的因素進行分析,提出了對其所處環境中的不良SIP數據包的過濾策略,并結合系統運作模式與SIP消息的特點實現了對以太網數據包進行分析過濾,控制了不良網絡數據的干擾風險,SIP軟交換系統的健壯性進行改良,保證了系統相對安全穩定運行,提高了系統工作效率,節約了系統資源.
[1]J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R. Sparks, M. Handley, E. Schooler. SIP:Session Initiation Protocol (RFC3261)[S].IETF Network Working Group, June 2002.
[2]J. Rosenberg, H. Schulzrinne. An Offer/Answer Model with the Session Description Protocol (RFC3264)[S].2 002.
[3]Schulzrinne H., Casner S., Frederick R., and V. Jacobson. “RTP:A Transport Protocol for Real-Time Applications”, STD 64, RFC 3550[S].July 2003.
[4]朱劍鋒, 李壯, 馬玉春. IP-PBX呼叫傳送功能的實現[J].福建電腦, 2010(1):165,153.
[5]劉應平. 局域網異常數據包監控與處理系統的設計[J].電腦開發與運用, 2010,23(12):21-22, 25.
(編校:何軍民)
Robustness Improvement for SIP Soft-switch System
ZHU Jian-feng
(School of Electronics and Communication Engineering, Hainan Tropic Ocean University, Sanya Hainan, 572022, China)
Based on the SIP protocol multimedia communication, the existing SIP Soft-switch system robustness aspects of defects and hidden dangers are found. In order to control the risk of SIP Message and to realize robustness improved for SIP Soft-switch System successfully, a new solution is proposed through packet filtering.
SIP; soft-switch System; packet filtering; robustness
2015-11-25
2014年海南省高等學校科學研究項目(HNKY2014-64)
朱劍鋒(1966-), 男, 吉林永吉人, 海南熱帶海洋學院電子通信工程學院教授, 碩士,研究方向為網絡通信技術.
TP393
A
1008-6722(2016) 02-0013-05
10.1 3307/j.issn.1 008-6722.2 016.02.03