首页> 中国专利> 一种基于H.323协议的IP网络电话语音流量监测方法

一种基于H.323协议的IP网络电话语音流量监测方法

摘要

为提高现有基于H.323协议的IP网络电话语音流量监测技术的准确性,本发明公开了一种基于H.323协议的IP网络电话语音流量监测方法,包括呼叫初始化监测阶段,建立控制通道监测阶段,媒体传送通道监测阶段和结束呼叫监测阶段四个阶段。本发明所述方法能提高监测的准确性,克服因未多次动态分析会话的建立过程而无法监测VoIP语音数据流的缺陷,以提高网络检测和流量控制的效率和性能。

著录项

  • 公开/公告号CN101222383A

    专利类型发明专利

  • 公开/公告日2008-07-16

    原文格式PDF

  • 申请/专利权人 湖南大学;

    申请/专利号CN200810030533.9

  • 发明设计人 张大方;谢鲲;毕夏安;

    申请日2008-01-23

  • 分类号H04L12/26(20060101);H04L29/06(20060101);

  • 代理机构43113 长沙正奇专利事务所有限责任公司;

  • 代理人马强

  • 地址 410082 湖南省长沙市麓山南路一号

  • 入库时间 2023-12-17 20:23:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-03-28

    未缴年费专利权终止 IPC(主分类):H04L12/26 授权公告日:20100602 终止日期:20110123 申请日:20080123

    专利权的终止

  • 2010-06-02

    授权

    授权

  • 2008-09-10

    实质审查的生效

    实质审查的生效

  • 2008-07-16

    公开

    公开

说明书

技术领域

本发明涉及计算机网络流量监测分析技术,具体是一种基于H.323协议的IP网络电话(VoIP)语音流量监测方法。

背景技术

随着网络的发展和普及,IP网络电话(VoIP)变得越来越流行,其流量的迅速增长给网络运营带来极大的压力,对VoIP流量进行有效的控制也变得日趋紧迫。而对VoIP流量的监测则是网络控制的基础。目前大多数厂商针对于IP网络电话技术都是在ITU-T制定的H.323标准基础之上开发制造的,因此基于H.323协议的流量在网络实际传输的VoIP语音流量中占有很大的比重。H.323协议的VoIP流量监测对于网络测试和网络控制都具有很重要的意义。

其中流量监测是指利用流以及流中报文的某些信息将网络上的流分成既定的若干类别(如长流/短流,快流/慢流,或者各种协议类型的流)。已有的流量监测方法,根据监测所依据信息的不同可分为基于端口的流量监测、基于特征的流量监测。

现有最简单的流量监测方法是基于传输层端口的监测。传统的应用层协议监测算法只利用了端口号一维信息,其根据各个应用层协议在IANA中注册的端口号来标识协议。例如,若某个TCP流使用了端口号80、8080或443,则将其标记为Web流量。这种方法简单,开销很小,易实现、但最大的缺点是不准确,尤其是对一些新型业务,如P2P、VoIP应用。这些新业务为了能够防止被阻断,并不采用静态端口,而是通过动态分配的方式。

基于特征的流量监测方法是根据不同应用表现的不同特征(Signature)来监测数据包所对应的业务。特征可以是报文中的特征字符串,也可以是业务行为特征,或者是一些统计特性。对于特征字符串,不同协议的特征字符串不同,需要针对各个协议分析其特征字符串。基于统计特性的监测方法在实时流量监测时存在困难。根据特征分析监测方法的扩展性差,需要大量的报文事前分析来确定特征。目前新型业务基于H.323协议的语音通信的特征尚不清楚。

基于传输层端口的流量监测方法简单易于实现但准确性不高;基于流量特征和基于协议流程分析的监测方法在实时性、扩展性方面存在不足。目前对新型业务流量监测的研究大多集中在对P2P流量的监测上,对基于H.323协议的语音通信监测的研究甚少;事实上能够直接部署到实际链路的VoIP流量监测系统并不成熟。

而对于基于H.323协议的语音通信流量,一个完整的通信流程会涉及到多个会话的建立与协商,即控制会话和语音会话;一个会话(Session)是指用户间的数据交换过程,通过控制会话建立通信实体的连接、协商语音数据传输参数、打开逻辑通道和关闭逻辑通道撤销传输。语音会话的端口、协议信息是在控制会话中动态协商的。

发明内容

针对上述现有技术,本发明目的旨在克服现有技术存在的缺陷,针对H.323协议特征和基于H.323协议的语音通信的协议会话流程分析提出一种基于H.323协议的IP网络电话语音流量监测方法,通过深入分析基于H.323协议的语音会话的过程来提取元组,从控制会话中提取语音会话信息,根据这些信息来监测该应用涉及的语音会话和整个业务的通信流量,达到精确监测基于H.323协议的VoIP语音流量目的,以提高网络检测和流量控制的效率和性能。

为达到上述目的,本发明提出所述基于H.323协议的IP网络电话语音流量监测方法,包括呼叫初始化监测阶段,建立控制通道监测阶段,媒体传送通道监测阶段和结束呼叫监测阶段四个阶段:

所述呼叫初始化监测阶段,即建立呼叫信令通道,在两个IP终端建立一个基于H.323协议的语音会话的点到点呼叫,使用TCP协议进行呼叫建立,此时捕获源端口的TCP数据帧获得源IP地址,捕获目的为源IP地址的TCP数据帧得到下一次会话的IP地址和端口;

所述建立控制通道监测阶段,使用TCP协议进行控制连接,通过捕获地址为源IP地址和目的端IP地址,端口为目的端的数据帧,获得音、视频传输的媒体传送通道端口号;

所述媒体传送通道监测阶段,目的是获得会话的最终的媒体传送信息,即通信实体之间建立的基于H.323协议的IP网络电话的流信息个数。因为音频和视频(基于媒体传输协议RTP)以及它们的控制信息(基于媒体传输控制协议RTCP)都会被认为是不同的流,所以该过程需要监测多条基于UDP协议的连接,需要对这些流进行存储、匹配,维护;

所述结束呼叫监测阶段,得到基于H.323协议的VoIP语音流量撤销会话的结束信息后,结束监测过程。

所述基于H.323协议的IP网络电话有多个时,还需要进行通信实体的流信息存储和流识别,识别出基于H.323协议的IP网络电话建立会话的控制报文后,需要分析该报文,从中提取出需要的有关动态会话的信息,并且用相应的流存储结构存储这些通信实体的流元组信息。

所述流信息存储采用的存储结构为Hash链表,首先计算Hash值,再遍历该Hash值下面的链表结点,进行相应的插入、搜索、删除操作,所述流信息存储和流识别的过程为:

(1)对捕获的数据包提取报头的元组信息,搜索Hash表,若与Hash表中某个基于H.323协议的IP网络电话语音流结点元组信息匹配,则标记该数据包,进入步骤(2);否则转步骤(5);

(2)确定是否是基于H.323协议的IP网络电话语音流的请求报文;若是,则将此流(vsource_ip,vsource_port,vdest_ip,vdest_port,TCP)标记为控制会话,进入步骤(3);否则转步骤(5);

(3)确定是否是基于H.323协议的IP网络电话语音流的应答报文;若是,则将流(vsource_ip,vsource_port,vdest_ip,vdest_port,TCP)标记为控制会话,进入步骤(4);否则转步骤(5);

(4)将流(vsource_ip,vsource_port,vdest_ip,vdest_port,TCP)写入Hash表;进入步骤(5);

(5)返回0;分析下一个数据包;

最后进行对基于H.323协议的IP网络电话语音流的维护,当该基于H.323协议的IP网络电话语音流结束后,在Hash表中将这个流结点删除。

综上所述,本发明通过对会话过程中语音包的包头信息和元组结构进行匹配,进而对通信的整个流量实施监测。通过对多方会话过程建立提取多个通信对等实体的元组信息,对部分流可以进行归并,对整个流信息的节点进行老化更新,进而对多方通信的整个流量实现监测。对比现有的技术,该方法能有效提高监测的准确性。

附图说明

图1是本发明中呼叫初始化监测阶段示意图;

图2是本发明中建立控制通道监测阶段示意图;

图3是本发明中媒体传送通道监测阶段示意图;

图4是本发明整体监测流程示意图;

图5是本发明中流存储结构示意图。

具体实施方式

如图4,本实施例提供基于H.323协议的IP网络电话语音流量监测方法,包括呼叫初始化监测阶段,建立控制通道监测阶段,媒体传送通道监测阶段和结束呼叫监测阶段四个阶段:

第一阶段如图1所示,呼叫初始化监测阶段,在两个IP终端建立一个基于H.323协议的IP网络电话的点到点呼叫,使用TCP协议建立呼叫连接。这个连接承载的是H.225协议中所定义的呼叫建立消息(Q.931通道或者呼叫信令通道)呼叫初始化,终端A可以建立一个端口号为1720的TCP连接,向终端B发出建立连接消息。建立连接消息在H.225协议中定义:在此消息中有一个用户到用户的基于H.323协议通信数据单元(PDU)中包含了一组目的地址别名,可以通过解析该目的地址别名获得普通的电话号码。当终端B收到建立连接消息后,立即响应。如果终端B应答这个呼叫,就发出一个连接消息,此消息包含一个用户到用户的连接信息单元,该信息单元中就包含了终端B希望与终端A建立连接的自己的IP地址和端口号。此阶段从监测目的端口为1720的TCP数据帧开始,获得控制通道的端口。

第二阶段如图2所示,建立控制通道监测阶段,使用TCP协议进行呼叫控制连接。通过捕获地址为源IP地址和目的端IP地址,端口为目的端的数据帧,获得音、视频传输的媒体传送通道使用的端口号;此时终端B的IP和端口由前一个呼叫信令通道的连接消息得出。在收到B的端口号之后,主叫A立即打开这条基于H.245协议的控制通道,且该通道在整个通话过程中保持。此阶段的目的是获得基于H.323协议的IP网络电话的媒体传送通道使用的端口号。

第三阶段如图3所示,所述媒体传送通道监测阶段,包括三个步骤:能力协商;主/从(Master/Slave)确认、呼叫开始(媒体传送通道协商),最终获得终端A和终端B会话的媒体传送信息。为了打开终端B的语音会话通道,终端A发送一条基于H.245协议的消息打开逻辑通道(OpenLogicalChannel),这里面包含终端B发送给终端A的基于媒体传输控制协议(RTCP)的通信报文的IP地址和端口。如果终端B已经准备好接收终端A的数据,那么终端B应该立刻对这个逻辑通道发送确认消息(OpenLogicalChannel ACK);这个消息包含终端A发送基于媒体传输协议(RTP)的报文通信端口,以及终端A发送基于媒体传输控制协议(RTCP)的报文通信端口。这样就打开了一条单向从终端A到终端B的媒体传送通道,和该媒体通道的媒体传输控制协议(RTCP)使用的双向通道。在监测时需要注意的是:H.323协议对每个会话使用唯一的媒体传输协议(RTP)和媒体传输控制协议(RTCP)端口对。在终端之间有三种主要会话:音频会话(会话ID1)、视频会话(会话ID2)和数据会话(会话ID3)。对于每个会话来说只能使用一个媒体传输控制协议(RTCP)端口,而媒体传输协议(RTP)通道是单向建立的,即存在终端A到终端B和终端B到终端A的RTP流,但是两边的媒体传输控制协议(RTCP)发送者和接收者报告使用同一个UDP端口。数据会话一般使用TCP协议。此阶段通过以上步骤可以监测指定UDP端口的多条流信息。

第四阶段:结束呼叫监测阶段,得到基于H.323协议的VoIP语音流量撤销会话的结束信息后,结束监测过程。

结束呼叫的过程是终端A必须向每一条打开的逻辑通道(媒体通道)发送关闭逻辑通道(CloseLogicChannel)消息。终端B利用确认关闭逻辑通道(CloseLogicChannelAck)消息应答。在所有的逻辑通道都已经关闭之后,终端A发送一条基于H.245协议的消息结束会话命令(EndSessionCommand),终端B也向终端A发送同一条消息。此阶段确定语音流的结束,以便更新流信息。

当存在多个基于H.323协议的IP网络电话语音通话时,建立一些动态的业务流匹配结构。在识别出基于H.323协议的IP网络电话建立会话的控制报文后,需要分析该报文,从中提取出需要的有关动态会话的信息,并且用相应的流存储结构存储这些流信息。本实施例中流存储结构是Hash链表,如图5所示,流插入、搜索、删除都是首先计算Hash值,再遍历该Hash值下面的链表结点,进行相应的插入、搜索、删除操作。对整个基于H.323协议的语音通信的流程的监测算法简述如下:

(1)对捕获的数据包提取报头的元组信息,搜索Hash表,若与Hash表中某个基于H.323协议的IP网络电话语音流结点元组信息匹配,则标记该数据包(nfmark=1);否则转入步骤(5)。

(2)确定是否是基于H.323协议的IP网络电话的会话请求报文;若是,则将通信实体的元组信息作为一个流(vsource_ip,vsource_port,vdest_ip,vdest_port,TCP)标记为控制会话,进入步骤(3);否则转入步骤(5)。

(3)确定是否是基于H.323协议的IP网络电话的会话应答报文;若是,则将通信实体的元组信息作为一个流(vsource_ip,vsource_port,vdest_ip,vdest_port,TCP)标记为控制会话,进入步骤(4);否则转入步骤(5)。

(4)将流(vsource_ip,vsource_port,vdest_ip,vdest_port,TCP)写入Hash表;进入步骤(5)。

(5)返回0;分析下一个数据包。

在算法中还有一项是对流信息的维护,一个会话流在它结束后10秒钟就会被撤销,即在Hash表中将这个基于H.323协议的话语音流结点删除,上述识别算法将在30秒钟遍历一次Hash表予以维护。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号