示例:减少分层 CoS 队列中的抖动
此示例说明如何减少分层队列 MPC 上托管的 VLAN 端口的输出队列中的抖动。
要求
此示例使用以下瞻博网络硬件和 Junos OS 软件:
IPv4 网络中运行的 Junos OS 13.2 或更高版本的 MX960 路由器。
FPC 插槽 2、PIC 插槽 0、端口 0 上托管的可用千兆以太网端口。
FPC 插槽 5 中的 MPC2 Q 模块化端口集中器 (MPC) 的 PIC 插槽 0 中的千兆以太网端口 0 上,托管在千兆以太网模块化接口卡 (MIC) 的端口 0 上。
开始配置此示例之前,请确保尚未配置插槽 5 中分层队列 MPC 允许的最大队列数。从配置模式进入 show chassis fpc 5
命令时,不应显示语句 max-queues
。
概述
在此示例中,您在分层队列 MPC 上托管的 VLAN 端口上配置层次调度。要减少 MPC 上托管的所有出口端口队列中的抖动,请减少 MPC 允许的最大队列数。
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit]
CLI 中。
set interfaces xe-2/0/0 per-unit-scheduler set interfaces xe-2/0/0 flexible-vlan-tagging set interfaces xe-2/0/0 unit 0 vlan-id 1 set interfaces xe-2/0/0 unit 0 family inet address 10.1.1.1/24 set interfaces xe-2/0/0 unit * classifiers ieee-802.1 ieee_jitter set interfaces xe-5/0/0 per-unit-scheduler set interfaces xe-5/0/0 flexible-vlan-tagging set interfaces xe-5/0/0 unit 0 vlan-id 1 set interfaces xe-5/0/0 unit 0 family inet address 10.2.1.1/24 set class-of-service-interfaces xe-5/0/0 unit * output-traffic-control-profile tcp set class-of-service forwarding-classes queue 0 be set class-of-service forwarding-classes queue 1 ef set class-of-service forwarding-classes queue 2 af set class-of-service forwarding-classes queue 3 nc set class-of-service schedulers be_sch priority low set class-of-service schedulers ef_sch priority low set class-of-service schedulers af_sch priority strict-high set class-of-service schedulers nc_sch priority low set class-of-service classifiers ieee_jitter forwarding-class be loss-priority low code-points 000 set class-of-service classifiers ieee_jitter forwarding-class ef loss-priority low code-points 001 set class-of-service classifiers ieee_jitter forwarding-class af loss-priority low code-points 010 set class-of-service classifiers ieee_jitter forwarding-class nc loss-priority low code-points 011 set class-of-service scheduler-maps smap_jitter forwarding-class be scheduler be_sch set class-of-service scheduler-maps smap_jitter forwarding-class ef scheduler ef_sch set class-of-service scheduler-maps smap_jitter forwarding-class af scheduler af_sch set class-of-service scheduler-maps smap_jitter forwarding-class nc scheduler nc_sch set class-of-service traffic-control-profiles tcp scheduler-map smap_jitter set class-of-service traffic-control-profiles tcp shaping-rate 6g
基准配置
逐步过程
在 xe-5.0.0
中配置分层调度。
要配置和处的 VLAN 1 输入和输出
xe-2/0/0.0
xe-5/0/0.0
:[edit] user@host# set interfaces xe-2/0/0 per-unit-scheduler user@host# set interfaces xe-2/0/0 flexible-vlan-tagging user@host# set interfaces xe-2/0/0 unit 0 vlan-id 1 user@host# set interfaces xe-2/0/0 unit 0 family inet address 10.1.1.1/24 user@host# set interfaces xe-5/0/0 per-unit-scheduler user@host# set interfaces xe-5/0/0 flexible-vlan-tagging user@host# set interfaces xe-5/0/0 unit 0 vlan-id 1 user@host# set interfaces xe-5/0/0 unit 0 family inet address 10.2.1.1/24
将四个队列中的每一个映射到一个转发类。
[edit] user@host# set class-of-service forwarding-classes queue 0 be user@host# set class-of-service forwarding-classes queue 1 ef user@host# set class-of-service forwarding-classes queue 2 af user@host# set class-of-service forwarding-classes queue 3 nc
为每个转发类分配一个数据包调度优先级值。
[edit] user@host# set class-of-service schedulers be_sch priority low user@host# set class-of-service schedulers ef_sch priority low user@host# set class-of-service schedulers af_sch priority strict-high user@host# set class-of-service schedulers ef_sch priority low
通过为 iEEE 802.1p 代码点定义不同的值,自定义默认 IEEE 802.1p 分类器(基于第 2 层标头的 BA 分类器)。
[edit] user@host# set class-of-service classifiers ieee_jitter forwarding-class be loss-priority low code-points 000 user@host# set class-of-service classifiers ieee_jitter forwarding-class ef loss-priority low code-points 001 user@host# set class-of-service classifiers ieee_jitter forwarding-class af loss-priority low code-points 010 user@host# set class-of-service classifiers ieee_jitter forwarding-class nc loss-priority low code-points 011
将 BA 分类器应用于上
xe-2/0/0
逻辑单元的输入。[edit] user@host# set interfaces xe-2/0/0 unit * classifiers ieee-802.1 ieee_jitter
配置调度器图
smap_jitter
,将转发类映射到调度器。[edit] user@host# set class-of-service scheduler-maps smap_jitter forwarding-class be scheduler be_sch user@host# set class-of-service scheduler-maps smap_jitter forwarding-class ef scheduler ef_sch user@host# set class-of-service scheduler-maps smap_jitter forwarding-class af scheduler af_sch user@host# set class-of-service scheduler-maps smap_jitter forwarding-class nc scheduler nc_sch
配置流量控制配置文件
tcp
以将计划器图smap_jitter
(用于将转发类映射到基于端口的计划程序)与整形速率(用于分层计划)相结合。[edit] user@host# set class-of-service traffic-control-profiles tcp scheduler-map smap_jitter user@host# set class-of-service traffic-control-profiles tcp shaping-rate 6g
将流量控制配置文件应用于位于
xe-5/0/0
的路由器输出。[edit] user@host# set class-of-service-interfaces xe-5/0/0 unit * output-traffic-control-profile tcp
完成设备配置后,提交配置。
[edit] user@host# commit
结果
在配置模式下输入 show interfaces
命令并 show cloass-of-service
确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以更正配置。
[edit] user@host# show interfaces xe-2/0/0 { per-unit-scheduler; flexible-vlan-tagging; unit 0 { vlan-id 1; family inet { address 10.1.1.1/24; } } } xe-5/0/0 { per-unit-scheduler; flexible-vlan-tagging; unit 0 { vlan-id 1; family inet { address 10.2.1.1/24; } } }
[edit] user@host# show class-of-service classifiers { ieee-802.1 ieee_jitter { forwarding-class be { loss-priority low code-points 000; } forwarding-class ef { loss-priority low code-points 001; } forwarding-class af { loss-priority low code-points 010; } forwarding-class nc { loss-priority low code-points 011; } } } forwarding-classes { queue 0 be; queue 1 ef; queue 2 af; queue 3 nc; } traffic-control-profiles { tcp { scheduler-map smap_jitter; shaping-rate 6g; } } interfaces { xe-2/0/0 { unit * { classifiers { ieee-802.1 ieee_jitter; } } } xe-5/0/0 { unit * { output-traffic-control-profile tcp; } } } scheduler-maps { smap_jitter { forwarding-class be scheduler be_sch; forwarding-class ef scheduler ef_sch; forwarding-class af scheduler af_sch; forwarding-class nc scheduler nc_sch; } } schedulers { be_sch { priority low; } ef_sch { priority low; } af_sch { priority strict-high; } nc_sch { priority low; } }
验证
确认配置工作正常
测量端到端抖动以建立基准
目的
当托管出口端口的层次化队列线卡配置为默认最大队列数时,通过指出发生的抖动量来建立基准测量。
行动
测量抖动:
通过 VLAN 传输流量。
测量数据流中选定数据包的数据包延迟变化。
配置抖动减少
目的
减少 VLAN 端口输出队列中的抖动。
行动
为插槽 5 中的分层队列 MPC 上的出口端口配置减少的最大队列数,从而减少端口队列中的抖动。
[edit] user@host# set chassis fpc 5 max-queue 64k
完成设备配置后,提交配置。
[edit] user@host# commit