几种方式解决SIP穿越NAT总结.doc

几种方式解决SIP穿越NAT总结.doc

ID:49226609

大小:688.50 KB

页数:11页

时间:2020-03-01

几种方式解决SIP穿越NAT总结.doc_第1页
几种方式解决SIP穿越NAT总结.doc_第2页
几种方式解决SIP穿越NAT总结.doc_第3页
几种方式解决SIP穿越NAT总结.doc_第4页
几种方式解决SIP穿越NAT总结.doc_第5页
资源描述:

《几种方式解决SIP穿越NAT总结.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、SIP穿越NAT的几种方式多媒体会话信令协议是在准备建立媒体流传输的代理之间交换信息的协议,媒体流与信令流截然不同,它们所采用的网络通道也不一致。由于协议自身设计上的原因,使得媒体流无法直接穿透网络地址转换/防火墙(NAT/Firewall)。因为它们生存期的目标只是为了建立一个在信息中携带IP地址的分组流,这在遇到NAT/Firewall时会带来许多问题。而且这些协议的目标是通过建立P2P(PeertoPeer)媒体流以减小时延,而协议本身很多方面却与NAT存在兼容性问题,这也是穿透NAT/Firewall的困难所在。而NAT仍是解决

2、当前公用IP地址紧缺和网络安全问题的最有力手段,所以解决NAT穿越成为首要问题。以SIP通信为例,呼叫建立和媒体通信的建立是依赖SIP消息首部和SDP消息所描述的地址和端口信息进行的,呼叫双方分别在内网和外网上,内网是通过NAT设备连接到外网,由于NAT设备工作在IP和TCP/UDP层,所以它不对SDP等应用层数据进行NAT变换,因此会造成寻址失败,从而导致呼叫无法正常建立。另外,VOIP设备的主要通信协议(如SIP和H.323)要求终端之间使用IP地址和端口号来建立端到端的数据侦听外来的呼叫,而防火墙却通常被配置阻止任何不请自到的数据

3、分组通过。需要网络管理者打开防火墙上的一个端口来接收呼叫建立数据分组,例如5060端口(SIP的通信端口),但IP语音和视频通信协议还要求打开许多别的端口接收呼叫控制信息来建立语音和视频通信,这些端口号事先并不知道,是动态分配的,也就是说网络管理者为了允许语音和视频通信将不得不打开防火墙上所有的端口,防火墙就失去了存在的意义。所以当前的问题还有需要解决监听端口的问题。如下图SIP呼叫不成功示意图分析:1d:211.83.100.100:23766s:192.168.1.166:10102d:211.83.100.100:23766s:2

4、11.83.100.166:99933.d:211.83.100.166:9993s:211.83.100.100:237664.d:192.168.1.166:1010s:211.83.100.100:237665.d:211.83.100.110:23788s:211.83.100.100:20206.d:211.83.100.100:3399s:211.83.100.110:237887.d:211.83.100.166:9993s:211.83.100.100:237668.d:192.168.1.166:1010s:211.8

5、3.100.100:237669.d:211.83.100.100:3399s:211.83.100.110:2378810.d:211.83.100.166:9993s:211.83.100.100:2376611.d:192.168.1.166:1010s:211.83.100.100:2376612.d:211.83.100.110:23788s:192.168.1.166:1010d:211.83.100.110:23788s:211.83.100.166:999313.d:192.168.1.166s:211.83.100.1

6、10:23788A对Binvite时在SDP中带上了RTP协商的端口和私网IP,B回复200OK时告知RTP时的端口和私网地址,B收到A的RTP包后回复,因为RTP包记录是私网地址,所以RTP包被丢弃。目前主流的几种解决方式有ALG、STUN、TURN、ICE,我们分别来介绍它们的工作原理及工作流程。1.ALG1.1工作原理ALG是指能识别特定应用层协议(如SIP、H.323或MGCP协议)的防火墙。它不是简单地查看分组首部信息来解决数据分组是否可以通过,而是更深层地分析负载内容的数据,也就是应用层的数据。SIP和H.323协议都在负载

7、中放了重要的控制信息。通过分析哪一个端口需要打开。防火墙动态的打开那些被应用的端口,而所有别的端口依然安全地保持关闭状态。ALG是支持VOIP应用最简单的一种方式,但该方案的缺点非常明显:每增加一种新的应用都将需要对NAT/Firewall进行升级。在安全要求上还需要作一些折衷,因为ALG不能识别加密后的报文内容,所以必须保证报文采用明文传送,这使得报文在公网中传送时有很大的安全隐患。SIP响应消息用于对请求消息进行响应,指示呼叫或注册的成功或失败状态。在请求与响应报文中需要进行ALG处理的地址字段类型主要有:Via、Record_Ro

8、ute、Contact、SDP。ALG处理流程为如下三个步骤:首先,ALG根据会话标识的协议类型对报文进行解码,若解码发现报文为不需要做ALG或解码发现为错误字段时退出,解码发现需进行字段转换时进一步处理;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。