既然 IPv6 将取代 IPv4,我是否应该开发新的应用程序来支持它?

发布于 2024-07-30 00:54:01 字数 417 浏览 11 评论 0 原文

我使用多种语言和一些平台开发应用程序。 据我了解,IPv6 将在未来 5-10 年内成为主流,一些 ISP 甚至提供与 IPv6 互联网的直接连接。 在我的专用网络上,所有计算机都具有双堆栈连接,并在可能的情况下使用 IPv6 相互通信。

我的问题是:我的新应用程序应该编写为支持 IPv6 吗? 如果是的话,我需要考虑哪些事情? 现在支持 IPv6 有什么缺点吗?

我不知道这会有所帮助还是有害,但这里有一些更具体的细节,也许可以稍微指导一下答案:

我的应用程序将在 Windows/Linux/Mac 上运行,并且它将由单独编写的特定于平台的组件组成对于每个平台,以及用解释性语言编写的通用“核心”组件。

我的应用程序应该能够找到在三个平台中的任何一个上运行的自身的其他实例,并支持任意两台计算机之间的 TCP 和 UDP。

I develop applications using many languages and a few platforms. From what I am reading, IPv6 is going to be mainstream within then next 5–10 years, and that some ISPs even offer direct connection to the IPv6 Internet. On my private network, all the machines have dual stack connectivity and communicate with each other using IPv6 when possible.

My question is: should my new application be written to support IPv6? If so, what are the things I need to consider? Are there any downsides to supporting IPv6 now?

I don't know if this will help or hurt, but here are some more specific details to maybe direct the answers a little:

My app would run on Windows/Linux/Mac, and it would consist of a platform–specific component written separately for each platform, and a common "core" component written in an interpreted language.

My app should be able to locate other instances of itself running on any of the three platforms, and support both TCP and UDP between any two machines.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

怪我鬧 2024-08-06 00:54:01

是:您的所有新应用程序都应支持 IPv6。 正如您自己所说,它已经在许多 LAN 环境中使用。

否:您无需进行太多更改即可支持 IPv6。 底层框架应该为您处理差异。 这假设您没有做“坏”事情,例如存储或以其他方式操纵 IP 地址。

Yes: all of your new applications should support IPv6. As you've said yourself, it is already being used in many LAN environments.

No: you shouldn't have to change much in order to support IPv6. The underlying framework should take care of the differences for you. This assumes that you aren't doing "bad" things like storing or otherwise manipulating IP addresses.

倾城泪 2024-08-06 00:54:01

我至少会开始尝试。 我已经对我的一些代码做了一些调整。 它尚未经过全面测试,并且还需要进行更多调整,但即使它从未在这些特定应用程序中使用,我也必须在某个时候支持它。 不妨在出现沉没或游泳的情况之前立即学习。

I would at least start trying. I've already made some adjustments to some of my code. It hasn't been fully tested and there's still more adjustments to be made but even if it never gets used in these particular applications I'm going to have to support it at some point. Might as well learn now before it's a sink or swim situation.

比忠 2024-08-06 00:54:01

我看到这里有些人引用了史蒂夫·吉布森(Steve Gibson)对此主题的看法。 尽管吉布森先生在安全问题上非常熟练(我确实听了每一集“Security Now”并鼓励所有对安全感兴趣的人也这样做),但我相信他对当前的计划有点脱节。他预测 IPv6 没有未来。

IPv6 的使用已经超出了单纯的学术用途,并且在国防研究行业中得到了相当多的关注,它不再是“是否”而是“何时”取代 IPv4 的问题(在军事网络中,是)。

当然,我们现在的互联网仍将在很长一段时间内使用 v4,原因之一是大多数硬件和软件都不兼容 IPv6。

我想不出现在实施 IPv6 有什么缺点(当然,除了额外的编码时间和维护两个 IP 堆栈所增加的复杂性之外)。 事实上,有了 IPv6,事情就变得容易多了。 例如,您可以忘记 NAT 穿越问题。

I see some here is citating Steve Gibsons opinion on the subject. Although Mr. Gibson is quite skilled in security matters (I do listen to every "Security Now" episode and encourage all interested in security to do the same), I believe he is a little bit out of touch with the current scheme of things when he predicts no future for IPv6.

The use of IPv6 has already expanded beyond mere academic use, and is getting quite a lot of attention in the defence research industry where it is no longer a question of "if" but "when" it will replace IPv4 (in military networks, that is).

Of course, the Internet as we now it will still use v4 for a very very long time, one of the reasons being that most of the hardware and software out there just isn't IPv6 compatible.

I can't think of any downsides to implementing IPv6 now (apart from the extra coding time and the added complexity of maintaining two IP stacks, of course). In fact, with IPv6 things can be much easier. For instance, you can forget all about NAT traversal problems.

江南烟雨〆相思醉 2024-08-06 00:54:01

安全研究员史蒂夫·吉布森(Steve Gibson)对此发表了惊人的讲话,并指出它不会在不久的将来出现。 以下是一些提供更多信息的链接:
http://www.grc.com/sn/sn-199.htm -- 中途,他开始在文字记录/播客中谈论 IPv6。
http://www.grc.com/sn/sn-200.htm -- 对199集中的一个错误进行快速更正,并提供更多细节。

Security researcher Steve Gibson spoke an amazing amount on this, to note that it isn't coming up in the near future. Here's a few links that give a little more info:

http://www.grc.com/sn/sn-199.htm -- Midway through, he starts talking about IPv6 in the transcript/podcast.

http://www.grc.com/sn/sn-200.htm -- A quick correction for a mistake in the 199 episode, and a little more detail.

空心↖ 2024-08-06 00:54:01

如果可能的话,您的框架应该支持两者,但如果您可以选择其中之一,我会选择 IPv4,但请确保您可以添加/转换到 IPv6。 但这还取决于谁是产品的最终用户以及您的项目的要求是什么。 这是针对正在使用/将要使用 IPv6 的用户,还是您打算接受主要使用 IPv4 的现有基础。

根据我的经验,我目前正在进行的项目考虑转向 IPv6,因为有一个要求能够支持 IPv6。 我们发现,大多数情况下,硬件供应商(交换机、路由器、计算机)和 WAN 供应商能够支持切换到 IPv6。 集成现有 IPv4 硬件需要做一些工作,但这是可以完成的。 基于成本,至少在硬件方面,两者大致相同。

然而,我们正在使用的一些软件产品目前还没有也可能不会支持 IPv6,而其他软件产品似乎更易于管理来支持 IPv6。 基于此,我们正在升级到该软件的新版本,但暂时可能仍保留 IPv4,或者至少在该软件在支持 IPv6 方面赶上之前。

Your framework should support both if possible, but if you have a choice of one, I would go with IPv4, but make sure that you can add/transition to IPv6. But this would also depend upon who is the end user of the product and what are the requirements for your project. Is this going to user which are using/will use IPv6 or are you going for acceptence into an existing base which mainly uses IPv4.

Based on my experience, the project I am currently working considered going to IPv6 as there was a mandate to be able to support IPv6. For the most part what we found out is that the hardware vendors (switch, routers, computers) and WAN vendors were able to support switching to IPv6. There would be some work in integrating existing IPv4 hardware, but it could be done. Based on cost, it would be about the same, at least hardware wise.

However, some software products we are using are not and may not move to support IPv6, while others seem to be more adminable to supporting it. Based on that, we are upgrading to new versions of the software, but will probably remain IPv4 for the monent, or at least until the software catches up in terms of support of IPv6.

枕花眠 2024-08-06 00:54:01

我听到的最新消息是,对于 NPA...IPv6 的发展速度确实不会很快(如果有的话)。 (史蒂夫·吉布森 - GRC)

这可能不值得你花时间。

编辑...显然这是我不应该相信的糟糕的远见。 IPv6 即将到来并且将会被需要。 IPv4 可能会一直存在,但应用程序应该能够在不久的将来同时处理这两种情况。

The most up to date news that I have heard is that with NPA... IPv6 is really not going forward very fast, if ever. (Steve Gibson - GRC)

It might not be worth your time.

EDIT... obviously this was poor foresight that I should not have bought into. IPv6 is coming and will be needed. IPv4 will probably always exist, but applications should be able to handle both in the near future.

瀞厅☆埖开 2024-08-06 00:54:01

答案是肯定的。 目前 IPv6 的普及率已接近 50%。

如果您打算为特定于平台的组件选择 Java 或 Go(这都是不错的选择,因为它们都可以在许多平台上运行),那么一种选择是使用开源的 IPAddress Java 库或 Go 库。 您可以使用这些库编写适用于 IPv4 和 IPv6 的多态代码。 在 Java 存储库 中,您会找到另一个链接“让您的 IPv4 应用程序与 IPv6 配合使用”,其中包含摘要。

免责声明:我是项目经理。

The answer is yes. IPv6 penetration is close to 50% now.

If you intended to choose Java or Go for your platform-specific components (both good choices because they both work on many platforms), then one option is to use the open-source IPAddress Java library or Go library. You can write polymorphic code that works with both IPv4 and IPv6 with these libraries. At the Java repo you'll find another link "Make your IPv4 App work with IPv6" with a summary.

Disclaimer: I am the project manager.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文