跳到主要内容

2. 一般问题 (GENERAL ISSUES)

本节讨论与所有应用层和支持协议相关的几个主题。

2.1 主机名和地址 (Host Names and Numbers)

互联网系统有一个层次化的主机名系统, 即域名系统 (Domain Name System, DNS)。每台互联网主机有一个或多个 IP 地址, 并且可能有一个或多个名称。

主机名由一系列用句点分隔的"标签"组成。例如: venera.isi.edu。最右边的标签称为"顶级域 (top-level domain, TLD)"。

要求

  • 主机名不得 (MUST NOT) 由全数字标签组成。
  • 主机软件必须 (MUST) 处理长度至少为 255 个字符的主机名。
  • 主机软件不得 (MUST NOT) 对主机名的格式或内容做出任何超出 DNS 规范的假设。

2.2 使用域名服务 (Using Domain Name Service)

应用软件必须 (MUST) 能够处理给定主机名解析为多个 IP 地址的情况。这种情况在以下几种情况下出现:

  • 负载共享: 多台主机可能在同一名称下提供相同的服务以实现负载均衡。
  • 多宿主: 单台主机可能有多个网络接口, 具有不同的 IP 地址。

名称解析

当应用程序需要将主机名解析为 IP 地址时, 它通常使用域名系统 (DNS)。应用程序应该 (SHOULD):

  • 如果第一次连接尝试失败, 尝试多个地址
  • 记住哪个地址成功以供将来连接使用
  • 实现适当的超时

缓存

应用程序可以 (MAY) 缓存已解析的地址, 但必须 (MUST) 遵守 DNS 返回的生存时间 (TTL) 值。

2.3 多宿主主机上的应用程序 (Applications on Multihomed Hosts)

当多宿主主机上的应用程序创建连接时, IP 源地址必须 (MUST) 是主机的 IP 地址之一。

对于具有多个 IP 地址的多宿主主机:

  • 应用程序可以 (MAY) 允许用户选择使用哪个本地 IP 地址
  • 如果没有指定特定地址, IP 层根据路由选择源地址

2.4 服务类型 (Type-of-Service)

应用协议应该 (SHOULD) 为应用程序提供一种机制来指定 TCP 连接或 UDP 传输的 IP 服务类型 (TOS)。

TOS 字段允许应用程序请求特定的处理特性:

  • 低延迟 (最小化延迟)
  • 高吞吐量 (最大化吞吐量)
  • 高可靠性 (最大化可靠性)
  • 低成本 (最小化货币成本)

2.5 一般应用要求摘要 (GENERAL APPLICATION REQUIREMENTS SUMMARY)

功能章节MUSTSHOULDMAYMUST NOT
处理长度 >= 255 字符的主机名2.1x
主机名不全为数字2.1x
支持每个名称对应多个地址2.2x
失败时尝试多个地址2.2x
遵守 DNS TTL 值2.2x
允许指定 TOS2.4x