NAT Win XP中网络地址转换概述( 六 )


.应用程序将负责解决冲突 。如果应用程序尝试映射某个已映射给其他客户机的端口,它就应负责查找另一个端口或改写应用程序 。
.NAT 穿越无法解决在 ISP 分发专用地址和使用 NAT 进行客户机连接方面的问题 。这种情况下,NAT 位于 Internet 网关设备的外面,实际上位于服务提供商网络的内部 。如果客户机网络上的 NAT 位于另一个同类 NAT 的后面,家庭或小型企业中的 NAT 穿越就会出现故障 。因此,建议 Internet 服务提供商不要在自己的网络内部署 NAT 。
.应用程序获取 NAT 穿越时并非毫无代价 。它们必须同时进行修改以调用 API,或者随带脚本以提供解决方案 。这对于大多数开发人员而言仍在可控制的范围内,尤其是考虑到将这些 NAT 穿越机制并入应用程序后,应用程序就能自动与多种 Internet 网关设备协同使用 。
.使用完端口映射后,应用程序负责清除工作 。静态映射会无限期存在,最好用于打算在整个应用程序生存期内监听知名端口的服务 。
.提供 NAT 的 Internet 网关必须支持通用即插即用 Internet 网关设备规范 (至少为版本 0.9) 。
结论
NAT 是得到 IETF 认可的解决方案,针对的是 IPv4 名称空间耗用问题 。使用 NAT 的 Internet 网关经常用于家庭和小型企业 。之所以使用它们,是因为它们价格便宜,易于管理,无需用户安装特殊的软件 。
使用 NAT 的不足在于会破坏许多聊天、多人游戏和对等应用程序 。这是因为它们的网络协议对网络体系结构所做的假定已不成立 。
“NAT 穿越”为应用程序提供了一条查找 NAT 设备、发现可全局路由的共享 IP 地址并配置静态端口映射以解决某些连接问题的途径 。NAT 穿越解决方案无法解决与 NAT 有关的所有问题,但可以缓解部分问题 。
本文的主要结论是:
.Internet 网关设备制造商应在自己的设备中支持 UPnP,从而支持“NAT 穿越” 。
.网络应用程序开发人员应使用 Windows NAT 穿越 API 来检测 NAT 的存在,并在必要时允许其应用程序经过 NAT 。
.用户应使用支持 UPnP 和“NAT 穿越”的 Internet 网关设备,以确保最佳的应用程序性能 。
.DSL 和电缆调制解调器的服务提供商应指定、销售和租赁为 NAT 穿越提供 UPnP 支持的 Internet 网关设备 。
【NAT Win XP中网络地址转换概述】在 IPv6 最终消除 NAT 之前,某些形式的 NAT 穿越仍会继续存在 。

推荐阅读