Junos OS

last person joined: 7 days ago 

Ask questions and share experiences about Junos OS.
  • 1.  Questions on QoS in JUNOS

    Posted 10-26-2010 06:26

    Hi Everyone

     

    I would like to ask few questions on QoS configuration in JUNOS:

     

    1- When we classify the traffic to forwarding class through Multifield Classifier (Firewall Filters) then in order to tag the traffic (Marking) we have to define the rewrite rules (Mapping of code points to forwarding class). My question is that the code points are 6 digit binary number like 101 11 0, where 101 represents the Priority, 11 represents the drop probability (loss priority) and zero is unchanged. But when we classify the traffic to forwarding class then why we give explicitly loss-priority although loss-priority is part of code point.

     

    2- When we define the schedular-map for queues then where exactly we have to apply the schedular-map on the ingress interface or egress interface.

     

    3- In Schedular, could any one explain the buffer-size in simple words.

     

    4- When we assign the multiple forwarding classes for example two forwarding class to same queue and the transmit-rate is 10mb exact then how this transmit-rate is distributed to both forwarding class? 50-50 or what?

     

    Looking forward to positive response.

     

    Thanks



  • 2.  RE: Questions on QoS in JUNOS
    Best Answer

    Posted 10-27-2010 06:39

    Hello,

    Here are my answers:

    1/ "drop probability" is defined only for Assured Forwarding PHB group (RFC 2597)- for twelve DSCP codepoints out of possible 64, therefore interpretation of bits 3-4 in TOS byte as "drop probability" indicator outside of AF PHB scope does not make sense. JUNOS loss-priority has a wider usage and also could be interpreted as extension of 2-bit-wide (on some platforms 3 or 4-bit-wide) Forwarding Class variable.

    2/ Please apply scheduler-maps on egress interface(s)

    3/ "buffer-size" is the amount of egress PFE RAM for packet storage before pkts are sent on wire. It can be expressed either as percent of total PFE RAM or as "temporal" value in microseconds.

    To convert "temporal" value to Bytes, multiply "temporal" value by interface bandwidth. Example:

    buffer-size temporal 1000 microsec

    interface speed 10Gbits/sec

    Buffer-size in MBytes = ( 1000 / 10^6 ) * ( 10 * 10^9 ) / 8 = 125,000 Bytes

    4/ You can assign a scheduler with a transmit-rate to a forwarding-class but not to a queue. So in Your example, if "10Mbps exact" transmit-rate scheduler is assigned to forwarding-class #1 (and as a consequence forwarding-class #1 is shaped to 10Mbps), then forwarding-class #2 will get remainder bandwidth, meaning: once FC #1 will get into negative credit, FC #2 pkts will be served until either there are no more FC #2 packets to serve or FC #1 is back in positive credit.

    HTH

    Regards

    Alex

     

     



  • 3.  RE: Questions on QoS in JUNOS

    Posted 10-29-2010 07:55

    Hi Alex

     

    Thanks a lot as usual for your expert answers. Just need to clear some more things:

     

    1- Then what is the difference between queue and buffer? As you said buffer is the amount of PFE RAM and queue is related to interface to manage the BW of interface?

     

    2- How I know the size of buffer and what values of buffer size I can assign to different classes?

     

    3- I still confuse that schedular is assigned to queue or forwarding class? Because I read multiple forwarding classes can b assinged to one queue. Then schedular I believe assign to queue which decides the priority, transmit-rate, buffer-size of queue?

     

    4- For example one class is assigned to one queue and there are four queues and four forwarding classes. My question is that how these queue are operated I mean how their order are decided which will server when? I believe this can only be decided when schedular map is assigned to queue?

     

    Looking forward for response.

     

    Thanks



  • 4.  RE: Questions on QoS in JUNOS

    Posted 10-29-2010 08:54

    Hello,

    My answers:

    1/ you can think of a "queue" as a memory space in PFE allocated to store notification cells (in case of IP protocol - containing src.ip, dst.ip, protocol, src.port, dst.port and a few more header fields), and "buffer" as a memory space in PFE allocated to store packet data.

    2/ it depends on hardware and also on permissible delay/jitter

    http://www.juniper.net/techpubs/en_US/junos10.1/information-products/topic-collections/config-guide-cos/topic-27792.html

    3/ scheduler is assigned to forwarding-class(es) by means of scheduler-map. AFAIK, there is no way to assign it to a queue

    http://www.juniper.net/techpubs/en_US/junos10.1/information-products/topic-collections/config-guide-cos/topic-27796.html#id-11158865

    4/ The queues will be served in Weighed Round Robin order which is:

    - High Priority positive credit
    -  Low Priority positive credit
    -  High Priority negative credit
    - Low Priority negative credit

    And yes, scheduler priority (High/Low) does influence the order/sequence in which queues are serviced.

    HTH

    Regards

    Alex

     

     

     



  • 5.  RE: Questions on QoS in JUNOS

    Posted 10-29-2010 12:37

    Hi Alex

     

    Thanks for your answers. Just few more questions. May be some questions are stupid but actually just to clear the concepts. I hope you will not mind 🙂

     

    1- If multiple forwarding classes are assinged to one queue with same priority then in which order classes are served?
    2- In which scenario we assingn the multiple forwarding classes to same queue? is it good practice?
    3- what is the best practice for assigning priority, transmit-rate and buffer size for different type of classes
    4- Drop profile is assigned to forwarding class or queue?
    5- When class exceeds the transmit-rate then its shaped or cut off ?
    6- what is the difference when limiting the bandwidht through poicer and through schedular?

    7- How can we ensure one particular queue is served first?

     

    Thanks


     



  • 6.  RE: Questions on QoS in JUNOS

    Posted 11-01-2010 04:18

    Hello,

    I'll start to answer from Question 2 if you don't mind:

    A2/ AFAIK, "multiple FC to single queue mapping" feature was developed for a specific need - to allow X FC on CE side and Y FC on core side where X > Y

     

     

                               ____________
                               |          |
      ----CE facing interface--|  M 320   |-----Core facing interface----
                               |  T-series|
                               ------------

    fc0------->q0            fc5------->q0
    fc1------->q1             fc6------->q1
    fc2------->q2             fc7------->q2
    fc3------->q3            fc8------->q3
    fc4------->q4

     As one can see, there is no multiple FC mapping into same queue on CE side interfaces or core side interfaces.

     

    So, if your core interfaces support less queues than CE-facing, this may be the solution for your QoS needs.

     

    A1/ I never tried to map multiple FC into one queue on the same interface.

    A3/ This depends on hardware as well as traffic profile, please have a look into JUNOS CoS chapter

    http://www.juniper.net/techpubs/en_US/junos10.2/information-products/topic-collections/config-guide-cos/config-guide-cos-TOC.html

    As a general rule, one gives higher scheduler priority & relatively lower buffer-size for realtime traffic and lower scheduler priority+larger buffer-size+aggressive RED drop-profile for non-realtime traffic such as Internet browsing.

    A4/ Drop-profile-map assigns RED drop-profile to a scheduler and scheduler-map assigns a scheduler to a forwarding-class

    http://www.juniper.net/techpubs/en_US/junos10.2/information-products/topic-collections/config-guide-cos/topic-29852.html

    A5/ If there is a bandwidth left over, FC continues to send  _unless_ one configures "transmit-rate <XYZ> exact" or "transmit-rate <XYZ> rate-limit".

    A6/ Policer is not capable of taking advantage of leftover bandwidth whereas scheduler can, see above.

    A7/ Configure strict-high scheduler priority.

    HTH

    Rgds
    Alex

     

     

     



  • 7.  RE: Questions on QoS in JUNOS

    Posted 11-02-2010 08:08

    Hi Alex

     

    Thanks for your expert answers. My scenario is that I have 14 customers and I want to give quality of service to the same level in terms of priority and bandwidth. Now problem is that I can define 14 differenent classes for each customers and accordingly schedular for each class  BUT problem is that the interfaces have maximum 8 queues and offcourse out of 8, 2 queue we will use for control traffic and  best effort traffic.

     

    Could you please advice in this scenario how can I implement the QOS for these customers. Becuase I am not sure its a good idea to assign multiple forwarding classes to same queue?

     

    Looking forward for your resposne.

     

    Thanks

     

    KK



  • 8.  RE: Questions on QoS in JUNOS

    Posted 11-02-2010 08:38

    Hi there,

    If I understand you correctly, you want to guarantee egress bandwidth in case of congestion to 14 customers based on their source/dst IPs, correct?

    The questions would be:

    1/ What is the proposed egress bandwidth per customer? Do you have enough egress bandwidth for all 14 customers? Or do you plan to divide egress bandwidth equally between 14 customers?

    2/ what happens when you get 15th customer? Add more bandwidth, re-divide existing bandwidth into 15 parts/chunks or else?

    In this case you will need to use IQ/IQ2/IQ2E PIC(s) on egress and one egress logical interface (VLAN, DLCI) per customer. IQ/IQ2/IQ2E PICs support queueing per VLAN/DLCI with up to 4K queues per PIC.

    Rgds

    Alex

     

     

     



  • 9.  RE: Questions on QoS in JUNOS

    Posted 11-02-2010 11:04

    Hi Alex

     

    Actually at the access layer (EX switches) I want to mark each customer through DSCP marking and on the WAN router (J-series router) through BA classifier I want to give the Bandwidth and priority to each customer. Is that possible? Do I need IQ/IQ2/IQ2E PIC(s on EX and J-series routers?

     

    Answering to your questions:

     

    1- Yes I want egress bandwidth to be divided equally to each customers. 

    2- When 15th customer comes, I want to re-divide the existing BW in to 15 parts

     

    Thanks  



  • 10.  RE: Questions on QoS in JUNOS

    Posted 11-02-2010 12:18

    Hello,

    AFAIK, EX[34]200 do not support per-VLAN queueing, only per-port. You should be able to do marking though.

    J-series router does not support IQ/IQ2/IQ2E PIC and does not support per-VLAN CoS either.

    However, J-series support a feature called "virtual channels" with 8-queues per virtual channel which may be suitable for your needs

    http://www.juniper.net/techpubs/software/junos-security/junos-security10.3/junos-security-swconfig-class-of-service/config_virtual_channels.html

    HTH

    Rgds

    Alex