



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
穿越NAT的问题NAT简介:NAT(Network Address Translate)随着Internet的快速膨胀,IPv 4地址空间将处于严重耗尽的境况。为了解决这个问题,人们设计出了网址转换器(NAT)。NAT被置于两网的边界,其功能是将外网可见的IP地址与内网所用的地址相映射,这样,每一受保护的内网都可重用特定范围的IP地址(如 192.168.X.X),而这些地址是不用于公网的。从外网来的含公网地址信息的数据包先到达NAT,NAT使用预设好的规则(其组元包含源地址、源端口、目的地址、目的端口、协议)来修改数据包,然后再转发给内网接受点。对于流出内网的数据包也须经过这样的转换处理。从安全性上来看,NAT提供了对外隐藏内网拓扑的一个手段,但也给VoIP应用带来巨大的麻烦。SIP和H.323这两大主要的VoIP协议消息包一般是在特定区段中内嵌IP地址和端口号,而不是放置在IP包头,这样如果仅仅使用NAT,协议里的IP和端口号不能指向正确的地方。在分析如何使媒体流顺利穿越NAT之前,先简单介绍NAT的类型。NAT分为三种:Full Cone: 该类型NAT后的主机,从地址:端口A:B发送一个包,NAT会将该地址:端口翻译成X:Y,并且形成一个从A:B到X:Y的映射。从任何地址发出的任何送到NAT外部的包,只要目的地址:端口是X:Y的,就送至地址:端口A:B。这种形式的NAT成锥形,终端是一个但是起始端是无数个。Partial/Restricted Cone:该类型NAT后的主机,从地址:端口A:B发送一个包,NAT会将该地址:端口翻译成X:Y,并且形成一个从A:B到X:Y的映射。从任何地址发出的任何送到NAT外部的包,只要目的地址:端口是X:Y的,就送至地址:端口A:B。并且,当第一个送入的包被翻译后,映射就固定为发起端和内部接收端,NAT不在翻译NAT外其他以地址:端口X:Y为目的地址:端口的包,这些包在NAT外被丢弃。这种形式的NAT是点对点的,一旦固定以后,终端和发起端都是单一固定的。Symmetric Cone: 该类型NAT后的主机,从地址:端口A:B发送一个包到地址:端口C:D,NAT会将源地址:端口A:B翻译成X:Y,并且形成一个从A:B到C:D到X:Y的映射。只有从地址:端口C:D到地址:端口X:Y的包才能被接收并且发送到地址:端口A:B。这一类型的NAT要求最为严格,只允许被内部呼叫的点与内部通信,是点对点的,终端和发起端都是单一固定的,且外部端口由内部发起呼叫方和通信。图1 NAT的工作原理NATNAT控制穿越NAT问题的解决方案使用实际地址 SIP在穿越NAT的时候会出现问题,最直接的办法是不用NAT,配置一个实地址。或者在路由器中做一个静态映射。但由于地址资源不足,目前这一方案还不具有普遍适用性。适合电信级运营模式。STUNVOCAL提供了STUN(Simple Traversal of UDP through NATs)方案。原理:RFC 3489描述的STUN方案是为了解决穿越NAT的问题而定义的。STUN使用一个放置在公网上的服务器,用户终端(例如一SIP话机)向该服务器发送一个测试消息,于是服务器收到从SIP话机经过NAT后发送的消息,即得到了NAT外部的地址和端口号,然后服务器在返回的消息中告知SIP话机其外部IP地址及端口号,使SIP话机得到自己在NAT外的IP地址及端口号信息。 图4-2 STUN的工作原理 适用范围:从原理看不难发现,STUN的使用范围限制比较多,在三类NAT中只有Full Cone适用。后两种NAT一旦绑定就无法更换,而STUN服务器并不可能成为加入呼叫的一方,故缺乏普遍性。4.3.3 SIP ALG随着SIP作为一个标准协议越来越受重视,越来越多的设备开始支持SIP,这就意味着一个SIP包穿越一NAT网关时,网关能够对它进行分析并且做一些必要的修改。这一功能,SIP ALG可以做到。ALG是解决NAT带来的局限问题的一个比较常用的手段。SIP ALG内置于NAT网关上,分析和修改进出NAT的SIP报文,根据报文内容在NAT上打开相应的端口,使相关SIP消息和媒体流可以进入NAT内部。同时修改报文中的相关消息和参数的值,从而完成一个完整的SIP会话。SIP ALG最突出的特点是ALG和具体的SIP系统无关,NAT外的SIP客户将不会知道NAT的存在,NAT内的客户能自由地穿越NAT,完成Internet上的注册或SIP呼叫连接等。对于一个SIP系统不需要做任何修改,只要在响应的NAT网关上加载SIP ALG,就能完成私有网络到公共Internet甚至私有网络之间的两个客户之间的SIP连接。SIP ALG的实现:从逻辑上看,一个SIP ALG可以分成两个部分,一是实现对向外报文的修改,将对应私有地址修改成NAT网关上对应的Internet上的公共地址,另一部分是控制NAT完成对向内的消息和相关媒体流的转发。一个基本的SIP ALG的实现框架应包含转发模块和消息修改模块。CISCO的路由器都是带有ALG的,所以能够支持SIP协议。使用范围:SIP ALG对于SIP穿越NAT是一个非常有效的解决方案,当用户可以修改路由器时,使用这一方案简洁可靠。 Media Stream Relay很多情况下,要改变路由器是不被允许的,这种情况下,只能使用导媒体流的方式,即使用Media Stream Relay。TRUN是这类方式里的一种协议.Media Stream Relay的实现:所有在NAT后的SIP终端都注册到Media Stream Relay服务器上,当发起呼叫的时候,所有的源地址都被替换成该服务器的地址(Media Stream Relay服务器有一个实际地址),再向被叫发起呼叫,所有的信令包括媒体流都通过该服务器进行转发,相当于所有NAT后的SIP终端都使用了实际地址的地址,具体发往哪个SIP终端设备由Media Stream Relay识别。当该服务器接收到SIP终端发起的呼叫请求时,记录发起端的IP地址和端口号,写入Media Stream Relay内的表格中,并分配一对端口用于收发信息,直到通话结束才收回端口。使用Media Stream Relay最大的问题就是浪费系统资源。导媒体流的方法虽然能穿越所有类型的NAT,并且可以在无法改变路由器和终端设备的情况下使用,但是必须处理所有的语音流,所有的电话都经过同一台服务器,使效率大大下降,致使IP电话的优势大大降低。使用范围:NAT类型不为Full Cone,路由器不支持SIP且用户无法改变路由器配置时。需要浪费系统资源为代价。附件Traversal Using Relay NAT (TURN)1.IntroductionNetwork Address Translators (NATs), while providing many benefits, also come with many drawbacks. The most troublesome of those drawbacks is the fact that they break many existing IP applications, and make it difficult to deploy new ones. Guidelines9 have been developed that describe how to build NAT friendly protocols, but many protocols simply cannot be constructed according to those guidelines. Examples of such protocols include multimedia applications and file sharing. Simple Traversal of UDP Through NAT (STUN)1 provides one means for an application to traverse a NAT. STUN allows a client to obtain a transport address (and IP address and port) which may be useful for receiving packets from a peer. However, addresses obtained by STUN may not be usable by all peers. Those addresses work depending on the topological conditions of the network. Therefore, STUN by itself cannot provide a complete solution for NAT traversal. A complete solution requires a means by which a client can obtain a transport address from which it can receive media from any peer which can send packets to the public Internet. This can only be accomplished by relaying data though a server that resides on the public Internet. This specification describes Traversal Using Relay NAT (TURN), a protocol that allows a client to obtain IP addresses and ports from such a relay. Although TURN will almost always provide connectivity to a client, it comes at high cost to the provider of the TURN server. It is therefore desirable to use TURN as a last resort
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 退股合同范本:国有企业股权退出及资产处置协议
- 电子合同在香港的适用性及风险防控策略
- 退役军人事务厅军人子女教育资助合同
- 凯里市小麦购销合同2篇
- 交通基础设施建设投融资模式创新2025年交通基础设施投资政策解读与实施报告
- 违法行业劳务合同
- 2025年人民法院招聘书记员公共基础知识押题及答案(六)
- 梦想的力量俞敏洪课件
- 专家评审管理暂行办法
- 梅毒院感课件
- 汽车售后行业分析
- 南通市事业单位招聘笔试真题2024
- 中国胎教行业市场调研分析及投资前景预测报告
- 铁路设备企业数字化转型与智慧升级战略研究报告
- 储能电站施工方案新建项目
- 《GNSS测量技术与应用》 课件 4.10GNSS控制测量技术总结
- DB32-T 4987-2024 桥梁轻量化监测系统建设规范
- 电梯自动化与智能化技术的前沿探索
- 2025年万达商业地产租赁合同标准版
- 湖南造价咨询合同范本(2篇)
- DB21-T 4079-2024 畜禽养殖场污水贮存设施建设规范
评论
0/150
提交评论