PowerDNS源码中 EDNSOptionCode
各个值的由来 (对应的 RFC 文档)
鄙人最近在看 PowerDNS 的源代码, 发现了其中一项数据结构: EDNSOptionCode
, 该数据结构表示支持的 edns option 选项. 本想上网搜索是否有人对此做过总结, 结果并不尽如人意, 所以写此篇博客用以记录.
源代码
// ednsoptions.hh
struct EDNSOptionCode
{
enum EDNSOptionCodeEnum {NSID=3, DAU=5, DHU=6, N3U=7, ECS=8, EXPIRE=9, COOKIE=10, TCPKEEPALIVE=11, PADDING=12, CHAIN=13, KEYTAG=14, EXTENDEDERROR=15};
};
值解析
源代码中选项名称 | 对应的值 | 有关的 RFC 文档编号与名称 |
---|---|---|
NSID | 3 | rfc5001 DNS Name Server Identifier (NSID) Option |
DAU, DHU, N3U | 5, 6, 7 | rfc6975 Signaling Cryptographic Algorithm Understanding in DNS Security Extensions (DNSSEC) |
ECS | 8 | rfc7871 Client Subnet in DNS Queries |
EXPIRE | 9 | rfc7314 Extension Mechanisms for DNS (EDNS) EXPIRE Option |
COOKIE | 10 | rfc9018 Interoperable Domain Name System (DNS) Server Cookies |
TCPKEEPALIVE | 11 | rfc7828 The edns-tcp-keepalive EDNS0 Option |
PADDING | 12 | rfc7830 The EDNS(0) Padding Option |
CHAIN | 13 | rfc7901 CHAIN Query Requests in DNS |
KEYTAG | 14 | rfc8145: Signaling Trust Anchor Knowledge in DNS Security Extensions (DNSSEC) |
EXTENDEDERROR | 15 | rfc8914 Extended DNS Errors |