Routing

Expand all | Collapse all

Implementing COS in a mixed environment

Jump to Best Answer
  • 1.  Implementing COS in a mixed environment

     
    Posted 08-07-2020 04:31
    Greetings Experts,

    We have an environment consisting of EX4200/EX4300 switches acting as access layer switches, MX-480 routers acting as distribution routers/ MPLS Edge Switches (MES’s), MX960 routers acting as core routers and SRX 5800 devices acting as firewall. I couldn’t really find good documents in implementing end to end COS in a mixed environment with MPLS enabled. We also only have LDP enabled but RSVP is not enabled. Can someone please point me towards good docs? Also what would be the best way to test & verify the implementation?


  • 2.  RE: Implementing COS in a mixed environment
    Best Answer

    Posted 08-07-2020 05:56

    Hello,

    The JUNOS COS architecture is the same for all JUNOS products, slight differences exist in the number of supported queues per interface/card, and ability to deliver granular scheduling/shaping per queue/subinterface/phys.interface.

    This Day1 book has it explained https://www.juniper.net/documentation/en_US/day-one-books/DO_Deploying_Basic_QoS_v2.zip 

    If You are familiar with CSCO IOS COS then this whitepaper can be useful

    https://www.juniper.net/documentation/en_US/day-one-books/JunosQosforIOSEngineers.pdf

    If You want to read about per-platform peculiarities then "Juniper MX series" book has a big chapter on MX COS.

    I am not aware of EX-specific and SRX-specific COS books, You may need to read the tech docs for these platforms but good news is that MX has most comprehensive COS and EX/SRX COS is subset of MX COS.

    If all fails and You are still stuck, call Your Juniper Account team to ask for Juniper Prof.Services help!  😀

    HTH

    Thx

    Alex

     



  • 3.  RE: Implementing COS in a mixed environment

     
    Posted 08-08-2020 19:25
    Alex,

    Thank you very much for the relevelant docs and guidance. I very much appreciate your help.


  • 4.  RE: Implementing COS in a mixed environment

    Posted 08-08-2020 21:09
    class-of-service {

    drop-profiles {

    MyDropProfile {

    interpolate {

    fill-level 100;

    drop-probability 0;

    }

    }

    }

    interfaces {

    ge-0/0/0 {

    scheduler-map MyScheduler;

    unit 0 {

    forwarding-class expedited-forwarding;

    }

    }

    ge-0/0/1 {

    scheduler-map MyScheduler;

    unit 0 {

    forwarding-class expedited-forwarding;

    }

    }

    ge-0/0/2 {

    scheduler-map MyScheduler;

    unit 0 {

    forwarding-class expedited-forwarding;

    }

    }

    ge-0/0/3 {

    scheduler-map MyScheduler;

    unit 0 {

    forwarding-class expedited-forwarding;

    }

    }

    ge-0/0/4 {

    scheduler-map MyScheduler;

    unit 0 {

    forwarding-class expedited-forwarding;

    }

    }

    ge-0/0/5 {

    scheduler-map MyScheduler;

    unit 0 {

    forwarding-class expedited-forwarding;

    }

    }

    ge-0/0/6 {

    scheduler-map MyScheduler;

    unit 0 {

    forwarding-class expedited-forwarding;

    }

    }

    ge-0/0/7 {

    scheduler-map MyScheduler;

    unit 0 {

    forwarding-class expedited-forwarding;

    }

    }

    ge-0/0/8 {

    scheduler-map MyScheduler;

    unit 0 {

    forwarding-class expedited-forwarding;

    }

    }

    ge-0/0/9 {

    scheduler-map MyScheduler;

    unit 0 {

    forwarding-class expedited-forwarding;

    }

    }

    ge-0/0/10 {

    scheduler-map MyScheduler;

    unit 0 {

    forwarding-class expedited-forwarding;

    }

    }

    ge-0/0/11 {

    scheduler-map MyScheduler;

    unit 0 {

    forwarding-class expedited-forwarding;

    }

    }

    ge-0/0/12 {

    scheduler-map MyScheduler;

    unit 0 {

    forwarding-class expedited-forwarding;

    }

    }

    ge-0/0/13 {

    scheduler-map MyScheduler;

    unit 0 {

    forwarding-class expedited-forwarding;

    }

    }

    ge-0/0/14 {

    scheduler-map MyScheduler;

    unit 0 {

    forwarding-class expedited-forwarding;

    }

    }

    ge-0/0/15 {

    scheduler-map MyScheduler;

    unit 0 {

    forwarding-class expedited-forwarding;

    }

    }

    vlan {

    scheduler-map MyScheduler;

    unit 1 {

    forwarding-class expedited-forwarding;

    }

    }

    }

    scheduler-maps {

    MyScheduler {

    forwarding-class best-effort scheduler be-scheduler;

    forwarding-class expedited-forwarding scheduler ef-scheduler;

    forwarding-class assured-forwarding scheduler af-scheduler;

    forwarding-class network-control scheduler nc-scheduler;

    }

    }

    schedulers {

    ef-scheduler {

    transmit-rate 69242501;

    shaping-rate 272353833;

    buffer-size percent 31;

    priority low;

    drop-profile-map loss-priority low protocol any drop-profile MyDropProfile;

    }

    be-scheduler {

    transmit-rate 69242501;

    shaping-rate 272353833;

    buffer-size percent 31;

    priority low;

    drop-profile-map loss-priority low protocol any drop-profile MyDropProfile;

    }

    af-scheduler {

    transmit-rate 69242501;

    shaping-rate 272353833;

    buffer-size percent 31;

    priority low;

    drop-profile-map loss-priority low protocol any drop-profile MyDropProfile;

    }

    nc-scheduler {

    transmit-rate 18014377;

    shaping-rate 70856541;

    buffer-size percent 7;

    priority low;

    drop-profile-map loss-priority low protocol any drop-profile MyDropProfile;

    }

    }

    }




    Of course interfaces are not always the same but the numbers should apply. If course you'll wanna lookup why. I think this works fine.