从应用角度来说, IPv6 是否可以说,彻底失败啦?

39 天前
 zanx817

看 20 年前的资料,都说 ipv4 地址在几年内枯竭, 必须几年内切换到 ipv6 才能解决问题。ipv6 多么多么牛逼, 地球上每一粒沙子都能分配到一个 ip (可以找到严格的论证)。学校教材也都在教学 ipv6 。

但是几十年过去啦,ipv4 地址早枯竭了。ipv6 还是没有得到推广应用。(虽然 ipv6 可以更高效、更安全)

我们可以看到:

IP 地址被运营商通过 NAT 技术分配给用户私有地址解决,同时把公网 ip 卖高价(甚至买都买不到)。 我有个不常用的 AWS 的服务被扣了很久的账单,最后打开一看,最大的扣费项目竟然是 ipv4 的地址租金;

即便是开通了 ipv6 , 中国运营商也不会分配固定地址的 ipv6 地址。 可能是为了管控需要。

在各种云服务、终端设备上, 实际应用的基本( 95%?)都是 ipv4 。

所以,是否可以说,ipv6 应用失败了, 需要解决的问题没有被他解决。反而由于 ipv4 的稀缺性,让运营商更不愿意使用 ipv6.

对用户而言, ipv6 地址太长了,太难读、认、配置。 技术上过度设计了。

还不造个 ipv5 ,把 ip 地址从 256 增加到 1024.(并限制 1000 ~ 1023 的使用)。 那么对用户而言是很大的福音。

9400 次点击
所在节点    宽带症候群
109 条回复
cnbatch
38 天前
我有一段时间也曾经思考过,如果真的出了 64 位的 IP 地址会不会更好一些

经过简单推理,发现推广步骤其实跟 IPv6 没什么区别:

1 、提出草案
2 、标准化
3 、现有操作系统向网络栈源码添加新版 IP 地址的支持
4 、告知业界,可以切换到新版地址
5 、业界发现,现有程序需要修改源码才可以支持新版 IP 地址

这样一来,无论新版 IP 地址方案是否激进,推广起来的难度都是相同的

除非 64 位版本 IP 地址仍然采用点分十进制,并且现有程序经过重新编译+简单修改就能支持新版 IP 地址,那么推广难度才会降低,但会带来其他麻烦事

考虑到继续沿用点分十进制可以较容易地兼容现有 IPv4 地址
192.168.0.1 以 16 进制表示就是 C0 A8 00 01

那么扩充到 64 位版本,看起来就像是这样的:
00C0 00A8 0000 0001 依然是 192.168.0.1

至于地址范围、子网掩码,那就一点都不好看了:
IPv4: 192.168.0.0 ~ 192.168.0.255 / 255.255.255.0
64bit 版 IP: 192.168.0.0 ~ 192.168.65535.65535 / 65535.65535.65535.0

然后会见到这种地址:
65432.23456.12345.54321
加上端口号,那就是:
65432.23456.12345.54321:10443

手动输入的难度确实比 IPv6 低,然而会有这些缺点:
第一:127.0.0.0 这个范围会造成更加严重的地址浪费
第二:容易使人混淆,输入 IP 地址的时候,可能会搞不清楚自己输入的是 IPv4 还是 64bit 版 IP
第三:程序容易出 bug ,而且 debug 的时候容易搞不清楚到底是否正确提供了 64bit 版 IP 的支持
第三点解释:例如读取到地址是 192.168.2.5 ,需要与这个地址通信;但很显然的是,程序自身不需要读取子网掩码,那么这时候应该把地址交给 IPv4 栈呢,还是交给 64bit 版 IP 栈呢?必然会混淆、混乱

既然容易出 bug ,那就不如改成冒号?于是地址范围、子网掩码就变成
192:168:0:0 ~ 192:168:65535:65535 / 65535:65535:65535:0

同样的加上端口号:
65432:23456:12345:54321:10443
Log 里面大量出现这种文字,一定会眼花
无论是运维还是程序员,都未必能一眼看出写 Log 的代码是否正确记录了端口号

那就加上中括号吧,于是就变成
[65432:23456:12345:54321]:10443

说实话,都搞成这样了,不如索性直接扩充到 128bit——也就是现在的 IPv6

---

当然啦,还可以做另一种点分方式:
例如前面提到的 00C0 00A8 0000 0001 ,这样写:0.192.0.168.0.0.0.1
子网掩码:255.255.255.255.255.255.255.0

长一些的地址:
65432.23456.12345.54321 变成 255.152.91.160.48.57.212.49
对应 16 进制:FF 98 5B A0 30 39 D4 31

程序倒是能正确选择哪个网络栈了,但用户的眼花程度其实跟 IPv6 差不多
cnbatch
38 天前
对于 64 位版本 IP 地址还可以多讲一段

地址位长扩充后,意味着现有 IPv4 的协议报文的 Header 装不下这么长的地址,必须使用新的 Header ,这样一来跟 IPv6 的状况一模一样

于是又可以再重新讲刚才提到过的,都搞成这样了,不如索性直接扩充到 128bit——也就是现在的 IPv6
Cheons
38 天前
固执又不自知,引以为戒。
wy315700
38 天前
我自己的 3 大运营商号码,都没有获取到 ipv6 地址。

--------------------------------

不知道 OP 用的哪个手机哪个系统。蜂窝网络的 IPV6 开通情况是最好的。基本上都有 V6 。
wy315700
38 天前
说国内应用支持差的可以歇歇了。
上海网信办一家家检查辖区 APP 是否接入 IPV6 。头部 APP 都是 100% 接入的。

https://finance.sina.com.cn/tech/roll/2024-12-02/doc-incyafyk8659174.shtml


顺便,现在 SPN + SRv6 也在推进了,很快骨干网就会变成 V6 的。
neptuno
38 天前
这么大的升级,推广是需要时间的,只要大家实际用上了,就是很大的成功了。
Tengfei
38 天前
4. 我自己的 3 大运营商号码,都没有获取到 ipv6 地址。 移动互联网到运营商基站之间的线路,不论是不是 ipv6 ,都不影响运营商骨干网之间用 ipv6 交换数据。 所以有些人提到网络流量超 50%走 ipv6 , 也许不能说明超过 50%的各种应用、终端设备就采用了 ipv6 。查到一个官方信源:《两部门组织开展“网络去 NAT”专项工作
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

几年前的手机系统 apn 就从 ipv4 切换到了 ipv4/ipv6 了,现在 4g/5g 网络 100%支持 ipv6 ,然后你说你的号码都没 ipv6 ????

然后你又牵强附会说用户不支持 ipv6,运营商骨干网支持 ipv6 ?你讲话有依据吗?说到应用,我看到 bilibili 基本大部分流量都支持 ipv6 ,然后移动网络 ipv6 流量达到了 66%,就这么不能让你信服?

固定网络 ipv6 流量占比现在也在快速攀升,这个在通信院的网站每个月都有公布
ranaanna
38 天前
3. 就我自己看到的, 云服务 国内国外普遍给 v4 地址。 国内不论家宽、企业宽带,开 ipv6 老费劲了。 一般不给开,运营商给开了, 自己运维事情也多。 评论区可以看到一些数据。国外也存在。评论补充道谷歌的 dhcpv6 都缺, 可见 ipv6 的基础设施都不健全,推广谈何容易?+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

并不是啊。大多数 vps 都提供更便宜的 ipv6 only 主机,或者 ipv4 额外收费,有些甚至可以免费提供/48 前缀,比如 linode ,比如 he 的 tunnel broker 。企宽没用过不知道,但是国内家宽都会默认提供/60 甚至/56 ,不光给你一个/64 子网,划分很多个子网都不“费劲”。“自己运维事情”,只需要宣告前缀和 rdnss ,slaac 完全自动配置,事情多在哪里,dhcpv6 并不需要。哪里“基础设施都不健全”
Tengfei
38 天前
评论补充道谷歌的 dhcpv6 都缺, 可见 ipv6 的基础设施都不健全,推广谈何容易?
===========================================

你不知道谷歌是故意不支持 dhcpv6 的吗?因为他认为这不是正路,没必要支持。。。他认为 slaac 完全够了
LnTrx
38 天前
>把 ip 地址从 256 增加到 1024
从 32 增加到 40bit 仅仅只是增加了一点空间而已,不仅改动成本很高,很多与大空间相关的特性都没法发挥出来
IPv6 配置也不一定要记 128bit 。既然是运维配置,很多段是连续的 0 可以省略,而 SLAAC 的 IPv6 应该不需要完全手动配置

>v6 的端口经常全开
通常是早期民用路由器的防火墙选项太少,企业级应该还是可以配置的
零信任时代关键是终端设备的安全机制,IPv6 本身极难被主动扫描发现,民用环境下网关不防、交给设备处理也是一种可接受的实践

>云服务 国内国外普遍给 v4 地址
用的是哪家云服务?国内外主流厂商及都在 v4 基础上支持 v6 了,国内轻量云服务器都陆续支持了

>国内不论家宽、企业宽带,开 ipv6 老费劲了。 一般不给开,运营商给开了, 自己运维事情也多。
企业带宽情况比较复杂,但民用带宽基本都支持了。
现在什么地区还不给开?

>我自己的 3 大运营商号码,都没有获取到 ipv6 地址。
现在什么地区还没有?

>即便官方下场了, 运营商照样不刁他们
工信部的文件在投诉时还是有一定威力的
mm2x
38 天前
国内不论家宽、企业宽带,开 ipv6 老费劲了。 一般不给开,运营商给开了, 自己运维事情也多。

你这话说的有点违心吧,现在无论是家宽 企宽运维上门安装的时候都是 V4+V6 双栈的好不好?怎么不给开了?谁家默认现在没 IPv6? 真被收回 V6 的都是 PCDN 了吧?那有几个不是呢?

按照官方数据来看 目前已经有线网已经有 4 亿以上的 v6 用户。占比 66%
hahasong
38 天前
移动的不清楚,电信和联通光猫默认就开通了双栈,不支持是路由器的问题,手动打开下发双栈所有设备都用的好好的
PrinceofInj
38 天前
其实你可以看一下搞系统的大本营,远景,最近刚加了一个功能,可以显示用户的协议栈,粗略估计一半是 v6 的访问来源。
wolonggl
38 天前
看了 OP 的主题,有点井底之蛙坐井观天的感觉;
moudy
38 天前
@cnbatch 127.0.0.1 浪费空间,ff02::1 也差不多
moudy
38 天前
@LnTrx ‘民用环境下网关不防、交给设备处理也是一种可接受的实践’ 这个真的不可接受。你能信任你家智能灯泡,儿童故事机这类固件再也不会更新的玩意的安全性么
datou
38 天前
@jim9606 也就奠信的家宽和蜂窝网络分配的 IPv6 是全球路由了,我实测移动和联通的总有一些不通的段,也不知为何

另外,app store 并没有强制要求 app 支持单栈 IPv6 ,比如推特这么多年都没有支持单栈 IPv6 访问
ziseyinzi
38 天前
IPV6 的最大阻力就是 IPV4 的各种续命技术。这个案例告诉我们向后兼容好过推倒重来。
jakes
38 天前
OP 真坐井观天。

我自己就是电信联通家宽双线接入,全都是 IPv6 地址。内网所有设备都分配了 IPv6 地址。

使用的腾讯云轻量服务器也都是 IPv4+IPv6 双地址。

打开常用的 App 都显示支持 IPv6 访问,很多网站登录日志都显示的我的 IPv6 地址。
Tengfei
38 天前
现在就美国 v6 adoption 大于 50%。 难道还够不上失败吗 ? 而且现在 ipv4 的退出,遥遥无期,根本没有时间表可言。 甚至可以说,现在还看不到替代的趋势。ipv4 配置简单、运营商有利可图。最有话语权推动的就是运营商,但他会花精力做得不偿失的事情吗 ?
==========================================================
就美国大于 50%?你看看 印度 马来西亚 越南 日本 法国 德国 沙特 巴西 墨西哥

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1152772

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX