扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:Microsoft 来源:Microsoft 2007年12月19日
关键字: 转换 网络 Windows Windows xp
什么是“NAT 穿越”?
“NAT 穿越”是这样一组功能:它允许网络应用程序能明确自己位于 NAT 设备的后面,获得外部 IP 地址,并将端口映射配置为将 NAT 外部端口的数据包转发给应用程序所用的内部端口,而所有这些都是自动完成的,因此用户不必手动配置端口映射或其他类似的方面。
相对与目前所用的、面向特定应用程序的其他方法而言,这对于解决由 NAT 引起的连接问题确实是一种更为全面的解决方案。目前使用的那些专门解决方案有的要求用户具有一定的技术知识,有的要求应用程序开发人员或 Internet 网关提供商进行专门的开发工作,也有的则对二者都要求。
虽然 NAT 穿越可以解决一些 NAT 问题,但它不是万能药,不能解决所有问题。尽管如此,在提高用户满意度、减少用户支持呼叫的次数和支持新的、具有创造性的服务和应用程序方面,这种自动化的 NAT 穿越代表了非常重要的一步,尤其对于家庭网络环境而言。
NAT 穿越应视为一种在需要时使用的处理机制,而非在所有情况下都发挥作用。在 IPv6 中,每个客户机都具有可全局路由的 IP 地址,因此已不再需要 NAT 及 NAT 穿越。就 IPv6 能在多长时间得到普遍部署这一问题,有各种不同的预测。在业界,包括 Microsoft ,已投入巨资推进 IPv6,但在现在及未来的几年内,本文后面所述的 NAT 穿越解决方案对于希望解决 NAT 问题的一般用户和小型企业用户而言却意义非凡。
NAT 穿越操作
“NAT 穿越”依赖于作为通用即插即用 (UPnP) 论坛规范组成部分的发现和控制协议。UPnP 论坛有一个工作委员会主要负责定义 Internet 网关设备的控制协议并定义这些设备的服务。
支持 Internet 网关设备控制协议基本元素的 Internet 网关设备可向局域网上的控制点声明自己的存在并发布 XML 描述文档。利用这些 XML 描述文档,控制点就能了解用于确定 Internet 网关是否支持 NAT、获取 NAT 的外部 IP 地址及创建端口映射时需要调用的 UPnP 操作。
Windows 中的“NAT 穿越 API”对直接使用 UPnP 的要求进行了提炼,可提供用于检测、管理和配置 NAT 设备的接口。
NAT 穿越 API
当网络应用程序需要检测是否存在 NAT 设备并调整该设备的行为时,该应用程序可以使用 Windows 中提供的“NAT 穿越 API”(完整记录在 Platform SDK 中) 来实现下列功能:
. 判断 NAT 是否存在
. 获取 NAT 的外部 IP 地址。
. 获取特定外部端口的静态端口映射信息 (如果已映射)。
. 添加静态端口映射 (除非已分配外部端口)。
. 启用或禁用特定的端口映射而不删除
. 编辑静态端口映射的界面友好描述
. 删除静态端口映射
. 获取局域网静态端口映射的列表。
利用这些功能,应用程序可以解决许多因 NAT 而导致的问题。请注意:Windows NAT 穿越 API 目前仅在有限的时间内支持端口映射,否则将称为静态端口映射。
Windows XP 中的 NAT 穿越 API
默认情况下,Windows XP 中将安装 NAT 穿越 API。这些 API 也可安装在运行 Windows Me 和 Windows 98 的计算机中,方法是使用 Windows XP CD 上一个名为“网络安装向导”的工具。为提供附加 XML 解析器支持,“NAT 穿越 API”还要求安装 Internet Explorer 6.0。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者