操作系统:Archlinux
相关软件包:NetworkManager
TLDW/TLDR:使用 DHCP 时,大约需要 16 秒才能完成 3 次 ping 操作www.google.com。但使用静态 IP 时大约需要 2 秒。
最近我注意到常规浏览时出现了一些延迟。页面开始加载前有几秒钟的延迟。
当我在 Google 上搜索这个问题时,我得到了很多结果,都说“使用静态 IP 时很慢,但使用 dhcp/动态 IP 时很快”。
为了进行健全性测试,我打开了 nmtui,将我的 ipv4 从自动更改为手动,并设置了 ip、默认网关和 dns 服务器。之后没有延迟。再次将其更改为自动,延迟又回来了。我附上了一个使用ping
和time
(不是内置的 bash,而是来自 pacman 的视频)展示此过程的视频。
视频链接:https://a.uguu.se/KyCeeyDw.mkv
此链接每 24 小时过期一次。我会保持更新。
答案1
DHCP 实际上并不参与您的网络通信。它仅用于初始配置您的网络连接。(配置过期后再次使用。)
DHCP 通常用于获取以下选项:
- IP地址
- 子网掩码
- 默认网关地址
- DNS 服务器地址
- DNS 搜索域
这意味着您应该检查 DHCP 配置是什么(ip addr
、resolvectl
、/etc/resolv.conf
……)以及它与您的手动配置相比如何。无论造成差异的是什么,都在那里。
您指出 DHCP 提供的 DNS 服务器速度很慢。不幸的是,这种情况很常见。作为替代方案,您可以使用 Google DNS、Cloudflare DNS、OpenDNS 或任何其他公共递归 DNS 服务器。