我使用多种语言和一些平台开发应用程序。从我正在阅读的内容来看,IPv6将在未来5到10年内成为主流,并且一些ISP甚至提供与IPv6互联网的直接连接。在我的专用网络上,所有计算机都具有双栈连接,并在可能的情况下使用IPv6进行相互通信。
我的问题是:我的新应用程序是否应该支持IPv6?如果是这样,我需要考虑哪些事情?现在支持IPv6有什么缺点吗?
我不知道这是否会有所帮助或受到伤害,但这里有一些更具体的细节可能会指出一些答案:
我的应用程序将在Windows / Linux / Mac上运行,它将包含为每个平台单独编写的特定于平台的组件,以及以解释语言编写的通用“核心”组件。
我的应用程序应该能够找到在三个平台中的任何一个上运行的自身的其他实例,并且在任何两台机器之间支持TCP和UDP。
答案 0 :(得分:10)
是的:所有新应用都应该支持IPv6。正如您自己所说,它已经在许多局域网环境中使用。
否:您不必为了支持IPv6而进行太多改动。底层框架应该为您处理差异。这假设你没有做“坏”的事情,比如存储或操纵IP地址。
答案 1 :(得分:4)
我看到一些人正在引用史蒂夫吉布森对这个问题的看法。虽然吉布森先生在安全方面非常娴熟(我确实听过每一个“安全即时”的情节,并鼓励所有对安全感兴趣的人也这样做),我相信他对当前的计划有点失去联系。他预测IPv6没有前途。
IPv6的使用已经超越了单纯的学术用途,并且在国防研究行业得到了相当多的关注,它不再是“如果”的问题,而是“什么时候”它将取代IPv4(在军事上)网络,即)。
当然,我们现在的互联网仍然会在很长一段时间内使用v4,其中一个原因是大多数硬件和软件都不兼容IPv6。
我现在无法想到实现IPv6的任何缺点(当然,除了额外的编码时间和维护两个IP堆栈的额外复杂性之外)。事实上,使用IPv6可以更容易。例如,您可以忘记所有关于NAT遍历的问题。
答案 2 :(得分:3)
安全研究员史蒂夫吉布森对此发表了惊人的意见,并指出它不会在不久的将来出现。这里有一些链接可以提供更多信息:
http://www.grc.com/sn/sn-199.htm - 中途,他开始在成绩单/播客中讨论IPv6
http://www.grc.com/sn/sn-200.htm - 快速纠正199集中的错误,以及更多细节。
答案 3 :(得分:2)
如果可能,您的框架应该支持两者,但如果您可以选择一个,我会使用IPv4,但请确保您可以添加/转换到IPv6。但这也取决于谁是产品的最终用户以及您的项目有哪些要求。这是用于正在使用/将使用IPv6的用户还是要接受主要使用IPv4的现有基础。
根据我的经验,我目前正在开展的项目考虑使用IPv6,因为有权支持IPv6。在大多数情况下,我们发现硬件供应商(交换机,路由器,计算机)和WAN供应商能够支持切换到IPv6。在整合现有的IPv4硬件方面会有一些工作,但可以做到。基于成本,它将大致相同,至少是硬件方面。
但是,我们使用的某些软件产品不支持也可能不支持IPv6,而其他软件产品似乎更容易支持IPv6。基于此,我们正在升级到该软件的新版本,但可能仍然是该版本的IPv4,或者至少在软件赶上IPv6支持之前。
答案 4 :(得分:1)
我至少会开始尝试。我已经对我的一些代码做了一些调整。它还没有经过全面测试,还有更多的调整要做,但即使它从未在这些特定应用程序中使用过,我也不得不在某些时候支持它。在它成为下沉或游泳的情况之前,不妨学习。
答案 5 :(得分:0)
我听到的最新消息是NPA ......如果有的话,IPv6真的不会很快前进。 (Steve Gibson - GRC)
可能不值得你花时间。
编辑......显然这是我不应该接受的远见卓识。 IPv6即将到来,将需要。 IPv4可能永远存在,但应用程序应该能够在不久的将来处理它们。