系统管理指南:IP 服务

使用 dscpmk 标记器转发包

标记器将在分类器或计量模块处理了通信流之后接收这些流。标记器将使用转发行为标记通信。此转发行为是在流离开 IPQoS 系统之后要对流执行的操作。要对通信类执行的转发行为在单跳行为 (per-hop behavior, PHB) 中定义。PHB 为通信类指定优先级,指明该类流相对于其他类流的优先级。PHB 仅管理 IPQoS 系统的连续网络中的转发行为。有关 PHB 的更多信息,请参阅单跳行为

包转发是指在网络中将特定类的通信发送到下一个目的地的过程。对于诸如 IPQoS 系统的主机,会将包从主机转发到本地网络流。对于 Diffserv 路由器,会将包从本地网络转发到路由器的下一个跃点。

标记器使用 IPQoS 配置文件中定义的已知转发行为来标记包头中的 DS 字段。此后,IPQoS 系统和后续可识别 Diffserv 的系统便会按照 DS 字段中的指示转发通信,直到更改标记。要指定 PHB,IPQoS 系统应在包头的 DS 字段中标记值。此值称为区分服务代码点 (differentiated service codepoint, DSCP)。Diffserv 体系结构定义的两种转发行为是 EF 和 AF,它们使用不同的 DSCP。有关 DSCP 的概述信息,请参阅DS 代码点

IPQoS 系统读取通信流的 DSCP,并评估此流相对于其他传出通信流的优先级。然后,IPQoS 系统设置所有并发通信流的优先级,并根据优先级将每个流释放到网络中。

Diffserv 路由器接收传出通信流,并读取包头中的 DS 字段。使用 DSCP,路由器可以对并发通信流设置优先级并进行调度。路由器将按照 PHB 指示的优先级转发每个流。请注意,PHB 不能在网络的边界路由器之外应用,除非后续跃点上的可识别 Diffserv 的系统也可识别同一 PHB。

加速转发 (Expedited Forwarding, EF) PHB

加速转发 (Expedited forwarding, EF) 保证具有推荐 EF 代码点 46 (101110) 的包在释放到网络中时得到最佳处理。通常将加速转发比喻为租用线路。确保所有 Diffserv 路由器保证会优先处理具有 46 (101110) 代码点的包,将其路由到其目的地。有关 EF 的技术信息,请参阅 RFC 2598 "An Expedited Forwarding PHB"。

保证转发 (Assured Forwarding, AF) PHB

保证转发 (Assured forwarding, AF) 提供四种可以指定给标记器的不同转发行为类。下表显示了这些类、每个类的三个丢弃优先级以及与每个优先级关联的推荐 DSCP。每个 DSCP 都分别用其 AF 值、十进制值和二进制值表示。

表 37–2 保证转发代码点

 

类 1 

类 2 

类 3 

类 4 

低丢弃优先级

AF11 = 

10 (001010) 

AF21 = 

18 (010010) 

AF31 = 

26 (011010) 

AF41 = 

34 (100010) 

中丢弃优先级

AF12 = 

12 (001100) 

AF22 = 

20 (010100) 

AF32 = 

28 (011100) 

AF42 =  

36 (100100) 

高丢弃优先级

AF13 = 

14 (001110) 

AF23 = 

22 (010110) 

AF33 = 

30 (011110) 

AF43 = 

38 (100110) 

任何可识别 Diffserv 的系统均可将 AF 代码点用作向不同通信类提供区分转发行为的指南。

当这些包到达 Diffserv 路由器时,路由器便会评估包的代码点以及队列中其他通信的 DSCP。然后,路由器会转发或丢弃包,具体取决于可用带宽以及包的 DSCP 所指定的优先级。请注意,以 EF PHB 为标记的包保证比以各种 AF PHB 为标记的包优先使用带宽。

协调网络中所有 IPQoS 系统和 Diffserv 路由器之间的包标记,确保包按预期方式转发。例如,假定网络中的 IPQoS 系统使用 AF21 (010010)、AF13 (001110)、AF43 (100110) 和 EF (101110) 代码点标记包。这样,便需要将 AF21、AF13、AF43 和 EF DSCP 添加到 Diffserv 路由器上的相应文件中。

有关 AF 代码点表的技术说明,请参阅 RFC 2597。路由器制造商 Cisco Systems 和 Juniper Networks 在其 Web 站点上提供了有关设置 AF PHB 的详细信息。您可以使用此信息来为 IPQoS 系统和路由器定义 AF PHB。此外,路由器制造商的文档包含在其设备上设置 DS 代码点的说明。

为标记器提供 DSCP

DSCP 的长度为 6 位。DS 字段的长度为 1 字节。定义 DSCP 时,标记器将使用 DS 代码点来标记包头的前 6 个重要的位。其余的 2 个次要的位将不会使用。

要定义 DSCP,您可以在标记器操作语句中使用以下参数:


 dscp_map{0-63:DS_codepoint}

dscp_map 参数是包含 64 个元素的数组,此数组将使用 (DSCP) 值进行填充。dscp_map 用于将传入 DSCP 映射到 dscpmk 标记器要应用的传出 DSCP。

必须采用十进制表示法为 dscp_map 指定 DSCP 值。例如,必须将 EF 代码点 101110 转换为十进制值 46,结果为 dscp_map{0-63:46}。对于 AF 代码点,必须将表 37–2 中所示的各种代码点转换为十进制表示法,以便与 dscp_map 一起使用。