teredo

IPv6 / IPv4 过渡技术

Teredo (又称为面向 IPv6 的 IPv4 NAT 网络地址转换穿越),是一项 IPv6 / IPv4 过渡技术,在 IPv6 / IPv4 主机位于一个或多个 IPv4 NAT 之后时,用来为单播 IPv6 连接提供地址分配和主机间自动隧道。为能够通过 IPv4 NAT, IPv6 数据包作为基于 IPv4 的用户数据包协议(UDP) 消息发送出去。详细解释了 Teredo 客户端的发起通信的方式、特定于 Teredo 主机的中继、仅支持 IPv6 主机使用 IPv4 Internet 的方法、 IPv6 Internet、 Teredo 服务器以及 Teredo 中继。

技术简介
在开始有关 Teredo 详细讨论前,我们有必要首先了解一下什么是 Teredo 以及我们为什么需要它。 Teredo 是一项地址分配和自动隧道技术,能够跨越 IPv4 Internet 实现 IPv6单播连接。在它之前已经有了一种能够通过 IPv4 Internet 实现 IPv6单播连接的自动隧道技术—— 6to4 。 6to4路由器使用一个公用的 IPv4 地址来构建 6to4 前缀,起到 IPv6 通告和促进路由器的作用。 6to4路由器压缩和解压经过站点节点的 IPv6 数据流。
6to4 技术依靠公用 IPv4 地址的配置以及边界设备中采用的 6to4路由功能。在许多小型办公室/家庭办公室(SOHO)配置中, IPv4 Internet 网络地址转换(NAT) 被广泛使用。如要了解更多关于网络地址转换工作的情况,请参阅文中的“网络地址转换(NAT)概述”。在大多数 NAT 配置中,提供 NAT 功能的设备并不具备成为 6to4路由器的功能。即使 NAT 设备普遍支持 6to4 ,还是有一些配置包含多层NAT。在这些多层配置中,支持 6to4 的NAT无法成为路由器,因为它不具备一个公共的 IPv4 地址。
Teredo 通过在站点内的主机之间实现 IPv6数据包隧道来解决现今 NAT 设备缺乏 6to4 功能以及多层 NAT 配置问题。相反, 6to4 使用边缘设备之间的隧道。主机之间隧道给 NAT 带来了另外一个问题:IPv4 压缩的 IPv6数据包发送时协议域的 IPv4 标头设定为41。大多数的 NAT只解析 TCP 或者 UDP 数据流,而且需要通过手动设置来实现对其它协议的解析或者安装负责处理解析的 NAT编辑器。因为协议41的解析并不是 NAT 的通用功能,所以 IPv4 压缩的 IPv6 通信传输不能通过一般的 NAT。为了使 IPv6 数据传输能够通过单个或多层 NAT, IPv6数据包必须压缩成 IPv4 UDP 格式的数据,包含 IPv4 和 UDP 标头各一个。UDP 数据普遍能够被 NAT 解析而且能够通过多层 NAT。
Teredo 是作为实现 IPv6 连接最后一种转换技术而设计的,认识到这一点很重要。如果原来的 IPv6 、 6to4 或者ISATAP连接可用,那么主机就不必作为 Teredo 的客户端。越来越多的 IPv4 NAT 经过了升级以便能够支持 6to4 ,而且 IPv6 连接变得越来越普遍, Teredo 将会使用得越来越少,直到最后完全被放弃。
Advanced Networking Pack for Windows XP 中的 IPv6 实现根据题为
转换介绍
网络地址转换(NAT) 是指符合 RFC 1631 标准的 IPv4路由器,它能够在发送前解析数据包 IP 地址以及 TCP/UDP端口号。例如,设想一个由多台计算机组成的,连接到 Internet 的小型商务网。通常需要为每台连接到 Internet 的电脑从 Internet 服务提供商 (ISP) 处得到一个 IP 地址。但是通过 NAT,这个小型的商务网就可以使用私有地址(如 RFC 1918 所述) ,然后通过 NAT 将专用地址映射到单个或者多个 IP 公用地址。
当一台小型商务企业的内部网计算机用户连接到 Internet 资源时,该用户的 TCP/IP 协议产生一个 IP数据包,该数据包包含以下值,这些值位于 IP 和 TCP 或 UDP 包头中:(粗体内容表示受 NAT 影响的项目):
请求源主机或者其它路由器将此 IP 数据包发送给 NAT, 然后由 NAT 将向外发送的数据包的地址解析如下:
NAT 将重新映射的 IP 数据包发送到 Internet 。响应计算机将向 NAT 返回一个响应。当 NAT 接收到此响应时,该数据包将包含以下地址信息:
当 NAT 完成映射和解析地址后,将向 Internet客户端发送数据包,此数据包包含以下地址信息:
对于向外发送的数据包,源 IP 地址和 TCP/UDP端口号将被映射到一个公用源 IP 地址和一个可能变化的 TCP/UDP 端口号。对于接收的数据包,目标 IP 地址和 TCP/UDP端口号将被映射到私有 IP 地址和初始 TCP/UDP 端口号。
请求源主机将此 IP 数据包发送给 NAT 设备,然后由 NAT 设备解析向外发送数据包的地址如下:
NAT 将重新映射后的 IP 数据包发送到 Internet。网站服务器向 NAT 返回一个响应。当 NAT 接受到此响应时,数据包包含以下地址信息:
当 NAT 完成地址的映射和解析后,它将此数据包发送给 Internet客户端,数据包包含以下地址信息:
图 1 展示了此例子的配置方式。
图1:NAT示例
查看大图。
从私用流量到公共流量的映射储存在一个 NAT 转换表中,包括两种类型的条目:
如果在 NAT 转换表中存在某个映射,那么 NAT 只是单向地从 Internet 向私有网络传送数据。这样,NAT 就为连接到私有网络部分的计算机提供了某种程度的保护。但是,如果考虑到 Internet 的安全性,NAT 就要配合全功能的防火墙一起使用。
NAT 类型
以下各类 NAT 的定义:
返回页首
结构构成
Teredo 结构由以下各部分组成(如图 2 所示):
客户端
Teredo客户端是指支持 Teredo 隧道接口的 IPv6 / IPv4节点,通过此隧道界面数据包可以传送给其它的 Teredo客户端以及 IPv6 Internet上的其它节点 (通过 Teredo 中继)。 Teredo客户端与 Teredo 服务器建立通信获得配置基于 Teredo 的 IPv6 地址用的地址前缀或者帮助建立与 IPv6 Internet上其它 Teredo客户端和服务器之间的通信。
The Advanced Networking Pack for Windows XP 包含了一个 Teredo客户端。
服务器
Teredo 服务器是指连接 IPv4 Internet 与 IPv6 Internet 的 IPv6 / IPv4节点,支持用来接受数据包的 Teredo 隧道接口。Teredo 服务器的常见作用是帮助 Teredo客户端的地址配置以及协助在 Teredo 客户端之间或者客户端与纯 IPv6主机之间与其他 Teredo 客户端建立通信连接。Teredo 服务器使用 UDP 3544 端口侦听 Teredo 通信。
The Advanced Networking Pack for Windows XP 不包含 Teredo 服务器功能。 The Advanced Networking Pack for Windows XP 有助于建立通信连接, Microsoft 采用 IPv4 Internet上的 Teredo 服务器。
中继
Teredo 中继是指能够在 IPv4 Internet 上的 Teredo客户端之间(使用 Teredo 隧道接口)以及与纯 IPv6主机之间传送数据包的 IPv6 / IPv4路由器。在某些情况下,Teredo 中继和 Teredo 服务器协同工作,帮助在 Teredo客户端之间以及与纯 IPv6主机之间建立连接。 Teredor 中继使用 UDP 3544 端口侦听 Teredo 通信。
The Advanced Networking Pack for Windows XP 不包含 Teredo 中继功能。 Microsoft 没有打算使用任何 IPv4 Internet 上的 Teredo 中继。个人 Internet 服务提供商 (ISP) 可以使用他们自己的 Teredo 中继。在向处于 IPv6 Internet 上的 IPv6主机发送数据包的时候,采用了The Advanced Networking Pack for Windows XP 的 Teredo客户端将和 Teredo 中继协同工作。 Teredo 中继并不需要和特定于 Teredo主机的中继进行通信。
主机中继
配置了全球地址的 Teredo客户端与 IPv6主机之间的通信必须经过 Teredo 中继。这对于连接到 IPv6 Internet 的 IPv6主机而言是必需的。但是,当 IPv6 主机既支持 IPv6 又支持 IPv4,并且同时连接到 IPv4 Internet 和 IPv6 Internet, 那么,Teredo客户端与 IPv6 主机之间的通信就会通过 IPv4 Internet 实现,而不必经过 IPv6 Internet 和 Teredo 中继。
特定于 Teredo主机的中继是指同时具有 IPv4 与 IPv6 Internet连接,并且无需 Teredo 中继即可通过 IPv4 Internet 直接与 Teredo客户端通信的 IPv6 / IPv4 节点。与 IPv4 Internet 的连接可以通过使用一个公用的 IPv4 地址或者使用一个专用 IPv4 地址和边界 NAT 来实现。与 IPv6 Internet 的连接可以通过直接连接或者当 IPv6 数据包通过 IPv4 Internet 隧道时使用诸如 6to4 这类的 IPv6 转换技术来实现。特定于 Teredo主机的中继使用 UDP 3544 端口侦听 Teredo 通信。
采用了 The Advanced Networking Pack for Windows XP 的 Teredo客户端包括了特定于 Teredo主机的中继功能。当在安装了 SP1 或者更高版本的补丁并且分配了全球地址的 Windows XP 上安装了The Advanced Networking Pack for Windows XP 后,特定于 Teredo 主机的中继功能便会自动激活。这个全球地址可以通过从本地 IPv6路由器、ISATAP 路由器或者 6to4 路由器发送的路由器通告中获得。如果运行 Windows XP SP1 的计算机没有全球地址,那么 Teredo客户端功能便被激活。
特定于 Teredo主机的中继能够使 Teredo客户端与 6to4 主机、带有非 6to4 全球地址前缀的 IPv6 主机或者组织内部的地址中使用全球前缀的 ISATAP 以及 6over4 主机进行有效通信。但是所有的主机都必须使用 The Advanced Networking Pack for Windows XP。
返回页首
地址
Teredo 地址格式见图 3。
图3:Teredo 地址格式
查看大图。
Teredo 地址包含以下内容:
图 4 是 2 个 Teredo客户端与他们的地址的示例。
图4:Teredo 地址示例
查看大图。
对于 Teredo客户端A,其 Teredo 地址由以下项目组成:
所以, 使用 Teredo 地址前缀格式:ServerAddr:Flags:ObscExtPort:ObscExtAddr, Teredo 客户端 Teredo 地址为 3FFE:831F:CE49:7601:0:DFFF:7C94:FFFE。这基于以下几点:
对于 Teredo客户端B,其 Teredo 地址由以下项目组成:
所以,使用 Teredo 地址前缀格式:ServerAddr:Flags:ObscExtPort:ObscExtAddr, Teredo 客户端 Teredo 地址为 3FFE:831F:CE49:7601:0:DFFF:7C94:FFFE。这基于以下几点:
Teredo 地址只是分配给 Teredo 客户端。Teredo 服务器、中继、和特定于主机的中继并不分配 Teredo 地址。
返回页首
数据格式
本章节讨论以下问题:
数据包
Teredo 数据包格式如图5所示。
图5: Teredo 数据包格式
查看大图。
Teredo 数据包由以下部分构成:
气泡数据包
Teredo 气泡数据包为建立或维持一个 NAT 映射而发送,由 IPv6 标头组成,并且不包含 IPv6 有效载荷。图6为 Teredo 气泡数据包。
图6: Teredo 气泡数据包
查看大图。
在 IPv6 标头中,下一个标头的域设置为 59,表示没有有效载荷。
指示符
Teredo 使用两种不同的指示符,它们是用来表示验证或者地址和端口信息的标头。
验证指示符
验证指示符用来保证在 Teredo 客户端和 Teredo 服务器之间进行路由器请求和路由器通告信息的可靠性。 Teredo 客户端和 Teredo 服务器都使用在鉴定指示符中产生验证信息的密钥进行加密。验证指示符处于 UDP 标头与 IPv6 数据包之间。如果在路由器通告信息中同时出现原始和验证指示符,那么验证指示符将被放在原始指示信息前面。
验证指示符的结构如图 7 所示。
图7:验证信息结构图
查看大图。
验证数据包含以下各域:
虽然在路由器通告信息和路由器请求信息中也包含了验证指示符,但是在 采用了 The Advanced Networking Pack for Windows XP 的 Teredo客户端中并不使用客户标识符或者验证值。当在没有客户端标识符或者验证值的时候,验证指示符的格式如图 8 所示。
图8:没有客户端标识符或者验证值时,验证指示符的格式
查看大图。
原始指示符
原始指示符用来表示 Teredo客户端、 Teredo 中继或者特定于 Teredo主机
如同验证指示符,原始指示符放在 UDP 标头与 IPv6 标头之间。它的结构如图 9 所示。
图9:原始指示符的结构
原始指示数据包含以下域:
图 10 表示了实现了 The Advanced Networking Pack for Windows XP 的 Teredo客户端使用的三种包含原始与验证指示符的不同数据包类型。
图10:包含验证与原始指示符的不同数据包类型
查看大图。
返回页首
路由
Teredo
图 11 显示了 Teredo 数据包在 Teredo主机, 特定于 Teredo 主机的中继和 IPv6 主机之间的传输。
图 11:Teredo 路由
查看全图。
在 IPv6 网上,前缀 ::/32路由被用于将使用 Teredo 前缀定义的数据包发送到最近的 Teredo 中继上。 Teredo 服务器, Teredo 中继和 特定于 Teredo主机的中继有一个前缀::/32路由,此路由包含了所有用该前缀作为在链的地址,也包含用作 Teredo 隧道出口的地址。 Teredo 隧道接口是一个逻辑接口,它将自动将 IPv4 地址与 UDP 的封装成发送的数据包。 Teredo 服务器, Teredo 中继和 特定于 Teredo主机的中继同时还有一个默认路由(::/0)指向 IPv6 网络。特别地,这个默认路由包含一个在 IPv6 网络上用一个物理接口与 IPv6 网相连的临近路由器的下个中继段的 IPv6 地址。
客户端
Advanced Networking Pack for Windows XP 中的 Terodo客户端有一个默认路由,它将使用该前缀的所有地址都视作 on-link 地址,也包含用 Teredo 隧道接口的地址。当这个默认地址使用时,下一中继段的地址被置于 IPv6 数据包中的目标地址中,同时下一中继段接口被置于 Teredo 隧道接口中。
当 Teredo 隧道接口发送数据包时,分为下面三种情况:
On-link Teredo 目标
对于发往相同站点和链接中其它 Teredo 主机的数据包, Teredo 隧道接口通过交换气泡数据包来代替 Neighbor Discovery 的地址解析
Teredo 检查多播气泡数据的缓存,决定目标 Teredo 地址是否与同一连接上的 Teredo客户端通信。每一个 Teredo客户端都在 IPv4 链路上发送多点传输气泡数据包给 Teredo 服务器以显示它在链路上的存在。每个 Teredo客户端接受到其它 Teredo客户端的气泡数据包后,与自己的 Teredo 和 IPv4 地址一起发送给多播气泡缓存。因此,如果目标 Teredo 地址在多点传输气泡缓存中,那么目标就是一个 on-link 邻居。
站点间的 Teredo 目标
对于发往不同节点上的另一台 Teredo 主机的数据包,如果两个 Teredo 主机都跨越 受限 NAT,Teredo 隧道接口使用气泡数据包替代“邻居发现”(Neighbor Discovery)地址解析过程。当两台 Teredo主机都穿越受限网络地址转换时, Teredo 隧道出口用气泡数据包
IPv6 网络目标
对于 IPv6 Internet 的数据包, Teredo 隧道接口用 ICMPv6 Echo Request 和 Echo Reply消息来代替 Neighbor Discovery 协议的地址解析进程。当一个 ICMPv6 Echo Request 消息发送给目标后,包含有在 IPv6 网上离 IPv6主机
返回页首
过程
此部分提供了 Teredo 有关数据包交换的细节,具体如下:
所有这些过程都是由 Advanced Networking Pack for Windows XP 中的 Teredo 客户端支持的;并且是自动、无需用户干涉的。唯一的例外是:Teredo 服务器的 IPv4 地址是可选配置。
初始设置
Teredo 客户端的初始化设置通过发送一系列路由请求消息给 Teredo 服务器确定一个 Teredo 地址,并了解客户端是通过一个Cone,受限还是在对称的 NAT。图12显示了 Teredo 客户端的初始化进程。
图12: Teredo 客户端的初始化设置
查看大图。
Teredo 客户端的初始化设置包括以下过程:
由于收到 RA(先前进程的第二步或第四步), Teredo客户端以如下方式构造地址:
实现了 The Advanced Networking Pack for Windows XP 的 Teredo客户端会自动尝试通过解析 name Teredo .I来测定 Teredo 服务器的 IPv4 地址。相应地,你可以用netsh interface IPv6 set Teredo servername=命令来设置 Teredo 服务器的 IPv4 地址。
维持 NAT 映射
图13 显示了 Teredo客户端是如何维持 Teredo 通信的 NAT 映射的。
图 13:维持 NAT 映射
查看大图。
Teredo客户端会定期地(一般默认每隔 30 秒钟)发送单一的气泡数据包到 Teredo 服务器。 Teredo 服务器会在不回复的情况下丢弃该数据包。这个周期性的数据包会重新刷新 NAT 的转换表。否则,这个映射就无效并被删除。如果映射不存在,对于Cone NAT 而言,所有接收的数据流;对于受限 NAT 而言,所有从 Teredo 服务器到 Teredo主机的数据流会地被 NAT 悄悄删除。
同一链接上的 Teredo 客户端之间的通信初始化图 14 显示了同一链接上的 Teredo 客户端之间的通信初始化。
图 14:同一链接上的 Teredo 客户端之间的通信初始化
在同一个链接中,要从客户端A 发送一个通信初始化数据包到客户端 B,按照下面的过程:
站点通信初始化
不同站点下 Teredo 客户端之间的通信初始化取决于节点之间是用Cone NAT 还是受限NAT。
Cone NAT
图15 表明当节点都位于Cone NAT 之后时, Teredo 客户端之间的通信初始化。
图15:节点都位于 Cone NAT 之后时, Teredo 客户端之间的通信初始化。
查看大图。
当 Teredo客户端都在 Cone NAT 之后时,Cone NAT 允许其转换表条目开放任何源 IP 地址和 UDP 端口让 Teredo客户端进行 Teredo 通信。因此, Teredo客户端A 可以在无需运用气泡数据包建立额外的 NAT 转换表条目的情况下向 Teredo客户端B 直接发送数据。
受限 NAT
图16 表明了当不同站点使用受限 NAT 时, Teredo 客户端之间的通信初始化。
图16:不同站点使用受限 NAT 时, Teredo 客户端之间的通信初始化
查看大图。
从 Teredo客户端A 发送通信初始化数据包到 Teredo客户端B,过程如下:
Teredo 客户端到 特定于 Teredo主机的中继的通信初始化从 Teredo客户端发送初始数据包到一个 特定于 Teredo主机的中继,依赖于 Teredo 客户端是一个Cone NAT 还是一个受限NAT。
Cone NAT
图17表明当 Teredo 客户端在 Cone NAT 之后从 Teredo 客户端到主机特定中继的通信初始化。
图17: Teredo 客户端在 Cone NAT 之后从 Teredo 客户端至主机特定中继的通信初始化
查看大图
从 Teredo客户端发送通信初始化数据包到特定于 Teredo 主机的中继,进程如下:
所有后续的往来于 Teredo 客户端和特定于 Teredo主机中继的数据包将直接发送。
受限 NAT
图18 显示了当 Teredo客户端位于受限 NAT 之后,从 Teredo客户端发送通信初始化数据到特定于 Teredo 主机的中继的过程。
图18: Teredo 客户端位于受限 NAT 之后,从 Teredo 客户端发送通信初始化数据到 特定于 Teredo 主机的中继
查看全图。
从 Teredo 客户端发送通信初始化数据到特定于 Teredo 主机的中继,进程如下:
所有 Teredo客户端与 特定于 Teredo主机的中继并发的数据包都直接被发送。
特定于 Teredo主机的中继到 Teredo 客户端的通信初始化特定于 Teredo主机的中继到 Teredo 客户端的通信初始化依赖于 Teredo 客户端是Cone NAT 之后的还是受限 NAT。
Cone NAT
图19显示了当 Teredo客户端位于Cone NAT 之后时,特定于 Teredo 主机的中继到 Teredo客户端的通信初始化。
图19:Teredo 客户端位于Cone NAT 之后时,特定于 Teredo 主机的中继到 Teredo 客户端的通信初始化
查看大图。
要从 特定于 Teredo主机的中继发送到 Teredo客户端的一个通信初始化数据包, 特定于 Teredo主机的中继要确定 Teredo 客户端是一个Cone NAT 。因此, 特定于 Teredo主机的中继直接发送初始化数据包到 Teredo 客户端。
主机的中继发送对通信初始化数据包进行响应的消息。
受限NAT
图20 显示了当 Teredo 客户端位于受限 NAT 之后时 特定于 Teredo 主机的中继到 Teredo 客户端的通信初始化。
图20: Teredo 客户端位于受限 NAT 之后时,特定于 Teredo 主机的中继到 Teredo 客户端的通信初始化。
查看大图。
从特定于 Teredo 主机的中继发送通信初始化数据包到 Teredo 客户端,过程如下:
为确保初始化通信数据包的 IPv6 地址真实,并且指向 特定于 Teredo主机
主机初始化
Teredo 客户端到 IPv6 主机的消息初始化依赖于 Teredo 客户端是Cone NAT 的,还是受限NAT。
Cone NAT
图12 显示了当 Teredo 客户端位于Cone NAT 之后时, Teredo 客户端与 IPv6 主机的通信初始化过程。
图12: Teredo 客户端位于Cone NAT 之后时, Teredo 客户端与 IPv6 主机的通信初始化过程
查看大图。
Teredo 客户端发送初始化通信数据包到 IPv6主机,过程如下:
所有接下来的往返于 Teredo 客户端和 IPv6 主机的数据包采用经由 Teredo 中继的路径。
受限 NAT
图22 显示了当 Teredo 客户端位于受限 NAT 之后时,Teredo 客户端到 IPv6主机通信的初始化。
图22 显示了当 Teredo 客户端位于受限 NAT 之后时, Teredo 客户端到 IPv6 主机通信的初始化。
查看大图。
IPv6主机发送初始化数据包至 Teredo 客户端,过程如下:
所有接下来的往返于 Teredo 客户端和 IPv6主机之间的数据包都采用经由 Teredo 中继的路径。
初始化
IPv6 主机到 Teredo 客户端的通信初始化依赖于 Teredo 客户端是基于Cone NAT 的,还是受限NAT的。
Cone NAT
图23显示了当客户端位于Cone NAT 之后时, IPv6 主机到 Teredo 客户端的通信初始化。
图23:客户端位于 Cone NAT 之后时,IPv6 主机到 Teredo 客户端的通信初始化
查看大图。
从 IPv6 主机发送初始化数据包至 Teredo 客户端,过程如下:
根据这个数据包的接收回执,Teredo客户端,储存对应于 Teredo 中继的 IPv4 地址和 UDP端口号,这样,响应数据包才能被发送给 Teredo 中继。 Teredo 中继接收到它们,除去 IPv4 和 UDP 标志后,发送该 IPv6 数据包到 IPv6 主机。
受限 NAT
图24 表明当 Teredo 客户端位于受限 NAT之后, IPv6 主机到 Teredo 客户端的通信初始化。
图24: Teredo 客户端位于受限NAT之后时, IPv6 主机到 Teredo 客户端的通信初始化
查看大图。
从 IPv6主机发送通信初始化数据包至 Teredo 客户端,进程如下:
为根据收到气泡数据包已等待发送的回执(此数据包来自 IPv6主机), Teredo 中继确认在客户端的受限 NAT 中建立了一个特定于来源的通道映射。 Teredo 中继发送数据包给 Teredo客户端。
总结
Teredo 是一种地址分配和主机间自动隧道技术,当 IPv6 / IPv4 主机均位于一个或多个 IPv4 NAT 之后时,它可以帮助用户建立IPv6 单播连接。IPv6数据包以基于 IPv4 的 UDP 消息发送。 Teredo 通信依托于 Teredo 服务器和 Teredo 中继。一个 特定于 Teredo主机的中继相当于一个没有使用 Teredo 地址的 IPv6 或是 IPv4 ,但是能够在通信路径上不使用 Teredo 中继的情况下与 Teredo 用户进行通信。本文对获得 Teredo 地址,维持 NAT 映射以及在两个 Teredo客户端、两个特定于 Teredo主机的中继、和两个 IPv6 主机之间进行通信的初始化流程都做了详尽的说明。不管是基于Cone NAT 还是受限NAT,任何初始化通信过程都基于 Teredo 客户端。
注意要点
本文假设读者掌握 IPv6 和 IPv6 过渡技术。有关 IPv6 的更多信息,请访问IPv6 简介。有关 IPv6 过渡技术的更多信息,请访问IPv6 / IPv4 的共存与迁移。
鸣谢
Christian Huitema,架构设计师, Microsoft 公司
Stewart Tansley, 项目经理, Microsoft 公司
Mohit Talwar,软件开发工程师, Microsoft 公司
Dave Thaler, 软件开发主管, Microsoft 公司
全国各地天气预报查询

上海市

  • 市辖区
  • 云南省

  • 临沧市
  • 云南省

  • 丽江市
  • 云南省

  • 保山市
  • 云南省

  • 大理白族自治州
  • 云南省

  • 德宏傣族景颇族自治州
  • 云南省

  • 怒江傈僳族自治州
  • 云南省

  • 文山壮族苗族自治州
  • 云南省

  • 昆明市
  • 云南省

  • 昭通市
  • 云南省

  • 普洱市
  • 云南省

  • 曲靖市
  • 云南省

  • 楚雄彝族自治州
  • 云南省

  • 玉溪市
  • 云南省

  • 红河哈尼族彝族自治州
  • 云南省

  • 西双版纳傣族自治州
  • 云南省

  • 迪庆藏族自治州
  • 内蒙古自治区

  • 乌兰察布市
  • 内蒙古自治区

  • 乌海市
  • 内蒙古自治区

  • 兴安盟
  • 内蒙古自治区

  • 包头市
  • 内蒙古自治区

  • 呼伦贝尔市
  • 内蒙古自治区

  • 呼和浩特市
  • 内蒙古自治区

  • 巴彦淖尔市
  • 内蒙古自治区

  • 赤峰市
  • 内蒙古自治区

  • 通辽市
  • 内蒙古自治区

  • 鄂尔多斯市
  • 内蒙古自治区

  • 锡林郭勒盟
  • 内蒙古自治区

  • 阿拉善盟
  • 北京市

  • 市辖区
  • 吉林省

  • 吉林市
  • 吉林省

  • 四平市
  • 吉林省

  • 延边朝鲜族自治州
  • 吉林省

  • 松原市
  • 吉林省

  • 白城市
  • 吉林省

  • 白山市
  • 吉林省

  • 辽源市
  • 吉林省

  • 通化市
  • 吉林省

  • 长春市
  • 四川省

  • 乐山市
  • 四川省

  • 内江市
  • 四川省

  • 凉山彝族自治州
  • 四川省

  • 南充市
  • 四川省

  • 宜宾市
  • 四川省

  • 巴中市
  • 四川省

  • 广元市
  • 四川省

  • 广安市
  • 四川省

  • 德阳市
  • 四川省

  • 成都市
  • 四川省

  • 攀枝花市
  • 四川省

  • 泸州市
  • 四川省

  • 甘孜藏族自治州
  • 四川省

  • 眉山市
  • 四川省

  • 绵阳市
  • 四川省

  • 自贡市
  • 四川省

  • 资阳市
  • 四川省

  • 达州市
  • 四川省

  • 遂宁市
  • 四川省

  • 阿坝藏族羌族自治州
  • 四川省

  • 雅安市
  • 天津市

  • 市辖区
  • 宁夏回族自治区

  • 中卫市
  • 宁夏回族自治区

  • 吴忠市
  • 宁夏回族自治区

  • 固原市
  • 宁夏回族自治区

  • 石嘴山市
  • 宁夏回族自治区

  • 银川市
  • 安徽省

  • 亳州市
  • 安徽省

  • 六安市
  • 安徽省

  • 合肥市
  • 安徽省

  • 安庆市
  • 安徽省

  • 宣城市
  • 安徽省

  • 宿州市
  • 安徽省

  • 池州市
  • 安徽省

  • 淮北市
  • 安徽省

  • 淮南市
  • 安徽省

  • 滁州市
  • 安徽省

  • 芜湖市
  • 安徽省

  • 蚌埠市
  • 安徽省

  • 铜陵市
  • 安徽省

  • 阜阳市
  • 安徽省

  • 马鞍山市
  • 安徽省

  • 黄山市
  • 山东省

  • 东营市
  • 山东省

  • 临沂市
  • 山东省

  • 威海市
  • 山东省

  • 德州市
  • 山东省

  • 日照市
  • 山东省

  • 枣庄市
  • 山东省

  • 泰安市
  • 山东省

  • 济南市
  • 山东省

  • 济宁市
  • 山东省

  • 淄博市
  • 山东省

  • 滨州市
  • 山东省

  • 潍坊市
  • 山东省

  • 烟台市
  • 山东省

  • 聊城市
  • 山东省

  • 菏泽市
  • 山东省

  • 青岛市
  • 山西省

  • 临汾市
  • 山西省

  • 吕梁市
  • 山西省

  • 大同市
  • 山西省

  • 太原市
  • 山西省

  • 忻州市
  • 山西省

  • 晋中市
  • 山西省

  • 晋城市
  • 山西省

  • 朔州市
  • 山西省

  • 运城市
  • 山西省

  • 长治市
  • 山西省

  • 阳泉市
  • 广东省

  • 东莞市
  • 广东省

  • 中山市
  • 广东省

  • 云浮市
  • 广东省

  • 佛山市
  • 广东省

  • 广州市
  • 广东省

  • 惠州市
  • 广东省

  • 揭阳市
  • 广东省

  • 梅州市
  • 广东省

  • 汕头市
  • 广东省

  • 汕尾市
  • 广东省

  • 江门市
  • 广东省

  • 河源市
  • 广东省

  • 深圳市
  • 广东省

  • 清远市
  • 广东省

  • 湛江市
  • 广东省

  • 潮州市
  • 广东省

  • 珠海市
  • 广东省

  • 肇庆市
  • 广东省

  • 茂名市
  • 广东省

  • 阳江市
  • 广东省

  • 韶关市
  • 广西壮族自治区

  • 北海市
  • 广西壮族自治区

  • 南宁市
  • 广西壮族自治区

  • 崇左市
  • 广西壮族自治区

  • 来宾市
  • 广西壮族自治区

  • 柳州市
  • 广西壮族自治区

  • 桂林市
  • 广西壮族自治区

  • 梧州市
  • 广西壮族自治区

  • 河池市
  • 广西壮族自治区

  • 玉林市
  • 广西壮族自治区

  • 百色市
  • 广西壮族自治区

  • 贵港市
  • 广西壮族自治区

  • 贺州市
  • 广西壮族自治区

  • 钦州市
  • 广西壮族自治区

  • 防城港市
  • 新疆维吾尔自治区

  • 乌鲁木齐市
  • 新疆维吾尔自治区

  • 伊犁哈萨克自治州
  • 新疆维吾尔自治区

  • 克孜勒苏柯尔克孜自治州
  • 新疆维吾尔自治区

  • 克拉玛依市
  • 新疆维吾尔自治区

  • 博尔塔拉蒙古自治州
  • 新疆维吾尔自治区

  • 吐鲁番市
  • 新疆维吾尔自治区

  • 和田地区
  • 新疆维吾尔自治区

  • 哈密市
  • 新疆维吾尔自治区

  • 喀什地区
  • 新疆维吾尔自治区

  • 塔城地区
  • 新疆维吾尔自治区

  • 巴音郭楞蒙古自治州
  • 新疆维吾尔自治区

  • 昌吉回族自治州
  • 新疆维吾尔自治区

  • 自治区直辖县级行政区划
  • 新疆维吾尔自治区

  • 阿克苏地区
  • 新疆维吾尔自治区

  • 阿勒泰地区
  • 江苏省

  • 南京市
  • 江苏省

  • 南通市
  • 江苏省

  • 宿迁市
  • 江苏省

  • 常州市
  • 江苏省

  • 徐州市
  • 江苏省

  • 扬州市
  • 江苏省

  • 无锡市
  • 江苏省

  • 泰州市
  • 江苏省

  • 淮安市
  • 江苏省

  • 盐城市
  • 江苏省

  • 苏州市
  • 江苏省

  • 连云港市
  • 江苏省

  • 镇江市
  • 江西省

  • 上饶市
  • 江西省

  • 九江市
  • 江西省

  • 南昌市
  • 江西省

  • 吉安市
  • 江西省

  • 宜春市
  • 江西省

  • 抚州市
  • 江西省

  • 新余市
  • 江西省

  • 景德镇市
  • 江西省

  • 萍乡市
  • 江西省

  • 赣州市
  • 江西省

  • 鹰潭市
  • 河北省

  • 保定市
  • 河北省

  • 唐山市
  • 河北省

  • 廊坊市
  • 河北省

  • 张家口市
  • 河北省

  • 承德市
  • 河北省

  • 沧州市
  • 河北省

  • 石家庄市
  • 河北省

  • 秦皇岛市
  • 河北省

  • 衡水市
  • 河北省

  • 邢台市
  • 河北省

  • 邯郸市
  • 河南省

  • 三门峡市
  • 河南省

  • 信阳市
  • 河南省

  • 南阳市
  • 河南省

  • 周口市
  • 河南省

  • 商丘市
  • 河南省

  • 安阳市
  • 河南省

  • 平顶山市
  • 河南省

  • 开封市
  • 河南省

  • 新乡市
  • 河南省

  • 洛阳市
  • 河南省

  • 漯河市
  • 河南省

  • 濮阳市
  • 河南省

  • 焦作市
  • 河南省

  • 省直辖县级行政区划
  • 河南省

  • 许昌市
  • 河南省

  • 郑州市
  • 河南省

  • 驻马店市
  • 河南省

  • 鹤壁市
  • 浙江省

  • 丽水市
  • 浙江省

  • 台州市
  • 浙江省

  • 嘉兴市
  • 浙江省

  • 宁波市
  • 浙江省

  • 杭州市
  • 浙江省

  • 温州市
  • 浙江省

  • 湖州市
  • 浙江省

  • 绍兴市
  • 浙江省

  • 舟山市
  • 浙江省

  • 衢州市
  • 浙江省

  • 金华市
  • 海南省

  • 三亚市
  • 海南省

  • 三沙市
  • 海南省

  • 儋州市
  • 海南省

  • 海口市
  • 海南省

  • 省直辖县级行政区划
  • 湖北省

  • 十堰市
  • 湖北省

  • 咸宁市
  • 湖北省

  • 孝感市
  • 湖北省

  • 宜昌市
  • 湖北省

  • 恩施土家族苗族自治州
  • 湖北省

  • 武汉市
  • 湖北省

  • 省直辖县级行政区划
  • 湖北省

  • 荆州市
  • 湖北省

  • 荆门市
  • 湖北省

  • 襄阳市
  • 湖北省

  • 鄂州市
  • 湖北省

  • 随州市
  • 湖北省

  • 黄冈市
  • 湖北省

  • 黄石市
  • 湖南省

  • 娄底市
  • 湖南省

  • 岳阳市
  • 湖南省

  • 常德市
  • 湖南省

  • 张家界市
  • 湖南省

  • 怀化市
  • 湖南省

  • 株洲市
  • 湖南省

  • 永州市
  • 湖南省

  • 湘潭市
  • 湖南省

  • 湘西土家族苗族自治州
  • 湖南省

  • 益阳市
  • 湖南省

  • 衡阳市
  • 湖南省

  • 邵阳市
  • 湖南省

  • 郴州市
  • 湖南省

  • 长沙市
  • 甘肃省

  • 临夏回族自治州
  • 甘肃省

  • 兰州市
  • 甘肃省

  • 嘉峪关市
  • 甘肃省

  • 天水市
  • 甘肃省

  • 定西市
  • 甘肃省

  • 平凉市
  • 甘肃省

  • 庆阳市
  • 甘肃省

  • 张掖市
  • 甘肃省

  • 武威市
  • 甘肃省

  • 甘南藏族自治州
  • 甘肃省

  • 白银市
  • 甘肃省

  • 酒泉市
  • 甘肃省

  • 金昌市
  • 甘肃省

  • 陇南市
  • 福建省

  • 三明市
  • 福建省

  • 南平市
  • 福建省

  • 厦门市
  • 福建省

  • 宁德市
  • 福建省

  • 泉州市
  • 福建省

  • 漳州市
  • 福建省

  • 福州市
  • 福建省

  • 莆田市
  • 福建省

  • 龙岩市
  • 西藏自治区

  • 山南市
  • 西藏自治区

  • 拉萨市
  • 西藏自治区

  • 日喀则市
  • 西藏自治区

  • 昌都市
  • 西藏自治区

  • 林芝市
  • 西藏自治区

  • 那曲市
  • 西藏自治区

  • 阿里地区
  • 贵州省

  • 六盘水市
  • 贵州省

  • 安顺市
  • 贵州省

  • 毕节市
  • 贵州省

  • 贵阳市
  • 贵州省

  • 遵义市
  • 贵州省

  • 铜仁市
  • 贵州省

  • 黔东南苗族侗族自治州
  • 贵州省

  • 黔南布依族苗族自治州
  • 贵州省

  • 黔西南布依族苗族自治州
  • 辽宁省

  • 丹东市
  • 辽宁省

  • 大连市
  • 辽宁省

  • 抚顺市
  • 辽宁省

  • 朝阳市
  • 辽宁省

  • 本溪市
  • 辽宁省

  • 沈阳市
  • 辽宁省

  • 盘锦市
  • 辽宁省

  • 营口市
  • 辽宁省

  • 葫芦岛市
  • 辽宁省

  • 辽阳市
  • 辽宁省

  • 铁岭市
  • 辽宁省

  • 锦州市
  • 辽宁省

  • 阜新市
  • 辽宁省

  • 鞍山市
  • 重庆市

  • 重庆市

  • 市辖区
  • 陕西省

  • 咸阳市
  • 陕西省

  • 商洛市
  • 陕西省

  • 安康市
  • 陕西省

  • 宝鸡市
  • 陕西省

  • 延安市
  • 陕西省

  • 榆林市
  • 陕西省

  • 汉中市
  • 陕西省

  • 渭南市
  • 陕西省

  • 西安市
  • 陕西省

  • 铜川市
  • 青海省

  • 果洛藏族自治州
  • 青海省

  • 海东市
  • 青海省

  • 海北藏族自治州
  • 青海省

  • 海南藏族自治州
  • 青海省

  • 海西蒙古族藏族自治州
  • 青海省

  • 玉树藏族自治州
  • 青海省

  • 西宁市
  • 青海省

  • 黄南藏族自治州
  • 黑龙江省

  • 七台河市
  • 黑龙江省

  • 伊春市
  • 黑龙江省

  • 佳木斯市
  • 黑龙江省

  • 双鸭山市
  • 黑龙江省

  • 哈尔滨市
  • 黑龙江省

  • 大兴安岭地区
  • 黑龙江省

  • 大庆市
  • 黑龙江省

  • 牡丹江市
  • 黑龙江省

  • 绥化市
  • 黑龙江省

  • 鸡西市
  • 黑龙江省

  • 鹤岗市
  • 黑龙江省

  • 黑河市
  • 黑龙江省

  • 齐齐哈尔市