问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

网上冲浪卡顿?图片加载不了?IPv6诸多问题及解决办法

创作时间:
作者:
@小白创作中心

网上冲浪卡顿?图片加载不了?IPv6诸多问题及解决办法

引用
什么值得买
1.
https://post.smzdm.com/p/aeqemoo4/

随着IPv6的普及,许多用户在使用过程中遇到了各种问题,如网页加载缓慢、图片无法显示等。本文将详细探讨IPv6使用中常见的技术问题,并提供相应的解决方案。

2024-12-30 08:22:2013点赞70收藏20评论

说个非常有意思的事情,目前虽然国内IPv6流量占比已经非常大了,但是IPv6现在问题依然一堆,虽然能用,就很影响体验,下面就细说下IPv6的问题以及解决办法。

说个热知识,目前很多App开屏页面标着支持IPv6,实际上真的用纯IPv6去访问就会发现只能访问个首页,其他页面通通加载不出来(首页支持IPv6也是支持),目前国内能纯v6使用的App屈指可数,目前IPv6的路依然很长。

前排叠甲,本人不是专业网工,可能会出现错误,但是大致方向是没问题的,如有错误请及时指正。

一、细说诸多问题

1.MTU黑洞

可以说这个是IPv6最大的问题,直接影响了网上冲浪体验。特别是XHS等大量带图片类的软件,经常图片加载不出来;又或者看视频刷着刷着突然某个视频半天无法加载,令人非常不爽。

出现这个的问题是在于MTU值不匹配,MTU简单的说就说数据包的大小,在IPv4时代,PPPoE的IPv4 MTU基本上都是1492(哪怕不一致路由器/光猫也可以MSS钳制,关于这个等下会讲)。但到了IPv6就不一样了,可以说每个地区运营商的MTU值都可能不一样,有些可能是1472,有些可能是1452,就没个统一的标准,当路由器/光猫发出的数据包大小(MTU值)比运营商/服务商那边的大,就可能会导致这个数据包被丢掉了,体验上就是图片/视频等内容莫名其妙加载缓慢或者干脆加载不出来。

但是,离谱的来了,手机+移动网络(4G/5G)就不存在这个问题。有些同学会发现,平时用家里WiFi(宽带)加载不出来图片,但是只要换到流量就可以了,一切都正常了。这是因为,在移动网络下IPv6基本上MTU值是和运营商/服务商匹配的,所以这就是为什么流量下IPv6一点问题都没有的,但是用回宽带就会卡的原因。

2.MSS钳制(MSS Clamping)问题

这个和刚刚说的“MTU黑洞”其实是一个问题,刚刚说的是MTU过大会导致产生丢弃数据包的情况,那现在这个MSS钳制就是用来解决这个问题。

刚刚说了本地发出的MTU比运营商/服务商的大就可能会导致数据包丢弃,聪明的你一定会想到,那在传输的时候先“协商MTU值(我也不清楚这个原理,就这么理解就行了)”不就行了,这也就是我们说的MSS钳制,这样路由器就可以发出正确大小的数据包。

确实,在IPv4时代基本上路由器/光猫(以下统称路由器)一来IPv4的MTU基本上都是1492,二来路由器都会自动MSS钳制。问题就出来了,在IPv6时代很多路由器都不会开启MSS钳制,甚至很多路由器连这个功能开启的选项都没有,傻眼了吧,如果你的路由器不支持MSS钳制就只能手动改MTU值,但是非常不幸,很多路由器只能改IPv4的MTU值,IPv6的改不了。

3.DNS问题

这个倒是问题不大,但是现在依然有DNS不支持解析IPv6,这个更换个DNS就可以解决问题了。

4.路由问题

除去上面说的,IPv6现在还有个隐形巨坑。那就是IPv6现在路由比IPv4混乱。什么是路由,举个例子,假设你在北京,要访问上海的网站,可能IPv4路由是直接从北京发往上海,但IPv6路由可能要先发往新疆再发往上海,当然这有些夸大,总之路由决定了你数据包怎么走,路由不行意味着数据包从发出到接收需要更长的时间,也就是延迟变长,而且也会增加丢包的概率。但是目前全球的IPv6路由都不太行,这个只能等运营商慢慢调整了。

5.IPv6不兼容

这个说实话算是个隐形小坑。国内运营商的IPv6协议似乎和海外的有些区别,这导致ROS这种路由系统在国内部分地区无法获取到IPv6地址........当然不止ROS,一些非大陆设备也可能会有这种问题,也是比较离谱。

二、解决办法

1.终极办法

那就是不用IPv6,直接禁用,就不存在上述说的那些问题了。

有童鞋会说,不行啊,我要用IPv6公网,跑BT/PT啥的,那还不简单,平常的设备不分配IPv6地址,只给有需要的设备例如NAS这种单独分配v6地址不就行了。

或者干脆NAT66,也就是NAT IPv6,让某个单独的设备获取内网IPv6地址,然后向IPv4一样端口映射,避免了常用设备因为IPv6产生的各种问题。

2.DNS禁止解析IPv6

上面说了禁用IPv6一劳永逸,但是大部分童鞋应该还是要来当公网的,而且路由器也不能做NAT66以及只给某个设备单独分配IPv6地址。那就可以通过DNS禁止解析出IPv6地址,解析不到ip自然就不会访问了,同时设备依然可以获取到IPv6地址,也不影响公网访问。

至于DNS怎么弄,之前有写过文章,多翻翻就有了。

3.更改IPv6 MTU

刚刚也说了,主要的问题是MTU的锅,那就改MTU值就行了,但是吧,MTU改多少合适?说实话,不知道,一般推荐1240?但是MTU小了会影响网络传输效率,导致无法跑满宽带,改大了还是不匹配直接丢弃。。。。。。

忘记说了为什么MTU改小就可以,因为当运营商/服务商收到你的数据包,如果是比自己能接受的包大就会丢弃,如果是一致或者比自己能接收的包小就会正常处理。

4.启用MSS钳制

也可以选择在路由器上启用MSS钳制,这样就会“协商发出合适大小的包”,不用操心MTU值。but,刚刚也说了很多路由器改不了IPv6值,甚至MSS钳制也开不了,那就只能换路由器了。

5.优先使用IPv4

当然也可以在系统中设置优先使用IPv4,但是需要每个设备都做修改,而且像安卓这些往往都需要root后才能修改,不如上面几个方法简单。

三、最后

实在不行,,,,就按照我封面图的那样吧,,,,,

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号