JNCIA Class of Service 1 — Questions and Answers
Question 1: What is Class of Service (CoS) in the context of Junos networking?
- A set of mechanisms for differentiating network traffic and providing varying service levels (priority, bandwidth, delay) to different traffic types (Correct answer)
- A Junos feature for classifying user login privileges
- A method for encrypting traffic based on sensitivity
- A routing protocol that prioritizes certain prefixes
Correct answer: A set of mechanisms for differentiating network traffic and providing varying service levels (priority, bandwidth, delay) to different traffic types
Class of Service (CoS) in Junos enables network operators to prioritize and manage traffic based on its type or application, ensuring critical applications receive appropriate bandwidth and low latency.
Junos CoS architecture includes: classifiers (assigning traffic to forwarding classes based on DSCP/802.1p/EXP bits or firewall filter actions), forwarding classes (logical groupings — 8 supported), code points (DSCP for IP, EXP for MPLS, 802.1p for Ethernet), schedulers (bandwidth, priority, delay buffer per queue), scheduler maps (linking forwarding classes to schedulers), shapers (maximum bandwidth per queue), and drop profiles (RED/tail-drop for congestion management). CoS is configured under [edit class-of-service].
Question 2: In Junos CoS, what is a 'forwarding class'?
- A named group that maps to a specific output queue, determining how packets are buffered and scheduled for transmission (Correct answer)
- A firewall filter action that forwards packets
- A routing policy term that classifies routes
- A VLAN used for priority traffic
Correct answer: A named group that maps to a specific output queue, determining how packets are buffered and scheduled for transmission
Forwarding classes in Junos CoS are logical names that map to hardware output queues (typically 0-7). Classifiers assign packets to forwarding classes, and schedulers define service parameters for each class.
Junos supports up to 16 forwarding classes (mapping to 8 hardware queues on most platforms, with 2 forwarding classes per queue). Default forwarding classes: best-effort (queue 0), assured-forwarding (queue 1), expedited-forwarding (queue 5), network-control (queue 7). Configured under [edit class-of-service forwarding-classes]. Packets are assigned to forwarding classes by classifiers (DSCP/EXP/802.1p → forwarding class). Schedulers define the service level (bandwidth %, priority, delay buffer) for each forwarding class.
Question 3: What does DSCP stand for and what is its role in Junos CoS?
- Differentiated Services Code Point — a 6-bit field in the IP header used to mark packets for CoS classification (Correct answer)
- Dynamic Service Control Protocol — a protocol for QoS negotiation
- Data Service Class Priority — a Juniper-proprietary marking field
- Destination Service Code Point — identifies the destination queue
Correct answer: Differentiated Services Code Point — a 6-bit field in the IP header used to mark packets for CoS classification
DSCP is a 6-bit field in the IP header's DSCP/ToS byte that marks packets with their desired service class. Junos uses DSCP values to classify incoming packets into forwarding classes.
DSCP (RFC 2474) replaces the older IP Precedence (3-bit) with a 6-bit field in the IP ToS byte, allowing 64 possible values. Well-known DSCP values: EF (101110, PHB for low-latency voice), AF11-AF43 (assured forwarding, 12 values), CS0-CS7 (class selector, backward compatible with IP Precedence), BE/CS0 (000000, best-effort). Junos uses DSCP classifiers to map these values to forwarding classes. DSCP is remarked at trust boundaries using rewrite rules.
Question 4: In Junos CoS, what is a 'scheduler' responsible for?
- Defining the transmission priority, guaranteed bandwidth percentage, delay buffer size, and drop profile for a specific forwarding class queue (Correct answer)
- Scheduling routing protocol updates
- Managing interface physical layer timing
- Scheduling configuration commits
Correct answer: Defining the transmission priority, guaranteed bandwidth percentage, delay buffer size, and drop profile for a specific forwarding class queue
A Junos CoS scheduler defines how each forwarding class queue is serviced: how much bandwidth it gets, its transmission priority (strict-high, high, medium, low), delay buffer, and congestion drop behavior.
Junos schedulers are configured under [edit class-of-service schedulers scheduler-name] and linked to forwarding classes via scheduler-maps. Scheduler parameters: 'transmit-rate' (guaranteed bandwidth as % or bps), 'priority' (strict-high/high/medium/low — strict-high always served first), 'buffer-size' (delay buffer as % or temporal), 'drop-profile-map' (RED/tail-drop per drop precedence). 'Excess rate' configures bandwidth borrowing when other queues are idle. 'Strict-high' priority enables strict priority queuing (e.g., for VoIP EF queue).
Question 5: What is the purpose of a Junos CoS 'rewrite rule'?
- To mark or re-mark DSCP/802.1p/MPLS EXP bits in packet headers as they egress an interface, propagating CoS information downstream (Correct answer)
- To rewrite the destination IP address for NAT
- To modify BGP route attributes for traffic engineering
- To change the CoS classifier on an interface
Correct answer: To mark or re-mark DSCP/802.1p/MPLS EXP bits in packet headers as they egress an interface, propagating CoS information downstream
Rewrite rules in Junos CoS modify the DSCP, 802.1p, or MPLS EXP code points in outgoing packet headers based on the packet's forwarding class and loss priority, propagating CoS markings to downstream devices.
Rewrite rules are applied at egress interfaces under [edit class-of-service interfaces interface-name unit N rewrite-rules]. They map (forwarding-class, loss-priority) pairs to specific code point values. This allows: remarking customer traffic at trust boundaries, setting DSCP values as packets leave the network, carrying CoS information across MPLS networks via EXP bits, and ensuring downstream devices can classify traffic correctly. Classifiers (ingress) read markings; rewrite rules (egress) write markings.
Question 6: In Junos, what is 'weighted random early detection' (WRED) used for?
- To proactively drop packets from lower-priority traffic before queues fill completely, preventing TCP global synchronization (Correct answer)
- To randomly select routing paths for load balancing
- To randomly assign packets to forwarding classes
- To discard entire flows when bandwidth is exceeded
Correct answer: To proactively drop packets from lower-priority traffic before queues fill completely, preventing TCP global synchronization
WRED proactively drops packets based on queue depth and loss priority, causing TCP senders to reduce rates before queues are completely full, preventing the global synchronization problem of tail-drop.
WRED (Weighted RED) improves on simple tail-drop by: starting to randomly discard packets as queue depth rises above a 'minimum threshold', increasing drop probability as depth rises toward 'maximum threshold', and dropping all packets above the maximum threshold. 'Weighted' means different drop profiles apply to high/medium/low loss-priority traffic. This staggers TCP congestion responses, preventing all flows from reducing rates simultaneously (global synchronization). In Junos, configure drop profiles under [edit class-of-service drop-profiles] and link in schedulers.
What is Class of Service (CoS) in the context of Junos networking?