SIP穿越NAT解决方案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE PAGE 1 SIP穿越NAT的解决方案 摘 要: 在SIP通信中,当外网主机主动访问内网主机或者位于不同NAT(Network Address Translation,网络地址转换)网关之后的主机之间进行对等连接时,必须要解决的问题是如何穿越NAT。本文在介绍了NAT基本原理的基础上,分析了NAT对SIP通信的影响,提出了通过一台Internet上的注册服务器,实现SIP穿越NAT的方法。实现了私网到公网、私网到私网的无障碍连接。 关键词:会话初始化协议;网络地址转换;用户数据报协议 1  引言 在目前的网络环境中,由于IPv4地址资源的限制或出于网络安全的考虑,NAT设备广泛存在,因此在SIP通信中,如何使基于SIP的通信软件穿越NAT是SIP应用研究中的一个重要问题。 2  背景知识 2.1  NAT技术 NAT定义:NAT是将某些IP地址留出来供私有网络重复使用,允许一个机构以一个IP地址出现在Internet上,以解决IP地址紧缺的问题。NAT亦可把个别IP地址隐藏起来不被外界发现,使外界无法直接访问内部网络设备,以提供一定的网络安全保障。 NAT基本原理:NAT网关维护一个转换表,用来把私有的IP地址映射到合法的IP地址上去。每个包的地址域在经过NAT设备后都被修改成公用网络的IP地址。 NAT类型:NAT的实现主要有四种: (1)完全圆锥体(Full Cone NAT):一个完全圆锥体的NAT,就是将从同一内部IP地址和端口来的所有请求,都映射到相同的外部IP地址和端口.而且,任何外部主机都可以发送报文到内部主机,通过发送报文到映射的外部地址. (2)受限制的圆锥体(Restricted Cone NAT): 受限制的圆锥体的NAT,也是将从相同的内部IP地址和端口的所有请求,映射到相同的外部IP地址和端口. 但是不同于完全的圆锥体NAT,一个外部的主机(设有IP地址X),只能在一种情况下,能够发送报文到内部的主机.也就是这个内部的主机前面已经发送过报文到IP地址X. (3)端口受限制的圆锥体NAT(Port Restricted Cone NAT):类似于受限制的圆锥体,但是限制还更多了,包括了端口的数量.也就是一个外部的主机,要能够用外部IP地址X和端口P,发送报文到内部的主机,只有这个内部主机前面已经发送过一个报文到这个IP地址X及端口P. (4)对称的NAT (Symmetric NAT): 一个对称NAT是这样映射请求的.从相同的内部IP地址和端口,并且到相同的目的地址和端口的所有请求,都映射到同一个外部IP地址和端口,如果同一个内部主机,用相同的内部IP地址和端口,发送了一个报文到另一个目的主机,则会使用不同的映射.而且外部的主机,只有在接收到了一个报文,才能发送一个UDP报文回来到内部的主机. 前面三种NAT, 映射与目的地址无关, 只要源地址相同,映射就相同. 而对称的NAT,映射还与目的地址有关。 2.2 SIP的简单通信过程 SIP的呼叫建立过程比较简单,只需要三步握手过程。当终端A想与B建立一个SIP会话时,A向B发送一个INVITE请求,其中包含该会话的描述(SDP)、A想让媒体流传送到哪个端口的信息。当B接受呼叫时,它会向A发送一个响应码为200的信令,同时将它的编码信息以及RTP媒体流的接收端口信息包含在内。最后A发送一个确认命令,完成呼叫建立过程,A与B可以开始SIP会话了。 2.3 在基于SIP的通信软件应用中,NAT带来的问题 一个NAT设备允许一个公司为局域网上设备分配私有的IP地址。但是,由于控制Internet上信息流向的路由设备仅仅能把数据送到具有可路由IP地址〔公众IP地址)的设备。因此NAT后的终端不能接收局域网外终端的呼叫。 NAT内的终端可以向NAT外的终端发起呼叫。但是当进行通信时,发起消息的终端A的IP地址会包含在数据包负载中,被呼叫的终端B收到呼叫建立数据包后,会从该数据包负载中获取终端A的IP地址。但是当B开始回送消息到这个IP地址的终端A时,如果这个IP地址是私有的,Internet路由器将丢弃从外部终端发送往内部终端的消息,因为这些数据包正被送往一个不可路由的IP地址。这个呼叫将显示己经连接上,但NAT后的终端A将永远不会收到外部终端B的数据包。 3 SIP穿越NAT的方法 3.1 几种常见的解决SIP穿越NAT的方案   (1)ALG方法   当SIP应用的数据通过NAT时,NAT单元则在负责创建相应NAPT映射的同时,根据这些映射关系,将对应数据区的源地址、端口信息进行改变,这样,就可以保证SIP的UDP数据包能够通过防火墙,到达局域网内的终端了。

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档