新服务决策:IPv6还是IPv4?


22

这些天托管新服务时,最好的决定是什么。是IPv4还是IPv6?

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

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

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

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

5
@ user2284570大规模NAT破坏了需要端到端连接的应用程序,例如VoIP,多人游戏以及我遗忘的一些其他应用程序。这就是Xbox Live实际上向没有本地IPv6的人(通过Teredo)提供IPv6隧道的原因。
迈克尔·汉普顿


4
@ user2284570您是否考虑过迁移到更加文明的ISP(或国家/地区)?
迈克尔·汉普顿

2
@PeterHorvath事实证明,我们的许多互联网标准都是低效率的(例如使用http,具有向后兼容性的东西破坏了大多数创新),甚至您甚至不能保证人们会遵循它(请参阅html5元素和CSS 3的浏览器兼容性)。IPv6可能是一个不好的标准(我不知道,我对此主题的阅读不多),但是至少它解决了我们面临的一些问题,例如IPv4耗尽,尤其是静态ip的运行(以及无知的程序员)例如Notch以及许多其他不接受域名作为其服务器标识的人)。
Sebb 2015年

3
@PeterHorvath:你只是错误的。在许多地区(RIPE,APNIC,LACNIC),IPv4地址的主要供应已用尽。我是RIPE地址政策工作组的联合主席,因此我将重点关注该地区。在这里,每个LIR(通常是ISP)都可以获取一个1024个IPv4地址的块,仅此而已。如果他们还需要更多东西,则必须从市场上的另一家ISP购买。那些1024只是为了让他们在IPv4互联网上做某事,但还远远不够。NAT,虚拟主机等很常见,但我们仍然用光了。您所看到的是现有ISP耗尽了最终的耗材...
Sander Steffann 2015年

Answers:


30

IPv4和IPv6是彼此不交谈的单独协议。您现在必须同时支持这两种协议。

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

希望在不久的将来,每个人都将拥有IPv6,而我们可以摆脱IPv4以及保持其正常运行所需的hacks和成本。

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

如果您的服务在服务器群集上运行,则此策略特别有用。整个集群只能运行IPv6,而您的转换器仅需要一个IPv4地址。只需要在大多数计算机上维护一个协议就容易了,并且需要较少的IPv4地址也可以节省您的钱。这就是为什么像Facebook这样的公司也这样做的原因。


当然,此单一协议转换器将成为您所遇到的最大故障点,因此您至少要购买两个,并将其配置为ha集群,除非您不知道如何做,否则这当然很容易。但是,请相信我,您将拥有和Facebook一样大的身材,在这种规模的情况下确实很容易。
卡卡兹

1
@kakaz可以完全完全无状态的方式实现上述翻译器,这使得复制变得很简单。当然,由于该大小的站点需要负载均衡,因此它们也可以将转换器与负载均衡集成在一起。当然,由于从负载平衡器到后端的连接使用IP隧道,因此转换的需求会消失,因为即使内部数据包是IPv4,外部数据包也可以是IPv6。
卡巴斯德(Kasperd),

但是您知道什么是单点故障吗?
卡卡兹

34

当然两者。IPv4将保留很长时间,并且从IPv6开始已经过去了。


2
IPv4 will stay a long time:当然,我已经看到有报道说一些提供商开始向其订户而不是公共地址分配私有地址。同时,他们不提供IPV6访问(首选GCN而不是ipv6访问)
user2284570

3
@ user2284570:早就开始了。2年前,我通过家庭电缆互联网获得了DS-Lite,这是许多提供商现在的默认设置。幸运的是,我可以说服他们我需要完整的DS。
斯文

1
不,这不同,没有IPV6部件。但是也许我太本地化了,在法国,每个订户(无论是私人还是公司)仍然获得公共ipv4地址
user2284570 2015年

1
@ user2284570:这完全取决于提供程序。这也不是真正相关的,因为重要的一点仍然是IPv4可以保留很长时间。
斯文

2
@ user2284570我认为这发生在2002-2003年左右。
CVn 2015年

2

这些天托管新服务时,最好的决定是什么。是IPv4还是IPv6?

假设此服务旨在供您控制范围之外的计算机或网络上的客户端通过公共Internet使用,则您应同时支持这两种服务。

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

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

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

将来是否可以轻松将其移植到IPv6?

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

几乎可以肯定的是,从一开始就同时支持这两种方法比尝试追踪IP地址在存储和处理之后的每个位置都容易。

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

当前,Internet的很大一部分仅是v4,因此提供商必须提供一些手段让其客户访问仅v4的资源。随着IPv4地址变得越来越昂贵,越来越难获得,他们将寻找允许他们在不给每个客户一个专用公共IPv4地址的情况下执行此操作的机制。

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

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

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

因此,如果您希望您的服务适用于大多数Internet用户,则需要在IPv4上提供它。

但是,这并不意味着您的服务器必须支持IPv4。例如,如果您使用诸如Cloudflare或Akamai之类的CDN,则CDN可以通过IPv4接收流量并将其通过IPv6转发给您。我也知道有一家托管服务提供商为此客户提供免费的反向代理服务。我希望随着IPv4地址的价格和支持IPv6的客户端比例的增加,这种情况会越来越普遍。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.