摘要
- 2026 年 9 月 3 日,IESG 启动 DNSSD 工作组重订章程的社区审议,意见截止 9 月 13 日;公告明确说 IESG 尚未作出决定。拟议工作包括把 SRP 注册名发布到 mDNS,以及处理同一名称的竞争更新。
- 最近的里程碑是 11 月对
draft-ietf-dnssd-tsr-03发起工作组最后征求意见。TSR 试图让冗余代理分辨“旧副本”和“另一位名称主张者”,但它不是已批准 RFC,也不提供认证、保密或可用性证明。
一台设备先通过注册器 A 提交服务记录。A 同时充当 advertising proxy,把记录投射到本地 mDNS。网络分区后,设备的下一次 SRP Update 到了注册器 B,地址和属性已经改变。B 发布当前记录,A 仍在发布旧记录。
对 mDNS 来说,这是同一 owner name 下的两组冲突数据。传统规则倾向保护先出现的那一组。逻辑并没有坏:如果两台设备都代表自己发言,后来者不该悄悄夺走现有打印机或应用的名称。
问题在于 A 和 B 都不是服务所有者。它们是同一个请求者在不同时刻留下的代理副本。先出现不再代表持续占有,只代表旧状态活得更久。
IESG 公告于 9 月 3 日把这个问题放进了 DNSSD 重订章程的审议。拟议章程覆盖单链路与多链路的可扩展服务发现,要求研究如何把 SRP 注册名发布到 mDNS,并解决或避免同一名称的竞争更新。意见征集到 9 月 13 日,IESG 尚未批准。
制度状态必须逐层读。拟议章程不是已生效章程;11 月 WGLC 是计划,不是已经形成的工作组共识;TSR 文件页显示第 03 版为 Standards Track 的活跃 Internet-Draft,不是 RFC。草案请求 EDNS option code,也不等于 IANA 已经分配正式编号。
技术上的起点是 RFC 6762。mDNS 在一个链路内以组播完成名字解析,没有传统 DNS 的单一权威服务器。RFC 1034 所描述的委派树在这里不能直接回答“谁说了算”,因此 mDNS 通过探测和冲突处理保护已有记录。RFC 6763 再用 DNS 记录表达服务实例与类型。
随后出现跨域桥梁。RFC 8766 定义 Discovery Proxy,把 mDNS 学到的服务放进单播 DNS。RFC 9665 定义 SRP,让请求者用与密钥关联的更新向注册器登记服务。Advertising Proxy 草案则把 SRP 数据反向发布到 mDNS。
代理的出现把“说话者”和“事实来源”拆开。SRP requester 才是注册数据的来源;registrar 接收并维护;advertising proxy 负责在某个链路上重述。代理可因拓扑、重启或清理不完整而保留旧世代。
TSR 第 03 版原文提出 Time Since Received EDNS 选项。每个 owner name 配一个选项,指向相关 RRset,携带由请求者公钥导出的 key checksum,并编码自接收数据以来经过的时间。接收方把 offset 转为本机绝对时间,以便比较不同副本。
checksum 用来判断来源是否相同,时间用来判断同一来源的哪一代较新。这样,设备转向 B 后的新记录不会仅因 A 的旧记录先出现就被迫改名或丢弃。规范还处理冗余 probe、重复回答,以及一个代理退出时不应发送会误删其他有效副本的 goodbye。
它并非简单的“时间戳越大越可信”。TSR 使用的是节点本地时间;网络时延会影响 offset;重启可能切换观测 epoch;来源关联若没有可靠保存,比较就失去基础。primary/secondary 标志可以减少多代理回答,并不授予组织、产品或设备对名称的普遍权利。
RFC 6891提供 EDNS 的扩展容器。统一线格式能让不同实现交换 recency 证据,但不能证明某个代理的时钟、缓存、持久化或撤回实现正确。
安全边界更不能越过。TSR 草案承认,同一链路上的恶意主机仍可干扰冲突处理;即使没有 TSR,它也能发布冲突数据并回应探测,造成拒绝服务。依赖 mDNS 的协议不得假定服务安全或私密。需要认证、授权、保密时,必须由应用层或适用场景下的 DNSSEC 发现另行提供。
RFC 8882指出,服务发现会泄露设备、服务与活动信息。跨链路代理把可见范围扩大,正确的新记录也可能被不该看到的人观察。新鲜度与隐私是两个维度。
运营台账至少要保留:请求者身份和密钥、原始 SRP Update、接收它的 registrar、实际发言的 proxy、owner name、完整 RRset、接收时间和时钟基准、checksum、TSR offset、probe 输入、冲突结果、重命名决定与 goodbye。接着记录客户端实际收到的回答、选择的 endpoint、连接结果、应用认证和用户可见结果。
每张收据都有边界。registrar 接受更新,只证明它按自己的政策收到了数据,不证明旧代理已经撤回。TSR 比较胜出,只证明某一世代在该规则下被选择,不证明 endpoint 可达。TCP 或 QUIC 连通不证明身份;应用认证通过也不证明远端缓存不再保存旧记录。
撤回要沿相反方向验证:停止源更新、清除注册器状态、观察各代理是否撤下、确保仍应有效的冗余副本不被误删、等待 TTL 与缓存失效,再确认旧 endpoint 不再收到流量。控制台为空而另一个链路仍回答旧地址,不算完成。
Heng Lu 的最小初始规范原则支持一个窄而精确的共享格式:只协调副本次序,不接管未来所有信任决策。现实层要求时间、来源、身份与服务结果分别说话;运行代码优先则把最后的判断交给真实客户端和应用观测。
DNSSD 现在面对的是规模扩大后的权力错位。代理能让服务跨越链路,也会让“谁发出记录”不再等于“谁拥有事实”。TSR 可以修正旧副本的优势,却不能把更新顺序升级为信任制度。真正可辩护的结论,必须同时连接来源连续性、有限的新鲜度、冲突规则、应用身份与实际服务结果。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
