专利名称:一种VoIP中基于ICE协议的快速私网穿越方法
技术领域:
本发明属于通信技术领域,具体涉及ー种VoIP中基于ICE协议的快速私网穿越方法。
背景技术:
VoIP是Voice over Internet Protocol的缩写(业界一般称为IP电话),是把话音或传真转换成数据,然后与数据一起共享同一个IP网络(Internet互联网)。对于VoIP业务,其系统架构示意图如图I所示。NAT(Network Address Translation即网络地址转换)是伴随着ipv4地址的耗尽以及加入互联网的主机数的日益増加而产生的。私网和外网中间由NAT负责进行ip地址的转换,私网穿越和NAT穿越指的是同一技术,只是名称不同而已。随着VoIP技术的成熟和广泛应用,越来越多的企业和个人采用了 VoIP和软交换技术进行企业内部数据网络和语音网络的整合。但是,当前的网络实际情况是,由于IP地址紧缺以及安全等各种原因,大量的企业网和驻地网基本上都采用了私有IP地址通过出ロ的网络地址接入公网。这些技术在早期的Internet网络中起到了很大的作用,能够阻挡来自企业外部网络的攻击、节省IP地址、保护企业内部的数据安全。在VoIP应用中,多媒体会话信令协议是用于准备建立媒体流传输的代理之间交换信息的控制协议,例如SIP、RTSP、H.323等。然而,媒体流与信令流截然不同,它们所采用的网络通道也不一致。由于协议自身设计上的原因,使得媒体流无法直接穿透NAT环境。NAT环境阻碍主机进行P2P通信的主要原因是NAT环境不允许公网主机主动访问内网主机。这使得Internet上具有公网IP地址的主机不能主动访问NAT环境之后的主机,而位于不同NAT环境之后的主机之间更是无法相互识别因而不能直接交換信息。当前存在有如下解决方案ALG方式,MIDCOM方式,STUN方式,TURN方式,ICE方式,FULL PXOXY方式等,它们各自的特点具体如下I,ALGALG(应用层网关)方案指能识别指式协议(H. 323,SIP)的设备。在网络中増加ALG设备可以很好地配合NAT环境完成应用协议消息中的地址字段翻译。NAT和NAPT只能对IP报文的头部地址和TCP/UDP头部的端ロ信息进行转换,对于报文的数据部分可能包含IP地址或端ロ信息的特殊协议(如H. 323、SIP、MGCP),则无法实现有效的转换,而许多应用中却需要对数据包负载重的数据进行分析转换。例如ー个FTP服务器处于内网中,只有内网IP地址,该服务器在和公网主机建立会话的过程中,需要将自己的IP地址发送给对方,而这个地址信息是放在IP报文的数据部分,现有的NAT设备是无法对它进行地址转换的。当公网主机接收到这个私有地址并使用它时,是不可能建立连接的。增加应用层网关ALG之后,就可进ー步分析数据包负载内的数据,即应用层的数据。所以当网络中使用了 NAT设备来屏蔽内部IP地址时,应用层网关ALG就可以同时实行对业务流NAT环境的穿越了。ALG可以是单独地连接于公网和内网之间的设备,也可以内置于NAT或防火墙设备中。该方案涉及的相关协议时RFC3027。该方 案的优点是对于客户端不作要求,不需要在公网架设新的设备,并且没有安全问题。同时它还能优化下一代网络软交换系统的带宽使用(客户端之间直接建立连接)。该方案的缺点是升级时,需要对NAT设备也进行升级,这对目前我们所处的网络来说,将会是ー项非常艰巨的任务,在实际中很难实现,ALG方式的另ー个不足就是ALG必须透彻地理解应用协议,需要根据协议过程协调NAT的地址翻译过程,并同步修改数据包负载中的相关字段,这将会加重网关的负担,对于NAPT来说情况更复杂,处理开销过大,可能会影响了网络的正常运行,形成网络瓶颈。而且ALG无法识别加密报文内容,必须保证报文采用明文传送,使得在公网中传送时存在安全隐患。总而言之,该方案需要网关的支持,并且与应用协议相关度较高。因此,如果轻量级VoIP要采用ALG的方式进行NAT穿越吋,就无法对语音进行加密,需要权衡考虑。2,MIDCOMMIDCOM (中间盒通信)协议方式与ALG方式在功能上基本相同,也需要了解相应的工作机制,负责具体的应用处理,协助NAT—起对数据包进行处理。不同之处在于MIDCOM的框架结构采用可信的第三方(MIDC0M代理)对NAT进行控制。方案涉及相关协议RFC4097。该方案的优点是■ 与ALG方案类似,该方案的优点是对客户端不作要求,不需要在公网架设新的设备(需要在软交换中予以相应的支持),并且没有安全问题。它同时也能优化下一代网络团交换系统的带宽使用(客户端之间直接建立连接)。与ALG方案相比,MIDCOM方案组网的扩展性更好,MIDCOM代理的物理实体可以是代理服务器,所以在升级应用服务器的时候,不需要更改NAT基本特性,通过对MIDCOM代理服务器的升级就可以支持更多的新业务,这是MIDCOM相对ALG方式的一个很大的优势。该方案的缺点是同ALG方案一祥,MIDCOM方案的实行也需要网关的支持,另外MIDCOM技术的实施需要对服务器进行MIDCOM协议的升级扩展,因此该方案的实施过程中也会遇到投入较大、实现周期较长等问题。而且目前的MIDCOM代理方式还在研究过程中,并没有形成ー种成熟的产品,所以现阶段使用MIDCOM实现NAT穿越的实际应用并不是很多。3,STUNSTUN (Simple Traversal of UDP Through NAT,即 UDP 的简单私网穿越)方式是ー种UDP对NAT环境的简单穿越方式。其基本思路如图2所示局域网接入用户通过某种机制预先得到其内网地址对应在出ロ NAT环境上的公网地址,然后在其报文中的地址信息处直接填写出口 NAT环境上的公网地址,而不是用户的私有IP地址,这样其报文中的内容就无需被修改了,只需按普通NAT流程转换报文头部的IP地址即可。方案涉及相关协议RFC3489。该方案的优点是STUN协议最大的优点是无需现有NAT设备做任何改动。目前,网络中已有大量的NAT环境/防火墙,而且这些NAT环境/防火墙不一定支持VoIP应用。如果采用MIDCOM或ALG方式,则需要替换现有的NAT环境/防火墙,实施起来难度较大,且MIDCOM方式无法实现对多级NAT环境的有效控制。如果采用STUN方式,不但无需改动NAT环境/防火墙,而且能够很好地适应多个NAT环境串联的网络环境。该方案的缺点是不支持对称型NAT环境的穿越,并且需要在公网架设STUN服务器同时终端也要支持STUN协议。另外,STUN不适合支持TCP连接的穿越。4,TURNTURN (Traversal Using Relays around NAT即使用中继方式的私网穿越)方案采用中继的方式实现穿越,与STUN技术机制一致,采用服务器/客户端模式。其示意图如图3所示,通过访问处于公网中的服务器得到内网中主机所分配得到的分共地址,进而进行通信。不同的是在STUN方式中得到的公共地址是由NAT分配的,而TURN中内网主机得到的分共地址是由TURN服务器分配的。TURN能够分配TURN server的地址和端ロ作为客户端对外的接收地址和端ロ,即内网主机发出的报文都要经过TURN Server进行中继转发。TURN涉及相关协议=RFC 5766。
该方案的优点是除了具有STUN方案的优点(无需现有NAT设备做任何改动,适应多个NAT环境串联的网络环境)外,,TURN方案还解决了 STUN应用无法穿越对称型NAT环境的问题,事实上,TURN方案能够解决几平所有的NAT环境穿越及防火墙穿越。另外,TURN方案支持基于TCP的应用。该方案的缺点是同STUN方案一祥,TURN方案也需要在公网上架设TURN服务器,客户端也要支持TURN协议。由于需要TURN服务器进行中继转发,当数据量变得非常大时,也会造成网络瓶颈,而且由于所有报文(信令和媒体)都必须经过TURN服务器转发,増大了报文的延迟和丢包的可能性,会给QoS带来问题,同时占用大量的带宽。另外,TURN服务器有单点故障隐患。5, FULL PXOXYFULL PXOXY(全代理)方式利用转发设备将内网主机的所有数据信息进行处理和转发,通过这种方式实现对NAT环境的顺利穿越,其关键之处在于同时完成对终端呼叫信令的代理转发和媒体中继。内网主机产生的信令流与业务数据流首先通过代理设备,由代理设备对其进行解析,并将信息中的私有地址改为代理设备的公共IP地址与端ロ,完成修改后将信息发送到目的地。本方案与TURN方案的区别在于I) TURN方式是在TURN服务器与终端通过TURN协议交互时分配地址和端ロ,报文内部的地址信息由終端生成,TURN服务器对后续的报文根据分配的地址和端ロ信息做地址变换后中继转发;2) FULL PXOXY方式是通过对报文进行中继的设备对呼叫协议解析与处理,改写其中携帯的RTP/RTCP地址信息后转发信令报文,同时根据改写的RTP/RTCP地址信息对媒体报文地址变换后中继转发。该方案的优点优点是在这种方式下,无需对现有的NAT设备做任何改动,适应性非常强,同时私有网络中主机的应用程序也无需支持STUN和TURN协议,这是FULL PXOXY方式的ー个优势。像TURN方案一祥,FULL PXOXY同样能够解决几平所有的NAT环境穿越及防火墙穿越的问题,并且能够扩展提供QoS (服务质量)及安全应用。该方案的缺点是由于代理设备是所有信息的必经之处,需要对数据包进行集中的分析与处理,因此对设备的要求很高,而且FULL PXOXY方式会増加包的延时和丢包的可能性,可能会造成网络瓶颈,而且会有单点故障的可能。6, ICE
ICE 方案(Interactive Connectivity Establishment,交互式连通方案)被公认为是在非対称性NAT环境下首选的NAT穿越解决方案,ICE本身是ー种方法,它综合运用STUN、TURN等协议来提供ー个通用的解决方案,使之在最适合的情况下工作,以弥补単独使用其中任何一种所带来的固有缺陷。ICE涉及相关协议RFC 5245。该方案的优点是ICE方案能够综合地运用STUN,TURN协议,使之能够在最合适的情况下工作,以弥补単独使用其中一种所带来的固有缺陷。ICE最主要问题在于由于考虑多种网络环境,进而决策最佳穿越方案,这种决策因素的完备性直接降低了它的穿越速度,使得穿越效率还有很大可提升的空间。另外,该方案需要每ー个終端都支持ICE穿越方法,在开发上明显地增加了复杂性,而且网络还必须支持STUN、TURN等功能,实现起来较为复杂。各个现有方案的比较如表I所示
权利要求
1.一种VoIP中基于ICE协议的快速私网穿越方法,其特征在于所述方法首先进行NAT类型检测,检测结果为对称型NAT环境或非对称型NAT环境;对于对称型NAT环境,所述方法只针对主机候选地址和中继候选地址的连通性进行检查;对于非对称型NAT环境,所述方法只针对主机候选地址和服务器返回候选地址的连通性进行检查。
2.根据权利要求I所述的VoIP中基于ICE协议的快速私网穿越方法,其特征在于所述方法包括以下步骤 SI,开始; S2,NAT类型探测,同时完成地址收集的过程,此时仅收集主机候选地址和服务器返回候选地址;如果探测结果是不存在NAT环境,则进行媒体协商,然后转入第S5步;如果探测结果是存在NAT环境,则判断是否为对称型NAT环境,如果是对称型NAT环境,则进行TURNserver地址分配,然后进行地址配对和处理,再根据收集到的地址进行连通性检查,再转入第S3步;如果为非对称型NAT环境,则根据收集到的地址进行连通性检查,然后转入第S4 少; S3,进行媒体协商,然后转入第S5步; S4,进行媒体协商,然后转入第S5步; S5,结束。
3.根据权利要求2所述的VoIP中基于ICE协议的快速私网穿越方法,其特征在于 第SI步到第S5步是由VoIP客户端和服务器共同完成的,所有判断过程都是在VoIP客户端这侧进行的,但需要服务器返回消息的帮助;所述服务器包括TURN Server和STUN Server.
4.根据权利要求3所述的VoIP中基于ICE协议的快速私网穿越方法,其特征在于所述第S2步中,对于对称型NAT环境,所述根据收集到的地址进行连通性检查是指对主机候选地址和中继候选地址的连通性进行检查; 所述第S2步中,对于非对称型NAT环境,所述根据收集到的地址进行连通性检查是指对主机候选地址与服务器返回候选地址的连通性进行检查。
5.根据权利要求4所述的VoIP中基于ICE协议的快速私网穿越方法,其特征在于所述第S2步中的非对称型NAT环境包括全锥形NAT环境、地址受限型NAT环境和端口受限型NAT环境。
6.根据权利要求5所述的VoIP中基于ICE协议的快速私网穿越方法,其特征在于所述第S2步中的NAT类型探测具体包括以下步骤 Al等待,当从本地网卡上收集到主机候选地址后开始; A2第一次进行测试一,然后判断是否获得返回消息,如果否,则转入第A3步,如果是,则转入第A4步; A3判定为阻塞的UDP,然后转入第All步; A4收到返回消息后,判断映射IP和端口是否与主机相同,如果不同,则转入第A5步,如果相同,则转入第AlO步;所述返回消息中携带服务器返回候选地址; A5进行测试二,然后判断是否获得返回消息,如果否,则转入第A6步,如果是,则转入第A9步; A6第二次进行测试一,但该次测试使用与第一次测试一不同IP地址的服务器,然后判断映射IP与端口是否与第一次测试一返回的IP和端口相同,如果相同,则转入第A7步,如果不同,则转入第AS步; A7判定NAT类型为受限型NAT环境,然后转入第All步;所述受限型NAT环境包括端口受限型NAT环境和地址受限型NAT环境; A8判定NAT类型为对称型NAT环境,然后转入第All步; A9判定NAT类型为全锥形NAT环境,然后转入第All步; AlO进行测试二,然后判断是否获得返回消息,如果是,则判定为公网IP,然后转入第All步,如果否,则判定为对称防火墙,然后转入第All步; All结束NAT类型探测。
7.根据权利要求6所述的VoIP中基于ICE协议的快速私网穿越方法,其特征在于所述测试一是指给服务器发送消息,从服务器的返回消息中获得NAT给本机映射的IP和端□号; 所述测试二是指给服务器发送消息,要求服务器用不同的IP和端口号作为返回消息的源IP和端口号。
全文摘要
本发明提供了一种VoIP中基于ICE协议的快速私网穿越方法,属于通信技术领域。所述方法首先进行NAT类型检测,检测结果为对称型NAT环境或非对称型NAT环境;对于对称型NAT环境,所述方法只针对主机候选地址和中继候选地址的连通性进行检查;对于非对称型NAT环境,所述方法只针对主机候选地址和服务器返回候选地址的连通性进行检查。利用本发明方法减少了开销以及媒体连接建立成功的时延,而该时延对于语音类业务来讲又是非常重要的语音质量衡量参数,同时本发明方法中的连通性检查保证了同一私网环境下语音的高效传输。
文档编号H04L29/12GK102685268SQ20121016083
公开日2012年9月19日 申请日期2012年5月22日 优先权日2012年5月22日
发明者双锴, 徐鹏, 朱潇, 王玉龙, 苏森 申请人:北京邮电大学