目前NGN(软交换)技术已逐步从试验走向商用,在应用过程中遇到了很多实际问题,特别是NGN用户的接入问题。NGN是一个基于分组网承载的网络,用户接入都是通过IP地址来寻址的。由于IP地址紧缺以及安全等各种原因,所以大量的企业网和驻地网都采用私有IP地址通过出口的NAT/FW接入公网。
NGN网络最大的好处就是能为用户提供丰富的业务,特别是为企业用户提供语音、数据、视频融合的IP Centrex业务,但是像H.323、SIP、MGCP、H.248等在IP上承载语音和视频的协议的控制通道/媒体通道难以穿越传统的NAT/FW设备与公网进行互通,或者说目前的NAT/FW大多只是支持HTTP的数据应用协议穿透,而无法支持这种会话型业务的控制与媒体的NAT/FW穿透,因此私网穿越问题的解决显得更加迫切,成为目前NGN网络业务开展的最大障碍。目前,解决这一问题的主要方案有ALG、STUN、MidCom和Proxy等。
2 穿越技术介绍
2.1 ALG方案
NAT和NAPT只能对IP报文的头部地址和TCP/UDP头部的端口信息进行转换,对于报文的数据部分可能包含IP地址或端口信息的特殊协议(如H.323、SIP、MGCP等),则无法实现有效的转换,这就可能导致问题发生。例如,一个使用内部IP地址的FTP服务器可能在和外网主机建立会话的过程中需要将自己的IP地址发送给对方,而这个地址信息是放在IP报文的数据部分,NAT无法对它进行转换,当外网主机接收到这个私有地址并使用它,这时FTP服务器将表现为不可达。
解决这些特殊协议的NAT转换问题的一个方法就是在NAT实现中采用ALG(Application Level Gateway,应用级网关)功能。ALG是能够识别指定IP协议(如H.323、SIP或MGCP)的设备。它通过与NAT交互以建立状态,使用NAT的状态信息来改变封装在IP报文数据部分中的特定数据,并完成其他必需的工作以使应用协议可以跨越不同范围运行。例如,一个“目的站点不可达”的ICMP报文,该报文数据部分包含了造成错误的数据报A的首部(注意,NAT在发送A之前进行了地址转换,所以源地址不是内部主机的真实地址)。如果开启了ICMP ALG功能,在NAT转发ICMP报文之前,它将与NAT交互,打开ICMP报文并转换其数据部分的报文A首部的地址,使这些地址表现为内部主机的确切地址形式,并完成其他一些必需工作后,由NAT降这个ICMP报文转发出去。
ALG可以是单独的连接于外网和内网之间的设备,也可以是内置于NAT内的插件。。
ALG是支持NCN应用最简单的方式,但由于目前网络中已大量部署了不支持NCN业务应用的NAT/FW设备,因此不推荐采用这种方式,理由如下:
(1)目前网上大量的NAT/FW设备因不具备ALG能力而需要更换或升级;
(2)NGN业务的ALG生产厂商少,没有一套产品特性需求基线;
(3)NAT/FW设备厂商一般不是IP业务领域的专业厂商,难以支持业务的变化(如SIP的扩展多种多样);
(4)用户普遍希望运营商在不改变已有网络设备(NAT)的情况下就可以提供新的IP业务,用户不愿意重新购买NAT/FW设备,更无法判断各种ALG的可行性。
2.2 MidCom方案
MidCom(Middlebox Communications)方案是通过在第三方实体和FW/NAT之间建立中间盒来通信,使FW/NAT设备变为可控的一种新的概念。MidCom包括MidCom Agent和Middlebox,Agent通过MidCom协议通知Middlebox建立相应的NAT映射表项。
一般情况下,Middlebox集成在NAT或FW设备中,Agent可在软交换、代理服务器或终端上实现。
由于应用业务识别的智能从Middlebox移到外部的MidCom Agent上,因此,根据MidCom的架构,在不需要更改Middlebox基本特性的基础上,通过对MidCom Agent的升级就可以支持更多的新业务。这是相对于NAT/ALG方式的一个很大的优势。
从安全性考虑,MidCom方式支持控制报文和媒体流的加密,因此安全性比较高。
2.3 协议修改
由于目前的多媒体应用协议无法穿越NAT/FW,因此可以考虑通过修改协议以适应NAT/FW。
对于H.323,SIP,MGCP,H.248等协议,为支持NAT/FW穿越而做的修改尚未形成标准,还在起步研究阶段,因此本文不做详细探讨。
2.4 STUN方案
STUN(Simple Traversal of UDP Through NATs)是由IETF研制的一