术语 CoS 和 QoS 经常互换使用,特别是在 SP 空间中,当提供“服务等级配置文件”等作为产品集的一部分时。我希望再次确认我的理解,即 CoS 只是可以在第 2 层标记流量的一种方式,而 QoS 决定了您在第 3 层对该流量实际执行的操作?
谁能提供更多真实世界的实现示例来区分这两个术语,或者建议我有任何重叠?
术语 CoS 和 QoS 经常互换使用,特别是在 SP 空间中,当提供“服务等级配置文件”等作为产品集的一部分时。我希望再次确认我的理解,即 CoS 只是可以在第 2 层标记流量的一种方式,而 QoS 决定了您在第 3 层对该流量实际执行的操作?
谁能提供更多真实世界的实现示例来区分这两个术语,或者建议我有任何重叠?
QoS 是一个总称,涵盖了诸如管制、整形、流量分类和高级排队机制等功能的使用。
CoS 是一种仅限于第 2 层以太网的 QoS 形式,它使用 802.1Q 标记的 3 位(8 个值)来区分您的流量。因此没有中继,没有 CoS。
DSCP 是第 3 层最常用的值,它位于 IP 标头的 6 位(64 个值)中。通常只使用 14 个值,并使用尽力而为、加速转发 (EF) 和保证转发 (AF) 的符号进行引用。AF 值的格式为 AFxy,其中 x 是 1-4 表示优先级,y 是 1-3 表示丢弃概率。
电信供应商(例如 AT&T)使用术语 CoS 来定义他们在 MPLS 产品中支持的带宽分配类别。基本上,他们将 CoS 变成了一个营销术语。通常,电信公司使用 DSCP 来了解您的流量应该属于其哪些 CoS 类。
配置这些功能的另一个要点是,在 Cisco 交换机或路由器中,您需要使用诸如“mls qos trust dscp”或“mls qos trust cos”之类的命令,否则设备会将 QoS 标记重置为零。有一些基于型号、配置和 IOS 版本的例外情况,但根据我的经验,过去几年的所有情况都是如此。此配置是必需的,因为设备需要知道您希望它对哪个标记进行操作,因为它不能同时使用这两个标记。我喜欢使用 DSCP。我还没有找到在它上面使用 CoS 的充分理由,但我确定有人有一个。
服务等级是第 2 层标识符,通常与 802.1q 标记结合使用(您不应该看到在接入端口上引用的 CoS,只能在中继端口上看到)。DiffServ 将是第 3 层链路上的相应标识符。服务质量是控制第 2 层和第 3 层链路如何对不同类型链路上的流量进行分类、监管和排队的超集。
CoS 在第 2 层运行,而 QoS 在第 3 层运行。
CoS 是一种向 VLAN 标头添加优先级的方法,稍后我可以通过 QoS 机制解释该优先级以相应地处理流量。
一个真实的例子可能是网络上的 VoIP VLAN,它通常会用 CoS 标志标记为 CS7。然后,路由器 QoS 引擎可以解释这一点,并在监管或分析情况下优先考虑更高的流量。
CoS 可以独立于 QoS 实现使用,以将适当标记的流量传递到您无法控制的其他网络。
这是一份很好的白皮书,详细介绍了该主题。
在 Juniper 世界中,它们的可互换性更高。因为所有 QoS 配置都是在配置的服务类节下完成的。配置的一个例子是:
class-of-service {
forwarding-classes {
queue 0 assured-forwarding;
queue 1 best-effort;
queue 2 expedited-forwarding;
}
interfaces {
ge-0/0/3 {
unit 0 {
scheduler-map 1st;
shaping-rate 100m;
}
}
}
scheduler-maps {
1st {
forwarding-class assured-forwarding scheduler test1;
forwarding-class best-effort scheduler test2;
forwarding-class expedited-forwarding scheduler test3;
}
}
schedulers {
test1 {
transmit-rate 45m;
buffer-size percent 45;
priority low;
}
test2 {
transmit-rate 45m;
buffer-size percent 45;
priority low;
}
test3 {
transmit-rate 10m;
buffer-size percent 10;
priority low;
}
}
}