新服务决策:IPv6 还是 IPv4?

新服务决策:IPv6 还是 IPv4?

如今,在托管新服务时,最好的决定是什么。IPv4 还是 IPv6?

如果我们决定在 IPv4 地址上启动它:

  1. 获取 IPv4 地址有多容易/困难(考虑到它们很快就会耗尽)?
  2. 将来它可以轻松移植到 IPv6 吗?
  3. 现有的IPv6用户如何与其通信?

如果我们决定在 IPv6 地址上启动它:

  1. 现有的IPv4用户如何与其通信?

答案1

IPv4 和 IPv6 是两个独立的协议,彼此之间不通信。目前您必须同时支持这两种协议。

获取 IPv4 地址变得越来越困难和昂贵,但您必须通过它提供服务,因为并非所有用户都拥有 IPv6。另一方面,有些用户不再拥有完整的 IPv4。他们可能不得不与许多其他人共享他们的 IPv4 地址,他们只有 IPv6,需要转换服务才能访问 IPv4 服务等。对于这些用户和未来的用户,您希望通过 IPv6 提供服务,以便他们能够以最佳方式访问它。

希望在不久的将来,每个人都能拥有 IPv6,这样我们就可以摆脱 IPv4 以及维持其运行所需的黑客攻击和成本。

启动新服务的一种方法是构建仅支持 IPv6 的所有内容,并在其旁边放置一个转换器(SIIT-DC 或反向代理),以将通过 IPv4 传入的请求转换为 IPv6。您现在将能够处理这两种协议,并且以后清理和删除过时的 IPv4 内容也将很容易。

如果您的服务在服务器集群上运行,此策略尤其有用。整个集群可以仅运行 IPv6,并且您的转换器上只需要一个 IPv4 地址。在大多数机器上只需维护一种协议会更容易,而且需要更少的 IPv4 地址也可以为您节省资金。这就是 Facebook 等公司也这样做的原因。

答案2

当然是两者兼而有之。IPv4 还会继续存在很长时间,而 IPv6 的推出已经是早该做的事了。

答案3

如今,在托管新服务时,最好的决定是什么。IPv4 还是 IPv6?

假设这是一项旨在供您无法控制的机器或网络上的客户端通过公共互联网使用的服务,您应该同时支持这两项服务。

获取 IPv4 地址有多容易/困难(考虑到它们很快就会耗尽)?

对于个人地址,您通常从托管服务提供商处租用它们,大多数提供商仍为每台服务器提供一个地址,但有些提供商开始对此收取额外费用。随着 IPv4 地址的市场价格上涨,我们可以预期服务提供商收取的租赁费也会上涨。

如果您需要块来运行自己的网络,事情会变得更加困难。IP 块有市场,但 AIUI 更像是购买房地产而不是购买服务器。在欧洲,也可以注册为 LIR 并从 RIPE 获得“最终分配”,这种方法的缺点是持续的费用(LIR 的费用比“独立于提供商”的分配高得多)。

更新:RIPE 的“最终分配”池现在也已耗尽。

将来它可以轻松移植到 IPv6 吗?

IPv6 地址比 IPv4 地址大,因此将 IP 存储在固定大小字段(无论是文本还是二进制)中的任何内容都是有问题的。同样,文本形式的 IPv6 地址使用冒号而不是点,因此将 IP 地址存储在结构化文本格式中的任何内容都可能存在问题。

从一开始就支持两者几乎肯定比事后尝试追踪存储和处理 IP 地址的每个地方更容易。

现有的IPv6用户如何与其通信?

目前,互联网上很大一部分只支持 v4,因此提供商必须提供一些方法来让其客户访问只支持 v4 的资源。随着 IPv4 地址变得越来越昂贵且越来越难获得,他们将越来越寻求允许他们这样做的机制,而无需为每个客户提供专用的公共 IPv4 地址。

有多种方法可以实现此目的,包括 ISP 级别的传统 IPv4 NAT、将 IPv4 数据包通过 IPv6 隧道传输到特殊 IPv4 NAT 的 DS-Lite 以及将 IPv6 数据包转换为 IPv4 数据包的 NAT64。所有这些方法都会以性能、可靠性和追踪滥用的能力为代价。

现有的IPv4用户如何与其通信?

与前一种情况不同,这主要是您的问题。一些客户端可能会使用 teredo,但 Windows 在检测到域控制器时默认禁用 teredo,而大多数其他操作系统根本不支持它。即使启用了 teredo,它也不是最可靠的机制。

因此,如果您希望您的服务能够满足大多数互联网用户的需要,那么您就需要在 IPv4 上提供该服务。

但这并不一定意味着您的服务器必须支持 IPv4。例如,如果您使用 Cloudflare 或 Akamai 等 CDN,那么 CDN 可以通过 IPv4 接收流量并通过 IPv6 转发给您。我还知道有一家托管服务提供商为这些客户提供免费的反向代理服务。随着 IPv4 地址价格和支持 IPv6 的客户端比例的上升,我预计这样的事情会变得更加普遍。

相关内容