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