homepage security

QoS Cheat Sheet

IP QoS is *the* black art of networking.
Before starting to implement IP QoS you have to know in depth the theory of IP QoS, need to know what can be achieve what cannot. It is not enough to know the issues and the solutions in regards to IP QoS, because one thing is the beautiful theory, another complete different thing is the practice.

No matter how good it looks on paper, in practice we have to face a LOT of limitation of networking devices (how network devices measure BW? Can do rate limiting? Can do traffic shaping? Can guarantee min BW? Can guarantee max BW? can be flexible? )

One thing for sure no matter how good IP QoS works, it CANNOT guarantee that a packet will arrive to the destination, because at the end of the day IP IS BEST EFFORT protocol. Sorry to let you down, but it is because IP is best effort make is so fantastically versatile ;)

In order to implement IP QoS you have to know the theory of IP QoS in depth and then
Not only you need to know in depth the theory of IP QoS before designing QoS

1. control over resource -> preventing low-priority traffic from monopolizing link BW & affecting high priority traffic
2. tailored service -> provides offer of premium services along with best effort CoS
3. traffic differentiation & provide service “guarantees”
4. more offecient use of network resources
5. coexistence of mission critical appls

IP is connectionless end-to-end packet service protocol, provided best effort:
-    high flexibility and robustness
-    prone to congestion

-    Type of Service (ToS) byte in IP header but ignored  until lately
-    The Nagle Algorithm
-    Van Jacobson TCP slow start and congestion avoidance (1986)
-    TCP fast retransmission and fast recovery for optimal performance during period of packet loss (1990)

Level of QoS:
1. Best-effort service (no QoS):
- no guarantee as to  whether or when a packet is delivered to the destination
- the only service the Internet offers today

2. Differentiated service (soft QoS):
- soft QoS <-- class based
- traffic is grouped info classes based on their service requirements
- statistical preferences not a hard guarantees
- allow a preferential treatment of one traffic over the other
- each traffic class is differentiated by the network and serviced according to the configured QoS mechanism for the class
- does not give service guarantees, only differentiates traffic and allow preferential treatment of one traffic class over the other
- works well for BW intensive data applications

3. Guaranteed service (hard QoS):
- hard QoS <-- required rigid guarantees from the network
- provide deterministic delay guarantees
requires network resource reservation to ensure the network meets a traffic flow’s specific service requirements.
- path reservation with a granularity of as single flow don’t scale over Internet backbone <~ aggregated reservation <~ only a minimum state of info in Internet core routers should be a scalable means

Performane Measures:

1. bandwidth: rate throughput capacity of a given medium , protocol, or connection <-“size of pipe”
2. packet delay: consist of serialization delay, propagation delay, switching delay
3. jitter: variation in packet delay
4. packet loss: number of packets being lost by the network during transmission, generally occur at congestion points

1. bandwidth: “size of the pipe”
2. delay/latency:  2 parts: fixed & variable
    a. fixed-network delay: incl encoding & decoding time -> latency required for electrical &/ optical signal to travel the media to the receiver
       ~> QoS doesnst affect fixed-network delay
       ~> property of the medium, solution: upgrade
     b. variable-network delay: refers to network condition -> congestion
       ~> applying QoS does affect
       ~> queueing delay

consist of.
    > packetizatn delay    -+
    > serializatn delay        |
    > propagatn delay        +--> fixed delay
    > processing delay       |
    > switching delay        -+
    > queueing delay       ---> variable delay

3. jitter: variable of delay
       ~> buffer underrun
       ~> buffer overrun

4. packet loss: number of packets being lost by the network during transmission
    congestion --> packet drop. 
Bit Error Rate (BER) of 10E-9 being relatively loss free


* classifying and marking traffic --> network devices can differentiate traffic flow
* traffic conditioning to tailor traffic flows to specific behavior and throughput
* marking traffic above specific threshold as lower priority
* dropping packets when rates reach specific threshold
* scheduling packet -->  higher-priority packets transmit from output queues before lower-priority traffic
* managing output queues --> avoid lower-priority packets waiting transmit monopolize buffer space
* traffic management --> token bucket   <~ traffic metering scheme
* resource allocation
* congestion avoidance &  packet drop policy <~ active queue mgmt algorithm enables routers to detect congestion before the queue overflows
* QoS signaling protocol --> RSVP
* switching:
   - traditional: cached-based forwarding mech: efficient but scaling & performance problem
   - modern: topology-based forwarding mech: building a forwarding table that exactly matches the router’s routing table.

packet classifier and marker:
- router at the network’s edge user classifier to identify packet belonging to a certain traffic class

-    used to color the classified traffic by setting either IP Precedence or Differentiated Service Code Point (DSCP)

to be continued…

homepage $Date: Sun May 16 18:58:43 CET 2004 $ © 2003-2004 Omar Gani