專利名稱:在IP網絡中檢測VoIP應用的實現方法
技術領域:
本發明涉及網絡通信技術領域,尤其涉及一種在IP網絡中檢測VoIP應用的實現方法。
背景技術:
隨著IP網絡技術的發展,VoIP(基于IP的語音)的已經廣泛應用,即已經得到相當規模的部署,并正在迅猛的發展。而對于這種VoIP技術應用,無論是國家相關部門或者電信運營商均需要對VoIP的應用進行一定程度控管,而實現對VoIP的控管卻面臨著許多的技術問題需要解決。其中,如何在IP網上快速準確的檢測到VoIP應用便是所面臨的問題之一。
為滿足上述需求,目前提供了一此VoIP應用檢測的方案,為對各檢測方案有清楚的了解,下面將首先對VoIP系統的特點進行描述。
在VoIP系統中,VoIP分別通過信令通道和媒體通道來完成呼叫建立和媒體傳送的功能,其中,媒體通道為通過信令通道上的信令交互協商而動態建立。目前,VoIP系統采用的標準呼叫信令包括H.323、SIP(會話初始協議)、MGCP(媒體網絡控制協議)、H.248等;另外,也有一些VoIP系統采用私有的信令協議或采用隧道方式傳輸VoIP信令的方式來完成呼叫建立和會話拆除的功能。
在現有的VoIP系統中,通過所述的媒體通道傳送業務數據所應用的媒體傳送協議通常采用相對統一而且比較成熟的RTP(實時傳輸協議)。
目前,采用標準協議的VoIP系統都采用默認的服務端口號,采用私有協議的系統也有自己的端口號。實際部署的很多VoIP系統特別是非法VoIP系統,為了避免電信運營商的封殺,所采用的服務端口號往往為非默認端口,也可能會過一段時期發生變化。
對于上述非默認的或者動態的VoIP服務端口的應用均給VoIP的檢測帶來了障礙,也就是說,采用非標準信令協議和通過隧道來傳輸信令的VoIP實現方案為VoIP應用的檢測帶來了困難。
為實現在IP網上檢測VoIP應用,目前,提供了一種通過信令流識別VoIP應用的解決方案,主要原理為通過識別VoIP信令流進行檢測。
該方案主要處理過程包括監聽所有網絡數據包,然后將每一個數據包利用所支持的VoIP信令協議的特征去匹配和預處理,如果沒有符合所定義的特定協議的特征,則過濾,即不對所述數據包進行處理;如果符合所述特征,則按照特定的呼叫信令協議對所述的數據包進行解析處理,跟蹤該連接和呼叫流程,并提取呼叫詳細信息,從而實現針對是否應用VoIP的檢測。
然而,由于需要對已經檢測到的信令流需要協議解析,而且,很多VoIP信令的解析處理過程非常復雜,對于很多私有協議甚至無法進行解析。其中,對于不支持協議的VoIP應用顯然無法檢測到,因此,為了提高檢測準確率,就需要不斷升級以支持新的協議。隨著協議的逐漸增多,而檢測設備所支持的協議數量有限,將使得系統檢測性能越來越差,這顯然無法滿足快速、準確的檢測要求。
而且,在現有技術中,由于將所有的數據流都列為可疑信令流,盡管設置了協議預匹配過濾的處理過程,仍然需要對大量的網絡數據進行解析處理,導致檢測性能難以保證。同時,隨著協議的增加,檢測的負擔越來越大,也使得檢測系統出現漏洞的幾率大大增加。
發明內容
鑒于上述現有技術所存在的問題,本發明的目的是提供一種在IP網絡中檢測VoIP應用的實現方法,從而提供一種實現簡單、檢測效率較高的檢測VoIP應用的方法。
本發明的目的是通過以下技術方案實現的本發明提供了一種在IP網絡中檢測VoIP應用的實現方法,包括A、確定媒體流的特征參數信息;B、根據確定的媒體流特征參數信息檢查IP網絡傳輸的業務數據,并確定其中的VoIP業務流。
所述的步驟A包括確定媒體流的傳輸協議、已經確認是媒體流的流參數信息和/或已經確認不是媒體流的參數信息。
所述的媒體流的傳輸協議包括用戶數據協議UDP和實時傳輸協議RTP;所述的媒體流的流參數信息包括流通道的IP地址和端口號信息;所述的不是媒體流的參數信息包括端口信息。
所述的步驟B包括B1、根據媒體流的特征參數信息過濾IP網絡中無需檢測的業務流,確定需要檢測的業務流;B2、對需要檢測的業務流包含的數據包進行抽樣,獲取業務流中的部分數據包;B3、對所述的部分數據包進行媒體流檢測,確定其中的VoIP應用,并保存相應媒體流的媒體通道信息。
所述的步驟B還包括將步驟B2所述的部分數據包緩存于緩沖區,并在執行完成所述的步驟B3后,刪除緩存的部分數據包。
所述的步驟B3還包括
將確定的VoIP應用的媒體流的流通道IP地址和端口號信息作為已經確認為媒體流的流參數信息保存。
所述的在IP網絡中檢測VoIP應用的實現方法還包括C、對IP網絡中的信令流進行監視,確定其中的VoIP信令,并從所述的VoIP信令中提取呼叫信息。
所述的步驟C具體包括C1、根據配置的端口號信息及其對應的協議信息,對IP網絡中的信令流進行過濾處理,確定符合條件的信令;C2、將符合條件的信令根據對應的協議信息進行解析處理,確定出其中的VoIP信令;C3、從所述確定的VoIP信令中提取并保存相應的呼叫信息。
所述的步驟C1還包括根據記錄著配置的端口號信息的表中內容查詢端口協議匹配表獲取所述的端口號信息對應的協議信息;而且所述表中配置的端口號信息,以及所述端口協議匹配表中信息需要根據實際應用情況實時更新。
所述的在IP網絡中檢測VoIP應用的實現方法還包括D、將保存的媒體通道信息和保存的呼叫信息進行匹配比較處理,并將其中媒體通道信息和呼叫信息匹配的媒體流記錄。
所述的步驟D具體包括D1、確定保存的媒體通道的地址信息,以及保存的呼叫信息中記錄的媒體通道的地址,并匹配比較;D2、當匹配比較出兩個相同的媒體通道地址時,在呼叫記錄庫中記錄相應的呼叫信息。
所述的步驟D2還包括新建一條呼叫記錄,記錄相應的原始IP信令包;
自動或手動嘗試解析所述的原始IP信令包,并根據解析結果確定需要增加的協議信息和對應端口信息,并自動或手動的進行相應的升級處理。
由上述本發明提供的技術方案可以看出,本發明中,由于采用了通過媒體流來檢測VoIP的實現方案,因此,可以取得較高的檢測效率,而且,檢測效率的高低與采取的呼叫控制協議無關。
而且,本發明中,由于RTP協議相對簡單,對RTP協議的識別也比較容易,同時,檢測機制沒有將所有的數據流都列為可疑數據流,而是首先通過可疑端口黑名單機制將大部分數據流過濾,從而降低了識別處理的負擔。因此,本發明可以達到比較高的檢測性能。
另外,本發明的實現使得媒體流識別機制無需升級,從而簡化了VoIP檢測系統的實現方式。
通過增加信令流監視獲取VoIP呼叫的詳細的信息。從而克服了只通過媒體流檢測不能提供詳細呼叫信息的弊端。
通過信令流監視結果和媒體流檢測結果的對比,使得具有自學習和升級的功能。
圖1為本發明中媒體流檢測處理過程流程圖;圖2為本發明中信令監視流程圖;圖3為本發明中所述的VoIP應用檢測的處理過程流程圖。
具體實施例方式
本發明的核心是基于媒體流進行VoIP應用的檢測,并輔以信令流監視的處理過程,從而實現可以快速準確地檢測出IP網中的VoIP應用。
在具體的應用中,大多數VoIP系統均采取比較統一的媒體流,因此,可以用媒體流特征來檢測VoIP應用,以獲得比較高的檢測效率,并可以避免通過信令流檢測所存在的部分信令可能無法檢測的弊端。
另外,媒體檢測相對信令檢測比較簡單,可以對數據流進行抽樣檢測,所以也可以獲得比較高檢測的性能。
但是通過媒體流檢測VoIP應用并不能獲得每次VoIP呼叫的CDR(呼叫詳細記錄)信息。為此,需要對信令流進行監視以獲取相應的CDR信息,從而達到比較理想的檢測效果。而且,由于對信令流的監視并不是為了提高檢測效率,而只是為了獲得相關呼叫的呼叫信息,所以無需進行復雜的信令解析過程,因此不會影響檢測的效率。
為對本發明有進一步理解,下面將結合附圖對本發明所述的方法的具體實現方式作詳細描述。
本發明所述的方法在具體實現過程中主要包括媒體流檢測識別處理過程,信令流監視處理過程,以及確定檢測結果的處理過程,分別如圖1、圖2和圖3所示。
首先結合圖1對本發明所述的媒體流檢測識別處理過程進行詳細說明。
任何VoIP應用,都表現為媒體流的出現。所有檢測到了媒體流就意味著檢測到了可能的VoIP應用。媒體通道端口為VoIP連接建立過程動態協商而得到的,所以具有不確定性,任何一個高端口得UDP數據包都有可能是UDP包,使得我們必須逐一數據包進行檢測。
在進行媒體流檢測過程中需要注意以下三個關鍵點(1)1024以下端口一般為系統保留端口,一般并不用來傳輸媒體流,也有其他一些知名端口也不用來傳輸媒體流,因此,本發明中可以維持一個基于端口的白名單;落入白名單中的端口的UDP數據包我們將直接放過,不做任何處理,以便提高檢測的性能;這樣,本發明便可以通過不斷的完善白名單的方法來提高檢測的效率。
(2)由于媒體通道一旦建立,將會有大量的媒體數據包(速率大約8KB/s)在網絡中傳輸,為了檢測到這個數據流的存在,并不需要對每個數據包都進行媒體包判別檢測,而只需要對數據包進行抽樣檢測,這樣可以大大降低設備的處理量,從而提高處理性能。
(3)媒體流采用的傳送協議RTP有明顯的特征,字段頭為確定值,時間戳序列號遞增,SSRC(同步源)字段為相同的值;可以通過同一流的數據包特征將該媒體流檢測出來。
基于上述三個關鍵點,相應的媒體流檢測識別處理過程如圖1所示,具體包括以下處理步驟步驟11檢測流程首先將網絡流量中非UDP流過濾,并利用RTP開始字節為特定值進行媒體流預過濾;步驟12將經過預過濾處理的IP網絡中的業務流根據已經檢測出來的媒體流的通道IP地址和端口號作為過濾條件進行過濾處理,從而便利已經檢測出來的媒體流不再進入以后的處理步驟,以提高檢測效率;步驟13將步驟12處理后的業務流中的落入端口白名單中的數據包過濾,即將業務流中不可能傳輸媒體流的端口的數據包過濾掉;步驟14對經過上述過濾處理的數據包進行抽樣檢測;由于識別媒體流不需要對所有的媒體流數據包都進行檢測,所以接下來的步驟進行數據包抽樣;步驟15將抽樣后的數據包放入數據包緩沖區內,以便于進行進一步的VoIP應用檢測處理;步驟16采用媒體流檢測算法實時的對緩沖中的數據進行檢測,即進行媒體流檢測判別,確定緩沖中的數據是否為媒體流;步驟17將符合媒體流特征的流的信息進行提取并記錄,即保存媒體流檢測結果,所述的檢測結果一方面可以作為步驟12中的過濾條件,即將確定的VoIP應用的媒體流的流通道IP地址和端口號信息作為已經確認為媒體流的流參數信息保存作為步驟12中的過濾條件,另一方面還可以作為獲得最終檢測結果的依據,即保存相應媒體流的媒體通道信息,所述的媒體通道信息即為媒體通道地址信息,具體參見圖3所示的處理過程中;當針對緩沖中的數據的檢測處理過程結束后,將所有的數據包從緩沖中丟棄,繼續檢測新的數據包,即重新執行步驟11到步驟17的處理過程。
下面再結合圖2對本發明中涉及的信令流監視處理過程進行說明。
每一個特定已經部署的VoIP系統和互聯網上的其他服務一樣,都具有特定的具體的端口(不管為默認端口還是自定義的端口),對于已經部署的VoIP系統特別是較大規模應用的系統來說,修改端口不是非常容易的事情,因此,VoIP信令的使用的端口信息應該相對固定。
基于信令端口的相對確定性可知,在監視VoIP信令處理過程中,沒有必要懷疑一切端口都為可疑端口,即可以通過對特定的端口的檢測實現針對VoIP信令的監視,然后,再進一步通過其他手法進行排除,最后再從確定的信令中提取呼叫相關信息。為此,需要維持一個端口黑名單方法,端口黑名單中記錄著VoIP信令可能應用的端口信息,端口黑名單中的信息可以通過調研和信令端口學習來自動增加或手動配置。這樣,便可以避免對每個數據包進行嘗試編碼或嘗試預處理的所帶來的系統資源的浪費。
本發明中,在流程開始前需要做一些預配置工作,具體包括協議端口匹配表、端口黑名單等信息。所述的信令流監視流程主要目的從信令流中提取呼叫信息,相應的處理過程如圖2所示,具體包括以下步驟步驟21將監聽到的數據流首先根據所述的端口黑名單將沒有落入黑名單中的數據流過濾掉,即保留落入黑名單中的端口上的數據流,以便于進一步檢測是否為VoIP信令;
步驟22查詢端口協議匹配表獲得VoIP系統支持的協議信息,利用對應的端口的協議信息進行協議預處理,即判斷相應的信令流是否符合VoIP系統支持的協議信息的特征,如果符合該協議特征則進入步驟23的處理流程,否則,丟棄;步驟23進行協議深層次分析和匹配,具體為根據應用的具體的協議的信息對所述信令流作進一步的檢查,以確定是否為VoIP信令,當確定其為VoIP信令時,則執行步驟24,否則,丟棄;步驟24通過協議解析或特定的呼叫信息提取算法對確定的VoIP信令中的詳細的呼叫信息進行提取。
在上述信令監視系統中,根據實際的VoIP協議和端口的變化應當進行相應的及時更新和升級;這時因為在實際應用過程中,隨時可能有新的私有信令協議的出現,所以檢測設備需要不斷的跟進升級,一方面包括對端口協議匹配表的更新,另一方面還包括針對相關的協議增加相應的預處理流程和協議深層次匹配流程。同時,本發明中,相應的VoIP媒體流也可能采用新的端口傳輸,因此,本發明中所述的端口黑名單列表也需要根據實際的應用情況進行更新,以保證監聽信令的效果。
最后,再結合圖3對確定檢測結果的處理過程進行詳細描述。
如何將媒體流檢測結果和從信令流中提取的呼叫信息關聯起來是本發明需要解決的另一個問題。關聯的基本點為媒體流檢測結果為一個媒體通道的描述,從信令流中也可以提取出該媒體通道地址。因此,可以認定具有相同媒體通道地址的媒體流和信令流應當為同一個VoIP會話,并可以針對該VoIP會話保留相應的呼叫信息。
在關聯中會存在信令流檢測的結果和媒體流檢測的結果不能一一對應的情況,這通常是因為信令監視系統所支持的信令不完備所引起的。為此,可以通過在信令監視系統中增加協議處理模塊來獲得更多會話的詳細信息。在本發明提供的媒體流檢測結果和信令流監視結果(即提取的呼叫信息)關聯的處理機制中,不僅可以指示出需要增加協議的數量多少,而且還可以通過記錄原始不支持的信令數據包來為系統的升級提供分析數據。
如圖3所示,確定檢測結果的處理過程就是將媒體流檢測結果與信令流監視結果關聯的處理過程,具體包括以下步驟步驟31關聯流程首先根據信令監視處理過程獲取信令監視結果,并執行步驟33,根據所述的信令監視結果,即提取的呼叫信息建立呼叫記錄庫,呼叫記錄庫中保存著對應呼叫的媒體通道地址信息;步驟32關聯流程獲取媒體檢測過程的媒體檢測結果,包括媒體通道地址信息等;步驟34媒體流檢測中檢測出一條媒體流時,便從呼叫記錄庫中尋找是否有相同媒體通道地址的記錄,如果有,則執行步驟35,否則執行步驟36;步驟35將從媒體流中檢測到的信息接入對應的呼叫記錄。
步驟36確定該媒體流對應的信令沒有被檢測出來,因此,需要在呼叫記錄庫中增加新的記錄,同時記錄對應的信令的原始數據包,并保存,執行步驟37;步驟37可以人工或自動分析原始數據包獲得相應的協議特征,也就是根據原始數據包的特征進行分析,以便于在信令監視系統中增加相關協議的處理功能,升級信令監視模塊的協議處理部分。
由于對信令流監視并不是為了檢測VoIP,而只是為了提取一些的呼叫信息,因此,本發明采用了上述特殊的處理方法,從而有效地避免了比較復雜的協議處理和解析過程,大大地提高了信令監視的處理性能。
綜上所述,本發明由于采用了通過媒體流來檢測VoIP的方案,而且,目前絕大多數VoIP系統采用統一的RTP協議來傳輸媒體,所以本發明可以取得非常高的檢測效率,且檢測效率的高低與采取的呼叫控制協議無關。
同時,本發明中,還由于RTP協議相對簡單,對RTP協議的識別也比較容易;并且采用了數據包抽樣的方法,以及首先通過可疑端口黑名單機制將大部分數據流過濾的處理方式,從而降低了VoIP應用識別處理的負擔,并可以達到比較高的檢測性能。
另外,本發明中的媒體流識別機制是不需要升級;而信令流監視機制中只是采用相對統一的呼叫信息提取方法。所以增加新的信令協議只需將信令流監視的端口協議對應表,并做一些簡單的處理即可。
以上所述,僅為本發明較佳的具體實施方式
,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應該以權利要求的保護范圍為準。
權利要求
1.一種在IP網絡中檢測VoIP應用的實現方法,其特征在于,包括A、確定媒體流的特征參數信息;B、根據確定的媒體流特征參數信息檢查IP網絡傳輸的業務數據,并確定其中的VoIP業務流。
2.根據權利要求1所述的在IP網絡中檢測VoIP應用的實現方法,其特征在于,所述的步驟A包括確定媒體流的傳輸協議、已經確認是媒體流的流參數信息和/或已經確認不是媒體流的參數信息。
3.根據權利要求2所述的在IP網絡中檢測VoIP應用的實現方法,其特征在于,所述的媒體流的傳輸協議包括用戶數據協議UDP和實時傳輸協議RTP;所述的媒體流的流參數信息包括流通道的IP地址和端口號信息;所述的不是媒體流的參數信息包括端口信息。
4.根據權利要求1、2或3所述的在IP網絡中檢測VoIP應用的實現方法,其特征在于,所述的步驟B包括B1、根據媒體流的特征參數信息過濾IP網絡中無需檢測的業務流,確定需要檢測的業務流;B2、對需要檢測的業務流包含的數據包進行抽樣,獲取業務流中的部分數據包;B3、對所述的部分數據包進行媒體流檢測,確定其中的VoIP應用,并保存相應媒體流的媒體通道信息。
5.根據權利要求4所述的在IP網絡中檢測VoIP應用的實現方法,其特征在于,所述的步驟B還包括將步驟B2所述的部分數據包緩存于緩沖區,并在執行完成所述的步驟B3后,刪除緩存的部分數據包。
6.根據權利要求4所述的在IP網絡中檢測VoIP應用的實現方法,其特征在于,所述的步驟B3還包括將確定的VoIP應用的媒體流的流通道IP地址和端口號信息作為已經確認為媒體流的流參數信息保存。
7.根據權利要求4所述的在IP網絡中檢測VoIP應用的實現方法,其特征在于,該方法還包括C、對IP網絡中的信令流進行監視,確定其中的VoIP信令,并從所述的VoIP信令中提取呼叫信息。
8.根據權利要求7所述的在IP網絡中檢測VoIP應用的實現方法,其特征在于,所述的步驟C具體包括C1、根據配置的端口號信息及其對應的協議信息,對IP網絡中的信令流進行過濾處理,確定符合條件的信令;C2、將符合條件的信令根據對應的協議信息進行解析處理,確定出其中的VoIP信令;C3、從所述確定的VoIP信令中提取并保存相應的呼叫信息。
9.根據權利要求8所述的在IP網絡中檢測VoIP應用的實現方法,其特征在于,所述的步驟C1還包括根據記錄著配置的端口號信息的表中內容查詢端口協議匹配表獲取所述的端口號信息對應的協議信息;而且所述表中配置的端口號信息,以及所述端口協議匹配表中信息需要根據實際應用情況實時更新。
10.根據權利要求7所述的在IP網絡中檢測VoIP應用的實現方法,其特征在于,該方法還包括D、將保存的媒體通道信息和保存的呼叫信息進行匹配比較處理,并將其中媒體通道信息和呼叫信息匹配的媒體流記錄。
11.根據權利要求10所述的在IP網絡中檢測VoIP應用的實現方法,其特征在于,所述的步驟D具體包括D1、確定保存的媒體通道的地址信息,以及保存的呼叫信息中記錄的媒體通道的地址,并匹配比較;D2、當匹配比較出兩個相同的媒體通道地址時,在呼叫記錄庫中記錄相應的呼叫信息。
12.根據權利要求11所述的在IP網絡中檢測VoIP應用的實現方法,其特征在于,所述的步驟D2還包括新建一條呼叫記錄,記錄相應的原始IP信令包;自動或手動嘗試解析所述的原始IP信令包,并根據解析結果確定需要增加的協議信息和對應端口信息,并自動或手動的進行相應的升級處理。
全文摘要
本發明涉及一種在IP網絡中檢測VoIP應用的實現方法。該方法主要包括首先,通過檢測IP網絡中的具有媒體流特征的數據流;同時對信令流進行監視,并提取相應的呼叫信息;然后,利用媒體通道地址信息將通過媒體流檢測的結果和通過信令流監視的關聯起來。在本發明可以取得較高的檢測效率,并可以降低識別處理的負擔。因此,本發明可以達到比較高的檢測性能。另外,本發明的實現使得媒體流識別機制無需升級,從而簡化了VoIP檢測系統的實現方式。同時,輔以信令流的監視過程,克服了通過媒體流檢測VoIP應用不能獲取呼叫詳細記錄的缺點。最后,通過媒體流檢測結果和信令流監視結果的對比,使得系統在檢測VoIP應用的自學習和升級的功能。
文檔編號H04L12/56GK1838663SQ200510055658
公開日2006年9月27日 申請日期2005年3月22日 優先權日2005年3月22日
發明者劉利鋒, 鄭志彬, 劉廷永, 劉淑玲, 尹瀚 申請人:華為技術有限公司