基于NGN的NAT穿越技术研究

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

NAT穿越技术研究摘要:音视频通信应用的快速发展和IPv4地址资源不足的矛盾提出了NAT穿越问题。针对NGN中两种典型的呼叫控制协议体系——H.323和SIP,系统地论述了私网/公网、公网/私网、私网/公网/私网各种情况下信令和RTP媒体流的NAT穿越技术,讨论了适于企业网应用的STUN技术和解决方案。关键词:NAT穿越;NGN;实时传送协议;会话启动协议中图分类号:TN915.14文献标识码:AResearchonNATTraversalAsbtract:Asaresultofinconsistencybetweentherapiddevelopmentofreal-timeaudio/videocommunicationapplicationsinNGNandtheshortageofIPv4address,theNATtraversalproblemhasbeenraised.ThepaperdissertatessystematicallytheNATtraversalmethodsofsignalingandRTPmediastreamintopologiessuchasprivatenetwork/publicnetwork、publicnetwork/privatenetworkandprivatenetwork/publicnetwork/privatenetworkbasedonthetypicalcallingcontrolprotocolsystemsinNGN,SIPandH.323,discussestheSTUNtechnologyandsolutionfittedforenterprisenetwork.Keywords:NATtraversal;NGN;real-timetransferprotocol;sessioninitialprotocol0引言随着NGN的发展,目前IPv4有限的IP地址资源已经无法满足提供以综合通信为目标的NGN大规模应用。从长远来看,IP地址匾乏问题将通过IPv6予以解决,但是当前更实际的解决方案是采用NAT(网络地址翻译)技术。如企业网、校园网普遍在防火墙中增设NAT功能模块,采用私有地址扩展地址空间,公网运营商在接人网中采用私有地址以扩展其用户等。NAT技术通过提供私有地址和公有地址的转换有效地扩展了IP地址空间并成功地支持私网用户和公网用户之间的通信。但是由于H.332、SIP(会话启动协议)等多媒体信令协议所特有的信令交互和媒体流传送相分离的设计,使得基于这两种协议的实时音视频通信业务在现有NAT环境下存在“NAT穿越”的问题。其原因在于,通信终端在信令交互阶段需要将用于收发媒体流的IP和端口地址封装在此类协议消息体中传递给通信对端,进行媒体能力协商之后再建立UDP(用户数据报)媒体流,因此客观上存在信令通过NAT时不仅要对IP和运输层报头的地址信息进行变换,还需对相应协议消息净荷中地址信息进行变换的问题。H.323和SIP分别是由ITU-T和IETF提出的旨在基于分组网提供灵活、实时、可交互的多媒体业务的信令标准,二者对VoIP和实时音视频通信业务提出了各自的解决方案并得到实际商用。本文将对NAT进行简单的介绍并针对这两种协议标准研究NTA穿越问题。1NGN网络概述总体上看,NGN(NextGenerationNetwork)网络分为核心网和客户端这两大部分。两部分之间通过IP(InternetProtocol)网络相互连接。在核心网侧,主要处理来自客户端的注册请求和呼叫处理,接续客户端的呼叫,并且具有相关计费、网络管理功能[1]。而在客户端侧则主要是各种接入终端,如:iAD(综合接入设备)设备,MGCP(MediaGatewayControlProtocol)话机、SIP(SessionInitiationProtocol)话机以及PCPhone等设备。客户端通过IP网络的方式和核心网相连接,并发起呼叫,在呼叫信令建立完成后,仍然通过IP网络承载媒体流达到相互通讯的目的。1.1NAT技术的引入在NGN网络中,无论是核心网还是终端侧,所有的设备都承载在IP网络上。但是在IP网络中通讯的设备都必须具备网络的三层地址,即IP地址。通过IP地址终端才可以正常的访问核心网的呼叫服务器(CallServer),通过IP地址终端也才能相互传输媒体流。所以我们需要给所有设备分配相应的IP地址,包括每个终端。众所周知,在目前IPv4网络时代,在Internet上IP地址的资源是相当宝贵的,而且让用户终端完全暴露在Internet之下,也存在安全隐患,在IP网中有NAT技术可以解决这些难题。1.2NAT概述NAT是NetworkAddressTranslation的缩写,为网络地址翻译的意思。NAT技术的引入实际上是为了解决日益枯竭的IPv4的地址资源。在IPv4协议规范制定的时候,人们从没有意识到IP地址需求会变得如此之大,在IPv6未提出之前,为了减缓IP地址的分配的压力,提高IP地址的使用效率,IANA于是提出了公网地址和私网地址的概念。NAT用来实现私有地址和公有地址之间的转换[2]。私有地址是指内部网络的主机IP地址,而公有地址是指内部网以外的可路由的公共地址(在Internet上全球唯一的IP地址)。同时IANA为私网预留了3段地址:10.0.0.0到10.255.255.255(1个单独A类网络号码)172.16.0.0到172.31.255.255(16个相邻的B类网络号)192.168.0.0到192.168.255.255(256个相邻的C类网络号)这3段私网地址在公网上是不可路由的,企业可以不经IANA或因特网登记处的允许就从上述范围内选择自己的地址,采用私网IP地址的主机可以和私网内部其他任何主机连接,但是如果不经过一个代理网关就不能和公网的主机连接。这是因为离开公司的IP数据包将有一个源IP地址,而这个源地址不能够是私网地址,因为它在公网内不可路由,外部主机无法回应。因为私网地址可以在企业或是局域网中被无限制的重复使用,于是对全球唯一的IP地址的需求就得到了有效的缓解。1.3NAT的种类按照地址映射的实现方式,NAT设备主要有Full-coneNAT,RestrictedNAT,PortrestrictedNAT和SymmetricNAT4种[3]。1.3.1Full-coneNAT如图1所示,私网主机向公网主机B发数据,数据经过NAT时,NAT为此私网主机分配一个公网地址,并对这两个地址进行绑定。公网主机B可以通过访问202.123.211.25:12345来达到访问私网内10.0.0.1:8000的目的。与此同时,公网主机A也可以通过访问202.123.211.25:12345来访问10.0.0.1:8000。ClientIP:10.0.0.1Port:8000NATComputerAIP:222.111.99.1Port:20202ComputerBIP:222.111.88.2Port:10101SourceIP:202.123.211.25Port:12345图1Full-coneNATFig.1Full-coneNAT1.3.2RestrictedNAT出于安全考虑,私网主机并不想因为它跟B通信而把大门向所有公网主机敞开,于是RestrictedNAT被适时推出。依然以图1为例,私网主机向公网主机B发送数据,NAT为私网主机建立地址映射,并记录公网主机B的地址,这样主机B回送数据给NAT,NAT检测到主机B曾被该私网主机访问过,于是对主机B放行。与此同时公网主机A也想通过202.123.211.25:12345访问该私网主机,可是NAT检测到公网主机A并没有被该私网主机访问过的记录,于是对公网主机A的数据进行屏蔽。1.3.3PortrestrictedNATPortrestrictedNAT和RestrictedNAT原理相同,不同再于RestrictedNAT仅对IP地址进行记录和对比,PortrestrictedNAT还增加了Port的对比。1.3.4SymmetricNATSymmetricNAT与以上三种均不同,如图2所示。它为每一个新的通讯请求分配一对地址映射,私网主机和公网主机B的通信用的是一对地址映射,私网主机和公网主机A的通信用的是另外一对地址映射。A不能通过202.123.211.25:12345来访问10.0.0.1:8000,B不能通过202.123.211.25:45678来访问10.0.0.1:8000。ClientIP:10.0.0.1Port:8000NATComputerAIP:222.111.99.1Port:20202ComputerBIP:222.111.88.2Port:10101SourceIP:202.123.211.25Port:12345SourceIP:202.123.211.25Port:45678图2SymmetricNATFig.2SymmetricNAT1.4NAT工作原理NAT穿越设备部署在网络的边缘或汇聚层,是会话信令和媒体流的聚合点,支持信令代理和媒体代理结合的工作模式。同时,穿越设备还可以为多个软交换应用提供代理服务。在上面我们提到私网主机如果想和公网主机进行通信,必须经过一个网关,该网关主要的功能是将请求通信的私网主机地址与一个公网地址进行绑定,将数据包中的私网地址更换为该公网地址,并将更改地址后的数据包发入公网。反之,公网主机发回给私网主机的数据包,同样也需要经该网关进行地址替换,使得数据包能够到达私网主机,这个地址替换的过程就是我们所说的NAT[4]。ComputerAIP:10.0.0.1Port:80ComputerBIP:10.0.0.2Port:80NATPublicInternetIP:202.123.211.25Port:10080IP:202.123.211.26Port:20080图3NAT工作原理Fig.3WorkingprincipleofNAT2H.323的NAT穿越2.1H.323标准H.323是一套在分组网上提供实时音频、视频和数据通信的标准,提供VoIP和多媒体应用,是具有电信网可管理性的IP电话体系。H.323是ITU-T制定的在各种网络上提供多媒体通信的系列协议H.32x的一部分。H.323也是多媒体通信协议,它比SIP、H.248/Megaco的发展历史更长,是一项复杂的协议,升级和扩展性不是很好。SIP+H.248/Megaco可取代H.323,为了与H.323网络互通,NGN必须支持该项协议[5]。SIGTRAN用于解决IP网络承载七号信令的问题,它允许七号信令穿过IP网络到达目的地。2.2NAT穿越问题由于NAT的存在,使得当参与H.323会话的双方/多方分别处于私网和公网之间时,在进行信令交互和媒体流传送的过程中分别会遇到下述问题:1)主叫方位于公网,被叫方位于私网或者主被叫方分别位于两个不同的私网中。在这种情形下,基于TCP的H.255和H.245信令交互无法实现(因为基于安全策略的考虑,现有大多数NAT选择丢弃不可信的主动人向数据包),从而RTP媒体流也无法建立。2)主叫方位于私网,被叫方处于公网中。在这种情形下,如图4所示,信令交互可以顺利进行,但是由于主叫方在H.245协商阶段填人OLC消息中的数据是公网上不可路由的私网地址,因此当处于公网环境的被叫方使用在OCL中所接收到的对端RTP地址向主叫方发送媒体流时将发生中断,从而出现信令连接会话无法建立的情形[6]。图4H.323会话的NAT穿越问题Fig.4NATtraversalofH.323session3SIP的NAT穿越3.1SIP协议会话建立协议(SessionInitiationProtocol,SIP)是一种基于文本的应用层协议,它是由IETF提出的IP电话信令协议。会话参与者可以使用SIP创建,修改和终止会话。这种会话可以是电话播叫,多

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功