网络专家通过 VPN 连接进行 IPv6 通信

Joseph Davies

当您开始评估 Intranet 上 Internet 协议版本 6 (IPv6) 的作用,并开始规划部署时,应了解如何在 Windows 中通过虚拟专用网络 (VPN) 连接来支持 IPv6 通信。使用 VPN 连接,可以扩展您的网络,它可通过公共网络(如 Internet)来建立与专用网络

的链接。VPN 连接拥有双层保护,一个是强大的身份验证协议,可验证连接用户的凭据,另一个是加密方法,可实现数据机密性。

Windows® XP 和 Windows Server® 2003 包含一个 IPv6 协议堆栈,但是有很多核心服务和网络组件并不支持 IPv6。Windows Vista™ 和 Windows Server 2008(以前代号为“Longhorn”)功能齐全,可支持 IPv6,在默认情况下便可安装和启用。实际上,几乎所有装有 Windows Vista 和 Windows Server 2008 的网络应用程序和服务都支持 IPv6。本月我将研究 Windows Vista、Windows Server 2008、Windows XP 和 Windows Server 2003 是否支持 VPN 连接发送的 IPv6 通信。这些 VPN 通信通过 Internet 协议版本 4 (IPv4) 和 IPv6 Internet 建立。

IPv4 Internet 上的 VPN 连接

现在大多数 Intranet 的 VPN 连接都通过 IPv4 Internet 创建。图 1 显示了这种类型的 VPN 连接基于 Windows 的组件。这些组件包括:

图 1 IPv4 Internet 上的 VPN 连接基于 Windows 的组件

图 1** IPv4 Internet 上的 VPN 连接基于 Windows 的组件 **(单击该图像获得较大视图)

VPN 客户端 这是一台可以启动对 VPN 服务器远程访问的 VPN 连接,并可与 Intranet 资源进行通信的计算机。远程访问 VPN 连接使 VPN 客户端可以像直接连接到 Intranet 一样执行操作。VPN 客户端即可运行 Windows 的客户端版本,也可运行 Windows 的服务器版本。

VPN 服务器 这台计算机可以侦听远程 VPN 连接尝试,强制执行身份验证和连接要求,以及在 VPN 客户端与 Intranet 资源之间传送数据包。VPN 服务器通常会运行具有“路由和远程访问”服务的 Windows 的服务器版本。

VPN 路由器 VPN 路由器是一台可以启动或侦听 VPN 点对点连接尝试的计算机。VPN 点对点连接可以将 Intranet 的两个部分连接在一起。VPN 路由器运行 Windows 的服务器版本以及“路由和远程访问”服务。

VPN 连接 根据 VPN 协议的封装的定义,VPN 连接是 VPN 客户端和 VPN 服务器之间或 VPN 不同路由器之间的逻辑链接。

启用 IPv6 的 Intranet 此 Intranet 可以本机转发 IPv6 通信,也可以作为 IPv4 数据包以隧道的方式转发 IPv6 通信。

IPv6/IPv4 主机 这个 Intranet 节点可以本机收发 IPv6 通信,也可以作为 IPv4 数据包以隧道的方式收发 IPv6 通信。

基于 Windows 的 VPN 客户端、服务器和路由器可以使用下列 VPN 协议来封装通过 VPN 连接发送的数据包:点对点隧道协议 (PPTP)、基于 Internet 协议安全性的第二层隧道协议 (L2TP/IPsec) 以及安全套接字隧道协议 (SSTP)。只有包含 Service Pack 1(SP1 目前正处于测试阶段)的 Windows Vista 和 Windows Server 2008 才支持 SSTP。

对于 IPv4 Internet 上的 VPN 连接,可以使用两种方法来发送 IPv6:IPv6 数据包作为 IPv4 数据包以隧道的形式发送(下称“IPv6-over-IPv4 通信”)和本机 IPv6 通信。

在本期专栏中,根据 VPN 协议和 Windows 的版本,详细说明了对通过 VPN 连接进行的 IPv6 通信的支持情况。对于远程访问 VPN 连接,指定的 VPN 协议和 Windows 版本的组合意味着它可以获得 Windows 远程访问客户端和远程访问服务器组件的支持。

IPv6-over-IPv4 通信

使用这种方法,位于 Intranet 上的远程访问客户端或 IPv6/IPv4 主机使用 IPv4 报头来封装 IPv6 数据包,并将结果作为 IPv4 数据包发送。对于 Intranet,站内自动隧道寻址协议 (ISATAP) IPv6 转换技术 (RFC 4214) 使 IPv6/IPv4 节点可以在仅使用 IPv4 的 Intranet 上交换 IPv6 通信。使用 ISATAP,可以不必配置或升级您现有的路由器,就能在仅使用 IPv4 的 Intranet 上启用 IPv6 连接,从而支持本机 IPv6 寻址和转发。有关 ISATAP 的详细信息,请参阅位于 microsoft.com/technet/network/ipv6/ipv6coexist.mspx 的“IPv6 转换技术”。

图 2 显示了使用 IPv4 Internet 上的 VPN 连接发送 IPv4 数据包时用于 VPN 通信的通用数据包结构。IPv4 数据包由 VPN 协议封装,包含报头和报尾,报尾的有无依 VPN 协议而定。结果的封装含有允许在 IPv4 Internet 上转发的 IPv4 报头。

图 2 使用 IPv4 Internet 上的 VPN 连接的 IPv4 数据包

图 2** 使用 IPv4 Internet 上的 VPN 连接的 IPv4 数据包 **

对于 IPv6-over-IPv4 通信,通过 VPN 连接发送的 IPv4 数据包的负载是 IPv6 数据包。图 3 显示了使用 IPv4 Internet 上的 VPN 连接发送 IPv6-over-IPv4 数据包时用于 VPN 通信的通用数据包结构。

图 3 使用 IPv4 Internet 上的 VPN 连接的 IPv6-over-IPv4 数据包

图 3** 使用 IPv4 Internet 上的 VPN 连接的 IPv6-over-IPv4 数据包 **

对于远程访问 VPN 连接,IPv4 Internet 上的 IPv6-over-IPv4 通信由 Windows Vista、Windows Server 2008、Windows XP SP1 或更高版本及 Windows Server 2003 中的 PPTP 和 L2TP/IPsec,以及 Windows Vista SP1 和 Windows Server 2008 中的 SSTP 支持。而对于 VPN 点对点连接,IPv4 Internet 上的 IPv6-over-IPv4 通信则由 Windows Server 2008 和 Windows Server 2003 中的 PPTP 和 L2TP/IPsec 支持。

本机 IPv6 通信

对于本机 IPv6 通信,VPN 客户端、服务器或路由器可以在不启动 IPv4 封装的情况下通过 VPN 连接发送 IPv6 数据包。这项功能对具有本机 IPv6 连接的 Intranet 很有效,它要求 VPN 客户端、服务器和路由器支持 IPv6 控制协议 (IPV6CP),即 RFC 2472,该协议定义了 IPv6 节点如何协商基于点对点协议 (PPP) 的连接的 IPv6 配置选项。Windows Vista 和 Windows Server 2008 都支持 IPV6CP,而 Windows XP 和 Windows Server 2003 则不支持。图 4 显示了使用 IPv4 Internet 上的 VPN 连接发送本机 IPv6 数据包时用于 VPN 通信的通用数据包结构。

图 4 使用 IPv4 Internet 上的 VPN 连接的本机 IPv6 数据包

图 4** 使用 IPv4 Internet 上的 VPN 连接的本机 IPv6 数据包 **

对于远程访问 VPN 连接,IPv4 Internet 上的本机 IPv6 通信由 Windows Vista 和 Windows Server 2008 中的 PPTP 和 L2TP/IPsec,以及 Windows Vista SP1 和 Windows Server 2008 中的 SSTP 支持。对于 VPN 点对点连接,在 IPv4 Internet 上传送的本机 IPv6 通信由 Windows Server 2008 中的 PPTP 和 L2TP/IPsec 支持。

IPv6 Internet 上的 VPN 连接

您还可以在 IPv6 Internet 上创建 VPN 连接。这类 VPN 连接在目前还不常见,但是当更多的 Internet 服务提供商为其客户提供 IPv6,以及更多的公司将 IPv6 Internet 连接纳入其 Intranet 边界网络时,它们就会变得更加普遍。

为了支持 IPv6 Internet 上的 VPN 连接,使用的 VPN 协议必须支持通过 IPv6 的连接。在 Windows Vista 和 Windows Server 2008 中,L2TP/IPsec 和 SSTP VPN 协议支持通过 IPv6 的远程访问 VPN 连接。在 Windows Server 2008 中,L2TP/IPsec 支持通过 IPv6 的点对点连接。IPv6 Internet 上的 VPN 连接使用的组件与用于 IPv4 Internet 上的 VPN 连接的组件一样,都可用于远程访问和 VPN 点对点连接。

还有两种通过 IPv6 Internet 发送 IPv6 数据包的方法:IPv6-over-IPv4 通信和本机 IPv6 通信。图 5 显示了通过 IPv6 Internet 上的 VPN 连接发送数据包时 IPv6-over-IPv4 数据包的通用结构。

图 5 使用 IPv6 Internet 上的 VPN 连接的 IPv6-over-IPv4 数据包

图 5** 使用 IPv6 Internet 上的 VPN 连接的 IPv6-over-IPv4 数据包 **

对于远程访问 VPN 连接,IPv6 Internet 上的 IPv6-over-IPv4 通信由 Windows Vista 和 Windows Server 2008 中的 L2TP/IPsec,以及 Windows Vista SP1 和 Windows Server 2008 中的 SSTP 支持。而对于 VPN 点对点连接,IPv6 Internet 上的 IPv6-over- IPv4 通信则由 Windows Server 2008 中的 L2TP/IPsec 支持。就像 IPv4 Internet 上的 IPv6-over-IPv4 通信一样,IPv6 Internet 上的 IPv6-over-IPv4 通信也要求部署 IPv6 转换技术,例如您 Intranet 上的 ISATAP。

图 6 显示了通过 IPv6 Internet 上的 VPN 连接发送数据包时本机 IPv6 数据包的通用结构。就像 IPv4 Internet 上的本机 IPv6 通信一样,IPv6 Internet 上的本机 IPv6 通信也需要 IPV6CP 支持,并要求在您的 Intranet 上部署本机 IPv6 连接。

图 6 使用 IPv6 Internet 上的 VPN 连接的本机 IPv6 数据包

图 6** 使用 IPv6 Internet 上的 VPN 连接的本机 IPv6 数据包 **

对于远程访问 VPN 连接,IPv6 Internet 上的本机 IPv6 通信由 Windows Vista 和 Windows Server 2008 中的 L2TP/IPsec,以及 Windows Vista SP1 和 Windows Server 2008 中的 SSTP 支持。对于 VPN 点对点连接,IPv6 Internet 上的本机 IPv6 通信由 Windows Server 2008 中的 L2TP/IPsec 支持。

总结

图 7 显示了通过 VPN 连接发送 IPv6 通信的四种方法以及两种不同类型的 VPN 连接在 Windows 中受支持的情况。简单地说,如果使用 IPv6 转换技术(例如您 Intranet 上的 ISATAP),您就可以在 IPv4 和 IPv6 Internet 上通过 VPN 连接发送 IPv6-over-IPv4 通信。如果您的 Intranet 支持本机 IPv6 连接,就可以在使用 Windows Vista 和 Windows Server 2008 的 IPv4 和 IPv6 Internet 上通过 VPN 连接发送 IPv6 通信。

Figure 7 Windows 中对通过 VPN 连接进行 IPv6 通信的支持

发送 IPv6 通信的方法 远程访问 VPN 连接 VPN 点对点连接
IPv4 Internet 上的 IPv6-over-IPv4 通信 Windows Vista、Windows Server 2008、Windows XP SP1 和更高版本及 Windows Server 2003 中的 PPTP 和 L2TP/IPsec,以及 Windows Vista SP1 和 Windows Server 2008 中的 SSTP Windows Server 2008 和 Windows Server 2003 中的 PPTP 和 L2TP/IPsec
IPv4 Internet 上的本机 IPv6 通信 Windows Vista 和 Windows Server 2008 中的 PPTP 和 L2TP/IPsec 以及 Windows Vista SP1 和 Windows Server 2008 中的 SSTP Windows Server 2008 中的 PPTP 和 L2TP/IPsec
IPv6 Internet 上的 IPv6-over-IPv4 通信 Windows Vista 和 Windows Server 2008 中的 L2TP/IPsec 以及 Windows Vista SP1 和 Windows Server 2008 中的 SSTP Windows Server 2008 中的 L2TP/IPsec
IPv6 Internet 上的本机 IPv6 通信 Windows Vista 和 Windows Server 2008 中的 L2TP/IPsec 以及 Windows Vista SP1 和 Windows Server 2008 中的 SSTP Windows Server 2008 中的 L2TP/IPsec

Joseph Davies是 Microsoft 的一位技术撰稿人,从 1992 年起一直从事有关 Windows 网络主题方面的培训和编写工作。他曾为 Microsoft Press 编写了五本著作,并且是每月在线 TechNet 网络专家专栏的作者。

© 2008 Microsoft Corporation 与 CMP Media, LLC.保留所有权利;不得对全文或部分内容进行复制.