CN100514966C - 在网络中识别rtp媒体流的实现方法 - Google Patents
在网络中识别rtp媒体流的实现方法 Download PDFInfo
- Publication number
- CN100514966C CN100514966C CNB2005100768981A CN200510076898A CN100514966C CN 100514966 C CN100514966 C CN 100514966C CN B2005100768981 A CNB2005100768981 A CN B2005100768981A CN 200510076898 A CN200510076898 A CN 200510076898A CN 100514966 C CN100514966 C CN 100514966C
- Authority
- CN
- China
- Prior art keywords
- media stream
- rtp media
- business
- stream
- business packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种在网络中识别RTP媒体流的实现方法。该方法主要包括:首先,确定网络中传输的同一实时传输协议RTP媒体流的各个业务包之间特有的特征信息,如同一RTP媒体流的各包大小、PT值、SSRC值是否一致等;然后,根据所述的特有的特征信息识别网络中传输的RTP业务包。本发明所述的方法可以通过对一个会话中的三个数据包的判别识别出是否为RTP媒体流,而且判别条件比较确定,因此,本发明的识别准确率和识别效率较高,同时具有实现简单的优点。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种在网络中识别RTP媒体流的实现方法。
背景技术
网络中媒体流的传输,大部分用RTP(实时传输协议)承载,RTP流所在媒体通道的建立由通信双方通过相关的信令协议动态生成,为了能够对网络中传输的媒体流信息进行有效地管理和控制,需要能够有效识别出网络中传输的媒体流信息,即在网络中识别出RTP媒体流。
由于RTP通道是通过各种信令协议相互协商建立,因此,目前常规的用于识别网络中RTP媒体流的技术实现方案为检测IP网络中相关所有信令数据包,并通过对信令数据包进行解析,从而提取出动态协商的RTP通道地址,然后对所述的RTP通道进行监听,以实现网络中的RTP媒体流的识别。
不难看出,首先,由于很多信令为私有协议,这就使得检测者可能无法解析所有的信令数据包,使得漏检的可能性很大。
同时,由于上述检测识别过程中需要对信令的交互进行跟踪,因此,整个检测识别处理过程实现较为复杂,且效率较低。
另外,由于实际的RTP数据包中,某些RTP协议头中的值为特定值,例如,绝大部分的RTP包有0x80开始,以及RTP载荷长度与编码类型存在一定的关系。因此,目前采用的另一种识别RTP媒体流的实现方案为利用该RTP包的上述特点进行识别处理。这种实现方式虽然非常简单,且效率优势也较为明显,但由于其基于一个假定实现,因此,相应的识别检测结果的准确性相对较差,导致误识别率较高。
发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种在网络中识别RTP媒体流的实现方法,从而可以简单、高效地准确识别出网络中传输的RTP包。
本发明的目的是通过以下技术方案实现的:
本发明提供了一种在网络中识别RTP媒体流的实现方法,包括:
A、确定网络中传输的同一实时传输协议RTP媒体流的各个业务包之间特有的特征信息;所述的特征信息具体包括以下各项中的至少一项:同一RTP媒体流的各个业务包大小一致,同一RTP媒体流的各个业务包的第二字节的后7位的载荷类型PT值一致,同一RTP媒体流的各个业务包的每9至12字节的同步源SSRC值相同,同一RTP媒体流的各个业务包的第3、4字节的序列号和第5至第8字节的时间戳规律递增;
B、根据所述的特有的特征信息识别网络中传输的RTP业务包;包括:B1、在网络中,提取传输的同一业务流的一组业务包之间的特征信息;B2、当提取的特征信息与所述的特有的特征信息符合时,则确定相应的业务包为RTP媒体流的业务包。
所述的一组业务包具体包括:至少同一业务流的三个业务包。
所述的步骤B2包括:
B21、判断所述的一组业务包载荷的大小、业务包第二字节的后7位值和/或业务包的每9至12字节值相互之间是否一致,如果一致,则执行步骤B22,否则,确认为非RTP媒体流;
B22、确定该业务流为RTP媒体流。
所述的步骤B2包括:
B23、判断一组业务包的序列号和时间戳是否为规则递增,如果是,则确认该业务流为RTP媒体流,否则,确认该业务流为非RTP媒体流。
所述的步骤B23具体包括:
分别计算一组业务包中的每相邻两个业务包的第3、4字节值的差值与第5至第8字节值的差值之间的比值;
判断计算出的各个比值是否相等,如果相等,则确认该业务流为RTP媒体流,否则,确认该业务流为非RTP媒体流。
所述的步骤B2包括:
当PT值为编码方式时,确定该编码方式对应的帧长度为T,单位为ms,对应的采样率S值,单位为Hz;
判断相邻的两个业务包的第3、4字节值的差值与第5至第8字节值的差值之间的比值是否等于所述的T与S的乘积,如果等于,则确认该业务流为RTP媒体流,否则,确认该业务流为非RTP媒体流。
由上述本发明提供的技术方案可以看出,本发明的实现有效克服了现有技术中通过信令流识别定位RTP流的复杂性,从而可以提高RTP媒体流的识别效率。同时,本发明还可以克服现有技术中另一种高误检测识别率的缺点,而提供了一种非常准确而且效率比较高的RTP检测识别方法。
由于本发明所述的方法是通过对一个会话中的三个数据包的判别进行RTP媒体流的识别处理,而且判别条件比较确定,没有基于任何假定的情况,因此,本发明的识别准确率和识别效率较高。即,本发明所述的RTP媒体流识别方法具有实现简单、识别效率高的优点。
附图说明
图1为本发明所述的方法的实现流程图。
具体实施方式
本发明在具体实现过程中是根据RTP媒体流的各个业务包间的区别于其他业务包间的特征信息进行RTP媒体流的识别,为此,首先介绍一下在IP网络RTP流的特征。
所述的RTP协议报文的格式如表1所示:
表1
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U=2|P|X| CC |M| PT | sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| synchronization source(SSRC)identifier |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| contributing source(CSRC) identifiers |
| ---- |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
其中:
V:版本号(Version):目前的版本为2,可以视为固定值;
P:填充标志位(Padding):一般情况下为0;
X:扩展位:一般为0;如果该位置1,则数据包中还需加一个扩展头;
CC:贡献源个数:一般值为0;
M:标志,非固定值,标记由Profile文件定义,profile可以改变该位的长度,但是要保持其和PT(payload type,载荷类型)总长度不变,即一共是8bit;
PT:载荷类型,为变化值,表示不同的媒体编码方式,但变化范围一般如编码方式与PT值对应表,即表2所示:
Sequence Number:序列号,初始值为随机值,以后每发一包加1。
TimeStamp:时间戳,初始值为当前时间值或随机值,以后按一定规律递增;对于语音来讲,时间戳是封包间隔和采样速率的乘积的递增的,比如,如果封包时间是20ms,而采样率是8000Hz,则每一块的时间戳递增是160;
SSRC:同步源,在一次会话中为一固定值;
CSRC:贡献源,一般情况下没有,在电话会议的时候,表示该语音流由多少流合成,与CC一起使用,只表示15路。超过15则被丢弃。
本发明的核心是根据上述RTP业务包的特点确定网络中传输的RTP媒体流的业务包之间区别于其他协议业务包的特有的特征信息,并根据所述的RTP媒体流的业务包特有的特征信息监测出网络中传输的RTP媒体流的业务包,从而实现有效识别网络中传输的RTP媒体流。
本发明中,首先分析RTP协议的业务包中每一字段的含义以及变化规律,根据相应的字段含义及变化规律可以发现同一RTP媒体流的各个业务包之间具有区别于其他业务包的特有的特征信息,所述的特征信息包括:
(1)基于RTP协议的同一RTP媒体流中各个业务包的大小一致;
(2)基于RTP协议的同一RTP媒体流中各个业务包的PT值一致;
(3)基于RTP协议的同一RTP媒体流的各个业务包的SSRC值相同;
(4)基于RTP协议的同一RTP媒体流中不同的各个业务包的序列号和时间戳有规律递增。
目前,所有的RTP媒体流的各个业务包之间都遵循以上所指出的规律,即符合上述各个特征信息的特点。而且,其他协议的业务包基本上均不符合上述各个特征信息。
基于上述各个特有的特征信息,本发明所述的方法的具体实现方式如图1所示,具体包括以下步骤:
步骤11:在某同一业务流中选取业务包1、2、3、......n;
所述的同一业务流可以为同一UDP会话流,具体是指源、目的地址及端口号相同的一组数据包;
本操作流程为了提取各业务包中的字段首先,假定其为RTP包并进行RTP解码,然后进行判别;
设某UDP(用户数据报协议)会话中UDP包的载荷长度分别为L1、L2、L3、......Ln;
所述的n的取值可以根据识别业务流的准确度,及允许的计算复杂度要求确定,通常只要选择3个业务包即可,当然也可以选择更多的业务包进行识别处理,但相应的计算复杂程序及识别效率将有所降低;
步骤12:对比选取的各个业务包的载荷长度是否相同,即判断L1、L2、......、Ln是否相同,如果相同,则确定该业务包可能为RTP业务包,继续执行步骤13,否则,确定该业务包琐RTP业务包,本次识别过程结束。
步骤13:提取各个业务包中的PT值;
即提取UDP会话中UDP载荷的第二字节的后7位,并分别定义为:PT1、PT2、PT3、......PTn;
步骤14:判断PT1=PT2=PT3=......=PTn等式是否成立,如果是,则确定该业务包可能为RTP业务包,并执行步骤15,继续进行其他判断,否则,确定该业务包为非RTP,本次识别过程结束。
步骤15:提取各个业务包中的SSRC值;
即提取UDP会话中UDP载荷的第9、10、11、12字节,分别定义为SSRC1、SSRC2、SSRC3、......SSRCn;
步骤16:判断SSRC1=SSRC2=SSRC3=......=SSRCn等式是否成立,如果是,则确定该业务包可能为RTP业务包,并执行步骤17,继续进行其他判断,否则,确定该业务包为非RTP,本次识别过程结束。
步骤17:提取各个业务包中的序列号和时间戳信息;
具体为提取UDP会话中UDP载荷的第3、4字节,分别定义为序列号SN1、SN2、SN3......SNn,提取UDP会话中UDP载荷的第5、6、7、8字节,分别定义为时间戳TS1、TS2、TS3......TSn;
步骤18:计算Fi=(TSi-TSj)/(SNi-SNj),任取i、j(i>j),并判断各个计算获得的Fi是否相同,如果相同,则执行步骤19,否则,该业务流不是RTP媒体流,本次RTP媒体流识别过程结束;
如果采用3个业务包进行识别处理,则该步骤判断(TS2-TS1)/(SN2-SN1)=(TS3-TS2)/(SN3-SN2)等式是否成立,如果成立,则执行步骤19,否则,判断该流为非RTP媒体流,过程结束。
步骤19:确定该业务包为RTP媒体流的业务包,即为RTP媒体流。
在上述本发明所述的具体实现的方法中,当所述的业务包中的PT值代表着RTP载荷的编码时,还可以采用如下方式实现,具体的实现方式为:从步骤11到步骤17的处理过程与图1描述的处理过程相同,故此处不再详述。该方法中,当执行步骤17后,则执行以下处理过程:
(1)假设每个PT所代表的编码方式对应的帧长度为T(ms),每个PT所代表的编码方式的采样率为S(Hz),并计算T×S值;
(2)计算Fi=(TSi-TSj)/(SNi-SNj),任取i、j(i>j);
(3)判断计算获得的Fi值是否等于T×S值,如果等于,则相应的UDP流为RTP媒体流,否则,确认该UDP流不是RTP媒体流。
本发明在具体实现过程中,可以在执行完图1中的步骤17后执行上述过程(1)至过程(3)进行RTP媒体流的进一步识别处理,也可在执行完图1中的步骤19后,继续执行上述过程(1)至过程(3)进行RTP媒体流的识别处理,从而进一步准确识别出网络中传输的RTP媒体流信息。
可以看出,本发明在具体实现过程中,涉及前面描述的五个识别RTP媒体流的判断条件,具体包括:同一RTP媒体流中的各个业务包的大小、PT值、SSRC值是否一致,同一RTP媒体流中各个业务包的序列号和时间戳是否规律递增,以及过程(1)到过程(3)描述的判断条件。对于这五个判断条件,在具体用于识别RTP媒体流过程中,可以任意组合采用上述全部或部分判断条件,区别在于使用上述全部判断条件进行RTP媒体流识别时准确率更高,但所需要的处理过程会较使用部分判断条件进行识别时稍长。而且,各个判断条件的执行顺序也可以任意设置。
综上所述,由于本发明根据一个会话中的三个数据包的就可以判别其是否为RTP媒体流,而且判别条件未基于任何假定,所以识别准确率和识别检测率较高,而且识别方法实现较为简单。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (6)
1、一种在网络中识别RTP媒体流的实现方法,其特征在于,包括:
A、确定网络中传输的同一实时传输协议RTP媒体流的各个业务包之间特有的特征信息;所述的特征信息具体包括以下各项中的至少一项:同一RTP媒体流的各个业务包大小一致,同一RTP媒体流的各个业务包的第二字节的后7位的载荷类型PT值一致,同一RTP媒体流的各个业务包的每9至12字节的同步源SSRC值相同,同一RTP媒体流的各个业务包的第3、4字节的序列号和第5至第8字节的时间戳规律递增;
B、根据所述的特有的特征信息识别网络中传输的RTP业务包;包括:B1、在网络中,提取传输的同一业务流的一组业务包之间的特征信息;B2、当提取的特征信息与所述的特有的特征信息符合时,则确定相应的业务包为RTP媒体流的业务包。
2、根据权利要求1所述的在网络中识别RTP媒体流的实现方法,其特征在于,所述的一组业务包具体包括:至少同一业务流的三个业务包。
3、根据权利要求1所述的在网络中识别RTP媒体流的实现方法,其特征在于,所述的步骤B2包括:
B21、判断所述的一组业务包载荷的大小、业务包第二字节的后7位值和/或业务包的每9至12字节值相互之间是否一致,如果一致,则执行步骤B22,否则,确认为非RTP媒体流;
B22、确定该业务流为RTP媒体流。
4、根据权利要求1或2所述的在网络中识别RTP媒体流的实现方法,其特征在于,所述的步骤B2包括:
B23、判断一组业务包的序列号和时间戳是否为规则递增,如果是,则确认该业务流为RTP媒体流,否则,确认该业务流为非RTP媒体流。
5、根据权利要求4所述的在网络中识别RTP媒体流的实现方法,其特征在于,所述的步骤B23具体包括:
分别计算一组业务包中的每相邻两个业务包的第3、4字节值的差值与第5至第8字节值的差值之间的比值;
判断计算出的各个比值是否相等,如果相等,则确认该业务流为RTP媒体流,否则,确认该业务流为非RTP媒体流。
6、根据权利要求1或2所述的网络中识别RTP媒体流的实现方法,其特征在于,所述的步骤B2包括:
当PT值为编码方式时,确定该编码方式对应的帧长度为T,单位为ms,对应的采样率S值,单位为Hz;
判断相邻的两个业务包的第3、4字节值的差值与第5至第8字节值的差值之间的比值是否等于所述的T与S的乘积,如果等于,则确认该业务流为RTP媒体流,否则,确认该业务流为非RTP媒体流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100768981A CN100514966C (zh) | 2005-06-20 | 2005-06-20 | 在网络中识别rtp媒体流的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100768981A CN100514966C (zh) | 2005-06-20 | 2005-06-20 | 在网络中识别rtp媒体流的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1885856A CN1885856A (zh) | 2006-12-27 |
CN100514966C true CN100514966C (zh) | 2009-07-15 |
Family
ID=37583827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100768981A Expired - Fee Related CN100514966C (zh) | 2005-06-20 | 2005-06-20 | 在网络中识别rtp媒体流的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100514966C (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100452728C (zh) * | 2006-08-30 | 2009-01-14 | 中国科学院计算技术研究所 | 一种识别rtp/rtcp流量的方法 |
CN101026502B (zh) * | 2007-04-09 | 2012-05-30 | 北京天勤信通科技有限公司 | 宽带网络综合性能管理平台 |
CN101039325B (zh) * | 2007-04-26 | 2010-12-29 | 中兴通讯股份有限公司 | 基于混合器的实时传输协议数据包配置方法 |
CN101369880B (zh) * | 2008-09-28 | 2012-09-19 | 华为技术有限公司 | 一种时间标签跳变的检测处理方法和装置 |
CN102761457B (zh) * | 2011-04-29 | 2016-03-30 | 中国移动通信集团浙江有限公司 | 网络信令监测方法及设备 |
CN102255906B (zh) * | 2011-07-08 | 2014-07-23 | 中国联合网络通信集团有限公司 | 数据发送和接收方法、设备及系统 |
CN105991581B (zh) * | 2015-02-12 | 2019-01-22 | 杭州迪普科技股份有限公司 | 协议识别方法及装置 |
CN105991353A (zh) * | 2015-07-27 | 2016-10-05 | 杭州迪普科技有限公司 | 故障定位的方法和装置 |
CN106850640A (zh) * | 2017-02-15 | 2017-06-13 | 北京浩瀚深度信息技术股份有限公司 | 基于序列号的rtp业务识别方法及系统 |
-
2005
- 2005-06-20 CN CNB2005100768981A patent/CN100514966C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1885856A (zh) | 2006-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100514966C (zh) | 在网络中识别rtp媒体流的实现方法 | |
Jiang et al. | Transparent cross-technology communication over data traffic | |
KR100523486B1 (ko) | 트래픽 측정 시스템 및 그의 트래픽 분석 방법 | |
US8306063B2 (en) | Real-time transport protocol stream detection system and method | |
CN1937541B (zh) | 一种网络性能测试方法 | |
CN101800671B (zh) | 一种h.264视频文件的丢包检测方法 | |
ZA200506973B (en) | Method for evaluating the bandwidth of a digital link | |
CN102217378B (zh) | 探测路径信息的方法、设备及系统 | |
EP1657875A1 (en) | Packet communication method and packet communication device | |
JP2004129275A (ja) | Rtcpsr/rrパケット情報を使用してrtpストリームを監視するシステム及び方法 | |
CN102223260A (zh) | 测试iptv视频数据流传输质量的方法、系统及装置 | |
CN110048962A (zh) | 一种网络流量分类的方法、系统及设备 | |
CN104283699A (zh) | 业务类型确定方法和装置 | |
US7433353B2 (en) | Data frame construction method and data processing method according to data frame in synchronous Ethernet | |
CN106789728A (zh) | 一种基于NetFPGA的VoIP流量实时识别方法 | |
JP2003244238A (ja) | トラヒック監視装置及びその方法、コンピュータプログラム | |
US20080037440A1 (en) | Detecting voice over internet protocol traffic | |
US7986634B2 (en) | Apparatus and method for measuring quality of sound encoded with a variable band multi-codec | |
EP2241065B1 (en) | Method and device for transport delay analysis | |
EP1457014B1 (en) | Improved hardware arrangement, terminal, and method for transferring an audio signal in a packet-switched communications network | |
CN104243225B (zh) | 一种基于深度包检测的流量识别方法 | |
EP1881641A1 (en) | A method for implementing online maintenance in the communication network | |
KR20090024332A (ko) | SIP/RTP를 이용하는 VoIP 음성 트래픽의 서비스품질 메트릭 모니터링 장치 및 방법 | |
CN110225212A (zh) | 一种VoIP语音恢复方法和装置 | |
CN109067625A (zh) | 一种业务通道性能的检测方法、设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090715 Termination date: 20210620 |