IPv6 6to4机制

网络工程 ipv4 ipv6
2021-07-05 09:02:16

我不确定我是否了解6to4 机制

我的看法是:如果我们有两个 IP v6 主机想要通信并且所有互联网都是 IP v6,那就没有问题。

但是,如果从 IPv6 主机 A 到 IPv6 主机 B 的路径上存在 IPv4 网络,那么显然这是 6to4 试图解决的问题。但这个问题究竟是什么?如果我将数据包从 IPv6 主机 A 发送到 IPv6 主机 B,那么我能想到的唯一问题是 IPv4 网络中的路由器不支持 IPv6 地址 = 无法将数据包正确路由到主机 B。还要别的吗?我认为 6to4并不是要让 IPv6 主机与 IPv4 主机“对话”,这正是本文所强调的。

如果上述情况属实,那么我们希望以某种方式将主机 B 的 IPv6 地址转换为 IPv4 路由器可以理解的 IPv4 地址 - 然后 IPv4 路由器将能够将数据包路由到主机 B。但是,出于某种原因,维基百科我链接到的文章说:

例如,全球 IPv4 地址 192.0.2.4 具有对应的 6to4 前缀 2002:c000:0204::/48。这给出了 48 位的前缀长度,这为子网内的 16 位子网字段和 64 位主机地址留下了空间。

我只是不明白。我们想将 IPv6 地址转换为 IPv4 地址,但报价相反!

好的,但即使我们需要,IPv6 地址也有 128 位。在上述转换的第48位将是2002年:C000:0204 :: / 48,剩下的就是对子网字段和64位主机地址,子网内-什么子网领域,什么范围内的主机地址是什么子网?谁能解释一下剩下的 80 位是做什么用的?

1个回答

您是正确的,6to4 是为了允许 IPv6 主机(实际上是整个 IPv6 主机网络)与其他 IPv6 主机通信。它通过自动隧道来实现:将 IPv6 数据包放入 IPv4 数据包。这是由同时具有 IPv4 和 IPv6 的路由器完成的。然后,该 IPv4 数据包可以通过 IPv4 互联网(它根本不知道如何处理 IPv6)传输到另一个同时具有 IPv4 和 IPv6 的路由器。IPv4 包装器被取消,IPv6 数据包可以传输到其目的地。

这只是基本的隧道。是什么让 6to4 如此特别?路由器的 IPv4 地址在 IPv6 前缀内进行通信。例如:可以通过将 IPv6 数据包包装(封装)在 IPv4 数据包中并将该数据包发送到 IPv4 地址( =192, =0, =2, =4)来到达2002:c000:0204:0000:0000:0000:0000:0000之间的地址这使得那些提供商没有给他们提供 IPv6 但确实给他们一个公共 IPv4 地址的人有可能获得他们自己的 IPv6 地址。使用 a您可以创建 65536 个子网(每个子网)。2002:c000:0204:ffff:ffff:ffff:ffff:ffff192.0.2.4c0000204/48/64

与具有“正常”IPv6 地址的系统通信时会出现此问题。此类地址没有在 IPv6 地址中编码的 IPv4 地址,因此 6to4 路由器不知道将数据包发送到哪个 IPv4 地址。因此,它必须将它们发送到连接到普通 IPv6 互联网的第 3 方中继。此类中继的质量非常难以预测,因此与正常 IPv6 互联网的连接性通常很差。因此,不推荐使用 6to4 的这种部署(请参阅RFC7526)。

如果您想访问 IPv6,请先向您的 ISP 投诉。如果他们不想提供 IPv6,那么找一个像样的 ISP 提供。如果您无法从 ISP 获得 IPv6,那么您应该查看 ie tunnelbroker.net他们提供具有适当连接的免费 IPv6 隧道。它不是最优的,但比不可靠的 6to4 好得多。


基于聊天讨论一些额外的信息:

6to4 是一种过时的技术。它旨在为 ISP 未提供适当 IPv6 的人提供 IPv6 地址和可路由性。快速概览:

  • 您需要具有公共 IPv4 地址的设备
  • 从该 IPv6 地址派生一个 /48 前缀以用于 6to4
  • 所以我的地址 (37.77.56.75) 会变成 2002:254d:384b::/48
  • 然后可以使用该前缀为我的整个房子/企业/等提供 IPv6
  • 这就是你需要子网划分的地方
  • 具有公共 IPv4 地址的设备是我的内部 IPv6 网络和 IPv6 世界其他部分之间的网关
  • 并且您的 LAN 编号超出了 2002:....:....::/48 前缀

基本上就是这样:)

6to4 的问题在于它需要互联网上的第 3 方中继才能在 IPv4 互联网(您的 6to4 网关连接到该互联网)和真正的 IPv6 互联网之间进行中继。而且您通常无法控制哪些中继用于您的出站流量,而且您当然永远无法控制哪些中继用于您的入站流量。这会导致许多可靠性问题。与某些 IPv6 站点的连接可能有效,而对其他站点则可能无效,或者性能确实不可预测等等。

因此,最好使用 ie tunnelbroker.net他们提供了直接通往真正的 IPv6 互联网的适当隧道:)