NAT给视频会议带来的问题:
1、外网终端要访问内网终端,必须在内网终端经过NAT后向外网终端发送数据包(即产生一个NAT“绑定”)后才行。换句话说,内网终端不能接受外网终端的主动性访问。
当然,这可以当成一种安全特性,但是NAT穿越的一个目的就是为了允许外网终端主动连接内部终端。
2、一些视频会议协议在信令消息中包含了源地址/端口的内容。这些源地址为远端终端提供了返回包的目的地址。但是,由于内部终端使用的是私网地址,如果NAT不带ALG
(应用层网关),它将不会转换这些内部地址。当外部终端接收到一个消息后,它无法将数据包转发到在消息里的这个私网地址。
3、在NAT绑定超时前内部主机来不及发送数据包。一些NAT强制将超时计时器设定短至1分钟。
4、NAT允许安全TLS(安全传输层协议)穿越。但是,NAT在IPSec下会产生问题。IPSec协议在IP层加密数据包。本地IP通道无法穿越NAT,因为IPSec要求IP包头地址及端口
保持不变。为了实现IPSec穿越NAT,终端必须通过UDP建立通道来传输IPSec包。这种NAT穿越称作NAT-T(NAT-穿越在IKE)。RFC3947定义密钥交换方法,RFC3948定义UDP封
装。管理员可以配置这种NAT通道,但是会增加一定的管理开销。
5、如果两个终端都在一个NAT的后面,多数NAT不会允许这种“回头”连接,即先NAT出去,然后又NAT进来。在这种情况下,两个终端必须能够识别他们在同一个私网,然
后使用私网地址建立直接连接,而不是连接到NAT外面后使用公用地址。
6.再者,如果两个终端分处于不同企业,并且都在各自的NAT后面,可能会出现某种极端现象。比如两个终端都使用同一个私有IP地址10.2.2.2,如果这两个终端要交换消息,
包含内部IP地址,它们将会使用跟与自己IP地址一样的一个地址作为目的地址。
NAT ALG
除了在IP包头进行地址映射,NAT可能使用到ALG来检测信令消息协议头部的IP地址/端口,然后将它们也映射出去。NAT ALG类似于防火墙ALG,不过NAT ALG实际上改变(映射)
的是信令消息中的地址/端口。这种地址重写被称为fixup或者deep-packet重写(华三设备叫做“深度检测”)。像防火墙ALG那样,NAT ALG同样存在如下问题:
1、管理员需要时时更新NAT固件,以使其理解视频会协议的最新版本。
2、NAT不能检测加密的信令协议。虽然防火墙可以使用UDP ALG作为加密信令的替代解决方法,但NAT传输加密信令却没有相似的解决方法。因为NAT不能重写协议中的地址,
消息协议会中断。一种解决办法是每个终端发现自己的公网地址,然后直接进行相应的修正。