Traffic Managent and QoS - KU ITTCjpgs/courses/nets/lecture-traffic-qos-print.pdf · KU EECS 780...
Transcript of Traffic Managent and QoS - KU ITTCjpgs/courses/nets/lecture-traffic-qos-print.pdf · KU EECS 780...
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 1 –
© James P.G. SterbenzITTCCommunication Networks
The University of Kansas EECS 780Traffic Management and QoS
© 2004–2007 James P.G. Sterbenz28 May 2010 rev. 10.0
James P.G. Sterbenz
Department of Electrical Engineering and Computer ScienceInformation Technology & Telecommunications Research Center
The University of Kansas
http://www.ittc.ku.edu/~jpgs/courses/nets
© 2004–2010 James P.G. Sterbenz
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-2
© James P.G. SterbenzITTC
Traffic Management and QoSOutline
TQ.1 Traffic management functions and servicesTQ.2 Traffic characteristics and service modelsTQ.3 Basic queueing analysisTQ.4 Congestion control and avoidanceTQ.5 Packet scheduling disciplinesTQ.6 QoS and Internet service models
Q.6.1 Guaranteed service and ATMQ.6.2 IntServ and RSVPQ.6.3 DiffServQ.6.4 MPLS traffic engineering
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 2 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-3
© James P.G. SterbenzITTC
Traffic Management and QoSTQ.1 Functions and Services
TQ.1 Traffic management functions and servicesTQ.2 Traffic characteristics and service modelsTQ.3 Basic queueing analysisTQ.4 Congestion control and avoidanceTQ.5 Packet scheduling disciplinesTQ.6 QoS and Internet service models
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-4
© James P.G. SterbenzITTC
Network Layer ControlHybrid Layer/Plane Cube
Layer 3:traffic management incontrol planesignificant interaction with management plane
physicalMAC
link
networktransport
sessionapplication
data plane control plane
management plane
social
virtual link
L1
L7L5L4L3
L2L1.5
L8
L2.5
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 3 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-5
© James P.G. SterbenzITTC
Network LayerService and Interfaces
• Network layer 3 is above link layer 2– addressing : network layer identifier for end systems (hosts)– forwarding : transfers packets hop-by-hop
• using link layer services• network layer responsible for determining which next hop
– routing : determination of path to forward packets– signalling : messages to control network layer behaviour– traffic management : actions to manage E2E service
• Network layer service to transport layer (L4)– deliver TPDUs to destination transport entity
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-6
© James P.G. SterbenzITTC
SwitchesFunctions: Routing and Signalling
• Traffic management
routing and signalling
transfer control
routing algorithm
topology link state
traffic management
signalling
input processing switch fabric
output processing
management
data manipulation
link layer decapsulation
link layer framing
packet buffers
forwardingtable
link scheduling
congestioncontrol
filter classify
fabric control
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 4 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-7
© James P.G. SterbenzITTC
Network LayerService Model and Traffic Management
• Service model describes– service the network provides for end-to-end data transfer
• Traffic management– actions the network takes to manage this service
• Conflicting goals– sufficient resources to deliver required service to users– minimise network resource use to keep costs low
• Components– congestion control and avoidance– resource provisioning and (perhaps) QoS
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-8
© James P.G. SterbenzITTC
Traffic Management and QoSTQ.2 Traffic Characteristics & Service Models
TQ.1 Traffic management functions and servicesTQ.2 Traffic characteristics and service modelsTQ.3 Basic queueing analysisTQ.4 Congestion control and avoidanceTQ.5 Packet scheduling disciplinesTQ.5 QoS and Internet service models
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 5 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-9
© James P.G. SterbenzITTC
Traffic CharacteristicsService Models
• Networks provide a service model to applications• Best effort
– no service guarantees to application
• Probabilistic guarantees– statistical guarantees of performance parameters
• Absolute guarantees– guarantees of performance parameters
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-10
© James P.G. SterbenzITTC
Traffic CharacteristicsService Models: Best Effort
• Best effort– no service guarantees to application– only “best effort” attempt to eventually deliver packets
• Resource allocation– over provisioning to provide reasonable service– no resource allocation to individual flows– may schedule among flows for fairness
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 6 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-11
© James P.G. SterbenzITTC
Traffic CharacteristicsService Models: Probabilistic Guarantees
• Probabilistic guarantees– statistical guarantees of performance parameters
• Resource allocation– allocation of resources to meet probabilistic service bounds– assumes benefits from statistical multiplexing– average rate + burstiness allocation– degree of over provisioning helps meet service guarantees
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-12
© James P.G. SterbenzITTC
Traffic CharacteristicsService Models: Absolute Guarantees
• Absolute guarantees– hard guarantees of performance parameters
• Resource allocation– allocation of resources to meet absolute service bounds– worst case allocation of resources
• peak rate
– circuit emulation
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 7 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-13
© James P.G. SterbenzITTC
Traffic CharacteristicsTraffic Parameters
• Throughput or rate• Delay• Jitter: delay variance• Reliability• Delivery order
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-14
© James P.G. SterbenzITTC
Traffic CharacteristicsThroughput or Rate
• Main parameters– peak rate rp
– average rate ra
– burstiness (peak to average ratio or max burst size)
rp
ra bursty
uniform
time
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 8 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-15
© James P.G. SterbenzITTC
Traffic CharacteristicsDelay
• Delay [s] is the sum of components:– speed-of-light path delay
• through transmission media• through circuits in nodes
– object transmission delay– queueing delay in network nodes
• due to blocking in a switch fabric (try to avoid)• due to contention for an output link
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-16
© James P.G. SterbenzITTC
Traffic CharacteristicsJitter
• Jitter: delay variance around mean delay– dmin is the minimum path delay – additional delay due to variable queueing and processing
dela
y di
strib
utio
n
1
0delay
no jitter low jitter high jitter
d d ddmin
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 9 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-17
© James P.G. SterbenzITTC
Traffic CharacteristicsReliability
• Reliability– packet loss rate– maximum burst error size
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-18
© James P.G. SterbenzITTC
Traffic CharacteristicsDelivery Order
• Delivery order– whether packets must be delivered in order– may be required by E2E protocol or application
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 10 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-19
© James P.G. SterbenzITTC
Traffic CharacteristicsTraffic Classes
• The traffic class specifies the characteristics of a flow – constant bit rate
• specified as a single rate
– variable bit rate• specified as (peak rate, average rate, burstiness)
– best effort• a desired may be specified
• Mechanisms to support traffic classes– over-provisioning– QoS mechanisms
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-20
© James P.G. SterbenzITTC
Traffic CharacteristicsTraffic Matrix
• Traffic can be characterised by a traffic matrix– matrix that describes traffic from every input → output pair– element i, j is traffic parameter from i to j
• engineered capacity [b/s or Erlangs]• load [b/s or Erlangs] typically over some time interval• delay• loss rate
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 11 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-21
© James P.G. SterbenzITTC
Traffic CharacteristicsTraffic Matrix
• Example traffic matrix: load [Mb/s]– traffic load from i → j and j → i (typically asymmetric)– requires measurements by service provider
• e.g.– rKCK→ZÜR = 3.4– rZÜR→KCK = 6.1
0.1
8.1
–
8.7
1.5
2.7
4.9
SAN
4.6
–
5.2
3.3
8.0
1.7
4.4
STL
3.84.39.85.42.2SAN
1.17.31.49.33.5STL
–2.74.66.12.9ZÜR
8.3–4.38.46.1MKE
6.60.2–4.29.3LAN
3.49.25.7–0.2KCK
9.66.41.47.1–BOS
ZÜRMKELANKCKBOS
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-22
© James P.G. SterbenzITTC
Traffic Management and QoSTQ.3 Basic Queueing Analysis
TQ.1 Traffic management functions and servicesTQ.2 Traffic characteristics and service modelsTQ.3 Basic queueing analysisTQ.4 Congestion control and avoidanceTQ.5 Packet scheduling disciplinesTQ.6 QoS and Internet service models
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 12 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-23
© James P.G. SterbenzITTC
Queueing AnalysisBasic Model
• Packets arrive in a queue at rate λ [1/s]• Packets are served at a rate μ [1/s]
– service time of s [s]
• System utilisation is ρ = λ/μ [Erlangs] ([1] = [s/s])– expressed as number in (0…1) or %
λ arrival rateρ utilisation
queue server μ
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-24
© James P.G. SterbenzITTC
Queueing AnalysisLittle’s Theorem
• N = λT• Variables
N – average number of customers in systemλ – arrival rate [1/s]T – average time spent in system [s]
• Holds for all distributions• Intuition
– as service time increases, so do number in system– as arrival rate increases, so do number in system
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 13 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-25
© James P.G. SterbenzITTC
Queueing AnalysisDistributions
• Arrival and service rates determine performance– average rates matter, but…
• Distribution of rates are critical– uniform: all interarrival or service times equal
• simple but unrealistic for most systems
– exponential or Poisson• Pr[k arrivals in interval T] =
– bursty: arrivals clumped into groups– self-similar: distribution similar at different granularities
• evidence of self-similar traffic in Internet• challenges benefits of statistical multiplexing
( )!
kTT
ek
λλ −
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-26
© James P.G. SterbenzITTC
Queueing AnalysisNotation
• A/S/N– A and S: distribution of arrivals and service times
G – general independentM – exponential (Poisson)D – deterministic or uniform
– N: number of servers
• Examples– M/M/1: exponential arrival, exponential service, single server
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 14 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-27
© James P.G. SterbenzITTC
M/M/1 Queueing AnalysisBasic Results
• Utilization ρ = λ / μ– arrival rate / service rate
• Average time in queue– note what happens as
ρ → 1
• Average time in system
/1
W ρ μρ
=−
1/1
T μρ
=−
ρ 1.0
W
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-28
© James P.G. SterbenzITTC
M/M/1 Queueing AnalysisDiscussion
• M/M/1 equations very simple– so they are frequently used in closed-form analysis– reflects independent arrivals
• e.g. Web transactions
– does not accurately represent traffic in network• bursty traffic• correlated traffic
• G/G/1 equations very complex!– requires integration of a function– difficult to analyse networks of generalised queues
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 15 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-29
© James P.G. SterbenzITTC
Analysis TechniquesAnalytical
• Analytical queueing analysis– mathematical analysis of system– useful for small simple system– exact behaviour of complex system difficult or impossible
• not possible to precisely analyse large network of real traffic
– critical problem:• simplifying assumptions must be made for complex systems• usefulness of results depends on these assumptions!
• Simulation• Emulation• Measurement
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-30
© James P.G. SterbenzITTC
Analysis TechniquesSimulation
• Queueing analysis• Simulation
– build software simulation model of system• generally more complex models possible than analytical
– critical problem:• real system must be abstracted to software model• abstractions usually contain simplifying assumptions• usefulness of results depends on abstraction and model!
• Emulation• Measurement
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 16 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-31
© James P.G. SterbenzITTC
Analysis TechniquesEmulation
• Queueing analysis• Simulation• Emulation
– hardware component designed to behave like real system• e.g. link emulator
– allows control of behaviour not possible in real system– critical problem
• emulator usually simplification of real system• usefulness of results depends on simplification!
– emulator frequently a component of simulation or testbed
• Measurement
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-32
© James P.G. SterbenzITTC
Analysis TechniquesMeasurement
• Queueing analysis• Simulation• Emulation• Measurement
– measurement of actual system• may be a testbed – usually a small replica of real network
– critical problem:• testbed may not reflect scale of real network• access to measurement data difficult
– due to scale of real network– due to administrative concerns, including privacy
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 17 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-33
© James P.G. SterbenzITTC
Analysis TechniquesVerification
• Combination of techniques– each technique has strengths and weaknesses– should be combined as necessary
• Verification of models– compare results of two techniques to verify model– example:
• compare queueing and simulation model of simple system• gives confidence of simulation model for more complex system
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-34
© James P.G. SterbenzITTC
Analysis TechniquesDesign Cycle
• Use each technique as appropriate in design cycle• Design cycle
– mathematical analysis and/or simulation• iterate on design parameters until desired behaviour• gives insight on how to build prototype system
– construct prototype and measure in testbed• analysis in small scale• iterate design; modify simulation model if necessary
– build real system on large scale• measure to confirm design and modify future deployments
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 18 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-35
© James P.G. SterbenzITTC
Traffic Management and QoSTQ.4 Congestion Control and Avoidance
TQ.1 Traffic management functions and servicesTQ.2 Traffic characteristics and service modelsTQ.3 Basic queueing analysisTQ.4 Congestion control and avoidanceTQ.5 Packet scheduling disciplinesTQ.6 QoS and Internet service models
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-36
© James P.G. SterbenzITTC
Congestion ControlDefinitions
• Flow control– control transmission to avoid overwhelming receiver– this is a exclusively a transport layer function lecture TL
• Congestion control– control transmission to avoid overwhelming network paths– this is a network layer function
• that may interact with the transport or application layers
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 19 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-37
© James P.G. SterbenzITTC
Congestion ControlIdeal Network
offered load
ideal
carr
ied
load
offered load
ideal
1.0
dela
y
throughput delay
• Ideal network:– throughput: carried load = offered load (45° line)– zero delay (flat line)
Why isn’t this possible?
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-38
© James P.G. SterbenzITTC
Congestion ControlReal Network
• Delay can’t be zero: speed-of-light– delay through network channels– delay along paths in network nodes
• Throughput can’t be infinite– channel capacity limits bandwidth– switching rate of components limits bit rate
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 20 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-39
© James P.G. SterbenzITTC
Congestion ControlDesired Real Network Behaviour
knee
offered load
ideal1.0
1.0
carr
ied
load
offered load 1.0
dela
y
knee
throughput
dmin
delay
• Desired network:– carried load = offered load up to share of capacity
what happens to delay?
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-40
© James P.G. SterbenzITTC
Congestion ControlCauses of Congestion
• Congestion when offered load → link capacity• Best effort
– occurs whenever load is high
• Probabilistic guarantees– occurs when load exceeds resource reservations
• Absolute guarantees– can’t happen (in theory)
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 21 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-41
© James P.G. SterbenzITTC
Congestion ControlInfinite Buffers / No Retransmission
• Congestion when offered load → link capacity• Infinite buffers
– queue length builds to infinity– d → ∞
todo: figures
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-42
© James P.G. SterbenzITTC
Congestion ControlFinite Buffers with Retransmission
• Finite buffers cause packet loss– retransmissions contribute to offered load
• assuming reliable protocol
– throughput curve levels off
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 22 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-43
© James P.G. SterbenzITTC
Congestion ControlMultihop Network
• Multiple hops– downstream packet loss– upstream transmission wasted
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-44
© James P.G. SterbenzITTC
Congestion ControlConsequences of Congestion
• Delay increases– due to packet queuing in network nodes– due to retransmissions when packets overflow buffers
• finite buffers must drop packets when full
• Throughput– levels off gradually (with real traffic)– then decreases
• due to retransmissions when packets dropped• particularly over multiple hops
– congestion collapse• “cliff” of the throughput curve
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 23 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-45
© James P.G. SterbenzITTC
Congestion ControlCongestion Control
knee cliff
offered load
ideal1.0
1.0
carr
ied
load
offered load
ideal
1.0
dela
y
knee
cliff
CC
throughput
dmin
delay
CC
• Congestion control reacts to congestion– operates at the cliff of the curve to prevent collapse
What should congestion control do?
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-46
© James P.G. SterbenzITTC
Congestion ControlLocal Action
• Local action at point of congestion• Drops packets: discard policy
– tail drop simplest: drop packets that overflow buffers– more intelligent policies possible
• need flow or connection state in switches• discriminate which flows are causing congestion and penalise
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 24 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-47
© James P.G. SterbenzITTC
Congestion ControlEnd-to-End Action
• End-to-end action: throttle source– reduce transmission rates– prevent unnecessary retransmissions
• Explicit congestion control– message to signal source to throttle
• Implicit– sender assumes that loss is due to congestion– source throttles with tail drop of a packet
More later
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-48
© James P.G. SterbenzITTC
Congestion ControlPreventing Congestion Collapse
• Congestion control reacts to congestion occurring– may be too late to avoid large-scale congestion collapse
Can we do better?consider how a node could detect congestion
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 25 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-49
© James P.G. SterbenzITTC
Congestion ControlCongestion Avoidance
• Congestion control reacts to congestion occurring– may be too late to avoid large-scale congestion collapse
• Congestion avoidance attempts to prevent– measure impending congestion– detection of increasing queue occupancy
• Important with high bandwidth-×-delay product– response to an event happens after more bits transferred– it may be too late to react
• all bits causing problem may already be transmitted• other cause of problem may have gone away
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-50
© James P.G. SterbenzITTC
Congestion AvoidanceCongestion Avoidance
knee cliff
offered load
ideal1.0
1.0
carr
ied
load
offered load
ideal
1.0
dela
y
knee
cliff
CA CC
throughput
dmin
delay
CA
CC
• Congestion avoidance predicts congestion– operates at the knee of the curve to prevent collapse
What should congestion avoidance do?
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 26 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-51
© James P.G. SterbenzITTC
Congestion AvoidanceGoals
• Congestion avoidance– prevent congestion from occurring
• Keep delay low– buffer occupancy → 0 in steady state– buffering needed for
• transient conditions• traffic bursts
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-52
© James P.G. SterbenzITTC
Congestion AvoidanceMechanisms
• Queue threshold detects impending congestion– less than buffer size (before tail drop)
• Explicit congestion avoidance– signal source to throttle or adjust rate
• Implicit congestion avoidance– AQM: active queue management– e.g. RED (random early detection)
• Fragment discard should cause PDU discard– PPD/EPD (partial/early packet discard) in ATM network– IP fragment discard possible, but better avoid fragmentation
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 27 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-53
© James P.G. SterbenzITTC
Congestion Avoidance & ControlImplicit
• Sender assume loss is congestion and throttles– assumes that all losses are due to congestion
• End-to-end error and congestion control combined– missing ACK assumed to be congestion
• causes throttling and then retransmission
– TCP does this Lecture TL– reasonable when all losses are due to congestion
• fiber optic channels connected by reliable switches
– performs poorly when significant losses in channel• mobile wireless links [Krishnan 2004]
• under-provisioned CDMA (including optical CDMA)
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-54
© James P.G. SterbenzITTC
Congestion Control & AvoidanceClosed-Loop End-to-End Congestion Control
networkcongestion control
packet scheduling
flow control
• Closed loop congestion– feedback from network necessary if no hard reservations
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 28 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-55
© James P.G. SterbenzITTC
Implicit Congestion AvoidanceAQM: Random Early Detection
• RED (random early detection) [Floyd 1993]– drop packets
• Compute average queue length over an interval– EWMA: exponentially weighted moving average
q = instantaneous queue lengthα = weighting factor
• Drop packets if threshold exceeded– if do nothing
– if drop with probability proportional to
– if drop every packet
(1 )q q qα α= − +
minq θ<
maxq θ>maxmin qθ θ≤ ≤ q
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-56
© James P.G. SterbenzITTC
• Drop packets if threshold exceeded– if do nothing
– if drop with probability proportional to
– if drop every packet
Implicit Congestion AvoidanceAQM: Random Early Detection
dropprobability
qmaxθminθ
maxp
1
minq θ<
maxq θ>maxmin qθ θ≤ ≤ q
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 29 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-57
© James P.G. SterbenzITTC
Implicit Congestion AvoidanceAQM: Random Early Detection
• RED advantages– causes TCP sources to throttle to relieve congestion
• RED disadvantages– random drops don’t necessarily penalise offending source– UDP and non-TCP friendly transport ignores RED drops
• at the cost of TCP flows
• RED deployment– AQM recommended by [RFC 2309]
• RED default recommendation
– not possible to directly measure deployment E2E
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-58
© James P.G. SterbenzITTC
Congestion Control & AvoidanceExplicit
• Congested node signals sender to throttle– ECN: explicit congestion notification
• Explicit signalling message– BECN or FECN (backward or forward ECN)– example: BECN/FECN in ATM networks– example: ICMP source quench– requires ability to address signalling message to source
• Congestion marking of headers in packets– example: ECN in IP networks
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 30 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-59
© James P.G. SterbenzITTC
Congestion Control & AvoidanceFECN Performance
• Forward notification requires full RTT– may necessary if no signalling back-channel
alternative?
C=1
CONGESTION
FECN
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-60
© James P.G. SterbenzITTC
Congestion Control & AvoidanceBECN Performance
• Backward signaling reduces control loop delay– half on average– important in high bandwidth-×-delay networks (why? )
C=1
CONGESTION
FECN
CONGESTION
BECN
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 31 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-61
© James P.G. SterbenzITTC
Congestion Control & AvoidanceInternet ECN
• Explicit congestion notification in the Internet• BECN (backward ECN)
– ICMP source quench (never deployed)
• FECN (forward ECN)– ECN (explicit congestion notification)
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-62
© James P.G. SterbenzITTC
ICMP Source QuenchOverview
• ICMP Source quench– type = 4– code = 0– payload is congesting
datagram + 64Bof its payload
• Congested router– signals source– TCP throttles
• Never widely deployed– in spite of [RFC 1122]
0 4 checksum
unused
0 0
04 lengthhl TOS
fragment id
TTL 0 1 header checksum
source address
destination address
flag frag offset
04 lengthhl TOS
fragment id
TTL protocol header checksum
source address
destination address
flag frag offset
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 32 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-63
© James P.G. SterbenzITTC
Internet ECNSignalling Message Sequence
• Capability to support ECN signalled by source– ECT (ECN capable transport) bit in IP header
• IP router marks packet when congestion impending– CE (congestion experienced) bit in IP header– FECN since packets marked; receiver must reply to source
• Receiver turns around congestion notification– ECE (ECN echo) flag in TCP header for ACKs until…
• Sender acknowledges ECE received– CWR (congestion window reduced) bit in TCP header
0
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-64
© James P.G. SterbenzITTC
Internet ECNIP Packet Fields
• ECN fields– replaces part of IPv4 TOS– b6 – b6 – DSCP– b6: ECT – ECN capable
transport– b7: CE – congestion
experienced payload(= length – hl – 20B)
04 lengthhl
fragment id
TTL protocol header checksum
source address
destination address
options(= hl – 20B)
flag frag offset
DSCP ECECT
CE
DSCP
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 33 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-65
© James P.G. SterbenzITTC
Internet ECNTCP Segment Flags
• Control flags (1 bit each)– CWR cong. win. reduced– ECE ECN echo– URG urgent data– ACK acknowledgement– PSH push data– RST reset connection– SYN connection setup– FIN connection teardown
checksum urg data pointerreceive window
ack numbersequence number
dest port #source port #
options (variable length)
applicationpayload
(variable length)
HL
32 bits
CEUAPRSF
URG
ACK
PSH
RST
SYN
FIN
ECE
CWR
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-66
© James P.G. SterbenzITTC
Internet ECNSignalling Message Sequence
• Capability to support ECN signalled by source– ECT (ECN capable transport) bit in IP header set to 1
• IP router marks packet when congestion impending• Receiver turns around congestion notification• Sender acknowledges ECE received
IP IP
1
IP:ECT=1CE=0
TCP:ECE=0CWR=0
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 34 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-67
© James P.G. SterbenzITTC
Internet ECNSignalling Message Sequence
• Capability to support ECN signalled by source• IP router passes packet unmarked if no congestion
– CE (congestion experienced) bit in IP header left at 0
• Receiver turns around congestion notification• Sender acknowledges ECE received
2
IP:ECT=1CE=0
TCP:ECE=0CWR=0
IP IP
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-68
© James P.G. SterbenzITTC
Internet ECNSignalling Message Sequence
• Capability to support ECN signalled by source• IP router marks packet when congestion impending
– CE (congestion experienced) bit in IP header set to 1
• Receiver turns around congestion notification• Sender acknowledges ECE received
3
IP:ECT=1CE=1
TCP:ECE=0CWR=0
IP IP
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 35 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-69
© James P.G. SterbenzITTC
Internet ECNSignalling Message Sequence
• Capability to support ECN signalled by source• IP router marks packet when congestion impending• Receiver turns around congestion notification
– ECE (ECN echo) flag in TCP ACK header set to 1
• Sender acknowledges ECE received4
IP:ECT=1CE=0
TCP:ECE=1CWR=0
IP IP
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-70
© James P.G. SterbenzITTC
Internet ECNSignalling Message Sequence
• Capability to support ECN signalled by source• IP router marks packet when congestion impending• Receiver turns around congestion notification
– ECE flag continues to be set in case ACKs dropped until…
• Sender acknowledges ECE received5
IP:ECT=1CE=0
TCP:ECE=1CWR=0
IP:ECT=1CE=0
TCP:ECE=1CWR=0
IP IP
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 36 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-71
© James P.G. SterbenzITTC
Internet ECNSignalling Message Sequence
• Capability to support ECN signalled by source• IP router marks packet when congestion impending• Receiver turns around congestion notification• Sender acknowledges ECE received
– CWR (congestion window reduced) TCP flag set to 16
IP:ECT=1CE=0
TCP:ECE=0CWR=1
IP IP
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-72
© James P.G. SterbenzITTC
Internet ECNSignalling Message Sequence
• Capability to support ECN signalled by source• IP router marks packet when congestion impending• Receiver turns around congestion notification• Sender acknowledges ECE received
– note that if CWR packet lost it will be retransmitted 7
IP:ECT=1CE=0
TCP:ECE=0CWR=1
IP IP
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 37 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-73
© James P.G. SterbenzITTC
Internet ECNSignalling Message Sequence
• Capability to support ECN signalled by source• IP router marks packet when congestion impending• Receiver turns around congestion notification• Sender acknowledges ECE received
– on receipt receiver resets ECE to 0 in subsequent ACKs 8
IP:ECT=1CE=0
TCP:ECE=0CWR=0
IP IP
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-74
© James P.G. SterbenzITTC
Congestion Control & AvoidanceOpen-Loop End-to-End Rate Control
network
conforming traffic
admission control
rate scheduling
rate policing excess traffic
receiver negotiation
• Initial negotiation– admission control limits traffic to available net resources– receiver negotiates what it can accept (flow control)
• Steady state– policing enforces traffic contract from transmitter
• excess traffic may be marked and passed if capacity available
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 38 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-75
© James P.G. SterbenzITTC
Congestion Control & AvoidanceHybrid End-to-End Rate/Congestion Control
network
conforming traffic
admission control
rate scheduling
rate policing excess traffic
receiver negotiation congestion
control
• Open loop rate control for statistical guarantees• Overbooking of resources requires congestion control
– dynamic rate adjustments to sender
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-76
© James P.G. SterbenzITTC
Traffic Management and QoSTQ.5 Packet Scheduling Disciplines
TQ.1 Traffic management functions and servicesTQ.2 Traffic characteristics and service modelsTQ.3 Basic queueing analysisTQ.4 Congestion control and avoidanceTQ.5 Packet scheduling disciplinesTQ.6 QoS and Internet service models
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 39 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-77
© James P.G. SterbenzITTC
Packet SchedulingOutput Scheduling Motivation
• Output scheduling– switch output processing function Lecture NL
• typically on line card
– required if contention for egress link from switch
• Fairness among flows– fair queuing within best-effort service– fair queueing among flows in any service class
• Flow and class differentiation• Traffic contracts
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-78
© James P.G. SterbenzITTC
Packet SchedulingOutput Scheduling Motivation
• Output scheduling– switch output processing function Lecture NL
• typically on line card
– required if contention for egress link from switch
• Fairness among flows• Flow and class differentiation
– per-flow queueing to give flows different service– per-class queueing to give classes different service
• Traffic contracts
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 40 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-79
© James P.G. SterbenzITTC
Packet SchedulingOutput Scheduling Motivation
• Output scheduling– switch output processing function Lecture NL
• typically on line card
– required if contention for egress link from switch
• Fairness among flows• Flow and class differentiation• Traffic contracts
– transmission of packets by end system to meet contract– policing at switch ingress to enforce contract – traffic shaping at switch egress to maintain contract
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-80
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)operation?
schedulingqueue
server(link)
0
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 41 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-81
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
schedulingqueue
server(link)
1
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-82
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
schedulingqueue
server(link)
2
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 42 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-83
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
schedulingqueue
server(link)
3
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-84
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
schedulingqueue
server(link)
4
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 43 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-85
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
schedulingqueue
server(link)
5
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-86
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
schedulingqueue
server(link)
6
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 44 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-87
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
schedulingqueue
server(link)
7
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-88
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
schedulingqueue
server(link)
8
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 45 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-89
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
schedulingqueue
server(link)
9
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-90
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
schedulingqueue
server(link)
10
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 46 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-91
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
schedulingqueue
server(link)
11
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-92
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
schedulingqueue
server(link)
12
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 47 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-93
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
schedulingqueue
server(link)
13
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-94
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
schedulingqueue
server(link)
14
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 48 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-95
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
schedulingqueue
server(link)
15
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-96
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
schedulingqueue
server(link)
16
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 49 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-97
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
What happens when the queue fills?
schedulingqueue
server(link)
17
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-98
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
• Discard policy: when full queue– tail drop: drop arriving packet
schedulingqueue
server(link)
18
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 50 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-99
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
• Discard policy: when full queue– tail drop: drop arriving packet
alternatives?
schedulingqueue
server(link)
19
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-100
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
• Discard policy: when full queue– tail drop: drop arriving packet– priority: drop/remove on priority basis– random: drop/remove randomly why?
server(link)
20
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 51 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-101
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
• FIFO (first in first out)– send in order of arrival to queue when link available
• Discard policy: when full queue– tail drop: drop arriving packet– priority: drop/remove on priority basis– random: drop/remove randomly: RED congestion avoidance
server(link)
21
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-102
© James P.G. SterbenzITTC
Packet SchedulingFIFO Queueing
Advantages and Disadvantages?
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 52 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-103
© James P.G. SterbenzITTC
Packet SchedulingFIFO Advantages
• FIFO is simplest discipline– very simple software management– very simple hardware
• shift register is a series of flip-flops
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-104
© James P.G. SterbenzITTC
Packet SchedulingFIFO Disadvantages
• FIFO is simplest discipline– very simple software management– very simple hardware
• shift register is a series of flip-flops
• All packets treated equallyimplications?
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 53 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-105
© James P.G. SterbenzITTC
Packet SchedulingFIFO Disadvantages
• FIFO is simplest discipline• All packets treated equally
– flows not necessarily treated fairly• important for best effort service
– flows not discriminated by service class• e.g. gold vs. silver vs. bronze
– variable packet size not accounted for• small packets wait behind large packets
(recall message switching)
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-106
© James P.G. SterbenzITTC
Packet SchedulingFIFO Disadvantages
• FIFO is simplest discipline• All packets treated equally
– flows not necessarily treated fairly• important for best effort service
– flows not discriminated by service class• e.g. gold vs. silver vs. bronze
– variable packet size not accounted for• small packets wait behind large packets
(recall message switching)
Alternatives?
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 54 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-107
© James P.G. SterbenzITTC
Packet SchedulingPriority Queueing
• Priority queueing– separate traffic classes by priority– serve highest priority first– provides relative service differentiation
Implementation?
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-108
© James P.G. SterbenzITTC
Packet SchedulingPriority Queueing
• Priority queueing– FIFO queue for each traffic class
• Packet classifier sorts into proper queues– e.g. source address, port, or QoS field
0
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 55 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-109
© James P.G. SterbenzITTC
Packet SchedulingPriority Queueing
• Priority queueing– FIFO queue for each traffic class
• Packet classifier sorts into proper queues– e.g. source address, port, or QoS field
1
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-110
© James P.G. SterbenzITTC
Packet SchedulingPriority Queueing
• Priority queueing– FIFO queue for each traffic class
• Packet classifier sorts into proper queues– e.g. source address, port, or QoS field
2
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 56 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-111
© James P.G. SterbenzITTC
Packet SchedulingPriority Queueing
• Priority queueing– FIFO queue for each traffic class
• Packet classifier sorts into proper queues– e.g. source address, port, or QoS field
3
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-112
© James P.G. SterbenzITTC
Packet SchedulingPriority Queueing
• Priority queueing– FIFO queue for each traffic class
• Packet classifier sorts into proper queues– e.g. source address, port, or QoS field
4
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 57 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-113
© James P.G. SterbenzITTC
Packet SchedulingPriority Queueing
• Priority queueing– FIFO queue for each traffic class
• Packet classifier sorts into proper queues– e.g. source address, port, or QoS field
5
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-114
© James P.G. SterbenzITTC
Packet SchedulingPriority Queueing
• Priority queueing– FIFO queue for each traffic class– queues served in priority order
• Packet classifier sorts into proper queues– e.g. source address, port, or QoS field
• Higher priority traffic classes receive better service6
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 58 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-115
© James P.G. SterbenzITTC
Packet SchedulingPriority Queueing
Advantages and Disadvantages?
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-116
© James P.G. SterbenzITTC
Packet SchedulingPriority Queueing
• Priority queuing advantages– relatively simple discipline– priority queues
• multiple physical FIFO queues• memory and pointer management to partition between queues
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 59 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-117
© James P.G. SterbenzITTC
Packet SchedulingPriority Queueing
• Priority queueing advantages– relatively simple discipline
• Priority queueing disadvantages– provides service differentiation– but lower priorities may get no service: starvation– no mechanism for proportional service
alternatives?
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-118
© James P.G. SterbenzITTC
Packet SchedulingRound Robin Queueing
• Round robin– FIFO queue for each class or flow – attempt to provide fair service among best-effort flows
Implementation?
0
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 60 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-119
© James P.G. SterbenzITTC
Packet SchedulingRound Robin Queueing
• Round robin– FIFO queue for each class or flow – attempt to provide fair service among best-effort flows
• Packet classifier sorts into proper queues by flow id
0
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-120
© James P.G. SterbenzITTC
Packet SchedulingRound Robin Queueing
• Round robin– FIFO queue for each class or flow – attempt to provide fair service among best-effort flows
• Packet classifier sorts into proper queues by flow id• Packets are served round-robin
– cyclically taking turns1
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 61 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-121
© James P.G. SterbenzITTC
Packet SchedulingRound Robin Queueing
• Round robin– FIFO queue for each class or flow – attempt to provide fair service among best-effort flows
• Packet classifier sorts into proper queues by flow id• Packets are served round-robin
– cyclically taking turns2
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-122
© James P.G. SterbenzITTC
Packet SchedulingRound Robin Queueing
• Round robin– FIFO queue for each class or flow – attempt to provide fair service among best-effort flows
• Packet classifier sorts into proper queues by flow id• Packets are served round-robin
– cyclically taking turns3
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 62 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-123
© James P.G. SterbenzITTC
Packet SchedulingRound Robin Queueing
• Round robin– FIFO queue for each class or flow – attempt to provide fair service among best-effort flows
• Packet classifier sorts into proper queues by flow id• Packets are served round-robin
– cyclically taking turns4
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-124
© James P.G. SterbenzITTC
Packet SchedulingRound Robin Queueing
• Round robin– FIFO queue for each class or flow – attempt to provide fair service among best-effort flows
• Packet classifier sorts into proper queues by flow id• Packets are served round-robin
– cyclically taking turns5
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 63 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-125
© James P.G. SterbenzITTC
Packet SchedulingRound Robin Queueing
• Round robin– FIFO queue for each class or flow – attempt to provide fair service among best-effort flows
• Packet classifier sorts into proper queues by flow id• Packets are served round-robin
– cyclically taking turns6
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-126
© James P.G. SterbenzITTC
Packet SchedulingRound Robin Queueing
• Round robin– FIFO queue for each class or flow – attempt to provide fair service among best-effort flows
• Packet classifier sorts into proper queues by flow id• Packets are served round-robin
– cyclically taking turns7
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 64 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-127
© James P.G. SterbenzITTC
Packet SchedulingRound Robin Queueing
• Round robin– FIFO queue for each class or flow – attempt to provide fair service among best-effort flows
• Packet classifier sorts into proper queues by flow id• Packets are served round-robin
– cyclically taking turns8
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-128
© James P.G. SterbenzITTC
Packet SchedulingRound Robin Queueing
• Round robin– FIFO queue for each class or flow – attempt to provide fair service among best-effort flows
• Packet classifier sorts into proper queues by flow id• Packets are served round-robin
– cyclically taking turns; skip if empty9
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 65 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-129
© James P.G. SterbenzITTC
Packet SchedulingRound Robin Queueing
Advantages and Disadvantages?
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-130
© James P.G. SterbenzITTC
Packet SchedulingRound Robin Advantages
• Round robin is simple discipline– very simple software management– very simple hardware
• round robin is a counter the points to a particular queue
– in per flow round-robin senders are treated equally• in terms of number of packets served
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 66 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-131
© James P.G. SterbenzITTC
Packet SchedulingRound Robin Disadvantages
• Round robin is simple discipline• All classes or flows treated equally
implications?
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-132
© James P.G. SterbenzITTC
Packet SchedulingRound Robin Disadvantages
• Round robin is simple discipline• All classes or flows treated equally
– senders not necessarily treated fairly– variable packet size not accounted for
• small packets wait behind large packets(recall message switching)
– senders not discriminated by service class• e.g. gold vs. silver vs. bronze
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 67 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-133
© James P.G. SterbenzITTC
Packet SchedulingRound Robin Disadvantages
• Round robin is simple discipline• All classes or flows treated equally
– senders not necessarily treated fairly– variable packet size not accounted for
• small packets wait behind large packets(recall message switching)
– senders not discriminated by service class• e.g. gold vs. silver vs. bronze
Alternatives?
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-134
© James P.G. SterbenzITTC
Packet SchedulingRound Robin Disadvantages
• Round robin is simple discipline• All classes or flows treated equally
– senders not necessarily treated fairly– variable packet size not accounted for
• small packets wait behind large packets(recall message switching)
– senders not discriminated by service class• e.g. gold vs. silver vs. bronze
Alternatives : combine priority and round robin?
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 68 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-135
© James P.G. SterbenzITTC
Packet SchedulingWeighted Round Robin Queueing
• Weighted round robin– FIFO queue for each flow or class (flow aggregates)
• Packet classifier sorts into proper queues– by flow id or traffic class
• Packets are served cyclically: round-robinweights determine relative service: benefits of priority and RR
0
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-136
© James P.G. SterbenzITTC
Packet SchedulingFair Queueing
• Motivation– fairness among best effort flows
• GPS: generalised processor sharing– ideal fluid model of sharing among flows
• Bit-by-bit round robin– would serve a bit at a time from each queue– fair regardless of packet sizes– not practical to implement directly
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 69 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-137
© James P.G. SterbenzITTC
Packet SchedulingWeighted Fair Queueing
• WFQ– (weighted fair queueing)– FIFO queue flow or flow class
• Simulates bit-by-bit round robin– schedules packets based on simulated departure time– relatively complex to implement
0
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-138
© James P.G. SterbenzITTC
Packet SchedulingDeficit Round Robin Fair Queueing
• Deficit round robin: simple hardware implementation– FIFO queue for each class or flow– each flow given a quantum of service
• Packets are served round-robin– as long as packet can be served within quantum + deficit– unused service (with packet waiting) added to deficit– provides long term fairness 0
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 70 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-139
© James P.G. SterbenzITTC
Packet SchedulingOverengineering vs. Optimality
• Traffic management can be very complex– classification in switch input processing– scheduling in switch output processing – flow or connection management in switches– interaction with link-state routing
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-140
© James P.G. SterbenzITTC
Packet SchedulingOverengineering vs. Optimality
• Traffic management can be very complex– classification in switch input processing– scheduling in switch output processing – flow or connection management in switches– interaction with link-state routing
• Overengineering can dramatically simplify TM– at the cost of extra network resource
• links• line cards• switches
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 71 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-141
© James P.G. SterbenzITTC
Packet SchedulingOverengineering vs. Optimality
• Traffic management can be very complex– classification in switch input processing– scheduling in switch output processing – flow or connection management in switches– interaction with link-state routing
• Overengineering can dramatically simplify TM– at the cost of extra network resource
• links• line cards• switches
• Goal: balance overengineering vs. optimality
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-142
© James P.G. SterbenzITTC
Traffic Management and QoSTQ.6 QoS and Internet Service Models
TQ.1 Traffic management functions and servicesTQ.2 Traffic characteristics and service modelsTQ.3 Basic queueing analysisTQ.4 Congestion control and avoidanceTQ.5 Packet scheduling disciplinesTQ.6 QoS and Internet service models
Q.6.1 Guaranteed service and ATMQ.6.2 IntServ and RSVPQ.6.3 DiffServQ.6.4 MPLS traffic engineering
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 72 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-143
© James P.G. SterbenzITTC
Quality of ServiceOverview
• Quality of service (QoS or QOS)– the service model that the network provides to applications– along with supporting mechanisms
• Recall service models:– best effort
• no service guarantees to application
– probabilistic guarantees• statistical guarantees of performance parameters
– absolute guarantees• guarantees of performance parameters
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-144
© James P.G. SterbenzITTC
Quality of ServiceMechanisms: Best Effort
• Best effort– no service guarantees to application– no QoS mechanisms necessary (traditional Internet)
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 73 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-145
© James P.G. SterbenzITTC
Quality of ServiceMechanisms: Best Effort with Fairness
• Best effort– no service guarantees to application– no QoS mechanisms necessary (traditional Internet)
• Fairness– desirable to allow fair sharing of network
• scheduling under no congestion• discard under impending congestion
– difficult to discriminate well-behaved and misbehaving flows• assuming IPv4 (this is why IPv6 has a flowid flowspec)
– fair mechanisms substantially more complex to implement• but hardware advances in the 2000s make this possible
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-146
© James P.G. SterbenzITTC
Internet Service ModelsOverview
• Best effort– traditional service model– IPv4 TOS field intended to for service differentiation
• Traditional best effort model is being supplemented– new congestion control mechanisms (e.g. ECN, RED)– fair queueing– SLAs supported by packet classification and MPLS underlays
• Integrated services– fine-grained traffic management supported by RSVP
• Differentiated services– coarse-grained traffic differentiation
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 74 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-147
© James P.G. SterbenzITTC
Internet Best Effort ArchitectureIPv4 Type of Service
• TOS: type of service field– intended to give hints– almost never used
• except for routing traffic– no enforcement mechanisms
• TOS fields– 3 msb precedence
• 0–7 = normal–high priority– 3 flag bits
D: 0/1=normal/low delayT: 0/1=normal/high thruputR: 0/1=normal/high reliability
– 2 lsb unused
04 lengthhl TOS
fragment id
TTL protocol header checksum
source address
destination address
options(= hl – 20B)
payload(= length – hl – 20B)
flag frag offset
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-148
© James P.G. SterbenzITTC
Internet Best Effort ArchitectureIPv6 Traffic Class and Flow Label
• Traffic class (8b)– differentiates traffic class– originally 4b priority
• Flow label (20b)– identify flows for per
flow traffic management
• TM never well defined– later assumed that
DiffServ would define
06 flow labelclass
payload length hop limitnext hdrl
source address
destination address
payload(= payload length)
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 75 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-149
© James P.G. SterbenzITTC
Traffic Management and QoSTQ.6.1 Guaranteed Service and ATM
TQ.1 Traffic management functions and servicesTQ.2 Traffic characteristics and service modelsTQ.3 Basic queueing analysisTQ.4 Congestion control and avoidanceTQ.5 Packet scheduling disciplinesTQ.6 QoS and Internet service models
Q.6.1 Guaranteed service and ATMQ.6.2 IntServ and RSVPQ.6.3 DiffServQ.6.4 MPLS traffic engineering
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-150
© James P.G. SterbenzITTC
Quality of ServiceMechanisms: Guaranteed Service
• Probabilistic or absolute guarantees (strong QoS)– guarantees of performance parameters: traffic contract– resources reserved to meet traffic contract
• Requires– connection or flow establishment– admission control:
only permit new flows if resources available– traffic policing to insure sources adhere to contract
• Conflicting goals:– sufficient resources to deliver required QoS to users– minimise network resource use to keep costs low
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 76 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-151
© James P.G. SterbenzITTC
Guaranteed Quality of ServiceConnection-Oriented Resource Reservation
• Connections establish state– admission control: resources
• reserved with SETUP• committed with CONNECT
– if resources not available• connection REJECTed
– at end of connection• resources must be RELEASEd
• QoS guarantees possible– feedback control loops not needed– less dependent on congestion control
• unless resources overbooked
SETUP
PROCEEDING
PROCEEDING
CONNECT
CONNECTCONNECT
SETUP
SETUP tsig
ACK
ACK
PROCEEDING
ACK
ts
tp
tsetup
txfer
dn
d1
Dn
tg tb
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-152
© James P.G. SterbenzITTC
Guaranteed Quality of ServiceConnection-Oriented Admission Control/Policing
network
conforming traffic
admission control
rate scheduling
rate policing excess traffic
receiver negotiation
• Initial negotiation– traffic contract negotiated with network– admission control permits only if resources available
• Steady state– policing enforces traffic contract from transmitter– traffic shaping in switches ensures traffic remains compliant
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 77 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-153
© James P.G. SterbenzITTC
Guaranteed Quality of ServiceATM Traffic Management
• ATM (asynchronous transfer mode)– connection-oriented network based on fast-packet switching– major motivation was to support QoS for multimedia apps
• ATM traffic management [AF-TM-0101, -0149, -0150]– complex set of traffic classes and parameters– attempted to be too optimal in resource allocation
• recall overengineering vs. optimality tradeoff
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-154
© James P.G. SterbenzITTC
Guaranteed Quality of ServiceATM Traffic Classes
• Large set of traffic classes originally specified– CBR: constant bit rate for circuit emulation– rt-VBR: real-time variable bit rate for multimedia applications– nrt-VBR: non-real-time variable bit rate for bursty data– ABT: fast reservation– UBR: unspecified bit rate for best effort service
• Later additions to support Internet traffic– ABR: available bit rate with closed loop flow control
• adaptive but relative complex
– GFR: guaranteed frame rate• response to concerns about ABR complexity
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 78 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-155
© James P.G. SterbenzITTC
Guaranteed Quality of ServiceATM Traffic Classes
peak rate*best effortnoneunspecified bit rateUBR
minimum ratepeak rate*
dataopen loopguaranteed frame rateGFR
minimum ratepeak rate*
datahybridavailable bit rateABR
peak and average rateburstdatafast reservation
open loopATM block transferABT
peak and average rateburstdataopen loopnon-real-time
variable bit ratenrt-VBR
peak and average rateburst, jitter, latency
real-time multimediaopen loopreal-time
variable bit ratert-VBR
peak ratereal timecircuit emulationopen loopconstant bit rateCBR
ParametersTrafficControlNameClass
* specified in SETUP but not guaranteed
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-156
© James P.G. SterbenzITTC
Guaranteed Quality of ServiceLeaky Bucket Policing and Traffic Shaping
• Leaky bucket to enforce– average rate or– peak rate
• Simple implementation– packet arrival ⇒
token placed in bucket– bucket drained at target rate– if threshold L exceeded
• packet dropped or• may be marked if excess aggregate capacity available• burst lengths may be limited by I
bucket
L
c
I+L 1/t rate
discard
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 79 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-157
© James P.G. SterbenzITTC
Traffic Management and QoSTQ.6.2 Internet Integrated Services and RSVP
TQ.1 Traffic management functions and servicesTQ.2 Traffic characteristics and service modelsTQ.3 Basic queueing analysisTQ.4 Congestion control and avoidanceTQ.5 Packet scheduling disciplinesTQ.6 QoS and Internet service models
Q.6.1 Guaranteed service and ATMQ.6.2 IntServ and RSVPQ.6.3 DiffServQ.6.4 MPLS traffic engineering
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-158
© James P.G. SterbenzITTC
Internet Service ModelsIntServ Overview
• Integrated services [RFC 1633]– fine-grained per-flow traffic management
• Mechanisms– resource reservations in switches/routers
• assumes per packet delay is most important quality• soft state
– flow setup using RSVP signalling protocol– optional traffic engineering using other mechanisms
• Per flow end-to-end traffic classes– guaranteed service– controlled load
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 80 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-159
© James P.G. SterbenzITTC
Internet Service ModelsAdmission Control
• Reservation specified as– R-spec: service requirements specification for network
• e.g. minimum rate
– T-spec: traffic descriptor of sender• e.g. token bucket parameters• will be specified by each receiver since RSVP receiver oriented
• Flow will not be admitted if resources not available• Signalling protocol
– carries R-spec and T-spec to routers– RSVP is signalling protocol for IntServ
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-160
© James P.G. SterbenzITTC
Internet Service ModelsIntServ Guaranteed Service Class1
• Guaranteed service [RFC 2212]– guarantees rate and delay bound
• Tspec (sender traffic descriptor)– leaky bucket with parameters (r, b)
r = rate [B/s]b = burst length [Bytes]
– peak rate p [B/s]– minimum policed unit m [B]
• smaller packets will be counted as m B long– maximum packet size M [B] (M MTU)
• Rspec (network service requirements)
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 81 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-161
© James P.G. SterbenzITTC
Internet Service ModelsIntServ Guaranteed Service Class2
• Guaranteed service [RFC 2212]– guarantees rate and delay bound
• Tspec (sender traffic descriptor)• Rspec (network service requirements)
– rate R [B/s]– slack S [μs]
• per node delay allowed to meet E2E bound
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-162
© James P.G. SterbenzITTC
Internet Service ModelsIntServ Controlled Load Class
• Controlled load [RFC 2211]– does not provide performance quantitative guarantees
• Service model– between best effort and guaranteed service– similar to lightly loaded network– high percentage of transmitted packets will reach receiver– delay of most packets will not exceed minimum path delay
• Admission of controlled load– network has sufficient resources to avoid congestion
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 82 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-163
© James P.G. SterbenzITTC
Internet Service ModelsRSVP Overview
• RSVP Internet signalling protocol [RFC 2205]
• Designed for IntServ signalling [RFC 2210]
• Also adapted for other signalling purposes– e.g. RSVP-TE for MPLS path establishment [RFC 3209]
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-164
© James P.G. SterbenzITTC
RSVPDesign Goals
• Application diversity – different resource requirements
• Heterogeneous receiver bandwidth requirements– different bandwidth along paths
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 83 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-165
© James P.G. SterbenzITTC
RSVPDesign Goals
• Application diversity• Heterogeneous receiver bandwidth requirements• Use existing routing protocols
– adaptation to changes in underlying unicast, multicast route
• Multicast a first class service– adaptation to multicast group membership– receiver oriented flow resource reservation
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-166
© James P.G. SterbenzITTC
RSVPDesign Goals
• Application diversity• Heterogeneous receiver bandwidth requirements• Use existing routing protocols• Multicast a first class service• Scalability
– signalling overhead to grow (at worst) linear in # receivers
• Modular design– heterogeneous underlying technologies
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 84 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-167
© James P.G. SterbenzITTC
RSVPFunctionality
• Control plane for signalling– no interaction with forwarding data plane
• Specification only of what resources needed– only a signalling protocol to convey reservation
– IntServ (or other mechanism) determines how reserved
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-168
© James P.G. SterbenzITTC
RSVPFunctionality
• Control plane for signalling• Specification only of what resources needed • No determination of path
– RSVP separate from routing protocols– key problem: BGP not QoS aware– traffic engineering helps
• No multicast group management– done by IGMP
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 85 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-169
© James P.G. SterbenzITTC
RSVPSignalling Message Format
• Raw IP datagrams– protocol ID = 46– may also be encapsulated
in UDP packets
• Format– router alert IP option
• needed for PATH• intermediate processing
– common header– followed by variable
number of object headers
04 lengthhl TOS
fragment id
TTL 46 header checksum
source address
destination address
. . .
flag frag offset
01 RSVP checksum
RSVP lengthsend TTL
msg typeflgs
reserved
object content(variable length)
class #object length c type
router alert option
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-170
© James P.G. SterbenzITTC
Internet Service ModelsRSVP Signalling Messages
• Path messages (sender-to-network)1 PATH path establishment message3 PATHErr error response to PATH message5 PATHTear path state teardown (remove) message
• Reservation messages (receiver-to-network)2 RESV reservation message4 RESVErr error response to RESV message6 RESVTear reservation teardown (release) message7 RESVConf reservation confirmation message
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 86 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-171
© James P.G. SterbenzITTC
Internet Service ModelsRSVP Object Classes
• NULL• SESSION
– required in all messages
• RSVP_HOP• TIME_VALUE• STYLE• FLOWSPEC
– desired QoS in RESV msg.
• FILTER_SPEC• SENDER_TEMPLATE
• SENDER_TSPEC– sender TSpec
• ADSPEC• ERROR_SPEC• POLICY_DATA• INTEGRITY• SCOPE• RESV_CONF
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-172
© James P.G. SterbenzITTC
Internet Service ModelsRSVP Signalling Overview
• Designed for IP multicast– receiver oriented
PATH
S R1 R2A B
0
A
BS R2
R1
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 87 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-173
© James P.G. SterbenzITTC
Internet Service ModelsRSVP Signalling Overview
• Designed for IP multicast– receiver oriented
• PATH from sender– establishes path state across group
PATH
S A B
2
1
R2
A
BS R2
R1
R1
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-174
© James P.G. SterbenzITTC
Internet Service ModelsRSVP Signalling Overview
• Designed for IP multicast– receiver oriented
• PATH from sender– establishes path state across group
PATH
S A B
2
R2
A
BS R2
R1
R1
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 88 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-175
© James P.G. SterbenzITTC
Internet Service ModelsRSVP Signalling Overview
• Designed for IP multicast– receiver oriented
• PATH from sender– establishes path state across group
• RESV from receivers– reserves resources for each
PATH
RESV
S A B
3
R2
A
BS R2
R1
R1
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-176
© James P.G. SterbenzITTC
Internet Service ModelsRSVP Signalling Overview
• Designed for IP multicast– receiver oriented
• PATH from sender– establishes path state across group
• RESV from receivers– reserves resources for each
PATH
RESV
RESV
S A B
4
R2
A
BS R2
R1
R1
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 89 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-177
© James P.G. SterbenzITTC
Internet Service ModelsRSVP Signalling Overview
• Designed for IP multicast– receiver oriented
• PATH from sender– establishes path state across group
• RESV from receivers– reserves resources for each
PATH
RESV
RESV
S A B
5
R2
A
BS R2
R1
R1
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-178
© James P.G. SterbenzITTC
Internet Service ModelsRSVP Signalling Overview
• Designed for IP multicast– receiver oriented
• PATH from sender– establishes path state across group
• RESV from receivers– reserves resources for each
PATH
RESV
RESV
S A B
6
R2
A
BS R2
R1
R1
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 90 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-179
© James P.G. SterbenzITTC
Internet Service ModelsRSVP Signalling Overview
• Designed for IP multicast– receiver oriented
• PATH from sender– establishes path state across group
• RESV from receivers– reserves resources for each
PATH
RESV
RESV
S A B
7
R2
A
BS R2
R1
R1
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-180
© James P.G. SterbenzITTC
Internet Service ModelsRSVP Signalling Overview
• Designed for IP multicast– receiver oriented
• PATH from sender– establishes path state across group
• RESV from receivers– reserves resources for each
PATH
RESV
RESV
S A B
8
R2
A
BS R2
R1
R1
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 91 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-181
© James P.G. SterbenzITTC
Internet Service ModelsRSVP Signalling Overview
• Designed for IP multicast– receiver oriented
• PATH from sender– establishes path state across group
• RESV from receivers– reserves resources for each
PATH
RESV
RESV
S A B
9
R2
A
BS R2
R1
R1
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-182
© James P.G. SterbenzITTC
Internet Service ModelsRSVP PATH Messages
• PATH message communicates:– sender information– reverse-path-to-sender routing information– later upstream forwarding of receiver reservations
• PATH message contents:– address: unicast destination, or multicast group– flowspec: bandwidth requirements spec– filter flag: if yes, record identities of upstream senders
• to allow packets filtering by source
– previous hop: upstream router/host ID– refresh time: time until this info times out
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 92 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-183
© James P.G. SterbenzITTC
Internet Service ModelsRSVP RESV Messages
• Reservations flow upstream from receiver-to-senders– create additional receiver-related state at routers– reserve resources
• RESV message contents:– desired bandwidth– filter type– filter spec
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-184
© James P.G. SterbenzITTC
Internet Service ModelsRSVP Reservation Styles
• Determine merging of RESV requests• FF: fixed filter
– distinct reservation– explicit sender selection
• Shared reservations– intended for multicast application
• senders generally do not simultaneously transmit
– WF: wildcard filter• wildcard sender selection (largest of any receiver request)
– SE: shared explicit• explicit sender selection (list)
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 93 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-185
© James P.G. SterbenzITTC
Internet Service ModelsRSVP Soft State
• State periodically refreshed– senders periodically resend PATH to maintain state– receivers periodically resend RESV to maintain state– new receivers alter reservations with new RESV messages– messages have TTL field specifying refresh interval
• Flow state removal– explicit teardown: PATHTear and RESVTear– removed after timeout
• prevents accumulation of unused state
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-186
© James P.G. SterbenzITTC
Internet Service ModelsIntServ and RSVP Discussion
• IntServ and RSVP deployment– none in backbones– very limited in experimental edge networks– needed everywhere for end-to-end service
• Concerns– scalability of maintaining per flow state [RFC 2208]
• serious challenge in 1990s• but feasible now given advances in hardware technology
– flexibility• only two service classes defined• but framework allows more
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 94 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-187
© James P.G. SterbenzITTC
Traffic Management and QoSTQ.6.3 Internet DiffServ Architecture
TQ.1 Traffic management functions and servicesTQ.2 Traffic characteristics and service modelsTQ.3 Basic queueing analysisTQ.4 Congestion control and avoidanceTQ.5 Packet scheduling disciplinesTQ.6 QoS and Internet service models
Q.6.1 Guaranteed service and ATMQ.6.2 IntServ and RSVPQ.6.3 DiffServQ.6.4 MPLS traffic engineering
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-188
© James P.G. SterbenzITTC
Internet Differentiated ServicesDiffServ Overview
• Differentiated services [RFC 2474, 2475, 3260]
• Reaction to IntServ and RSVP– concerns about scalability
• Coarse-grained traffic management– emphasis on relative performance of aggregate flows– static provisioning rather than dynamic resource reservation– no per flow signalling like RSVP
• No definition for end-to-end traffic classes– rather functional components that allow service provisioning
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 95 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-189
© James P.G. SterbenzITTC
Internet DiffServFunctional Placement
• Simple functions in network core– PHB: per hop behaviour– avoids significant per flow state
• Relatively complex functions at edge– flow classification– traffic conditioning
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-190
© James P.G. SterbenzITTC
Internet DiffServArchitecture
• Network– DS domain: contiguous set of nodes
• common provisioning policies and PHB definitions
– DS region: contiguous set of DS domains that offer DiffServ
• Nodes– boundary node: node at edge of DS domain– interior or core node: nonboundary node within DS domain
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 96 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-191
© James P.G. SterbenzITTC
Internet DiffServArchitecture
region
domain
domain
PDB
domain
PDB
boundary node (class/cond)
premarking (set DSCP)
interior node (PHB PHB)
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-192
© James P.G. SterbenzITTC
Internet DiffServService Level Specification
• SLS (service level specification)• formerly SLA in DiffServ RFCs [RFC 3260]
• Service agreement between network and customer– traffic conditioning specification (TCS)– pricing, billing, accounting, auditing– reliability, availability, security– policy for traffic and routing
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 97 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-193
© James P.G. SterbenzITTC
Internet DiffServTraffic Conditioning Specification
• TCS (traffic conditioning specification)• formerly TCA in DiffServ RFCs [RFC 3260]
• Details parameters for traffic profiles and policing• Examples:
– traffic profiles, e.g. token bucket parameters for each class– performance metrics, e.g. throughput, delay, drop priorities– actions for non-conformant packets– marking and shaping by service provider
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-194
© James P.G. SterbenzITTC
Internet DiffServIPv4 DSCP
• DS: diff serv field– replaces IPv4 TOS– 6 msb – DSCP– 2 lsb – unallocated (ECN)
• DSCP: diff serv code point– determines PHB of packet– default: 000000– class selector: others– relative treatment
• 111X000 > 000000– routing precedence
– > larger DSCP smaller
04 lengthhl
fragment id
TTL protocol header checksum
source address
destination address
options(= hl – 20B)
payload(= length – hl – 20B)
flag frag offset
DSCP EC
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 98 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-195
© James P.G. SterbenzITTC
Internet DiffServClassification
• DiffServ classifier– classifier uses predefined rules to select packets
• BA: behaviour aggregate (when DSCP already marked)• MF: multifield – multidimensional classification
– marker• optional premarking of DSCP
– at source node based on application requirements– at access boundary based on LAN or enterprise network
• marking of DSCP based on MF classification
classifier marker
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-196
© James P.G. SterbenzITTC
Internet DiffServConditioning
• Traffic conditioner at region boundary to enforce TCS– meter measures traffic– remarker inserts new DSCP for out-of-conformance packets– shaper delays some packets to conform to TCS– dropper may drop out-of-conformance packets
meter
remarkershaper
dropperclassifier
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 99 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-197
© James P.G. SterbenzITTC
Internet DiffServ DiffServ Per Hop Behaviours
• PHB: per hop behaviour– forwarding behaviour at each node in DiffServ domain
• externally observable and measurable• does not specify mechanism to be used or implementation
– each PHB has unique id code [RFC 3140]
• Standard PHBs– expedited forwarding (EF): id 101110– assured forwarding (AF): id cccpp0
• ccc = class ∈ {001, 010, 011, 100}• pp = drop precedence ∈ {01, 11, 10}
– others possible (but no current IETF activity)
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-198
© James P.G. SterbenzITTC
Internet DiffServExpedited Forwarding PHB
• EF (expedited forwarding) PHB [RFC 3246, 3247]– forwarding similar to high priority queueing
• Typically used to construct low delay & jitter service– requires sufficient provisioning of resources for EF– if EF traffic exceeds resources delay bounds will not be met
• Packets served at rate of at least R– independent of non-EF offered load– logical link with a minimum guaranteed rate
• Implementation alternatives (recall: not specified)– priority queueing with token bucket– WFQ such that EF traffic has large enough weight
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 100 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-199
© James P.G. SterbenzITTC
Internet DiffServAssured Forwarding PHB1
• AF (assured forwarding) PHB [RFC 2597]
• Intended to allow relative levels of service– classes provisioned to partition bandwidth
• Four forwarding classes– each class has a bandwidth guarantee
• allocated a minimum amount of buffers and rate
– packet order preserved within each class– each class has three drop precedences
• which packets are dropped during congestion within class• highest drop precedence dropped first
– mechanism to share bandwidth above min. not specified
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-200
© James P.G. SterbenzITTC
Internet DiffServAssured Forwarding PHB2
• Implementation properties– attempt to minimise long term congestion
while allowing short term fluctuation• smoothing function to measure congestion level
– dropping insensitive to short-term traffic characteristicsdiscard from flows of = long-term traffic char with = prob.
– discard rate per flow proportional to its fraction of total– gradual discard in response to congestion
• Implementation alternatives (recall: not specified)– WFQ to partition bandwidth among AF classes– random dropping, e.g. RED
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 101 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-201
© James P.G. SterbenzITTC
Internet DiffServDiffServ Region Behaviours
• PRB: per region behaviour [RFC 3086]– edge-to-edge service through a DS region (or domain)
• not the same at end-to-end unless only one region or domain
• PRB is combination of:– interior node PHB– boundary node classification and conditioning
• Examples:– BE (best effort) PRB
• best effort with provisioning to support SLS– VW (virtual wire) PRB [draft-ietf-diffserv-pdb-vw]
• circuit emulation: EF PHB with minimum departure rate• conditioning to assure that arrival rate < departure rate
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-202
© James P.G. SterbenzITTC
Traffic Management and QoSTQ.6.4 MPLS Traffic Engineering
TQ.1 Traffic management functions and servicesTQ.2 Traffic characteristics and service modelsTQ.3 Basic queueing analysisTQ.4 Congestion control and avoidanceTQ.5 Packet scheduling disciplinesTQ.6 QoS and Internet service models
Q.6.1 Guaranteed service and ATMQ.6.2 IntServ and RSVPQ.6.3 DiffServQ.6.4 MPLS traffic engineering
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 102 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-203
© James P.G. SterbenzITTC
Internet Traffic EngineeringOverview
• Provisioning and managing resources– sufficient resources to meet customer SLAs– limit cost of network infrastructure– determine proper placement of infrastructure to balance
• Problem: IP routing not QoS aware– generally destination based with no load balancing– although OSPF has capability
• Recall:– IntServ/RSVP and DiffServ do not do this– contrast:
ATM PNNI combines QoS, traffic engineering, routing
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-204
© James P.G. SterbenzITTC
Internet Traffic EngineeringAlternative Solutions
• Overlay– overlay topology engineered on virtual underlay
• ATM• MPLS: multiprotocol label switching
– required for interdomain routing (BGP4)
• Link-state weight– OSPF link state weight manipulation– can’t be done interdomain
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 103 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-205
© James P.G. SterbenzITTC
Internet Traffic EngineeringMPLS Overview
• MPLS: multiprotocol label switching– fast packet switching roots– label swapping
• Initial motivation: label swapping in Internet– fast packet forwarding– without complexity and incompatibility of IP over ATM– but IP CIDR lookup at line speed solved in 1990s
• Traffic engineering motivation– provide set of engineered paths for underlay
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-206
© James P.G. SterbenzITTC
Internet Traffic EngineeringMPLS for Traffic Engineering
• LSP: label switched path– generated for
• traffic engineering• load balance
• Label distribution signalling protocols– LDP: label distribution protocol [RFC 3036]
• initial protocol but no traffic engineering capabilities– RSVP-TE (RSVP traffic engineering) [RFC 3209]
• chosen by IETF [RFC 3468]• RSVP with new object classes
– CR-LDP (constraint routing LDP) [RFC 3212]• alternative IETF protocol not chosen
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 104 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-207
© James P.G. SterbenzITTC
Internet Traffic EngineeringMPLS Shim Format
network layer packet
stacked labels single label
S=1
label
COS TTL
link layer header
link layer header
label4B
shim
labelstack
link layer trailer link layer trailer
network layer packet
S=1
label
COS TTL
S=0
label
COS TTL
S=0
label
COS TTL
• Label shim– encapsulates IP packet– switches swap label– stacked labels
• allows net hierarchy(ala ATM VP/VC)
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-208
© James P.G. SterbenzITTC
Traffic Management & QoSFurther Reading and Additional References
• Natalie Giroux and Sudhakar Gantio,Quality of Service in ATM Networks:State-of-the-Art Traffic Management,Prentice-Hall, 1999.
• Zheng Wang,Internet QoS:Architectures and Mechanisms for Quality of ServiceMorgan-Kaufmann, 2001.
• Michael Welzl,Network Congestion Control,John Wiley, Chichester UK, 2005.
KU EECS 780 – Communication Networks – Traffic Management and QoS
– 105 –
28 May 2010 KU EECS 780 – Comm Nets – Traffic Management and QoS NET-TQ-209
© James P.G. SterbenzITTC
Traffic Management & QoSAcknowledgements
Some material in these foils comes from the textbook supplementary materials:
• Kurose & Ross,Computer Networking:A Top-Down Approach Featuring the Internet
• Sterbenz & Touch,High-Speed Networking:A Systematic Approach toHigh-Bandwidth Low-Latency Communicationhttp://hsn‐book.sterbenz.org