在IP网络中检测VoIP应用的实现方法

文档序号:7616357阅读:144来源:国知局
专利名称:在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日
发明者刘利锋, 郑志彬, 刘廷永, 刘淑玲, 尹瀚 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1