1. 背景与核心目标
RFC 1349 是对 IP 协议头部
服务类型(Type of Service, TOS)字段语义的更新与澄清文档,发布于 1992 年。其主要目标包括:
- 重新定义 TOS 字段的用途:明确 TOS 字段的语义,解决历史标准中的冲突。
- 引入新的服务类型:例如“最小化经济成本”(Minimize Monetary Cost)。
- 兼容性与扩展性:确保与现有协议(如 OSPF、IS-IS)兼容,并为未来实验预留空间。
- 路由优化原则:主机使用 TOS 时不应被惩罚,网络应尽力满足请求,否则回退默认处理。
2. TOS 字段的重新定义
IP 头部的
服务类型字节包含三个字段:
0 1 2 3 4 5 6 7
| PRECEDENCE | TOS | MBZ |
- PRECEDENCE(优先级):表示数据报的重要性(本文未详细讨论)。
- TOS(服务类型):4 比特字段,用于请求网络在吞吐量、延迟、可靠性和经济成本之间优化路径。
- MBZ(必须为 0):保留位,当前未使用。
关键变化:
- TOS 字段从 3 比特扩展为 4 比特(兼容 RFC 1122)。
- TOS 值定义为枚举值(而非独立位组合),禁止同时设置多个优化目标(例如不能同时要求“最小延迟”和“最大吞吐量”)。
3. 标准 TOS 值定义
二进制值
|
语义
|
1000
|
最小化延迟(Minimize Delay)
|
0100
|
最大化吞吐量(Maximize Throughput)
|
0010
|
最大化可靠性(Maximize Reliability)
|
0001
|
最小化经济成本(Minimize Monetary Cost)
|
0000
|
默认服务(Normal Service)
|
注意:
- TOS 值为枚举值,非位组合(例如 1110 无意义)。
- 未定义的 TOS 值保留供未来实验使用,主机和路由器不得阻止其使用。
4. TOS 在协议中的应用
4.1 ICMP 协议
- 错误消息(如 Destination Unreachable)必须使用默认 TOS(0000)。
- 请求消息(如 Echo Request)可自定义 TOS。
- 响应消息(如 Echo Reply)需与请求的 TOS 一致。
4.2 传输层协议(如 TCP、UDP)
- 根据应用需求选择 TOS 值(如 FTP 控制通道使用最小延迟,数据通道使用最大吞吐量)。
- TCP 建议:控制报文与数据报文使用相同 TOS,避免影响往返时间估算。
4.3 应用层协议
- 应用需根据流量特性选择 TOS 值(例如 SMTP 命令阶段用最小延迟,数据传输阶段用最大吞吐量)。
- 用户应能覆盖应用的默认 TOS 选择(用于网络诊断等场景)。
5. TOS 对路由的影响
5.1 主机路由
- 主机通过 ICMP Redirect 消息学习路由,区分 TOS 相关和无关的路由条目。
- 路由缓存分为两类:
- 类型 1:匹配目标地址和 TOS。
- 类型 2:仅匹配目标地址(默认路由)。
5.2 路由器转发
- 路由器优先选择与请求 TOS 完全匹配的路由,若无则使用默认 TOS(0000)。
- 若无有效路由,返回 ICMP Destination Unreachable(代码 11/12 表示因 TOS 不可达)。
6. 限制与挑战
6.1 固有限制
- 建议性机制:TOS 不提供服务质量(QoS)保证,仅作为优化提示。
- 兼容性问题:旧设备可能忽略 TOS 字段,导致优化失效。
6.2 规范限制
- 路由算法局限性:当前路由协议(如 OSPF、IS-IS)未完全支持复杂 TOS 语义(例如可靠性需链路概率乘积计算)。
- 依赖网络管理:需合理配置路由策略,否则可能导致次优路径。
7. 总结与展望
RFC 1349 是 IP 服务类型机制演进的重要里程碑,解决了历史标准冲突并引入经济成本优化。然而,其本质仍是建议性机制,无法替代未来的 QoS 保障技术(如资源预留协议 RSVP)。随着网络商业化发展,TOS 在成本优化场景中的价值将愈发显著。
附录:
- 更新影响的 RFC 包括:RFC 792(ICMP)、RFC 1122/1123(主机要求)、RFC 1195(IS-IS)、RFC 1247/1248(OSPF)。
- 完整文档见:RFC 1349 - Type of Service in the Internet Protocol Suite
版权声明:本文内容基于 RFC 1349 翻译整理,仅供技术交流,转载请注明出处。