南方數據技术观察
首页 行业新闻 教程 技术文章 AI 对话 官网 咨询与报价
首页 / 行业新闻

大 DNS 报文在 UDP 下为何频繁丢包?

DNS 过 UDP 传输大报文时,因路径 MTU 限制导致分片或静默丢包,使解析失败。对 .nl 权威服务器 1640 亿次查询的三个月数据(2019/2020/2021 年 7 月)显示,EDNS0 缓冲区协商未考虑网络层 MTU,是导致大报文无法送达的根因。

EDNS0 缓冲区与路径 MTU 的错位

原文指出,DNS 最初将 UDP 报文限制在 512 字节,1999 年 EDNS0 将上限扩至 64 KB,解析器可通告接收缓冲区大小。权威服务器据此截断并置 TC 位,引导客户端改用 TCP。然而该协商完全在应用层完成,未感知链路层 MTU。互联网骨干最常见 MTU 为 1500 字节,当 DNS 响应超过路径 MTU,报文会被分片或直接丢弃。IPv4 分片机制脆弱且常被中间设备拦截,导致客户端永远收不到响应,造成域名解析彻底失败。

三个月全量观测的规模与方法

研究在 .nl 顶级域的两组任何播权威集群上,完整采集了 2019 年 7 月、2020 年 7 月、2021 年 7 月三个自然月的流量,共计 1640 亿条查询与响应。数据来自 PAM 2021 论文,覆盖生产环境真实负载,未做采样。原文未给出具体丢包率或分片比例数值,但强调该规模足以反映大报文在野外的真实表现。

对运维与网络工程师的启示

在部署 DNSSEC、大型 TXT 或多记录集时,务必评估权威侧发送报文是否可能超出 1500 字节路径 MTU。建议在权威服务器侧将 EDNS0 最大响应限制在 1232 字节(留足 IPv6 扩展头空间),并在任何播节点启用 PMTUD 或配置 IP_DONTFRAG,避免分片。同时监控 TC 位触发频率与 TCP 回退比例,若异常升高即表明大报文正在遭遇静默丢包。

原文: APNIC Blog(2021-06-16)|编译自 APNIC Blog,事实以原文为准。

来源:APNIC Blog

返回列表