VoIP的防火墙/NAT穿越技术

对IP地址资源需求的迅速增加超出了最初预期和设计的32比特(IPv4地址长度)。很多专家学者,尤其是IP标准领域的主导性国际组织IETF一直把IPv6看作是一种长期的IP地址短缺的解决方案,把网络地址翻译(NAT)看作是一种中短期的地址短缺解决方案。NAT的大量使用,使得在协议设计中将IP地址作为通信标志符的VoIP协议无法正常工作。目前已经出现了多种典型的穿越技术,有些还在发展中。比较典型的有:

应用网关(ALG:Application Level Gateway):是最早出现的NAT穿越解决方案,在传统的NAT上进行协议扩展,使之具备感知SIP、H.323、H.324和MGCP等VoIP呼叫控制协议的能力,从而完成呼叫控制协议的解析和地址翻译功能。

代理技术:是为缓解ALG方式所带来的现有NAT升级困难而出现的,它也是目前中国国内比较看好的一种NAT穿越解决方案,已经得到ITU-T的支持。

隧道/VPN机制:逻辑上由隧道客户端和隧道服务器两部分构成,隧道客户端和隧道服务器通过隧道协议建立一条隧道,实现信令和媒体流透明穿越NAT。

MIDCOM技术:是为了解决ALG和代理技术所共有的可扩展性不强而出现的一种NAT穿越解决方案,采用可信的第三方(MIDCOM Agent)对Middlebox(NAT)进行控制,由MIDCOM?Agent控制Middlebox打开和关闭媒体端口。

单边自我绑定地址(UNISAF: Unilateral Self-Address Fixing):RFC3424定义的UNSAF技术,可以让位于NAT后的一个客户设法发现位于NAT公网一侧的该客户的地址,然后让应用使用新学习到的地址而不是它自真正的IP地址。这样做需要在NAT公网一侧增加一个UNSAF服务器,并且修改客户端,以便让UNSAF服务器知道如何使用该UNSAF服务器,而真正的应用服务器并不改变,典型的UNSAF技术包括STUN,TURN等。

服务器做NAT导航(SINN:Server Involvement in NAT Navigation):修改服务器,改变对应用的真正处理,这种改变可能会违反应用标准本身的规定。但在某些应用协议中,SINN技术允许不改变客户端或NAT就可以实现NAT的穿越。这种技术能否使用完全取决于应用层协议,通常会对客户端的行国有一个假设。典型应用就是SIP中的会话控制器(SBC)。

协议扩展:是针对各个信令协议的特点,在信令消息中增加新的消息参数,或者对原有的呼叫流程进行改进,使之可以工作在NAT环境中。该方案的优点是无需对现有NAT设备进行改动,缺点是现有的终端和软交换设备、网守和SIP服务器等控制设备需要同时进行扩展。因此协议扩展时应重点考虑协议的向下兼容问题,以保证与示扩展的终端的完整互通性。

IPv6:如果一种穿越技术需要修改全部的相关部分,那就是IPv6了。