VoIP穿越NAT和防火墙的方法

一、NAT/ALG 方式普通NAT是通过修改UDP或TCP报文头部地址信息实现地址的转换,但对于VOIP应用,在TCP/UDP净载中也需带地址信息,ALG方式是指在私网中的VOIP终端在净载中
填写的是其私网地址,此地址信息在通过NAT时被修改为NAT上对外的地址。语音和视频协议(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上的公网地址),然后在报文净载中所要求的地址信息就直接填写该公网地址。[
Page]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转发,增大了包的延迟和丢包的可能性。【责任编辑:赵毅 TEL:(010)68476636-8001】 给力(0票)动心(0票)废话(0票)专业(0票)标题党(0票)路过(0票) 原文:VoIP穿越NAT和防火墙的方法 返回网络安全首页

时间: 2024-10-27 05:11:07

VoIP穿越NAT和防火墙的方法的相关文章

TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞

这个标题用了两个顿号三个名称,其实说得是同一个东西,只是网上有不同的说法罢了,另外好像还有人叫TCP打孔(我的朋友小妞听说后问"要打孔啊,要不要我帮你去借个电钻过来啊?""~!·¥%--·!"). 闲话少说,我们先看一下技术背景: Internet的迅速发展以及IPv4 地址数量的限制使得网络地址翻译(NAT,Network Address Trans2lation)设备得到广泛应用.NAT设备允许处于同一NAT后的多台主机共享一个公网(本文将处于同一NAT后的网络

win7关闭防火墙的方法

win7关闭防火墙的方法和具体步骤如下: 1.依次打开开始--控制面板, 2.点击"Windows防火墙"选项进入, 3.再选择"打开或者关闭windows防火墙"点击进入, 4.选择防火墙关闭,确定.

win7系统关闭360防火墙的方法

  win7系统关闭360防火墙的方法.说到360安全卫士相信大家都比较熟悉了, 360安全卫士是大家使用比较多的一款电脑防护软件.很多win7系统用户都在自己电脑中安装360安全卫士,但是在运行360安全卫士的时候会出现误报拦截,特别是360防火墙功能,提醒的次数比较频繁,每次都要手动关闭,非常麻烦.有什么方法可以解决此问题吗?其实win7系统只要关闭360防火墙就可以了,本文教程以win7 64位旗舰版下载为例子,给大家讲解win7系统关闭360防火墙的方法. 具体方法如下: 1.双击右下角

[SIP]SIP之穿越NAT 幻灯片

这是我编写的第5个针对SIP穿越NAT的幻灯片,讲述了一般穿越NAT的几种方案,可用于Team内讲解并演示SIP协议的讲座. 本讲义的版权归郑昀所有.允许拷贝.分发和在"GNU Free Documentation License"下的定制.对于关注SIP应用的你,任何的建议和修正都是欢迎的,哪怕仅仅是一句鼓励话,我希望这份讲义会被不断的改进.  下载地址: <SIP之穿越NAT.ppt> 地址已无效,请看下面提示: ============================

vpn nat- vpn穿越nat的问题,相当的困惑,请高手指点

问题描述 vpn穿越nat的问题,相当的困惑,请高手指点 我是做3G无线路由开发的,路由的实现原理是NAPT, vpn有三种实现方式:pptp,l2tp,ipsec,网上都有说明怎么实现vpn穿越NAT, 相关介绍有: NAPT原理:http://linux.chinaunix.net/techdoc/beginner/2009/05/21/1113964.shtml vpn不能穿越NAT的原因:http://bbs.csdn.net/topics/360130768 vpn怎么才能穿越NAT:

帮忙,java如何实现udp穿越nat

问题描述 java如何实现udp穿越nat,实现不同局域网的客户机通信,最后有例子,参考下.网上搜了,都讲的是原理.实际的东西少,比较难实现 解决方案 本帖最后由 waahwaah 于 2009-10-14 16:11:27 编辑解决方案二:没有用过关于客户机的通信不知道试试java的聊天室代码可行不

win10怎么关闭防火墙提示?win10关闭防火墙的方法

步骤: 1.按下"Win+R"组合键打开运行,输入"services.msc"点击确定打开[服务]界面: 2.确保"SecurityCenter"服务已禁用,若未禁用,将其禁用并保存: 3.在开始菜单上单击右键,点击"控制面板": 4.在控制面板右上角将查看方式修改为"大图标",在下面点击"选择安全性与维护": 5.点击关闭有关"网络防火墙"的消息,关闭后就不会再有通

win2008内置防火墙配置方法说明_windows2008

而随着Windows Server 2008的日渐向我们走近,其内置的防火墙功能得到了巨大的改进.下面让我们一起来看一下这个新的高级防火墙将如何帮助我们防护系统,以及如何使用管理控制台单元来配置它. 为什么你应该使用这个Windows的基于主机的防火墙? 今天许多公司正在使用外置安全硬件的方式来加固它们的网络. 这意味着,它们使用防火墙和入侵保护系统在它们的网络周围建立起了一道铜墙铁壁,保护它们自然免受互联网上恶意攻击者的入侵.但是,如果一个攻击者能够攻 破外围的防线,从而获得对内部网络的访问,

评估虚拟防火墙的方法

随着虚拟化基础设施的发展,众多企业感到在这些环境中,需要利用并扩展现有的物理网络安全工具来提供更大的可视性和功能性.虚拟防火墙是当今可用的主要的虚拟安全产品之一,也有很多选择性:Check Point有VPN-1防火墙的虚拟版本(VE),思科提供的虚拟网关产品仿真ASA防火墙.Juniper拥有更具特色的虚拟网关(the vGW line),来源于其Altor Networks收购项目,Catbird和Reflex Systems都有虚拟防火墙产品和功能.因此,在评估虚拟防火墙技术的时候我们要考