我们可以只使用 IPv6 地址吗?

我们可以只使用 IPv6 地址吗?

我正在尝试做一个关于 IPv6 的项目。我的第一个疑问是,我们可以完全禁用我们的 IPv4 地址并仅使用我们的 IPv6 地址吗?我的第二个疑问是,仅 IPv6 的主机如何与仅 IPv4 的主机通信?为此使用哪种类型的隧道?当我搜索 6to4 和 6in4 时,我发现这些隧道方法适用于两个 IPv6 主机通过 IPv4 网络进行通信。那么 IPv6 主机如何与 IPv4 主机通信?

答案1

我正在尝试做一个关于 IPv6 的项目。我的第一个疑问是,我们可以完全禁用我们的 IPv4 地址并仅使用我们的 IPv6 地址吗?

是的,你可以。(如果你提供的是一般的公共服务“服务器”,则不行)

我的第二个疑问是,仅支持 IPv6 的主机如何与仅支持 IPv4 的主机通信?

使用 NAT64/DNS64。您可以提供自己的 NAT64/DNS64 网关,也可以使用一些公共 DNS64 服务器,例如

nameserver 2001:778::37
nameserver 2001:67c:2b0::4
nameserver 2001:67c:2b0::6
nameserver 2001:8b0:6464::1
nameserver 2001:8b0:6464::2

描述如下:

http://ipv6.lt/nat64_en.php(已停产)

http://www.trex.fi/2011/dns64.html

用于此目的的是什么类型的隧道?

没有隧道。这是转换。它有一些限制,就像您已经知道的 IPv4 NAT 一样。

但是 IPv6 主机不受 NAT64 的影响 - 通信直接进行。

当我搜索 6to4 和 6in4 时,我发现这些隧道方法是用于两个 IPv6 主机通过 IPv4 网络进行通信。那么 IPv6 主机如何与 IPv4 主机通信呢?

这两种隧道都已经过时了。一些 ISP 在 6rd 中使用这些隧道,但这不再是一个好主意。

一些 ISP 使用 4in6 进行 ds-lite。(基于原生 IPv6 网络)

要完成 NAT64,您可以添加 464XLAT。

答案2

所以我的疑问是我们是否可以完全禁用 ipv4 地址并仅使用 ipv6 地址。

是的。毫无疑问,这是可能的。IPv4 得到更广泛的支持,特别是在自动地址分配方面(在 IPv4 中最常见的实现方式是“DHCP”)。许多早期的设备不支持自动分配 IPv6 地址(或者可能不支持其他 IPv6 设备使用的相同方法),因此您可能需要手动设置网络设置。但是,一旦完成,IPv6 应该可以很好地工作,就像 IPv4 一样。

接下来 [...] 是仅支持 IPv6 的主机如何与仅支持 IPv4 的主机进行通信。

...和...

那么 ipv6 主机如何与 ipv4 主机通信

它无法直接做到这一点。唯一的方法是中继流量。中间的设备(可能称为代理、隧道代理或路由器)需要接收其中一个 Internet 协议上的流量,并将有效负载转换为使用另一个 Internet 协议的数据包。

我确实想澄清这个答案的一个方面。两个具有 IPv6 流量的设备可以使用 IPv6 进行通信,方法是将 IPv6 数据包放入 IPv4 数据包中(这可以称为隧道),然后使用 IPv4 进行通信。但是,我想说,如果这些计算机使用 IPv4 数据包,它们就不是“仅 IPv6”,因此这种网络设计实际上与您提出的问题不符。我之所以提出这一点,是因为您提到的某些协议会发生这种情况(将一种类型的数据包塞入另一种类型的一个或多个数据包中)。

什么类型的隧道用于此

有多种方法,其中一些您已经提到过(6to4、6in4)。存在多种方法的主要原因是存在多个计算机程序员,他们有不同的偏好。可能存在一些细微的差异,例如一种协议的开销更大,但更适合与使用 NAT 修改数据包的网络配合使用。

最重要的细节是双方需要使用相同的方法才能理解对方使用的数据包。某些解决方案可能在某些操作系统上更容易实现,或者由特定设备(可能是路由器)支持。

答案3

正确:一旦禁用 IPv4,您就会失去与仅 IPv4 系统的所有通信。IPv6 over IPv4 隧道适用于 ISP 未提供外部 IPv6 地址的用户。

您正在寻找的是 6to4 代理,但到目前为止我还没有找到任何可以做到这一点的代理,特别是如果您的 ISP 尚不支持 IPv6。

编辑:您可以研究 4in6 方法,以允许您的 IPv4 流量通过隧道传输。

答案4

如果一方只有 IPv4,而另一方只有 IPv6,那么双方就无法直接通信。您需要一个同时拥有 IPv4 和 IPv6 的第三方来帮助您。

您可以在第三方和仅支持 IPv6 的主机之间设置 IPv4-in-IPv6 (4in6) 隧道,以便为仅支持 IPv6 的主机提供 IPv4 连接,或者您可以设置 IPv6-in-IPv4 (6in4) 隧道,以便仅支持 IPv4 的一方能够访问 IPv6

第三方还可以通过其他方式提供帮助。如果 IPv4 端可以访问同时具有 IPv4 和 IPv6 的代理服务器,那么他们可以使用代理为他们创建 IPv6 连接。同样的原理也适用于 IPv6 端。

如果通信发起者是仅支持 IPv6 的一方,那么他们可以使用 DNS64/NAT64 服务。他们通过 DNS 查找 IPv4 一方的地址,DNS64 服务在答案中返回一个虚假的 IPv6 地址,当仅支持 IPv6 的一方连接到该虚假的 IPv6 地址时,NAT64 服务会拦截它并将其转换为 IPv4,然后 IPv4 便可以到达仅支持 IPv4 的一方。

如果仅支持 IPv6 的一方想要接受来自仅支持 IPv4 的主机的传入连接,那么他们可以请某人为他们运行 SIIT-DC 服务,该服务接受 IPv4 数据包并将其转换为 IPv6。

但最终还是需要第三方。要么建立一个隧道,将 IPv4 传输到仅支持 IPv6 的一侧,反之亦然,要么转换数据包。在这种情况下,直接通信永远不可能实现。

相关内容