. | NAT 穿越使用开放式信任模式。这意味着专用网络上的所有应用程序都能访问 NAT 上的所有端口映射。尽管这样可以增加一些管理方面的灵活性,但应用程序也就失去了对其映射的唯一占有权。
|
. | 应用程序将负责解决冲突。如果应用程序尝试映射某个已映射给其他客户机的端口,它就应负责查找另一个端口或改写应用程序。
|
. | NAT 穿越无法解决在 ISP 分发专用地址和使用 NAT 进行客户机连接方面的问题。这种情况下,NAT 位于 Internet 网关设备的外面,实际上位于服务提供商网络的内部。如果客户机网络上的 NAT 位于另一个同类 NAT 的后面,家庭或小型企业中的 NAT 穿越就会出现故障。因此,建议 Internet 服务提供商不要在自己的网络内部署 NAT。
|
. | 应用程序获取 NAT 穿越时并非毫无代价。它们必须同时进行修改以调用 API,或者随带脚本以提供解决方案。这对于大多数开发人员而言仍在可控制的范围内,尤其是考虑到将这些 NAT 穿越机制并入应用程序后,应用程序就能自动与多种 Internet 网关设备协同使用。
|
. | 使用完端口映射后,应用程序负责清除工作。静态映射会无限期存在,最好用于打算在整个应用程序生存期内监听知名端口的服务。
|
. | 提供 NAT 的 Internet 网关必须支持通用即插即用 Internet 网关设备规范 (至少为版本 0.9)。
|