CoS 和 QoS 可以互换吗?

网络工程 服务质量 cos
2021-07-24 13:51:46

术语 CoS 和 QoS 经常互换使用,特别是在 SP 空间中,当提供“服务等级配置文件”等作为产品集的一部分时。我希望再次确认我的理解,即 CoS 只是可以在第 2 层标记流量的一种方式,而 QoS 决定了您在第 3 层对该流量实际执行的操作?

谁能提供更多真实世界的实现示例来区分这两个术语,或者建议我有任何重叠?

4个回答

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;
        }
    }               
}