Configure class of service (CoS) on your switch to manage traffic so that when the network experiences congestion and delay, critical applications are protected. Using CoS, you can divide traffic on your switch into classes and provide various levels of throughput and packet loss. This is especially important for traffic that is sensitive to jitter and delay, such as voice traffic.
This example shows how to configure CoS on a single EX Series switch in the network.
For Juniper Networks EX series.
To configure and apply CoS:
[edit class-of-service] user@switch# set forwarding-classes class app queue-num 5 user@switch# set forwarding-classes class mail queue-num 1 user@switch# set forwarding-classes class db queue-num 2 user@switch# set forwarding-classes class erp queue-num 3 user@switch# set forwarding-classes class video queue-num 4 user@switch# set forwarding-classes class best-effort queue-num 0 user@switch# set forwarding-classes class voice queue-num 6 user@switch# set forwarding-classes class network-control queue-num 7
voip_class
[edit firewall] user@switch# set family ethernet-switching filter voip_class
voip
[edit firewall] user@switch# set family ethernet-switching filter voip_class term voip from source-address 192.168.1.1/28 user@switch# set family ethernet-switching filter voip_class term voip from source-address 192.168.1.2/28 user@switch# set family ethernet-switching filter voip_class term voip protocol udp user@switch# set family ethernet-switching filter voip_class term voip source-port 2698 user@switch# set family ethernet-switching filter voip_class term voip then forwarding-class voice loss-priority low
network_control
[edit firewall] user@switch# set family ethernet-switching filter voip_class term network_control from precedence [net-control internet-control] user@switch# set family ethernet-switching filter voip_class term network_control then forwarding-class network-control loss-priority low
best_effort_traffic
[edit firewall] user@switch# set family ethernet-switching filter voip_class term best_effort_traffic then forwarding-class best-effort loss-priority low
[edit interfaces] user@switch# set ge-0/0/0 description phone1-voip-ingress-port user@switch# set ge-0/0/0 unit 0 family ethernet-switching filter input voip_class user@switch# set ge-0/0/1 description phone2-voip-ingress-port user@switch# set ge-0/0/1 unit 0 family ethernet-switching filter input voip_class
[edit] user@switch# set class-of-service interfaces ge-0/0/0 shaping-rate 100m
video_class
[edit firewall] user@switch# set family ethernet-switching filter video_class
video
[edit firewall] user@switch# set family ethernet-switching filter video_class term video from source-address 192.168.1.17/28 user@switch# set family ethernet-switching filter video_class term video protocol udp user@switch# set family ethernet-switching filter video_class term video source-port 2979 user@switch# set family ethernet-switching filter video_class term video then forwarding-class video loss-priority low
[edit firewall] user@switch# set family ethernet-switching filter video_class term network_control from precedence [net-control internet-control] user@switch# set family ethernet-switching filter video_class term network_control then forwarding-class network-control loss-priority low
[edit firewall] user@switch# set family ethernet-switching filter video_class term best_effort_traffic then forwarding-class best-effort loss-priority low
[edit interfaces] user@switch# set ge-0/0/2 description video-ingress-port user@switch# set ge-0/0/2 unit 0 family ethernet-switching filter input video_class
app_class
[edit firewall] user@switch# set family ethernet-switching filter app_class
app
[edit firewall] user@switch# set family ethernet-switching filter app_class term app from source-address 192.168.1.33/28 user@switch# set family ethernet-switching filter app_class term app protocol tcp user@switch# set family ethernet-switching filter app_class term app source-port [1494 2512 2513 2598 2897] user@switch# set family ethernet-switching filter app_class term app then forwarding-class app loss-priority low
mail
[edit firewall] user@switch# set family ethernet-switching filter app_class term mail from source-address 192.168.1.34/28 user@switch# set family ethernet-switching filter app_class term mail protocol tcp user@switch# set family ethernet-switching filter app_class term mail source-port [25 143 389 691 993 3268 3269] user@switch# set family ethernet-switching filter app_class term mail then forwarding-class mail loss-priority low
db
[edit firewall] user@switch# set family ethernet-switching filter app_class term db from source-address 192.168.1.35/28 user@switch# set family ethernet-switching filter app_class term db protocol tcp user@switch# set family ethernet-switching filter app_class term db source-port [1521 1525 1527 1571 1810 2481] user@switch# set family ethernet-switching filter app_class term db then forwarding-class db loss-priority low
erp
[edit firewall] user@switch# set family ethernet-switching filter app_class term erp from source-address 192.168.1.36/28 user@switch# set family ethernet-switching filter app_class term erp protocol tcp user@switch# set family ethernet-switching filter app_class term erp source-port [3200 3300 3301 3600] user@switch# set family ethernet-switching filter app_class term erp then forwarding-class erp loss-priority low
[edit firewall] user@switch# set family ethernet-switching filter app_class term network_control from precedence [net-control internet-control] user@switch# set family ethernet-switching filter app_class term network_control then forwarding-class network-control loss-priority low
[edit firewall] user@switch# set family ethernet-switching filter app_class term best_effort_traffic then forwarding-class best-effort loss-priority low
[edit interfaces] user@switch# set ge-0/0/3 unit 0 family ethernet-switching filter input app_class user@switch# set ge-0/0/4 unit 0 family ethernet-switching filter input app_class user@switch# set ge-0/0/5 unit 0 family ethernet-switching filter input app_class user@switch# set ge-0/0/6 unit 0 family ethernet-switching filter input app_class
[edit class-of-service] user@switch# set schedulers voice-sched shaping-rate percent 10 user@switch# set schedulers voice-sched buffer-size percent 10 user@switch# set schedulers voice-sched priority strict-high user@switch# set schedulers video-sched priority low user@switch# set schedulers video-sched transmit-rate percent 15 user@switch# set schedulers app-sched buffer-size percent 10 user@switch# set schedulers app-sched priority low user@switch# set schedulers app-sched transmit-rate percent 10 user@switch# set schedulers mail-sched buffer-size percent 5 user@switch# set schedulers mail-sched priority low user@switch# set schedulers mail-sched transmit-rate percent 5 user@switch# set schedulers db-sched buffer-size percent 10 user@switch# set schedulers db-sched priority low user@switch# set schedulers db-sched transmit-rate percent 10 user@switch# set schedulers erp-sched buffer-size percent 10 user@switch# set schedulers erp-sched priority low user@switch# set schedulers erp-sched transmit-rate percent 10 user@switch# set schedulers nc-sched shaping-rate percent 5 user@switch# set schedulers nc-sched buffer-size percent 5 user@switch# set schedulers nc-sched priority strict-high user@switch# set schedulers nc-sched transmit-rate percent 5 user@switch# set schedulers be-sched buffer-size percent 35 user@switch# set schedulers be-sched priority low user@switch# set schedulers be-sched transmit-rate percent 35
ethernet-cos-map
[edit class-of-service] user@switch# set scheduler-maps ethernet-cos-map forwarding-class voice scheduler voice-sched user@switch# set scheduler-maps ethernet-cos-map forwarding-class video scheduler video-sched user@switch# set scheduler-maps ethernet-cos-map forwarding-class app scheduler app-sched user@switch# set scheduler-maps ethernet-cos-map forwarding-class mail scheduler mail-sched user@switch# set scheduler-maps ethernet-cos-map forwarding-class db scheduler db-sched user@switch# set scheduler-maps ethernet-cos-map forwarding-class erp scheduler erp-sched user@switch# set scheduler-maps ethernet-cos-map forwarding-class network-control scheduler nc-sched user@switch# set scheduler-maps ethernet-cos-map forwarding-class best-effort scheduler be-sched
[edit class-of-service interfaces] user@switch# set ge-0/0/20 scheduler-map ethernet-cos-map user@switch# set ge-0/0/21 scheduler-map ethernet-cos-map
[edit] user@switch# set class-of-service schedulers voice-sched-queue-shap shaping-rate 30m user@switch# set class-of-service scheduler-maps sched-map-be forwarding-class best-effort scheduler voice-sched-queue-shap user@switch# set class-of-service interfaces ge-0/0/2 scheduler-map sched-map-be
9/20/2023