网页图片加载慢的求解指南

网页/图片加载慢的求解指南

一、前言与问题描述

今天刚换上华为的HUAWEI AX3 Pro New,连上WIFI后测速虽然比平时慢,但是也不算太离谱,如下图所示:

在这里插入图片描述

估计读者们有也和作者一样,还没意识到事情的严重性😁。

直到晚上刷六级真题时使用有道查词,竟然延迟好高:几乎是输入词汇点确定后需要1秒才能显示结果,偶尔还会显示网络错误,这我真受不了。

然后上QQ空间刷动态时,发现一张图片要转9-10秒才能加载出来,严重影响我的用机体验,势必要解决这个问题。

二、解决方案

主要办法是关闭IPv6网络,关闭方法主要有两种:

2.1 方法1:从路由器上关闭IPv6

读者需要简单的网络管理知识,找到路由器管理的IP地址,比如我的是:

192.168.1.3	

在浏览器中输入该地址就会进入路由器管理页的登录界面,以我的为例,为如下界面:

在这里插入图片描述

然后登录路由器即可,如果你不知道管理员密码,一般在路由器的背面有写上,如果没写(比如我的就没写),那么一般是与你的WiFi密码一致。再不济,读者可以上网查,查询提示语句是:

XX路由器默认管理员密码是什么?

登录进去后,读者自行寻找IPv6的按钮(不同路由器管理页不一样,俺就不演示了),例如我找到时是这样的:

读者找到类似按钮后,将其关闭即可。

2.2 方法2:在终端上关闭IPv6(仅适用于电脑)

按住Win+R快捷键,打开“运行”窗口,输入control并回车即可打开控制面板。如下图所示:
在这里插入图片描述

然后在控制面版中单击网络和Internet”接着单击网络和共享中心打开如下页面:

然后在中间右边点击你的网络,比如我将点击WLAN(HUAWEI AX3 Pro New),然后看到如下页面

单击属性,打开如下页面:

取消勾选Internet 协议版本 6(TCP/IPv6)确定后即可完成操作。

搞完之后我再次尝试发现加载什么的都不卡了,然后我测了下网速如下图所示:

三、附录

以下内容需要读者具备一定计算机网络的相关知识才能看懂,望读者周知

3.1 为什么开了IPv6会慢?
3.1.0 DNS解析问题

如果您启用了 IPV6,则 DNS 查找速度比 IPV4 慢 2 到 3 倍。这就是为什么您的计算机似乎“无法连接”网站。当您发起与任何站点的连接时,它所做的第一件事就是在 DNS 中查找 IP 地址。

由于多种原因,IPV6 上的 DNS 查找速度很慢。 首先,DNS 目前是串行处理的,而不是并行处理的。始终首先处理 IPV4 查找,然后处理 IPV6,因此至少需要两倍的时间。 其次,由于 IPV6 查找频率较低,因此它们不会经常缓存在 DNS 服务器上,从而导致进一步的延迟。 这就是为什么启用 IPV6 时网站看起来需要更长的时间才能开始加载,因为它们确实需要更长的时间才能开始加载!

另外,请记住,大多数网页会从许多不同的 URL 加载内容,并且每次浏览器必须查找图像、Flash 对象或页面上其他任何内容的地址时,页面速度都会加快。 您无法在操作系统中执行任何操作来加快速度。它影响所有操作系统,包括 Windows、Mac 和 Linux 最好暂时禁用 IPV6,除非您对此有特定要求(几乎没有人这样做)

3.1.1 关于 PMTU 黑洞

目前国内确实存在支持 IPv6 的服务器、CDN 节点不够多,IPv6 国际带宽比 IPv4 带宽小的问题,但也不至于会打开国内网站都卡。通常情况下遇到这个问题说明你到目标服务器的链路上存在 PMTU 黑洞。

MTU (Maximum transmission unit) 是一条链路上可以通过的三层数据包的最大尺寸(包含 IP 包头)。以太网上默认的 MTU 是 1500 字节,但是你和目标服务器之间的路径上可能存在小于 MTU 1500 的链路。这条路径上最小的 MTU 值就是整条路径的 PMTU 值。路由器在转发包时,超过 MTU 大小的包会被分片( Fragmentation ),也就是一个大包会被分切为多个不超过 MTU 的小包进行传输,传输效率会下降。

终端设备在发包时,也可以设置 DF ( Don’t Fragment )标记来告诉路由器不要分片。这时中间路由器会丢掉超过 MTU 的包,回复一条 ICMP Fragmentation Needed 消息。发送者收到这个包后,下次就会发小一点的包,这个过程叫做 PMTU Discovery 。现实中可以看到 HTTPS ( TLS )的流量大都是带 DF 标记的。

然而,互联网上有大量的中间设备为了所谓的“安全”或者没有正确配置,不回应 ICMP Fragmentation Needed 包,这使得访问某些网站时如果某个包的大小超过了 PMTU,会被无声地丢弃,直到 TCP 协议发现超时丢包进行重传,这非常缓慢。遇到这种情况,我们可以说你和目标服务器的路径上存在 PMTU 黑洞。

此外,IPv6 不支持分片,换句话说可以理解为 IPv6 下所有的包都是带 DF 标记的。中间路由器在遇到包尺寸大于 MTU 的情况时,应该回应 ICMPv6 Packet Too Big 消息。同样的,由于种种原因,某些中间设备可能会直接丢包而不回应 ICMPv6 Packet Too Big 消息,直到 TCP 协议发现超时丢包进行重传。。。

3.1.2 为什么 IPv4 没有这个问题

其实 IPv4 也有这个问题,我不只一次见网友说自己搭的软路由访问某些网站非常慢,而换回硬路由就正常。这是因为多数家用路由器默认对 IPv4 下的 TCP 开启了 MSS (maximum segment size) Clamping (使用 OpenWRT 软路由的朋友们可以在防火墙设置中找到 MSS Clamping 开关)。MSS Clamping 是针对 PMTU 黑洞的 Workaround,简单来说就是 TCP 握手时有个 MSS 字段决定单个 TCP 包的最大尺寸。路由器可以通过嗅探 TCP 握手包,把 MSS 值改小,使最终的三层 IP 包的尺寸( MSS+TCP 头大小+IP 头大小)不超过某个特定的值。

3.1.3 总结

现在国内 ISP 一般都是通过 PPPoE 虚拟拨号建立 WAN 口连接的。Ethernet 的默认 MTU 是 1500,但是 PPPoE 隧道有 8 个 bytes 的开销,所以 PPPoE 虚连接的 MTU 就是 1500-8=1492,减掉 IPv4 包头( 20 字节)和 TCP 包头( 20 字节),可以得知 IPv4 下需要把 MSS 设为 1452 以下。

IPv6 的包头是 40 字节,所以 IPv6 下需要把 MSS 设为 1432 以下。

这时问题来了,目前很多光猫、家用路由器对 IPv6 的优化很差,不支持对 IPv6 下的 TCP 包进行 MSS Clamping,这就导致访问 IPv6 网站时,若路径中存在 PMTU 黑洞,则打开很慢。

四、参考文献

[1] windows 7 - IPv6 feature in Network Adaptor is Slowing Internet - Super User

[2] 开启 IPv6 后网速变得很慢?可能是 PMTU 黑洞的问题 - V2EX

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/17331.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

08Django项目--用户管理系统--查(前后端)

对应视频链接点击直达 TOC 一些朋友加我Q反馈,希望有每个阶段的完整项目代码,那从今天开始,我会上传完整的项目代码。 用户管理,简而言之就是用户的增删改查。 08项目点击下载,可直接运行(含数据库&…

PHP框架 Laravel

现在因为公司需求,需要新开一个Laravel框架的项目,毫无疑问,我又被借调过去了,最近老是被借调,有点阴郁,不过反观来看,这也是好事,又可以复习和巩固一下自己的知识点,接下…

大数据开发面试题【Spark篇】

115、Spark的任务执行流程 driver和executor,结构式一主多从模式, driver:spark的驱动节点,用于执行spark任务中的main方法,负责实际代码的执行工作;主要负责:将代码逻辑转换为任务、在executo…

编译qt5.15.2(mac/windows)的mysql驱动(附带编译好的文件)

文章目录 0 背景1 编译过程2 福利 0 背景 因为需要连接到mysql数据库,所以需要连mysql驱动。 1 编译过程 1,打开文件/Users/mac/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers/sqldrivers.pro,注释掉QMAKE_USE mysql; 如…

【Linux-LCD 驱动】

Linux-LCD 驱动 ■ Framebuffer 简称 fb■ LCD 驱动程序编写■ 1、LCD 屏幕 IO 配置■ 2、LCD 屏幕参数节点信息修改■ 3、LCD 屏幕背光节点信息■ 4、使能 Linux logo 显示 ■ 设置 LCD 作为终端控制台■ 1、设置 uboot 中的 bootargs■ 2、修改/etc/inittab 文件 ■ LCD 背光…

鸿蒙知识点总结

1 Stage模型应用程序包结构 在开发态,一个应用包含一个或者多个Module,可以在DevEco Studio工程中创建一个或者多个Module。Module是HarmonyOS应用/服务的基本功能单元,包含了源代码、资源文件、第三方库及应用/服务配置文件,每一…

快速上手 HuggingFace

HuggingFace HuggingFace 是类似于 GitHub 的社区,它主要提供各种的模型的使用,和 github 不同的是,HuggingFace 同时提供了一套框架,进行模型推理,模型训练、和模型库文件的管理等等。本文将介绍,如何快速…

echarts学习篇

一、使用echarts 1.引入 Apache ECharts <!DOCTYPE html> <html> <head> <meta charset"utf-8" /> <!-- 引入刚刚下载的 ECharts 文件 --> <script src"echarts.js"></script> </head> </html> 2.…

深度神经网络——什么是自动编码器?

自动编码器 自动编码器&#xff08;Autoencoders&#xff09;是无监督学习领域中一种重要的神经网络架构&#xff0c;它们主要用于数据压缩和特征学习。 自动编码器的定义&#xff1a; 自动编码器是一种无监督机器学习算法&#xff0c;它通过反向传播进行训练&#xff0c;目标…

OWASP top10--SQL注入(三、手工注入)

目录 access数据库 手工注入过程&#xff1a; 猜解数据库表名 猜解数据库表名里面的字段 猜解字段内容 SQL注入中的高级查询 mssql数据库 手工注入过程&#xff1a; sa权限 ​编辑dbowner权限 public权限 mysql数据库 1、对服务器文件进行读写操作(前提条件) 需要知…

文刻创作ai工具官网免费工具

文刻创作ai工具官网免费工具 Docshttps://iimenvrieak.feishu.cn/docx/O0UedptjbonN4UxyEy7cPlZknYc 文刻是一种可以帮助用户进行创作的AI工具。 它使用自然语言处理和机器学习技术&#xff0c;可以生成文章、故事、诗歌等文本内容。 用户可以通过输入一些关键词或指定一定的…

浙江大学数据结构MOOC-课后习题-第七讲-图4 哈利·波特的考试

题目汇总 浙江大学数据结构MOOC-课后习题-拼题A-代码分享-2024 题目描述 代码展示 照着教程视频来的&#xff0c;没啥好说的捏 #include <cstdlib> #include <iostream>#define MAXSIZE 100 #define IFINITY 65535 typedef int vertex; typedef int weightType;/…

为什么大部分新手做抖音小店赚不到钱?

大家好&#xff0c;我是喷火龙。 今天来给大家聊聊&#xff0c;为什么大部分新手做抖店赚不到钱&#xff1f; 不知道大家想过这个问题没有&#xff0c;可能有些人把赚不到钱的原因归结于市场、或者平台、又或者运营技术以及做店经验。 但我觉得这些都不是重点&#xff0c;重…

爬虫实战教程:深入解析配乐网站爬取1000首MP3

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、实战前准备 1. 选择目标网站 2. 分析网页结构 三、爬虫工作流程详解 1. 发…

诚心分享!主食冻干横向对比:希喂、爱立方、K9等谁最值得入手?

主食冻干到底有必要喂吗&#xff1f;七年铲龄铲屎官告诉你&#xff0c;是真的很有必要喂&#xff01; 这些年随着宠物经济的发展、科学养宠的普及&#xff0c;现在养猫不仅局限在让猫吃饱就行&#xff0c;更多人开始关注到猫的饮食健康。大量的实际喂养案例证明了&#xff0c;传…

第2章 物理层

王道学习 考纲内容 &#xff08;一&#xff09;通信基础 信道、信号、带宽、码元、波特、速率、信源与信宿等基本概念&#xff1b; 奈奎斯特定理与香农定理&#xff1b;编码与调制&#xff1b; 电路交换、报文交换与分组交换&#xff1b;数…

接口响应断言-json

json认识JSONPath源码类学习/json串的解析拓展学习 目的&#xff1a;数据返回值校验测试 json认识 json是什么-是一种数据交换格式&#xff0c;举例平时看到的json图2&#xff0c;在使用中查看不方便&#xff0c;会有格式转化的平台&#xff0c;json格式的展示 JSON在线视图…

推荐二轮电动车仪表盘蓝牙主芯片方案-HS6621CGC

随着国内二轮电动车的火热开启&#xff0c;电动车的智能化程度越来越高&#xff1b;电动车的智能操控需求也越来越高&#xff0c;现在介绍蓝牙控制面板的一些功能&#xff1b;例如&#xff1a;定位&#xff08;GNSS&#xff09;&#xff0c;设防&#xff0c;实时上报数据&#…

什么是光栅化?

一、 什么是光栅化? 光栅化作用是将几何数据变换后转换为像素呈现在显示设备上的一个过程。几何数据转换为像素&#xff0c; 本质是坐标变换、几何离散化&#xff0c;如下&#xff1a; 其中包含了坐标变换和几何离散化&#xff1a; 二、光栅化完成了什么 3D中&#xff0c;物…

element-ui 实现输入框下拉树组件(2024-05-23)

用element-ui的 el-input&#xff0c;el-tree&#xff0c;el-popover组件组合封装 import url("//unpkg.com/element-ui2.15.14/lib/theme-chalk/index.css"); <script src"//unpkg.com/vue2/dist/vue.js"></script> <script src"//…