种UDP流协议穿透NAT的协议。位于内部网络的STUN client(NAT内)通过UDP发送请求STUN消息给外部网络的STUN Server(NAT外),STUN Server收到请求消息后产生响应消息(响应消息中携带请求消息的源端口,即STUN Client在NAT上对应的外部端口),响应消息通过NAT发送给STUN Client,STUN Client通过响应消息体中的内容得知其在NAT上对应的外部地址,然后将该地址填入以后的呼叫协议的UDP负载中,并且告知对端,本端的RTP接收地址和端口号为NAT外的地址和端口号。由于通过STUN协议已在NAT上预先建立媒体流的NAT映射表项,因此媒体流可顺利穿越NAT。
需要注意的是,终端设备需要集成STUN Client功能,STUN Server可以集成在相应的应用所属的部件上(如在NGN应用中可以集成到SoftSwtich上)或者是由独立的设备提供。
STUN协议最大的优点是无需现有NAT/FW设备做任何改动。目前,网络中已有大量的NAT/FW,而且这些NAT/FW并不支持VoIP应用。如果采用MidCom或NAT/ALG方式,则需要替换现有的NAT/FW,实施起来难度较大,且MidCom方式无法实现对多级NAT的有效控制。如果采用STUN方式,不但无需改动NAT/FW,而且能够很好地适应多个NAT串联的网络环境。
但STUN也有以下几个方面的局限性:
(1)需要应用程序支持STUN Client的功能,即NGN的网络终端需具备STUN Client功能;
(2)STUN不支持TCP连接的穿越,也就表示不支持H.323协议;
(3)STUN
方案不支持NGN业务对FW的穿越,不能穿越对称NAT(Symmetric NAT)类型(在安全性要求较高的企业网中,出口NAT通常就是采用这种类型)。
2.5 Proxy方案 Proxy方案是指通过对私网内用户呼叫的信令和媒体同时做Relay来实现出口NAT/FW的穿越。对于NGN网络的私网穿越问题,目前业界已基本倾向Proxy方式,并且在Proxy
方案中还增加了网络安全、防止终端漫游等特性。
Proxy设备是在原来网络结构的基础上,采用网络叠加方式,部署在IP网络的边缘或汇聚层,是会话信令和媒体的聚合点。信令Proxy与媒体Proxy可以在一个设备上实现,也可以分离实现,当在同一个设备上实现时称为Full Proxy。NGN终端通过Proxy设备连接到软交换上。
在网络中,信令Proxy和媒体Proxy各自担负着不同的工作。
(1)信令Proxy:Proxy设备对NCN用户而言,可看作是软交换系统,即用户的注册和呼叫消息都会发给Proxy设备,Proxy设备经过信令处理后再转发给软交换系统。同时,Proxy设备对软交换系统又可看作是用户,软交换系统首先将呼叫被叫的请求发给Proxy设备,Proxy设备经过信令处理后再转发给真正的被叫用户。Proxy设备通过对信令进行处理和分析,得到本次会话的地址变换状况、带宽需求等信息,并根据当前网络资源占用情况等信息来决定媒体流是否通过Full Proxy设备网关,从而起到网络保护、防止带宽盗用等作用。
(2)媒体Proxy:Proxy设备是媒体流的必经之处,所有域内用户与外界互通的媒体流都经过Proxy设备进行处理和转发。Proxy设备网关首先检查报文的合法性,并根据信令处理结果来制定媒体流转发策略(如FW、QoS和地址转换策略),通过指定内网/外网用户RTP流的接收地址和端口这种方式来确保无论采用何种组网
方案,媒体流都能得到正确转发和严格的QoS保证、安全控制。
Full Proxy方式由于不用对运营商和客户端的现有网络设备进行任何会话型业务用户改造,具有很强的适应性,组网灵活,可满足NGN初期多样化的组网和用户接入。除了解决NAT问题外,功能还可以大大扩展,同时可在接入层实现对会话业务QoS和安全的处理,可以发展成为NGN网络的用户接入平台。