`
Blackbaby
  • 浏览: 184872 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

VoIP穿越NAT和防火墙的方法

    博客分类:
  • sip
阅读更多

      一、NAT/ALG 方式

 

  普通NAT是通过修改UDP或TCP报文头部地址信息实现地址的转换,但对于VOIP应用,在TCP/UDP净载中也需带地址信息,ALG方式是指在私网中的VOIP终端在净载中填写的是其私网地址,此地址信息在通过NAT时被修改为NAT上对外的地址。

  此时当然要求ALG功能驻留在 NAT/Firewall设备中,要求这些设备本身具备应用识别的智能。支持IP 语音和视频协议(H323、SIP、 MGCP/H248)的识别和对NAT/Firewall的控制,同时每增加一种新的应用都将需要对 NAT/Firewall进行升级。

  在安全要求上还需要作一些折衷,因为ALG 不能识别加密后的报文内容,所以必须保证报文采用明文传送,这使得报文在公网中传送时有很大的安全隐患。

  NAT/ALG是支持VOIP NAT穿透的一种最简单的方式,但由于网络实际情况是已部署了大量的不支持此种特性的NAT/FW设备,因此,实际应用中,很难采用这种方式。

 

  二、MIDCOM 方式

 

  与NAT/ALG不同的 是,MIDCOM的基本框架是采用可信的第三方(MIDCOM Agent)对Middlebox (NAT/FW)进行控制,VOIP协议的识别不由Middlebox完成,而是由外部的MIDCOM Agent完成,因此VOIP使用的协议对Middlebox是透明的 .

  由于识别应用协议的功能从 Middlebox移到外部的MIDCOM Agent上,根据MIDCOM 的构,在不需要更改Middlebox基本特性的基础上,通过对MIDCOM Agent的升级就可以支持更多的新业务,这是相对NAT/ALG方式的一个很大的优势。

  在VOIP实际应用 中,Middlebox功能可驻留在NAT/Firewall,通过软交换设备(即MIDCOM Agent)对IP语音和视频协议(H323、SIP、MGCP/H248)的识别和对NAT/Firewall的控制,来完成VOIP应用穿越 NAT/Firewall .在安全性上,MIDCOM方式可支持控制报文的加密,可支持媒体流的加密,因此安全性比较高。

  如果在软交换设备上实现对 SIP/H323/MGCP/H248协议的识别,就只需在软交换和NAT/FW设备上增加MIDCOM协议即可,而且以后新的应用业务识别随着软交换的 支持而支持,此方案是一种比较有前途的解决方案,但要求现有的NAT/FW设备需升级支持MIDCOM协议,从这一点上来说,对已大量布署的NAT/FW 设备来说,也是很困难的,同NAT/ALG方式有相同的问题。

 

  三、STUN 方式

 

  解决穿透NAT问题的另一思路是,私 网中的VOIP终端通过某种机制预先得到出口NAT上的对外地址,然后在净载中所填写的地址信息直接填写出口 NAT上的对外地址,而不是私网内终端的私有IP地址,这样净载中的内容在经过NAT时就无需被修改了,只需按普通NAT流程转换报文头的IP地址即可, 净载中的 IP地址信息和报文头地址信息是一致的。STUN协议就是基于此思路来解决应用层地址的转换问题。

  STUN的全称是Simple Traversal of UDP Through Network Address Translators,即 UDP对NAT的简单穿越方式。 应用程序(即STUN CLIENT)向NAT外的STUN SERVER通过UDP发送请求STUN 消息, STUN SERVER收到请求消息,产生响应消息,响应消息中携带请求消息的源端口,即STUN CLIENT在NAT上对应的外部端口。然后响应消息通过NAT发送给STUN CLIENT,STUN CLIENT通过响应消息体中的内容得知其NAT上的外部地址,并将其填入以后呼叫协议的UDP负载中,告知对端,本端的RTP接收地址和端口号为NAT 外部的地址和端口号。由于通过STUN协议已在NAT上预先建立媒体流的NAT映射表项,故媒体流可顺利穿越NAT.

  STUN协议最大的优点是无需现有 NAT/FW设备做任何改动。由于实际应用中,已有大量的NAT/FW,并且这些NAT/FW并不支持VoIP的应用,如果用MIDCOM或NAT /ALG方式来解决此问题,需要替换现有的NAT/FW,这是不太容易的。而采用STUN方式无需改动NAT/FW,这是其最大优势,同时STUN方式可 在多个NAT串联的网络环境中使用,但MIDCOM方式则无法实现对多级NAT的有效控制。

  STUN的局限性在于需要VOIP终 端支持STUN CLIENT的功能,同时STUN并不适合支持TCP连接的穿越,因此不支持H323.另外 STUN方式不支持对防火墙的穿越,不支持对称NAT (Symmetric NAT)类型(在安全性要求较高的企业网中,出口NAT通常是这种类型)穿越。

 

  四、TURN方式

 

  TURN方式解决NAT问题的思路与 STUN相似,也是私网中的VOIP终端通过某种机制预先得公网上的服务地址(STUN方式得到的地址为出口 NAT上外部地址,TURN方式得到地址为TURN Server上的公网地址),然后在报文净载中所要求的地址信息就直接填写该公网地址。

  TURN的全称为Traversal Using Relay NAT,即通过Relay方式穿越NAT.TURN应用模型通过分配 TURN Server的地址和端口作为私网中VOIP终端对外的接受地址和端口,即私网终端发出的报文都要经过TURN Server进行Relay转发,这种方式除了具有STUN方式的优点外,还解决了STUN应用无法穿透对称NAT(Symmetric NAT)以及类似的Firewall设备的缺陷,同时TURN支持基于TCP的应用,如H323协议。此外TURN Server控制分配地址和端口,能分配RTP/RTCP地址对(RTCP端口号为RTP端口号加1)作为私网终端用户的接受地址,避免了STUN方式中 出口NAT对RTP/RTCP地址端口号的任意分配,使得客户端无法收到对端发来的RTCP报文(对端发RTCP报文时,目的端口号缺省按RTP端口号加 1发送)。

  TURN的局限性在于需要VOIP终端支持TURN Client,这一点同STUN一样对网络终端有要求。此外,所有报文都必须经过TURN Server转发,增大了包的延迟和丢包的可能性。

分享到:
评论

相关推荐

    NAT穿越技术,非常详细

    NAT穿越技术详细解析 NAT(Network Address Translation,网络地址...这些解决方案可以帮助解决NAT穿越问题,使得SIP信令可以成功穿越NAT,实现了VoIP(Voice over Internet Protocol,互联网电话)等应用的可靠通信。

    NAT原理与NAT的简单穿越

    常见的NAT穿越方法包括STUN(Simple Traversal of UDP through NAT)、ALG(Application-Level Gateway)和TURN(Traversal Using Relays around NAT)。 - STUN服务器:STUN服务器提供一个公网IP和端口,内网设备...

    SIP之穿越NAT.ppt

    每种方法都有其优缺点,实际应用中通常结合使用,以提供最可靠的SIP穿越NAT解决方案。例如,STUN和TURN常一起使用,STUN尝试直接穿透NAT,如果失败则转向TURN中继。而ALG和MidCom则更适用于网络管理和安全控制。总的...

    用UDP协议实现NAT穿透

    NAT穿透,又称为P2P(Peer-to-Peer)穿透,是解决NAT环境下两个内网主机直接通信的技术,这对于多人在线游戏、VoIP、远程桌面等应用尤为重要。 NAT的工作原理是,当内部网络中的设备向外部发送数据时,NAT设备会将...

    NAT网络穿越技术的研究.pdf

    NAT穿透技术在P2P(peer-to-peer)应用中尤其重要,如文件共享、在线游戏和VoIP服务。P2P应用通常需要内网设备直接通信,而NAT穿透技术可以帮助这些设备绕过NAT的限制,实现直接通信。 **四、实际应用与未来趋势** ...

    A New Method for Symmetric NAT Traversal in UDP and TCP

    ### 新方法实现对称NAT穿越的技术细节与实践 #### 摘要 本文提出了一种新型的网络地址转换(NAT)穿越方法,尤其针对UDP协议中的对称NAT穿越问题。现有的穿越技术,如通用即插即用(UPnP)、简单UDP NAT穿越(STUN...

    Anta科技:VoIP企业解决方案

    另外系统还具有私有VoIP语音网络,可以远端访问,SIP话机自动配置,采用先进的话音处理而带来的出众的VoIP语音质量以及由于具有自动NAT转换和穿越防火墙的能力从而确保在任何地方即插即用的创新功能。

    VOIP:IP语音技术

    因此,QoS(服务质量)策略如DiffServ、 RSVP和NAT穿越等技术用于确保语音通话质量。 5. **信令协议**:如SIP(会话初始化协议)和H.323,它们用于建立、管理和终止VOIP通话。SIP简洁且广泛应用,而H.323适合大型...

    Anta科技VOIP企业解决方案

    另外系统还具有私有VoIP语音网络,可以远端访问,SIP话机自动配置,采用先进的话音处理而带来的出众的VoIP语音质量以及由于具有自动NAT转换和穿越防火墙的能力从而确保在任何地方即插即用的创新功能。

    NAT Traversal for VoIP and Internet Communications using STUN, TURN and ICE

    ICE正逐渐成为事实的标准 本文介绍SIP中使用ICE穿越防火墙的技术 具体流程 图文并茂 一目了然

    Skype 协议分析(2006版)

    本文分析了Skype的关键技术,比如登录,穿越NAT和防火墙,呼叫信令,媒体传送,编码,语音会议,并且基于三种不同网络环境下进行了分析。详细的分析了Skype网络的传输和阻断,共享列表,系统调用。此外我们还画了一...

    winstun 0.96 setup

    Winstun 0.96正是为了解决这一难题,帮助用户检测并建立穿越NAT的通道。 安装Winstun 0.96的过程非常简单。首先,下载并运行“WinStunSetup-0-96.msi”安装包,按照向导提示逐步完成安装。在安装过程中,系统可能会...

    TCP打洞参考

    压缩包内的文件,如`TCP实现P2P通信`、`TCP穿越NAT的方法`、`TCP打洞(附源代码).doc`,很可能是详细的文档或源代码示例,用于解释TCP打洞的实现细节。`global.cpp`和`global.h`可能包含的是通用的函数和类定义,`...

    WebRTC零基础开发者教程(纯净版)

    7.6 基于ICE的VoIP穿越NAT改进方案 7.7 ubuntu安装使用stuntman 7.8 一个开源的ICE库——libnice介绍 7.9 4种利用TURN穿越对称型NAT方案的设计与实现 7.10 基于ICE方式SIP信令穿透Symmetric_NAT技术研究

    UDP外网打洞

    需要注意的是,UDP打洞并不总是成功的,因为不同的NAT类型和防火墙策略会影响其成功率。有些高级的NAT设备可能不允许这种类型的通信,或者需要更复杂的打洞技术,如ICE(Interactive Connectivity Establishment)、...

    Peer-to-Peer Communication Across Network Address Translators

    ### 穿越网络地址转换(NAT)的对等通信技术详解 ...总之,穿越NAT的P2P通信技术是当前互联网架构中的一个重要研究方向,打孔技术作为一种简单而有效的解决方案,对于推动P2P应用的发展具有重要意义。

    stun:Package stun提供基本功能,用于处理NAT会话遍历实用程序(STUN)中使用的消息,使用围绕NAT的中继进行遍历(TURN)和交互式连接建立(ICE)协议

    TURN服务器作为中继,转发两端的数据包,确保数据能够穿越NAT。这对于那些无法直接穿透NAT或存在防火墙限制的情况尤其有用。TURN服务器通常需要身份验证和授权,以防止滥用。 **ICE协议**: ICE是STUN和TURN的组合...

    STUN_RFC3489.pdf

    STUN协议的设计初衷是为了克服NAT设备对某些网络应用的限制,尤其是那些需要穿越NAT进行端到端连接的服务。它通过向特定的STUN服务器发送请求,获取自身在网络中的可见地址信息,从而使得应用程序能够了解自己的网络...

    产生用于IP语音通信的路由消息.zip

    在IP语音通信(VoIP,Voice over Internet Protocol)中,路由消息扮演着至关重要的角色,它们确保了语音数据包能够高效、准确地穿越互联网到达目的地。这个“产生用于IP语音通信的路由消息”主题主要涵盖了以下几个...

Global site tag (gtag.js) - Google Analytics