CN1885857A - 识别网络中的rtp媒体流的方法 - Google Patents
识别网络中的rtp媒体流的方法 Download PDFInfo
- Publication number
- CN1885857A CN1885857A CN 200510076899 CN200510076899A CN1885857A CN 1885857 A CN1885857 A CN 1885857A CN 200510076899 CN200510076899 CN 200510076899 CN 200510076899 A CN200510076899 A CN 200510076899A CN 1885857 A CN1885857 A CN 1885857A
- Authority
- CN
- China
- Prior art keywords
- message
- rtp
- byte
- value
- media stream
- 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.)
- Granted
Links
Abstract
本发明涉及一种识别网络中的RTP媒体流的方法。该方法主要包括:首先,确定网络中传输的实时传输协议RTP媒体流的业务报文区别与其他协议业务报文的特有的特征信息;然后,根据所述的特有的特征信息便可以识别网络中传输的RTP业务报文,如报文的第一个字节是否与RTP报文的第一个字节的值相符,报文中的实际数据字节数与RTP报文确定的数据字节数是否相符,等等。因此,本发明仅通过一个数据包便可以进行RTP媒体流的识别处理,从而可以有效克服通过信令流来定位RTP流的复杂性,提高了针对RTP媒体流的识别检测效率,提供了一种简单的识别RTP媒体流的方法。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种识别网络中的RTP媒体流的方法。
背景技术
网络中媒体流的传输,大部分用RTP(实时传输协议)承载,RTP流所在媒体通道的建立由通信双方通过相关的信令协议动态生成,为了能够对网络中传输的媒体流信息进行有效地管理和控制,需要能够有效识别出网络中传输的媒体流信息,即在网络中识别出RTP媒体流。
由于RTP通道是通过各种信令协议相互协商建立,因此,目前常规的用于识别网络中RTP媒体流的技术实现方案为检测IP网络中相关所有信令数据包,并通过对信令数据包进行解析,从而提取出动态协商的RTP通道地址,然后对所述的RTP通道进行监听,以实现网络中的RTP媒体流的识别。
不难看出,首先,由于很多信令为私有协议,这就使得检测者可能无法解析所有的信令数据包,使得漏检的可能性很大。
同时,由于上述检测识别过程中需要对信令的交互进行跟踪,因此,整个检测识别处理过程实现较为复杂,且效率较低。
发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种识别网络中的RTP媒体流的方法,一方面可以有效简化识别网络中RTP媒体流的处理过程,另一方面还可以有效提高识别RTP媒体流的效率。
本发明的目的是通过以下技术方案实现的:
本发明提供了一种识别网络中的RTP媒体流的方法,包括:
A、确定网络中传输的实时传输协议RTP媒体流的业务报文区别与其他协议业务报文的特有的特征信息;
B、根据所述的特有的特征信息识别网络中传输的RTP业务报文。
本发明中,步骤A所述的RTP媒体流的业务报文区别于其他协议业务报文的特征信息具体包括以下各项中的至少一项:
报文的第一个字节的前两位为10;
报文的第一个字节的第三位是0;
报文的第一个字节的第四位是0;
报文的第一个字节的第5至第8位为0000;
报文中的第二个字节的后七位值作为载荷类型PT值时,报文中的实际RTP负荷数据字节数为其对应的编码方式编码后的数据字节数的整数倍。
所述的步骤B包括:
B1、在网络中,提取传输的业务报文的特征信息;
B2、当提取的特征信息与所述的特有的特征信息符合时,则确定相应的业务报文为RTP媒体流的业务报文。
所述的步骤B2包括:
判断业务报文中的第一个字节的前两位是否为10、第三位是否为0、第四位是否为0和/或第5至第8位是否为0000,如果是,则该报文为RTP报文,否则,该报文不是RTP报文。
所述的步骤B2包括:
提取报文中的第一个字节的值,并将其与0XFF进行相与运算;
判断所述的相与运算结果是否为0X80,如果是,则确定该报文为RTP报文,否则,确认该报文不是RTP报文。
所述的步骤B2包括:
提取报文中的第一个字节的值,并判断所述的第一字节的值是否符合RTP报文中的第一字节的值,如果是,则确定该报文为RTP报文,否则,确认该报文不是RTP报文。
所述的步骤B2包括:
提取报文的第二个字节的后七位作为PT值,并根据该这PT值确定对应的编码方式,进而确定该编码方式一帧语音对应的编码后的数据字节数;
判断该报文的实际RTP符合数据字节数是否为所述的编码方式对应的一帧语音编码后的数据字节数的整数倍,如果是,则确定该报文为RTP报文,否则,确定该报文不是RTP报文。
所述的步骤B2包括:
B21、提取报文中的第一个字节的值,并判断该值是否与RTP报文的第一个字节的值相等,如果相等,则执行步骤B22,否则,确定该报文不是RTP报文;
B22、提取报文的第二个字节的后七位作为PT值,并根据该这PT值确定相应编码方式编码后的数据字节数;
B23、判断该报文的实际数据字节数是否为所述的编码方式对应的一帧语音编码后的数据字节数的整数倍,如果是,则确定该报文为RTP报文,否则,确定该报文不是RTP报文。
由上述本发明提供的技术方案可以看出,本发明所述的方法是根据RTP媒体流的业务包自身特有的特征信息进行RTP媒体流的识别处理,正是由于所采用的检测方法只用任何一个单独的数据包就可以判别,而且判别方法只需要简单的比较和加减求余运算,因此,使得本发明所述的RTP媒体流的识别检测方式具有实现简单,且识别效率高的优点。
也就是说,本发明有效克服通过信令流来定位RTP流的复杂性,提高了针对RTP媒体流的识别检测效率,即提供一种非常简单在网络中识别RTP流的方法。
附图说明
图1为本发明所述的方法的流程图。
具体实施方式
本发明在具体实现过程中是根据RTP媒体流的业务包的特征信息进行RTP媒体流的识别,为此,首先介绍一下在lP网络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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=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协议报文具有如下特有的特征信息:
(1)V为常量2;
(2)P为常量0;
(3)X为常量0;
(4)CC为常量0,但如果电话会议也检测,则CC将为非0值;
(5)M为非常量;
(6)常用PT值范围0~127;
(7)SequenceNumber/TimeStamp/SSRC均为任意值。
概括上述各特征信息可以获得五个RTP报文区别于其他协议报文的特有的特征信息,具体如下:
1、报文的第一个字节的前两位为10;
2、报文的第一个字节的第三位是0;
3、报文的第一个字节的第四位是0;
4、报文的第一个字节的第5至第8位为00;
5、报文中的第二个字节的后七位值作为载荷类型PT值时,其对应的编码方式编码后的数据字节数与报文中的实际数据字节数相等。
本发明中,根据所述的RTP业务报文的上特点确定出的区别于其他协议业务包的特征信息,进而确定相应的判断条件信息,具体包括:
判断条件一为:UDP(用户数据报协议)载荷(即UDP报文)中的第一个字节的前两位是否为10;
判断条件二为:UDP载荷中的第一个字节的第三位是否为0;
判断条件三为:UDP载荷中的第一个字节的前四位是否为0;
判断条件四为:UDP载荷中的第一个字节的第5、6、7、8位是否为0000;
判断条件五为:载荷(即报文)中的第二个字节的后七位看作是RTP中的PT值,根据PT值确定对应的编码方式,进而确定该帧编码后的数据字节数,然后,根据业务报文的实际数据字节数与编码方式对应的数据字节数是否相符;
所述的判断条件五具体为:设PT对应编码方式每一帧编码后的数据字节数为n(B),整个UDP载荷个数为N(B),则计算下列表达式的值:(N-12)%n是否为0;例如:某UDP载荷长度为172,载荷中第2字节值为0x00,则PT值为0x00,所对应的编码方式为PCMU(一种编码方式)编码,每一帧数据编码后的字节数为160,则(172-12)%160=0,则该条件满足。
上述过程中是以UDP协议报文为例对相应的判断条件进行的说明,上述判断条件同样适用于从其他协议报文中识别出RTP媒体流的处理,如ATM(异步传输模式)报文、TCP(传输控制协议)报文,等等
本发明所述的方法根据以上RTP识别条件的具体实现过程如图1所示,仍以从UDP报文中识别出RTP媒体流为例,具体包括以下处理步骤:
步骤11:提取网络中传输的UDP报文;
步骤12:判断报文中第一个字节的前两位是否为10,如果是,则该报文可能是RTP报文,继续执行步骤13,否则,该报文不是RTP报文,本次识别处理过程结束;
步骤13:提取报文中的第一个字节的第三位上的信息;
步骤14:判断报文中第一个字节的第三位是否为0,如果是,则该报文可能是RTP报文,继续执行步骤15,否则,该报文不是RTP报文,本次识别处理过程结束;
步骤15:提取报文中的第一个字节的第四位上的信息;
步骤16:判断报文中第一个字节的第四位是否为0,如果是,则该报文可能是RTP报文,继续执行步骤17,否则,该报文不是RTP报文,本次识别处理过程结束;
步骤17:提取报文中的第二个字节的后七位作为PT值,并确定报文中的实际数据字节数;
步骤18:根据所述的PT值确定对应的编码方式,进行确定该编码方式下的一帧语音编码后的数据字节数(为确定的值);
步骤19:判断报文中实际数据字节数与编码方式对应的数据字节数是否相同,如果是,则执行步骤110,否则,确定该报文不是RTP报文,本次识别处理过程结束;
步骤110:确定该报文为RTP报文。
在上述具体实现过程中主要涉及上述五个判断条件,具体为:判断报文中的第一个字节的前两位是否为10,第三位是否为0,第四位是否为0,第5、6、7、8位是否为00,以及根据报文中的第二个字节的确定的PT值对应的编码方式所对应的数据字节数与实际报文的数据字节数是否相等。对于这五个判断条件,在具体的RTP媒体流识别处理过程中可以任意组合应用其中的全部或部分判断条件,而且,各个判断条件的识别判断处理顺序也可以任意根据需要进行设置。
本发明在具体实现过程中还可以采用以下处理过程实现:
(1)提取网络中传输的UDP载荷(即UDP报文)中第一字节值,并将相应的值和0xFF进行相与运算,如果运算结果为0x80,则继续执行后续处理过程,即执行过程(2);否则,该报文不是RTP包;
或者,
也可以提取网络中传输的UDP载荷(即UDP报文)中第一字节值后,直接判断相应的值是否符合前面描述的RTP报文的第一字节的值,如果符合,则继续执行后续处理过程,即执行过程(2);否则,该报文不是RTP包;
(2)计算(N-12)%n是否为0,如果是,该数据包为RTP包,否则,该报文不是RTP包。
综上所述,本发明所述的方法由于所采用的检测方法只用任何一个单独的数据包就可以判别,而且判别方法只需要简单的比较和加减求余运算,因此,本发明具有实现简单,且效率较高的特点。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (8)
1、一种识别网络中的RTP媒体流的方法,其特征在于,包括:
A、确定网络中传输的实时传输协议RTP媒体流的业务报文区别与其他协议业务报文的特有的特征信息;
B、根据所述的特有的特征信息识别网络中传输的RTP业务报文。
2、根据权利要求1所述的识别网络中的RTP媒体流的方法,其特征在于,步骤A所述的RTP媒体流的业务报文区别于其他协议业务报文的特征信息具体包括以下各项中的至少一项:
报文的第一个字节的前两位为10;
报文的第一个字节的第三位是0;
报文的第一个字节的第四位是0;
报文的第一个字节的第5至第8位为0000;
报文中的第二个字节的后七位值作为载荷类型PT值时,报文中的实际RTP负荷数据字节数为其对应的编码方式编码后的数据字节数的整数倍。
3、根据权利要求1或2所述的识别网络中的RTP媒体流的方法,其特征在于,所述的步骤B包括:
B1、在网络中,提取传输的业务报文的特征信息;
B2、当提取的特征信息与所述的特有的特征信息符合时,则确定相应的业务报文为RTP媒体流的业务报文。
4、根据权利要求3所述的识别网络中的RTP媒体流的方法,其特征在于,所述的步骤B2包括:
判断业务报文中的第一个字节的前两位是否为10、第三位是否为0、第四位是否为0和/或第5至第8位是否为0000,如果是,则该报文为RTP报文,否则,该报文不是RTP报文。
5、根据权利要求3所述的识别网络中的RTP媒体流的方法,其特征在于,所述的步骤B2包括:
提取报文中的第一个字节的值,并将其与0XFF进行相与运算;
判断所述的相与运算结果是否为0X80,如果是,则确定该报文为RTP报文,否则,确认该报文不是RTP报文。
6、根据权利要求3所述的识别网络中的RTP媒体流的方法,其特征在于,所述的步骤B2包括:
提取报文中的第一个字节的值,并判断所述的第一字节的值是否符合RTP报文中的第一字节的值,如果是,则确定该报文为RTP报文,否则,确认该报文不是RTP报文。
7、根据权利要求3所述的识别网络中的RTP媒体流的方法,其特征在于,所述的步骤B2包括:
提取报文的第二个字节的后七位作为PT值,并根据该这PT值确定对应的编码方式,进而确定该编码方式一帧语音对应的编码后的数据字节数;
判断该报文的实际RTP符合数据字节数是否为所述的编码方式对应的一帧语音编码后的数据字节数的整数倍,如果是,则确定该报文为RTP报文,否则,确定该报文不是RTP报文。
8、根据权利要求3所述的识别网络中的RTP媒体流的方法,其特征在于,所述的步骤B2包括:
B21、提取报文中的第一个字节的值,并判断该值是否与RTP报文的第一个字节的值相等,如果相等,则执行步骤B22,否则,确定该报文不是RTP报文;
B22、提取报文的第二个字节的后七位作为PT值,并根据该这PT值确定相应编码方式编码后的数据字节数;
B23、判断该报文的实际数据字节数是否为所述的编码方式对应的一帧语音编码后的数据字节数的整数倍,如果是,则确定该报文为RTP报文,否则,确定该报文不是RTP报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100768996A CN100505756C (zh) | 2005-06-20 | 2005-06-20 | 识别网络中的rtp媒体流的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100768996A CN100505756C (zh) | 2005-06-20 | 2005-06-20 | 识别网络中的rtp媒体流的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1885857A true CN1885857A (zh) | 2006-12-27 |
CN100505756C CN100505756C (zh) | 2009-06-24 |
Family
ID=37583828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100768996A Expired - Fee Related CN100505756C (zh) | 2005-06-20 | 2005-06-20 | 识别网络中的rtp媒体流的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100505756C (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009117908A1 (zh) * | 2008-03-24 | 2009-10-01 | 华为技术有限公司 | 一种媒体流检测的方法和装置 |
WO2010031337A1 (zh) * | 2008-09-18 | 2010-03-25 | 华为技术有限公司 | 一种基于流的服务质量处理的方法、设备及系统 |
CN101127712B (zh) * | 2007-08-20 | 2011-05-25 | 中兴通讯股份有限公司 | 一种解决rtp会话中同步源标识冲突的方法 |
CN104506676A (zh) * | 2014-12-15 | 2015-04-08 | 广东欧珀移动通信有限公司 | 一种电池盖及终端 |
CN105991581A (zh) * | 2015-02-12 | 2016-10-05 | 杭州迪普科技有限公司 | 协议识别方法及装置 |
CN112751833A (zh) * | 2020-12-23 | 2021-05-04 | 北京天融信网络安全技术有限公司 | Rtp报文识别方法、装置、电子设备及可读存储介质 |
-
2005
- 2005-06-20 CN CNB2005100768996A patent/CN100505756C/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127712B (zh) * | 2007-08-20 | 2011-05-25 | 中兴通讯股份有限公司 | 一种解决rtp会话中同步源标识冲突的方法 |
WO2009117908A1 (zh) * | 2008-03-24 | 2009-10-01 | 华为技术有限公司 | 一种媒体流检测的方法和装置 |
WO2010031337A1 (zh) * | 2008-09-18 | 2010-03-25 | 华为技术有限公司 | 一种基于流的服务质量处理的方法、设备及系统 |
US8149720B2 (en) | 2008-09-18 | 2012-04-03 | Huawei Technologies Co., Ltd. | Method and apparatus for QoS control |
CN101364999B (zh) * | 2008-09-18 | 2012-07-04 | 华为技术有限公司 | 一种基于流的服务质量处理的方法、设备及系统 |
CN104506676A (zh) * | 2014-12-15 | 2015-04-08 | 广东欧珀移动通信有限公司 | 一种电池盖及终端 |
CN105991581A (zh) * | 2015-02-12 | 2016-10-05 | 杭州迪普科技有限公司 | 协议识别方法及装置 |
CN105991581B (zh) * | 2015-02-12 | 2019-01-22 | 杭州迪普科技股份有限公司 | 协议识别方法及装置 |
CN112751833A (zh) * | 2020-12-23 | 2021-05-04 | 北京天融信网络安全技术有限公司 | Rtp报文识别方法、装置、电子设备及可读存储介质 |
CN112751833B (zh) * | 2020-12-23 | 2023-01-10 | 北京天融信网络安全技术有限公司 | Rtp报文识别方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100505756C (zh) | 2009-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1885856A (zh) | 在网络中识别rtp媒体流的实现方法 | |
CN1174588C (zh) | 分组接收装置和分组传输方法 | |
CN1885857A (zh) | 识别网络中的rtp媒体流的方法 | |
US9392082B2 (en) | Communication interface and method for robust header compression of data flows | |
CN101057461A (zh) | 宽带无线通信系统中用于压缩首标的装置和方法 | |
CN1222114C (zh) | 首标压缩装置及首标压缩方法 | |
CN1375966A (zh) | 用实时包传输状态和传输路径阻塞状态的通信质量控制 | |
CN1694429A (zh) | 一种IPv6传感器网络中支持压缩包并行传输的实现方法 | |
CN1977516A (zh) | 无线通信系统上传输的多媒体数据的报头压缩 | |
CN1661989A (zh) | 通信终端 | |
CN1885799A (zh) | 快速检测以太网交换机环路故障的方法 | |
CN1729638A (zh) | 用于移动终端短数据突发通信的方法和设备 | |
ATE514298T1 (de) | Verfahren und vorrichtung zur paketkopf- komprimierung in einem drahtlosen netz | |
CN1694438A (zh) | 配置网关的方法以及网络实体 | |
CN1716943A (zh) | 获取隧道网关环境中路径最大传输长度的方法及系统 | |
CN1968278A (zh) | 数据包内容的分析处理方法及系统 | |
US20080037440A1 (en) | Detecting voice over internet protocol traffic | |
CN1469602A (zh) | 在网络环境中压缩标题和复用分组的装置和方法 | |
CN1835625A (zh) | 一种传输格式盲检测的方法 | |
CN111277679A (zh) | 基于LoRaWAN与IPv6协议的无线传感网络通信方法 | |
CN1909508A (zh) | 端口流控方法 | |
CN101043756A (zh) | 核心网ip化后特殊业务的处理方法、装置及系统 | |
CN1852596A (zh) | 区分业务级别发送寻呼消息的方法和系统 | |
CN101552728B (zh) | 一种面向IPv6的路径MTU发现方法及系统 | |
EP1341314A3 (en) | Improved huffman decoding method and apparatus |
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 |
Granted publication date: 20090624 Termination date: 20210620 |
|
CF01 | Termination of patent right due to non-payment of annual fee |