Windows XP 网络地址转换(NAT)概述
2006-07-01 21:47:23 来源:WEB开发网如果应用程序并不始终运行,或者对网络维护其静态端口映射的信任度降低,它就可以在每次启动时保留某个已知端口,并在每次关闭时恢复资源。这一点可通过运行某个并行脚本来实现。作为添加和删除端口映射的替代方案,可以让应用程序根据需要启用和禁用映射。应用程序还可以始终保留静态端口映射,且只在每次启用时刷新映射。
同样,如果外部 IP 地址发生变化,则静态端口映射将自动获取更改的内容。
如果专用网络上不同客户机的多个应用程序使用同一内部端口号,应用程序就会要求进行修改,以支持多个客户机的运行。只有单个客户机能使用外部端口映射的内部端口号。此处建议让第一个客户机使用。其他客户机应请求内部端口数不同于外部端口数的非对称端口映射。
有一种特殊的情况:多个客户机可监听同一外部端口,而唯一的目的是被远程主机发现。输入数据包可以转换为使用内部客户机 IP 地址的广播地址,而非特定的客户机地址。监听该端口的客户机可通过启动自己与远程主机之间的连接而予以回复。建议不要普遍使用这种方案,因为到该地址的输入数据包将被网络上的所有客户机接收,并会反过来对它们造成影响。
如果服务需要短期监听某个随机端口,它应在应用程序中请求一个静态端口映射,而非使用脚本。服务结束时,应予以清除 (删除映射)。应用程序应保留一份自己特有端口映射的记录。这样,如果应用程序在崩溃时没有关闭映射,就可以在下一次启动时检索出清除端口映射所需的必要信息。
如果应用程序离开网络时没有清除其端口映射,则该映射就会保留下来,而清除任务就落在用户的身上。目前 Windows 中尚没有清除机制,这是因为很难判断应用程序不再使用映射的时间。
NAT 穿越的局限尽管“NAT 穿越”可以解决与通过 NAT 设备进行连接时有关的多种问题,但还有“NAT 穿越”无法解决的问题及由其引起的问题。这些问题包括:
更多精彩
赞助商链接