示例:减少层次结构 CoS 队列中的抖动
此示例说明如何减少分层队列 MPC 上托管的 VLAN 端口的输出队列中的抖动。
要求
此示例使用以下瞻博网络硬件和 Junos OS 软件:
IPv4 网络中的 MX960 路由器并运行 Junos OS 版本 13.2 或更高版本。
FPC 插槽 2、PIC 插槽 0、端口 0 上托管的可用千兆位以太网端口 。
FPC 插槽 5 中的 MPC2 Q 模块化端口集中器 (MPC) PIC 插槽 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