一种VoIP中基于语音可达性的融合穿越方法技术

技术编号:7789289 阅读:177 留言:0更新日期:2012-09-21 23:45
本发明专利技术提供了一种VoIP中基于语音可达性的融合穿越方法,属于通信领域。所述方法首先对系统架构中的防火墙进行探测,如果存在防火墙,则进行防火墙穿越;如果不存在防火墙,则进行NAT类型检测,检测结果为对称型NAT环境或非对称型NAT环境;对于对称型NAT环境,所述方法只针对主机候选地址和中继候选地址的连通性进行检查;对于非对称型NAT环境,所述方法只针对主机候选地址和服务器返回候选地址的连通性进行检查。本发明专利技术方法融合了防火墙穿越和NAT穿越两种穿越方案,能为处于防火墙和NAT独存或共存的各类不同网络环境下的用户终端提供一种通用的穿越方案。

【技术实现步骤摘要】

本专利技术属于通信领域,具体涉及。
技术介绍
随着VoIP(Voice over Internet Protocol的缩写(业界一般称为IP电话))和软交换技术的成熟和广泛应用,越来越多的企业和个人采用了 VoIP和软交换技术进行企业内部数据网络和语音网络的整合。但是,出于安全的考虑,在企业内部网络中存在大量的防火墙;同时,为了节省IPv4的地址,目前很多企业采用NAT (Network Address Translation即网络地址转换)技术,也就是私网,使内网中大量的主机通过少数几个IP访问Internet。这些技术在早期的Internet网络中起到了很大的作用,能够用来阻挡来自企业外部网络 攻击、节省IP地址、保护企业内部的数据安全。然而在VoIP的应用中,各种各样的业务要求和底层协议的特点,使得企业遗留的防火墙和NAT严重阻碍了 VoIP的应用。于是,如何使VoIP穿越企业遗留的防火墙就成了一个亟待解决的问题。目前在语音和视频通讯领域,私网穿越有如下方法应用层网关(ALG)、MIDC0M、STUN、TURN、完全代理(Full proxy)、ICE方案。防火墙穿越方案存在网关思路、代理思路、应用层网关思路、虚拟专用网(VPN)思路以及隧道穿越方案。因此,针对上述亟待解决的问题,即在VoIP中穿越私网与防火墙两种主要网络环境,目前主要有以下方法I,网关思路在传统PSTN网络中,可以使用网关把局域网上的IP语音和视频转换为公共电路交换网上的PSTN语音和视频。使用这样一个网关就不用关心网络防火墙的穿透问题,因为没有数据包要通过防火墙,这也解决了 NAT问题,所有到局域网内终端的呼叫都是可路由的,因为通过网关进入局域网的呼叫都是可路由的。但是,该方法的缺点是网关属于早期传统网络中使用的一种方法,同时也是一个局部解决方案,要求所有参与呼叫者在最后一道NAT和防火墙要有一个相应的网关。2,代理思路H. 323代理能解决NAT问题或者同时解决NAT和防火墙问题,这取决于代理如何被配置,代理其实是一种特殊类型的网关,但并不是把IP协议转换为别的,在代理两边使用的是相同的协议。代理使终端到终端的呼叫看起来像两个分离的呼叫一个是从私有网上的终端到代理,另一个是从代理到公众网上的终端,代理通过对这个呼叫进行中转解决了NAT问题。但是,该方法的缺点是这种解决方案典型应用是在防火墙后放一个H. 323代理,代理需要被分配公有IP地址。防火墙被配置允许代理和外部进行多媒体通讯。有时候沿着网络路径在许多位置都应用了 NAT设备,这时就需要在每一个使用NAT的地方放置代理。3,应用层网关应用层网关(Application layer gateways)是被设计能识别指定IP协议(如H. 323和SIP协议)的防火墙,它不是简单地察看包头信息来决定数据包是否可以通过,而是更深层的分析数据包负载内的数据,也就是应用层的数据。H. 323和SIP协议(SessionInitiation Protocol,是一个应用层的信令控制协议)都在负载中放了重要的控制信息,例如语音和视频终端使用哪一个数据端口来接收别的终端的语音和视频数据。通过分析哪一个端口需要打开,防火墙动态地打开那些被应用的端口,而所有别的端口依然安全地保持关闭状态。如果一个NAT被应用来屏蔽内部IP地址,这时ALG就需要一个代理,一些防火墙生产厂商把代理结合到ALG上越过NAT。但是,这种解决方案的缺点是由于要分析数据包负载,这样就加重了防火墙的处理任务,影响网络的运行,成为潜在的网络瓶颈;并且如果这儿有多层防火墙和NAT,则在呼叫路径上的每个防火墙都必须被升级来支持ALG功能;对大多数公司的网络来说防火墙是关键部件,在一些公司增加一个ALG或许是困难的。4,虚拟专用网(VPN) VPN技术是当前在IP网络上提供安全通讯的的方法之一,在同一个VPN网内可以解决防火墙穿越问题;是通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。由VPN的特性可以知道,VPN可以提供以上几种防火墙穿越方式所不能提供的安全性、可靠性。可以把VPN看做是对企业的内部网的扩展。严格的说VPN并不是为了穿越的防火墙和NAT而提出,但是其特性为防火墙穿越提供了现成的机制。VPN虽然解决了 VoIP的安全问题,但是同时因为它的报文需经过过SSL等加密技术加密后在网络上传输,无形中加重了报文处理的时间,对语音的实时性有着很大的影响,如果用户超过一定数目,通话质量将大大下降。同时,如果需要多个局域网互通,VPNServer必须知道所有客户子网的网络地址和掩码。这使得VPN的配置需求比较复杂,并且VPN只允许同一个VPN中的用户进行通信,无法与位于公众网的用户进行通信,所以VPN更加适合应用于企业分布式网络的连接与管理。5,隧道穿透方案一般企业网都不想升级或者改动他们的防火墙和NAT设备的配置,也不想让内外的交互通讯绕过这些设备,采用允许IP语音和视频穿越防火墙和NAT的隧道穿透方案也许是最合适的,隧道穿透解决方案由两个组件构成,Server软件和Client软件。Client放在防火墙内的私有网,它同时具有网守功能和代理功能,私有网内的终端注册到Client上,它和防火墙外的Server创建一个信令和控制通道,可以把所有的注册和呼叫控制信令转发到Server,也把音视频数据转发到Server,在转发时它把内部终端发送的和外部发往终端的数据包的地址和端口号替换为自己的。Server放在防火墙外的公众空间内。这个方法最大的缺点是所有经过防火墙的通讯都必须经由Server来进行中转,这会引起潜在的瓶颈,这个经由Client和Server的过程会增加少于5ms的延迟。但是这又是必须的,因为Server是防火墙唯一信任的设备。在一般包含有NAT实际网络场景中,防火墙总是伴随出现,在该情况下,前述的所有现有技术都无法在兼顾效率的同时有效对NAT和防火墙两者同时进行穿越,在考虑穿越效率的前提下,各现有技术针对的网络环境都比较单一,不能解决VoIP中最常见网络环境中NAT与防火墙穿越问题。
技术实现思路
本专利技术的目的在于解决上述现有技术中存在的难题,提供,解决语音通信过程中需要穿越的两种常见网络环境,即通信过程中存在的防火墙和NAT。本专利技术是通过以下技术方案实现的,所述方法首先对系统架构中的防火墙进行探测,如果存在防火墙,则进行防火墙穿越;如果不存在防火墙,则进行NAT类型检测,检测结果为对称型NAT环境或非对称型NAT环境;对于对称型NAT环境,所述方法只针对主机候选地址和中继候选地址的连通性进行检查;对于非对称型NAT环境,所述方法只针对主机候选地址和服务器返回候选地址的连通性进行检查。本专利技术方法包括以下步骤,这些步骤都是由软终端上的穿越模块完成的(1),开始;·(2),进行防火墙探测,探测的结果如果是存在防火墙,则转入步骤(3),如果不存在防火墙,则转入步骤(4);(3),进行防火墙穿越,然后转入步骤(7);(4), NAT类型探测,同时完成地址收集的过程,此时仅收集主机候选地址和服务器返回候选地址;如果探测结果是不存在NAT环境,则进行媒体协商,然本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种VoIP中基于语音可达性的融合穿越方法,其特征在于所述方法首先对系统架构中的防火墙进行探测,如果存在防火墙,则进行防火墙穿越;如果不存在防火墙,则进行NAT类型检测,检测结果为对称型NAT环境或非对称型NAT环境;对于对称型NAT环境,所述方法只针对主机候选地址和中继候选地址的连通性进行检查;对于非对称型NAT环境,所述方法只针对主机候选地址和服务器返回候选地址的连通性进行检查。2.根据权利要求I所述的VoIP中基于语音可达性的融合穿越方法,其特征在于所述方法包括以下步骤 (1),开始; (2),进行防火墙探测,探测的结果如果是存在防火墙,则转入步骤(3),如果不存在防火墙,则转入步骤(4); (3),进行防火墙穿越,然后转入步骤(7); (4),NAT类型探测,同时完成地址收集的过程,此时仅收集主机候选地址和服务器返回候选地址;如果探测结果是不存在NAT环境,则进行媒体协商,然后转入步骤(7);如果探测结果是存在NAT环境,则判断是否为对称型NAT环境,如果是对称型NAT环境,则进行TURNserver地址分配,然后进行地址配对和处理,再根据收集到的地址进行连通性检查,再转入步骤(5);如果为非对称型NAT环境,则根据收集到的地址进行连通性检查,然后转入步骤(6); (5)进行媒体协商,然后转入步骤(7); (6)进行媒体协商,然后转入步骤(7); (7)结束。3.根据权利要求2所述的VoIP中基于语音可达性的融合穿越方法,其特征在于所述第(2)步中的防火墙探测具体如下 (21)UDP端口检测 客户端给服务器的UDP端口发送消息,然后根据在规定时间内客户端是否收到服务器的返回消息来判断是否允许UDP数据包通过,如果允许,则转入步骤(22),如果不允许,则转入步骤(23);(22)DTLS 端口检测 客户端向服务器的DTLS端口发检测消息,如果收到检测通过的回复消息,则说明该端口开放,判定为不存在防火墙,然后转入步骤(25);如果没有收到回复消息,则转入步骤(23); (23)TLS端口检测 客户端通过TLS端口和服务器建立连接,并且发送一个检测消息到服务器,服务器的回复消息应该是检测通过; 客户端保持这个连接,从接收到检测通过的回复消息开始计时,若干分钟后发送重新检测消息到服务器,服务器的回复消息应该是重新检测通过; 如果在这两步检测中服务器返回正确的回复消息,则表示允许TLS通过,判定为不存在防火墙,转入步骤(25),否则表示不允许TLS通过,转入步骤(24);(24)HTTP 端口检测 客户端建...

【专利技术属性】
技术研发人员:双锴朱潇苏森徐鹏王玉龙
申请(专利权)人:北京邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1