Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Storm qos


Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

Storm qos

  1. 1. ShunraSTX StormQoS In a Nutshell
  2. 2. Background <ul><li>StormQoS implementation is based on Cisco DiffServ and QoS models. </li></ul><ul><li>StormQoS is implemented in the emulation through a dedicated QoS Gateway shape </li></ul><ul><li>StormQoS policies are designed through an XML script that defines all aspects of the QoS implementation </li></ul>
  3. 3. Storm QoS Model
  4. 4. 1 st Step - Classifying <ul><li>Identify incoming packets </li></ul><ul><li>Filter packets based on a set of rules </li></ul><ul><li>Rules are based on several fields from the IP and TCP headers: IP (source/destination), ToS (DSCP), Protocol, Port (source/destination).. </li></ul>
  5. 5. 1 st Step - Classifying <ul><li>Samples: </li></ul><ul><ul><li>Packets coming from IP X </li></ul></ul><ul><ul><li>ICMP Packets going to IP X </li></ul></ul><ul><ul><li>All TCP packets on port 21 </li></ul></ul><ul><ul><li>All packets where DSCP = 60 </li></ul></ul>
  6. 6. 2 nd Step - Marking <ul><li>After filtering the packets we mark them, to reflect the different classes </li></ul><ul><li>DSCP – Differentiated Services Code Point </li></ul><ul><li>Modify 6 of the 8 ToS bits in the IP header </li></ul>
  7. 7. 2 nd Step - Marking <ul><li>Samples: </li></ul><ul><ul><li>Set DSCP = 10 to all packets coming from IP X </li></ul></ul><ul><ul><li>Set DSCP = 5 to all ICMP Packets going to IP X </li></ul></ul><ul><ul><li>Set DSCP = 60 to all TCP packets on port 21 </li></ul></ul><ul><ul><li>Set DSCP = 62 to all packets with DSCP = 60 </li></ul></ul>
  8. 8. 3 rd Step - Queuing <ul><li>After the packets are classified and marked they are sent to the queues </li></ul><ul><li>Queues define several traffic profiles </li></ul><ul><li>Packets enter different queues based on the priority that was set by the user </li></ul><ul><li>3 types of queues can be set globally: </li></ul><ul><ul><li>Priority Queuing </li></ul></ul><ul><ul><li>Custom Queuing </li></ul></ul><ul><ul><li>Custom Based Weighted Fair Queuing (CBWFQ) </li></ul></ul>
  9. 9. Priority Queuing <ul><li>4 levels of priority </li></ul><ul><ul><ul><li>1 = Highest Priority </li></ul></ul></ul><ul><ul><ul><li>2 = Medium Priority </li></ul></ul></ul><ul><ul><ul><li>3 = Normal Priority </li></ul></ul></ul><ul><ul><ul><li>4 = Lowest Priority </li></ul></ul></ul><ul><li>All packets must be classified in one of the above 4 levels </li></ul><ul><li>If a packet doesn’t have a default policy it is classified as ‘Normal’ </li></ul><ul><li>Exhaustive priority (‘starvation’ mode) from High to low, FIFO within priority </li></ul>
  10. 10. Priority Queuing - Example
  11. 11. Custom Queuing <ul><li>Divide the available bandwidth between several queues </li></ul><ul><li>The user determines how many priorities/queues there are </li></ul><ul><li>The user determines what portion of the bandwidth is allocated for each queue </li></ul><ul><li>5% are kept for unmarked packets </li></ul><ul><li>Weighted Round Robin between priorities, FIFO within priority </li></ul>
  12. 12. Custom Queuing - Example
  13. 13. Custom Based Weighted Fair Queue (CBWFQ) <ul><li>A managed set of queues </li></ul><ul><li>Defines up to 64 queues </li></ul><ul><li>Each queue can be managed through a different policy (RED, Drop Tail etc..) </li></ul><ul><li>Bandwidth is assigned per queue </li></ul><ul><li>Bandwidth of queue determines the relative weight of the class, as an input to WFQ scheduling </li></ul><ul><li>Priority Queue gets guaranteed delivery delay of 50ms or less </li></ul>
  14. 14. CBWFQ - Example
  15. 15. StormQoS User Interface
  16. 16. StormQoS User Interface