- play_arrow Hierarchical CoS for Subscriber Management
- play_arrow Hierarchical Class of Service for Subscriber Management
- Hierarchical Class of Service for Subscriber Management Overview
- Understanding Hierarchical CoS for Subscriber Interfaces
- Hardware Requirements for Dynamic Hierarchical CoS
- Configuring Static Hierarchical Scheduling in a Dynamic Profile
- Configuring Hierarchical CoS for a Subscriber Interface of Aggregated Ethernet Links
- Configuring Hierarchical CoS on a Static PPPoE Subscriber Interface
- Example: Maintaining a Constant Traffic Flow by Configuring a Static VLAN Interface with a Dynamic Profile for Subscriber Access
- play_arrow Applying CoS to Groups of Subscriber Interfaces
- play_arrow Configuring Hierarchical Scheduling for MPLS Pseudowire Interfaces
- Hierarchical CoS on MPLS Pseudowire Subscriber Interfaces Overview
- CoS Configuration Overview for MPLS Pseudowire Subscriber Interfaces
- CoS Two-Level Hierarchical Scheduling on MPLS Pseudowire Subscriber Interfaces
- Configuring CoS Two-Level Hierarchical Scheduling for MPLS Pseudowire Subscriber Interfaces
- CoS Three-Level Hierarchical Scheduling on MPLS Pseudowire Subscriber Interfaces
- Configuring CoS Three-Level Hierarchical Scheduling for MPLS Pseudowire Subscriber Interfaces (Logical Interfaces over a Transport Logical Interface)
- Configuring CoS Three-Level Hierarchical Scheduling for MPLS Pseudowire Subscriber Interfaces (Logical Interfaces over a Pseudowire Interface Set)
- play_arrow Configuring Hierarchical Scheduling for L2TP
- play_arrow Preventing Bandwidth Contention on Subscriber Interfaces
- Hierarchical CoS Shaping-Rate Adjustments Overview
- Shaping Rate Adjustments for Subscriber Local Loops Overview
- Guidelines for Configuring Shaping-Rate Adjustments for Subscriber Local Loops
- Configuring the Minimum Adjusted Shaping Rate on Scheduler Nodes for Subscribers
- Configuring Shaping-Rate Adjustments on Queues
- Enabling Shaping-Rate Adjustments for Subscriber Local Loops
- Disabling Shaping-Rate Adjustments for Subscriber Local Loops
- Disabling Hierarchical Bandwidth Adjustment for Subscriber Interfaces with Reverse-OIF Mapping
- Example: Configuring Hierarchical CoS Shaping-Rate Adjustments for Subscriber Local Loops
- Verifying the Configuration of Shaping-Rate Adjustments for Subscriber Local Loops
- Verifying the Configuration of ANCP for Shaping-Rate Adjustments
- Using Hierarchical CoS to Adjust Shaping Rates Based on Multicast Traffic
- play_arrow Configuring Targeted Distribution of Subscribers on Aggregated Ethernet Interfaces
- Distribution of Demux Subscribers in an Aggregated Ethernet Interface
- Providing Accurate Scheduling for a Demux Subscriber Interface of Aggregated Ethernet Links
- Configuring the Distribution Type for Demux Subscribers on Aggregated Ethernet Interfaces
- Configuring Link and Module Redundancy for Demux Subscribers in an Aggregated Ethernet Interface
- Configuring Rebalancing of Demux Subscribers in an Aggregated Ethernet Interface
- Example: Separating Targeted Multicast Traffic for Demux Subscribers on Aggregated Ethernet Interfaces
- Verifying the Distribution of Demux Subscribers in an Aggregated Ethernet Interface
- Configuring the Distribution Type for PPPoE Subscribers on Aggregated Ethernet Interfaces
- Verifying the Distribution of PPPoE Subscribers in an Aggregated Ethernet Interface
- play_arrow Applying CoS Using Parameters Received from RADIUS
- Subscriber Interfaces That Provide Initial CoS Parameters Dynamically Obtained from RADIUS
- Changing CoS Services Overview
- CoS Traffic Shaping Attributes for Dynamic Interface Sets and Member Subscriber Sessions Overview
- Guidelines for Configuring CoS Traffic Shaping Attributes for Dynamic Interface Sets and Member Subscriber Sessions
- Configuring Initial CoS Parameters Dynamically Obtained from RADIUS
- Configuring Static Default Values for Traffic Scheduling and Shaping
- Applying CoS Traffic-Shaping Attributes to Dynamic Interface Sets and Member Subscriber Sessions
- CoS Traffic Shaping Predefined Variables for Dynamic Interface Sets
- Example: Configuring Dynamic Hierarchical Scheduling for Subscribers
-
- play_arrow Configuration Statements and Operational Commands
ON THIS PAGE
Example: Reducing Jitter in Hierarchical CoS Queues
This example shows how to reduce jitter in the output queues for VLAN ports hosted on a hierarchical queuing MPC.
Requirements
This example uses the following Juniper Networks hardware and Junos OS software:
MX960 router in an IPv4 network and running Junos OS Release 13.2 or later.
Available Gigabit Ethernet port hosted on FPC slot 2, PIC slot 0, port 0.
Available Gigabit Ethernet port hosted on port 0 of a Gigabit Ethernet Modular Interface Card (MIC) in PIC slot 0 of an MPC2 Q Modular Port Concentrator (MPC) in FPC slot 5.
Before you begin configuring this example,
make sure that the maximum number of queues allowed for the hierarchical
queuing MPC in slot 5 has not yet been configured. When you enter
the show chassis fpc 5
command from configuration mode,
the max-queues
statement should not display.
Overview
In this example you configure hierarchical scheduling on a VLAN port hosted on a hierarchical queuing MPC. To reduce jitter in the queues for all egress ports hosted on the MPC, reduce the maximum number of queues allowed for MPC.
Configuration
CLI Quick Configuration
To quickly configure this example, copy the
following commands, paste them into a text file, remove any line breaks,
change any details necessary to match your network configuration,
and then copy and paste the commands into the CLI at the [edit]
hierarchy level.
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
Baseline Configuration
Step-by-Step Procedure
Configure hierarchical scheduling at xe-5.0.0
.
To configure the VLAN 1 input and output at
xe-2/0/0.0
andxe-5/0/0.0
:content_copy zoom_out_map[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
Map each of four queues to a forwarding class.
content_copy zoom_out_map[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
Assign a packet-scheduling priority value to each forwarding class.
content_copy zoom_out_map[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
Customize the default IEEE 802.1p classifier (BA classifier based on Layer 2 header) by defining different values for iEEE 802.1p code points.
content_copy zoom_out_map[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
Apply the BA classifier to the input of the logical units on
xe-2/0/0
.content_copy zoom_out_map[edit] user@host# set interfaces xe-2/0/0 unit * classifiers ieee-802.1 ieee_jitter
Configure the scheduler map
smap_jitter
to map the forwarding classes to the schedulers.content_copy zoom_out_map[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
Configure the traffic control profile
tcp
to combine the scheduler mapsmap_jitter
(that maps the forwarding classes to the schedulers for port-based scheduling) with a shaping rate (for hierarchical scheduling).content_copy zoom_out_map[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
Apply the traffic control profile to the router output at
xe-5/0/0
.content_copy zoom_out_map[edit] user@host# set class-of-service-interfaces xe-5/0/0 unit * output-traffic-control-profile tcp
If you are done configuring the device, commit the configuration.
content_copy zoom_out_map[edit] user@host# commit
Results
Confirm your configuration by entering show interfaces
and show cloass-of-service
commands from configuration
mode. If the output does not display the intended configuration, repeat
the instructions in this example to correct the configuration.
[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; } }
Verification
Confirm that the configuration is working properly
- Measuring End-to-End Jitter to Establish the Baseline
- Configuring Jitter Reduction
- Measuring End-to-End Jitter to Verify Jitter Reduction
Measuring End-to-End Jitter to Establish the Baseline
Purpose
Establish a baseline measurement by noting the amount of jitter that occurs when the hierarchical queuing line card hosting the egress port is configured with the default maximum number of queues.
Action
To measure jitter:
Pass traffic through the VLAN.
Measure the variation in packet delay for selected packets in the data flow.
Configuring Jitter Reduction
Purpose
Reduce jitter in the VLAN port output queues.
Action
Configure a reduced maximum number of queues for egress ports on the hierarchical queuing MPC in slot 5, thereby reducing the jitter in the port queues.
content_copy zoom_out_map[edit] user@host# set chassis fpc 5 max-queue 64k
If you are done configuring the device, commit the configuration.
content_copy zoom_out_map[edit] user@host# commit
Measuring End-to-End Jitter to Verify Jitter Reduction
Purpose
Measure the amount of jitter that occurs when the hierarchical queuing line card hosting the egress port is configured with a reduced maximum number of queues.
Action
To measure jitter:
Pass traffic through the VLAN.
Measure the variation in packet delay for selected packets in the data flow.