Skip to main content

11. 参考文献 (References)

11.1 规范性引用 (Normative References)

11.1.1 STD 2: Assigned Numbers

[STD 2] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC 1700, October 1994.

文档信息 (Document Information):

标题: Assigned Numbers
作者: J. Reynolds, J. Postel
状态: Internet Standard (STD 2)
发布日期: 1994年10月
官方链接: https://www.rfc-editor.org/rfc/rfc1700.html

相关性 (Relevance):

  • 定义了服务名称和端口号
  • SRV 记录的 Service 字段应引用此文档中的服务名称
  • 协议名称 (如 TCP, UDP) 的标准定义
更新说明

STD 2 (RFC 1700) 已被在线 IANA 注册表取代。当前应参考:


11.1.2 RFC 1034: Domain Names - Concepts and Facilities

[RFC 1034] Mockapetris, P., "Domain names - concepts and facilities", STD 13, RFC 1034, November 1987.

文档信息 (Document Information):

标题: Domain Names - Concepts and Facilities
作者: P. Mockapetris
状态: Internet Standard (STD 13)
发布日期: 1987年11月
官方链接: https://www.rfc-editor.org/rfc/rfc1034.html

相关性 (Relevance):

  • DNS 基础概念和术语
  • 域名层次结构
  • 资源记录 (RR) 的基本定义
  • 本文档中"域 (domain)"一词的严格定义来源

关键概念 (Key Concepts):

定义的核心概念:
- 域名空间 (Domain Name Space)
- 资源记录 (Resource Records)
- 名称服务器 (Name Servers)
- 解析器 (Resolvers)
- 名称语法 (Name Syntax)
- 别名和规范名称 (Aliases and Canonical Names)

11.1.3 RFC 1035: Domain Names - Implementation and Specification

[RFC 1035] Mockapetris, P., "Domain names - Implementation and Specification", STD 13, RFC 1035, November 1987.

文档信息 (Document Information):

标题: Domain Names - Implementation and Specification
作者: P. Mockapetris
状态: Internet Standard (STD 13)
发布日期: 1987年11月
官方链接: https://www.rfc-editor.org/rfc/rfc1035.html

相关性 (Relevance):

  • DNS 协议详细规范
  • RR 格式定义
  • TTL, Class 字段的标准含义
  • DNS 报文格式
  • 查询和响应处理

SRV 记录使用的定义 (Definitions Used by SRV):

来自 RFC 1035:
- TTL (Time To Live) 的标准定义
- Class 字段 (IN, CS, CH, HS)
- DNS 报文格式
- 资源记录格式
- 名称压缩机制
- 网络字节序

11.1.4 BCP 14: Key Words for Use in RFCs (RFC 2119)

[BCP 14] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

文档信息 (Document Information):

标题: Key words for use in RFCs to Indicate Requirement Levels
作者: S. Bradner
状态: Best Current Practice (BCP 14)
发布日期: 1997年3月
官方链接: https://www.rfc-editor.org/rfc/rfc2119.html

相关性 (Relevance):

  • 定义了 RFC 中使用的关键词
  • MUST, MUST NOT, SHOULD, SHOULD NOT, MAY 的精确含义
  • 确保规范的一致性和可实施性

关键词定义 (Keyword Definitions):

MUST / REQUIRED / SHALL:
- 绝对要求
- 违反将导致实现不合规

MUST NOT / SHALL NOT:
- 绝对禁止

SHOULD / RECOMMENDED:
- 强烈推荐
- 但在特定情况下可以忽略

SHOULD NOT / NOT RECOMMENDED:
- 强烈不推荐
- 但在特定情况下可以接受

MAY / OPTIONAL:
- 完全可选
- 实现可以选择支持或不支持

11.1.5 RFC 2181: Clarifications to the DNS Specification

[RFC 2181] Elz, R. and R. Bush, "Clarifications to the DNS Specification", RFC 2181, July 1997.

文档信息 (Document Information):

标题: Clarifications to the DNS Specification
作者: R. Elz, R. Bush
状态: Proposed Standard
发布日期: 1997年7月
官方链接: https://www.rfc-editor.org/rfc/rfc2181.html

相关性 (Relevance):

  • DNS 规范的澄清和修正
  • 截断响应 (Truncated Response) 的处理规则
  • 别名 (CNAME) 的限制
  • SRV Target 不能是 CNAME 的要求来源

关键澄清 (Key Clarifications):

相关章节:
- Section 5.1: Name Syntax
→ DNS 名称的有效性

- Section 5.2: CNAME Resource Records
→ CNAME 的限制和约束
→ SRV Target MUST NOT be CNAME

- Section 9: The TC (truncated) header bit
→ 截断响应的处理
→ TCP 重试机制

11.2 参考性引用 (Informative References)

11.2.1 RFC 974: Mail Routing and the Domain System

[RFC 974] Partridge, C., "Mail routing and the domain system", STD 14, RFC 974, January 1986.

文档信息 (Document Information):

标题: Mail Routing and the Domain System
作者: C. Partridge
状态: Internet Standard (STD 14)
发布日期: 1986年1月
官方链接: https://www.rfc-editor.org/rfc/rfc974.html

相关性 (Relevance):

  • 定义了 MX 记录
  • MX 记录是 SRV 记录的先驱
  • 优先级机制的早期实现

与 SRV 的相似性 (Similarity with SRV):

MX 记录:
example.com. IN MX 10 mail1.example.com.
example.com. IN MX 20 mail2.example.com.

相似点:
✅ 使用优先级 (Preference)
✅ 支持多个服务器
✅ 实现负载分配和故障转移

差异:
❌ 不支持权重 (Weight)
❌ 不支持自定义端口
❌ 仅用于邮件服务

11.2.2 RFC 2219: Use of DNS Aliases for Network Services

[RFC 2219] Hamilton, M. and R. Wright, "Use of DNS Aliases for Network Services", BCP 17, RFC 2219, October 1997.

文档信息 (Document Information):

标题: Use of DNS Aliases for Network Services
作者: M. Hamilton, R. Wright
状态: Best Current Practice (BCP 17)
发布日期: 1997年10月
官方链接: https://www.rfc-editor.org/rfc/rfc2219.html

相关性 (Relevance):

  • 讨论了为网络服务使用 DNS 别名的问题
  • 解释了为什么 SRV Target 不应该是 CNAME
  • 服务命名的最佳实践

关键建议 (Key Recommendations):

不推荐:
❌ 使用 CNAME 指向服务
❌ 服务名称指向别名

推荐:
✅ 使用 SRV 记录
✅ Target 直接指向 A/AAAA 记录
✅ 避免 CNAME 链

11.2.3 ARM: Discovering LDAP Services with DNS

[ARM] Armijo, M., Esibov, L. and P. Leach, "Discovering LDAP Services with DNS", Work in Progress.

文档信息 (Document Information):

标题: Discovering LDAP Services with DNS
作者: M. Armijo, L. Esibov, P. Leach
状态: Work in Progress (当时)

相关性 (Relevance):

  • LDAP 服务发现使用 SRV 记录的示例
  • 本文档中 LDAP 示例的来源
后续标准化

此工作后来发展为 RFC 2255 (The LDAP URL Format) 和 RFC 3088 (OpenLDAP Root Service)。


11.2.4 KDC-DNS: Distributing Kerberos KDC and Realm Information with DNS

[KDC-DNS] Hornstein, K. and J. Altman, "Distributing Kerberos KDC and Realm Information with DNS", Work in Progress.

文档信息 (Document Information):

标题: Distributing Kerberos KDC and Realm Information with DNS
作者: K. Hornstein, J. Altman
状态: Work in Progress (当时)

相关性 (Relevance):

  • Kerberos 密钥分发中心 (KDC) 发现使用 SRV 记录
  • SRV 记录在身份验证系统中的应用
后续标准化

此工作后来标准化为 RFC 4120 (The Kerberos Network Authentication Service (V5))。

Kerberos SRV 记录示例 (Kerberos SRV Record Example):

_kerberos._tcp.EXAMPLE.COM.    IN  SRV  0  0  88  kdc1.example.com.
_kerberos._tcp.EXAMPLE.COM. IN SRV 0 0 88 kdc2.example.com.
_kerberos._udp.EXAMPLE.COM. IN SRV 0 0 88 kdc1.example.com.
_kerberos._udp.EXAMPLE.COM. IN SRV 0 0 88 kdc2.example.com.

虽然不在原始 RFC 2782 的参考文献中,但以下 RFC 对 SRV 记录有重要影响:

RFC 6335: Service Name and Port Number Procedures (2011)

标题: Internet Assigned Numbers Authority (IANA) Procedures for 
the Management of the Service Name and Transport Protocol
Port Number Registry
作者: M. Cotton, L. Eggert, J. Touch, M. Westerlund, S. Cheshire
状态: Best Current Practice (BCP 165)
链接: https://www.rfc-editor.org/rfc/rfc6335.html

影响:
- 更新了服务名称注册程序
- 影响 SRV 记录中的服务名称使用
- 标准化服务名称分配

RFC 6763: DNS-Based Service Discovery (2013)

标题: DNS-Based Service Discovery
作者: S. Cheshire, M. Krochmal
状态: Proposed Standard
链接: https://www.rfc-editor.org/rfc/rfc6763.html

影响:
- 基于 SRV 记录构建
- 扩展了服务发现机制
- 定义了服务实例枚举
- 广泛应用于 Apple Bonjour, Avahi 等

示例:
_http._tcp.local. PTR MyWebServer._http._tcp.local.
MyWebServer._http._tcp.local. SRV 0 0 8080 myserver.local.

RFC 4033-4035: DNSSEC (2005)

标题: DNS Security Extensions
作者: R. Arends, R. Austein, M. Larson, D. Massey, S. Rose
状态: Proposed Standard
链接:
- RFC 4033: https://www.rfc-editor.org/rfc/rfc4033.html (概述)
- RFC 4034: https://www.rfc-editor.org/rfc/rfc4034.html (资源记录)
- RFC 4035: https://www.rfc-editor.org/rfc/rfc4035.html (协议)

影响:
- 为 SRV 记录提供数字签名
- 防止 DNS 欺骗和缓存投毒
- 提高 SRV 记录的安全性

示例:
_ldap._tcp.example.com. IN SRV 0 0 389 server.example.com.
_ldap._tcp.example.com. IN RRSIG SRV 5 4 86400 ...

RFC 7553: The Uniform Resource Identifier (URI) DNS Resource Record (2015)

标题: The Uniform Resource Identifier (URI) DNS Resource Record
作者: P. Faltstrom, O. Kolkman
状态: Proposed Standard
链接: https://www.rfc-editor.org/rfc/rfc7553.html

关系:
- URI RR 作为 SRV 的补充
- 提供更丰富的服务描述
- 支持 URI 模板

示例:
_http._tcp.example.com. IN URI 10 1 "https://www.example.com/"

11.4 实现参考 (Implementation References)

11.4.1 常见实现和库 (Common Implementations and Libraries)

DNS 服务器:
- BIND (ISC) - 支持 SRV 记录
- Microsoft DNS Server - 完整 SRV 支持
- PowerDNS - 支持 SRV 记录
- Unbound - 支持 SRV 解析

DNS 客户端库:
- Python: dnspython (dns.resolver.query)
- Java: dnsjava
- Go: net.LookupSRV()
- C: res_query() with T_SRV
- Node.js: dns.resolveSrv()
- .NET: DnsClient

服务发现工具:
- dig (查询 SRV 记录)
- nslookup (Windows)
- Avahi (Linux)
- Bonjour (macOS/iOS)

11.5 参考文献获取 (Obtaining References)

11.5.1 官方 RFC 资源 (Official RFC Resources)

主站点:
RFC Editor: https://www.rfc-editor.org/

查询工具:
- RFC 检索: https://www.rfc-editor.org/search/rfc_search.php
- 勘误查询: https://www.rfc-editor.org/errata.php

IETF 数据追踪器:
- https://datatracker.ietf.org/
- 跟踪 RFC 的状态、更新和废止关系

11.5.2 IANA 注册表 (IANA Registries)

DNS 参数:
https://www.iana.org/assignments/dns-parameters/

服务名称和端口号:
https://www.iana.org/assignments/service-names-port-numbers/

URI 方案:
https://www.iana.org/assignments/uri-schemes/

11.6 本章小结 (Chapter Summary)

参考文献分类 (Reference Classification):

基础性文档 (Foundational Documents):
✅ RFC 1034/1035 - DNS 核心规范
✅ RFC 2119 - 关键词定义
✅ STD 2 - 服务名称和端口号

澄清性文档 (Clarification Documents):
✅ RFC 2181 - DNS 规范澄清
✅ RFC 2219 - 别名使用建议

应用示例 (Application Examples):
✅ ARM - LDAP 服务发现
✅ KDC-DNS - Kerberos 服务发现

安全扩展 (Security Extensions):
✅ RFC 4033-4035 - DNSSEC

服务发现扩展 (Service Discovery Extensions):
✅ RFC 6763 - DNS-SD
✅ RFC 7553 - URI RR

进一步阅读 (Further Reading):

对于希望深入了解 SRV 记录及其应用的读者,建议按以下顺序阅读:

1. RFC 1034/1035 - 理解 DNS 基础
2. RFC 2782 - 本文档
3. RFC 2181 - DNS 澄清
4. RFC 6763 - DNS-SD 扩展
5. RFC 4033-4035 - DNSSEC 安全

导航 (Navigation)