6. 支持服务 (SUPPORT SERVICES)
本节讨论三类支持服务: 域名转换、主机初始化和远程管理。
6.1 域名转换 (DOMAIN NAME TRANSLATION)
6.1.1 简介 (Introduction)
域名系统 (Domain Name System, DNS) 是一个分布式数据库系统, 用于将主机名转换为 IP 地址, 反之亦然。DNS 对互联网的运行至关重要。
每台互联网主机必须 (MUST) 实现 DNS 解析器, 以向 DNS 服务器查询名称解析。
6.1.2 协议逐步分析 (Protocol Walk-Through)
DNS 在客户端-服务器模型上运行:
- 解析器 (Resolver): 查询 DNS 服务器的客户端
- 名称服务器 (Name Server): 响应 DNS 查询的服务器
DNS 消息格式
DNS 消息由以下部分组成:
- 头部 (Header): 包含查询/响应标志和计数
- 问题部分 (Question Section): 包含查询
- 回答部分 (Answer Section): 包含回答查询的资源记录
- 权威部分 (Authority Section): 包含权威服务器的 NS 记录
- 附加部分 (Additional Section): 包含额外的有用记录
资源记录类型
常见的 DNS 资源记录 (RR) 类型包括:
- A: IPv4 地址
- AAAA: IPv6 地址
- CNAME: 规范名称 (别名)
- MX: 邮件交换器
- NS: 名称服务器
- PTR: 指针 (反向查找)
- SOA: 授权起始
- TXT: 文本字符串
6.1.3 具体问题 (Specific Issues)
6.1.3.1 资源记录缓存 (Resource Record Caching)
DNS 解析器应该 (SHOULD) 根据生存时间 (TTL) 值缓存资源记录。解析器必须 (MUST) 遵守 TTL 值。
6.1.3.2 否定缓存 (Negative Caching)
解析器应该 (SHOULD) 实现否定缓存, 以缓存有关不存在的域名或资源记录的信息。
6.1.3.3 多个地址 (Multiple Addresses)
当 DNS 查询返回多个地址时, 如果第一次连接失败, 解析器应该 (SHOULD) 尝试所有地址。
6.1.3.4 CNAME 记录 (CNAME Records)
解析器必须 (MUST) 正确处理 CNAME 记录, 通过跟随 CNAME 链来获取实际地址。
6.1.4 DNS 要求摘要 (DNS Requirements Summary)
| 功能 | 章节 | MUST | SHOULD | MAY |
|---|---|---|---|---|
| 实现 DNS 解析器 | 6.1.1 | x | ||
| 缓存资源记录 | 6.1.3.1 | x | ||
| 遵守 TTL 值 | 6.1.3.1 | x | ||
| 实现否定缓存 | 6.1.3.2 | x | ||
| 处理 CNAME 记录 | 6.1.3.4 | x | ||
| 尝试多个地址 | 6.1.3.3 | x |
6.2 主机初始化 (HOST INITIALIZATION)
6.2.1 简介 (Introduction)
主机初始化是指主机在启动时获取其配置参数的过程。主机初始化的常见协议包括:
- BOOTP: 引导协议
- DHCP: 动态主机配置协议
- RARP: 反向 ARP
6.2.2 协议逐步分析 (Protocol Walk-Through)
BOOTP/DHCP
BOOTP 和 DHCP 允许主机从服务器发现其 IP 地址、子网掩码、默认网关和其他配置参数。
该过程通常包括:
- 发现 (Discovery): 客户端广播发现消息
- 提供 (Offer): 服务器提供配置参数
- 请求 (Request): 客户端请求特定参数
- 确认 (Acknowledgment): 服务器确认配置
6.2.3 具体问题 (Specific Issues)
6.2.3.1 配置参数 (Configuration Parameters)
主机初始化协议应该 (SHOULD) 至少提供以下参数:
- IP 地址
- 子网掩码
- 默认网关
- DNS 服务器地址
6.2.3.2 租约时间 (Lease Time)
对于使用租用地址的协议 (如 DHCP), 客户端必须 (MUST) 遵守租约时间, 并在到期前续租。
6.2.4 初始化要求摘要 (Initialization Requirements Summary)
| 功能 | 章节 | MUST | SHOULD | MAY |
|---|---|---|---|---|
| 支持 BOOTP/DHCP | 6.2.1 | x | ||
| 提供基本配置参数 | 6.2.3.1 | x | ||
| 遵守租约时间 | 6.2.3.2 | x |
6.3 远程管理 (REMOTE MANAGEMENT)
6.3.1 简介 (Introduction)
远程管理协议允许网络管理员远程监控和管理互联网主机。远程管理的主要协议是:
- SNMP: 简单网络管理协议
6.3.2 协议逐步分析 (Protocol Walk-Through)
SNMP 使用管理站-代理模型:
- 管理站 (Manager): 查询代理的管理工作站
- 代理 (Agent): 在被管设备上运行的软件, 响应查询
SNMP 操作
- GET: 检索管理变量
- GET-NEXT: 检索下一个管理变量
- SET: 修改管理变量
- TRAP: 从代理到管理站的异步通知
管理信息库 (MIB)
MIB 定义了管理信息的结构和语义。每个可管理对象由对象标识符 (OID) 标识。
6.3.3 具体问题 (Specific Issues)
6.3.3.1 SNMP 实现 (SNMP Implementation)
主机可以 (MAY) 实现 SNMP 代理。如果实现, 代理应该 (SHOULD) 至少支持 MIB-II。
6.3.3.2 安全性 (Security)
SNMP 实现应该 (SHOULD) 实现基于团体的访问控制。
6.3.4 管理要求摘要 (Management Requirements Summary)
| 功能 | 章节 | MUST | SHOULD | MAY |
|---|---|---|---|---|
| 实现 SNMP 代理 | 6.3.3.1 | x | ||
| 支持 MIB-II | 6.3.3.1 | x | ||
| 实现访问控制 | 6.3.3.2 | x |