本文目录导读:

Teredo 是一种IPv6 过渡技术,主要用于解决 IPv4 网络(即当前绝大多数网络)无法直接访问 IPv6 资源的问题。
它的核心原理是在 IPv4 网络中“挖一条隧道”,将 IPv6 数据包封装在 IPv4 数据包里传输。
下面我用分步的方式详细解释其工作原理和过程:
核心原理:封装与解封装
Teredo 隧道的基本工作流程可以分为以下几步:
-
假设前提:
- 用户主机 A 只有公网或内网 IPv4 地址,没有 IPv6 地址。
- 用户主机 A 想要访问一个只有 IPv6 地址的服务器 B。
- 需要一台 Teredo 服务器和一个 Teredo 中继(Relay)。
-
第一步:客户端获取 Teredo IPv6 地址
- 主机 A(Teredo 客户端)首先向一个已知的 Teredo 服务器发送一个“请求”数据包(这是一个 IPv4 数据包)。
- Teredo 服务器收到请求后,会返回一个特定的 Teredo IPv6 地址给主机 A。
- 关键:这个 Teredo IPv6 地址并不是随机的,它内部嵌入了主机 A 的公共 IPv4 地址和 UDP 端口号,这样,任何知道这个 Teredo 地址的主机,就能知道该通过哪个 IPv4 地址和 UDP 端口来找到主机 A。
-
第二步:封装 IPv6 数据包
- 主机 A 想要给 IPv6 服务器 B 发送一个正常的 IPv6 数据包。
- 但主机 A 不会直接发送,因为底层网络是 IPv4 的,它会进行封装:
- 内层:原始 IPv6 数据包(源地址是刚才获取的 Teredo 地址,目标地址是服务器 B 的 IPv6 地址)。
- 外层:新加上一个 IPv4 头部和数据(源地址是主机 A 的真实 IPv4 地址,目标地址是 Teredo 中继或服务器 B 的 IPv4 地址)。
- 封装后形成一个 UDP 数据包,通过 IPv4 网络发送出去。
-
第三步:在 IPv4 网络中传输
- 这个双层数据包像普通 IPv4 数据包一样,通过互联网路由器传输到目标。
- 中间的 IPv4 路由器完全看不懂里面还有一个 IPv6 数据包,它们只负责传递外层 IPv4 数据包。
-
第四步:到达 Teredo 中继(Relay)
- 这个封装后的数据包最终会到达一个特殊的设备——Teredo 中继。
- Teredo 中继位于 IPv4 和 IPv6 网络的交界处。
- 核心任务:中继会解封装这个数据包,即撕掉外层的 IPv4 和 UDP 头部,取出原始的 IPv6 数据包。
- 中继将这个真实的 IPv6 数据包通过它的 IPv6 接口,发送到纯 IPv6 网络中去,最终到达 IPv6 服务器 B。
-
第五步:反向过程(服务器 B 回复数据)
- 当 IPv6 服务器 B 回复数据时,目标地址是主机 A 的 Teredo IPv6 地址。
- 这个回复的 IPv6 数据包发送到 IPv6 网络后,会找到最近的 Teredo 中继(因为 Teredo 地址前缀告诉路由器这是 Teredo 地址)。
- Teredo 中继读取回复数据包的目标地址(主机 A 的 Teredo 地址),从中提取出主机 A 的真实 IPv4 地址和 UDP 端口号。
- 中继将回复数据包再次封装成 IPv4+UDP 数据包,通过 IPv4 网络发送给主机 A。
- 主机 A 收到后解封装,取出 IPv6 回复。
关键组件
- Teredo 客户端:你使用的 Windows 或 Linux 系统(通常会内置 Teredo 功能,如 Windows 的
teredo服务)。 - Teredo 服务器:用于辅助客户端获取 Teredo 地址,本身不转发普通数据流量。
- Teredo 中继(Relay):负责真正的流量封装和解封装,位于 IPv4/IPv6 网络边界。
你可以在哪里看到或使用 Teredo?
- Windows:默认在启用 IPv6 时开启,你可以用
netsh interface teredo show state命令查看状态。 - Linux:需要安装
teredo或miredo软件包。 - 游戏主机:早期的 Xbox 360 和 PS3 曾大量使用 Teredo,用于解决 NAT 穿越问题,让玩家能联机(特别是当玩家处于不同 NAT 类型下时)。
当前状况与局限性
- NAT 穿透:Teredo 的一个主要优势是它能够穿透 NAT(网络地址转换)(如家庭路由器),因为它可以在 IPv4 UDP 包中模拟 TCP 或 UDP,而大多数家庭路由器都允许 UDP 包通过。
- 性能问题:Teredo 隧道速度和延迟通常比原生 IPv6 差,因为它额外增加了封装和解封装的开销。
- 安全风险:由于 Teredo 可以穿透防火墙,被某些网络安全管理员视为安全风险。
- 逐渐被淘汰:随着全球 IPv6 部署的增加,以及更优的隧道技术(如 6to4、6in4、VPN 等)和原生 IPv6 的普及,Teredo 在很多现代操作系统(如 Windows 10 后期版本、Windows 11、macOS、Linux)中已不再是默认首选技术,甚至在 Windows 中被默认禁用。
Teredo 隧道 = 在 UDP 上构建的 IPv6 隧道。 它通过封装技术,将 IPv6 数据包伪装成 IPv4 + UDP 数据包,从而在纯 IPv4 网络中创造出两条“隧道”,让 IPv6 流量得以穿越,并通过 Teredo 中继 在 IPv4 和 IPv6 网络之间进行转换,它最大的价值是解决了“客户端在内网且有 NAT 环境”下的 IPv6 访问问题。
标签: IPv6过渡
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播