主流视频通信软件旁路干扰算法的设计与实现

2014-09-18 00:16:14曹旭东李微微
电视技术 2014年19期
关键词:信令数据流通话

曹旭东,李微微

(中国石油大学 信息工程学院,北京102249)

三大运营商正式获取4G牌照,助力我国进入高清视频通信新时代,给网络视频电话带来了蓬勃的生命力。随着WiFi的大规模覆盖,3G到4G网络的快速发展,将给具有较低资费标准的VoIP视频通信软件创造更有竞争力的发展空间,国内主流的VoIP软件QQ,国际上的Yahoo Messenger,MSN,ICQ等都在视频通话软件市场上占据了较大的份额,现阶段更有许多非法组织大肆利用网络资源,开展不正当的网络视频业务,给网络安全造成了重大隐患,严重干扰了电信市场的运营秩序,违反了国家对VoIP业务的监管政策。在给客户带来满意的网络体验的同时,如何给VoIP业务提供可靠的安全保障、准确的流量分析、有效的管理和控制,都演变成了互联网行业、电信行业在创造产值、保护产值上技术发展的关键,本文针对这些问题设计了一种适合主流VoIP即时视频通话软件的旁路干扰算法,并对干扰结果进行了有效的验证。

1 技术发展背景

现阶段网络上的实际应用控制系统,主要有直路控制系统和旁路干扰系统[1]。

直路控制系统直接接入应用网络,当所分析信息流的数据包被流控设备探测到后,后面数据包信息将全部被丢弃,这条信息流因不能与服务器有效地交互信息导致中断,这种控制效果直接、明显,而且投入小,被广泛应用。但它也存在不可忽视的弊端,如果流控设备出现问题,它所应用的网络就会直接瘫痪。

旁路干扰系统如图1所示,通过镜像设备将网络中的数据流量复制传递给监控设备进行分析控制,不与网络发生直接联系,克服了直路控制系统直接作用于网络、改变网络结构、易引发由监控设备失效而产生不可估量损失的缺点。虽然其构造复杂,经济成本也有所提升,但是在核心网络部分,却逐渐代替直路控制系统,随着技术和网络QoS要求提升,在网络系统中逐渐占据重要地位。

目前VoIP的流量控制多采用直路控制系统[2],以实现较为明显的阻断效果,而本文针对VoIP软件中具有明显的信令流和数据流的映射关系,通过对信令流的准确识别和干扰,实现了旁路控制系统对数据流的有效阻断,更为简单和高效。

图1 VoIP旁路干扰系统

2 信令流和数据流协议原理分析

2.1 信令流SIP的传输分析

SIP[3](Session Initiation Protocol,会话初始协议)是由IETF(Internet工程任务组)提出的IP电话信令协议,可以很好地承载语音和视频等多媒体业务,在通信和网络研究领域中受到了极大关注,是主流VoIP视频通信软件中最常用的控制协议,对其数据流格式、字段含义的准确判断都是算法分析的基础。

SIP协议是一个应用层的信令控制协议,用于创建、修改和释放一个或多个参与者的会话,SIP协议不可以单独完成多媒体呼叫,必须要与其他协议一起才能组建完整的多媒体通信系统,与 RTP,RTCP,SDP,MGCP,DNS 等协议配合完成多媒体会话过程,所以进行算法分析时,SIP与RTP等协议的交互细节的设计是算法分析的难点。

信令流在传输层应识别为TCP协议,因为TCP有一系列机制来保证信令数据可靠、安全、高效率地到达,不丢包、不失序,所以在构造SIP控制流的时候,也要注意保障TCP协议的格式和数据的正确,使构造的控制流在每一层都可以满足流判定。

在应用层识别为SIP协议,SIP是一个基于文本的应用层协议,使用443端口号SSL信息。由于SIP协议本身无法允许SIP消息安全地穿过NAT和防火墙。所以,VoIP通信从SIP消息的特点出发,提出一种无需扩展SIP协议的应用层解决方案:引入STUN协议,取得IP地址和端口的映射关系,修改SIP和SDP消息的内容来保证通信连接,从而实现对NAT的穿越,所以在构造控制流的时候注意满足SIP外层封装,STUN交互,IP地址和端口设定等要求。

2.2 数据流RTP的传输分析

数据流在传输层识别为UDP协议,UDP为一种不可靠的网络协议,它没有TCP协议中植入的各种安全保障功能,也就降低了在实际执行过程中的大量系统开销,将安全和排序等功能移交给上层应用层来完成,极大降低了执行时间,使速度得到了保证,所以数据流的构造要注意UDP的协议和数据要求等。

在应用层识别为RTP协议进行数据传输。RTP提供具有实时特征的、端到端的数据传输业务,在RTP包头中包含装载数据的标示符、序列号、时间戳以及传送监视等,VoIP语音分组开销很大,采用RTP协议的VoIP格式,在这种方式中将多路语音插入语音数据段中,这样提高了传输效率。

RTP细分为RTP和RTCP协议,与下面的传输层、网络层无关,这两个协议配合使用,能以有效的反馈和最小的开销使传输速率最佳化,故特别适合传送网上的实时数据。

RTP和RTCP经常用于UDP之上,使用不同的端口。必须为RTP指定一个偶数UDP端口号,而为相应的RTCP指定与之相邻但比它大的基数UDP端口。工作时,RTP协议从上层接收媒体信息码流,装配成RTP数据包发送给下层,下层协议提供RTP和RTCP的分流。这些都是算法分析时的技术点,以及验证控制效果时判断构造的数据流是否达到预期目标的标准。

3 干扰算法的研究和设计过程

3.1 设计流程图

旁路干扰算法的设计流程如图2所示。

3.2 具体设计过程

1)干扰包的构造需要先捕获数据包,利用Winpcap软件系统,把参数设置为混杂模式,用以“嗅探”到流经所需网卡上所有的完整的数据包。

2)启动监听到数据包的线程InPacketData。

3)启动一个分析数据包的线程,判断捕获到数据包的长度,PacketLength=Header->Len,如果这个包的长度为0,或是捕获到的数据包为UDP包,即InPacketData+23=0x11,则丢弃这个数据包,继续抓包。

4)为了提高代码执行效率,截获数据包时只对正常数据进行分析处理,不对自己发送的伪造包进行分析处理,所以把自己构造的数据包Identification设置为1111。

InPktIpHeader- > Identification=0x1111,当扫描到标识为1111的数据包时,不会继续扫描数据包的内部特征,直接放弃这个数据包,继续嗅探。

5)如果截获的数据包满足基础条件,InPacketData+23=0x06,并且这个数据包有负载数据,则根据数据包

图2 VoIP旁路干扰算法的流程图

的封装格式和封装顺序,对数据包各层头部指针逐层定位,以便精确分析数据包的构造特征,也为后面构造符合协议特征的数据包做准备[4]。

6)对抓取的数据包进行第二层信息过滤,筛选符合自己条件的信令流的数据包,设置处理的起始条件。

7)构造有效的停止信令标识去篡改信令流的数据包信息[5]。

8)组合并计算干扰报文长度。

9)干扰报文指针重新定位。

10)IP校验。

11)TCP 校验[6]。

12)重置发送和接收地址。

//式中:SourceAdd、DestAdd分别为构造的干扰包的源地址和目的地址。

13)校验完成后,把构造的干扰包发送出去。

4 干扰算法的实现结果及其分析

本算法开发环境为VC6.0,操作系统为WIN7,测试软件为Yahoo Messenger(雅虎通),图3所示为实验测试环境。

图3 本次实验的网络拓扑图

验证结果:实际VoIP视频通话数据流被明显切断,物理通话结束。

图4为YahooMessenger视频通话被干扰后视频被切断的画面,视频媒体信息的建立及存在为3 min 3 s,然后视频画面出现明显的马赛克现象,对方的视频信息消失,同时提示警告:接收不到voice signal信号。

图4 Yahoo Messenger视频通话被干扰后视频被切断(截图)

数据分析:使用Wireshark网络封包分析软件记录本次试验样本的实际识别情况如表1所示。

表1 语音流的识别情况

数据表明这次视频通话信令流YahooMsg_Signal和数据流YahooMsg_Video被高效识别出来。

实验过程中捕获到了数据流开始到建立的过程,如图5所示,刚开始的CLASSIC-STUN是局域网穿越流量。按照五元组信息来判断,ip.addr==58.60.106.237 &&udp.port==27800 && ip.addr==10.2.0.246 && udp.port==8120为数据流,其负载逐渐稳定增大。

图5 Wireshark实时获取的数据流开始时流量(截图)

数据流被干扰后的结果,如图6所示,其中可以看出数据流的负载已逐渐降低,而VoIP视频流的实时传输需要较大的负载,已经不再支持视频传输,此时物理通话已经结束。

图6 Wireshark实时获取的被干扰后的数据流流量(截图)

图7为干扰验证过程中wireshark捕获的ip.addr==58.60.106.237 && udp.port==27800 && ip.addr==10.2.0.246 && udp.port==8120 数据流的流量图,分析此图可知,0~25 s左右时是SIP信令的建立过程,数据流尚未建立;25~65 s当SIP协议建立之后,随着STUN局域网穿越,RTP数据流开始建立而且负载不断增加;195 s左右时,发送干扰包,从流量图中可以看到,数据流被严重影响,数据包的负载明显降低,但是仍有少量的交互包,此时已经不可以视频通话。最后这条数据流结束,物理显示VoIP通话结束。

图7 约220 s数据流的流量图

5 结束语

本文设计了一种可以在主流VoIP视频通信软件上使用的旁路干扰算法,以国际通用的Yahoo!Messenger(v11.5.0.228-us)作为此次验证的正例样本。文中给出了比较详细的算法设计,直观地展示了被干扰后的视频通话状态,也提供了Wireshark捕获的数据流的情况和此数据流的流量图,佐证了本算法可以应用于主流的VoIP视频通信软件,具有可扩展性和应用性,具备良好的发展前景和商业价值。

:

[1]米淑云.IP网络流量监控系统的设计与实现[D].北京:北京邮电大学,2009.

[2]韩耀明.基于DPI技术的VoIP流量检测系统的设计与实现[D].北京:北京邮电大学,2010.

[3]张功国,陈莹星.实时视频中SIP与 RTSP的应用[J].电视技术,2013,37(9):3-9.

[4] CHEN Hongwei,YOU Fangping,ZHOU Xin,et al.The study of DPI identification technology based on sampling[J].Information Engineering and Computer Science,2009,33(4):375-380.

[5] 陈明.网络协议教程[M].北京:清华大学出版社,2004.

[6]赵川,伍瑞卿,樊丰.一种精简TCP/IP协议栈的设计与实现[J].电视技术,2010,34(S1):2-8.

猜你喜欢
信令数据流通话
汽车维修数据流基础(下)
SLS字段在七号信令中的运用
移动信令在交通大数据分析中的应用探索
《戊戌元日与友人通话》
中华诗词(2018年5期)2018-11-22 06:46:08
一种提高TCP与UDP数据流公平性的拥塞控制机制
基于信令分析的TD-LTE无线网络应用研究
消费导刊(2017年24期)2018-01-31 01:28:37
低成本视频通话APP
LTE网络信令采集数据的分析及探讨
互联网天地(2016年2期)2016-05-04 04:03:21
基于数据流聚类的多目标跟踪算法
北医三院 数据流疏通就诊量
中国卫生(2014年7期)2014-11-10 02:32:54