QoS in Packet-Switched Networks
PROVIDING PER-FLOW QoS (QUALITY OF SERVICE) IN PACKET-SWITCHED NETWORKS
# Specifying the QoS needs and traffic of flows
# Resource management schemes for routers to offer per-flow service.
# Connection establishment/teardown mechanisms
# Mapping end-to-end QoS to local (per-hop) QoS (admission control)
PICTURE: source --> router --> router ---> ... ---> destination
Mapping end-to-end bw/delay to per-hop QoS bw/delay
# Each flow has
- traffic descriptor: average tx rate, max burstiness, ...
- QoS desired: max delay, max jitter, max loss
statistical or deterministic characterization
# Packets identify their flows by flow-id
- source and destination IP-addresses
- source and destination IP-addresses and ports
- explicit flow id field (IPv6)
ROUTER RESOURCE-SHARING MECHANISMS
# Each router allocates resources (bw, buffer) to flows in relation
their traffic descriptor and QoS.
- each flow is guaranteed a minimum prespecified amount of resources
- resources unused by a flow can be used by other flows (otherwise this
would be no better than TDMA)
# Buffer sharing schemes
- each flow gets a fixed amount of buffer space
- remaining buffe space is dynamically shared among all flows using some
queueing discipline (fifo, priority, etc)
# Bandwidth sharing schemes
- weighted round-robin
- weighted fair queueing
# Because packet sizes cannot be made very small (unlike cpu bursts),
the resource sharing is fair only over time intervals exceeding some
# Popular approach to characterizing and enforcing traffic descriptor.
# Parameterized by average tx rate (R) and max burst size (B).
# Implemented by a counter represnting a token pool.
Once every 1/R seconds:
counter := max( B, counter+1 ).
When source sends a packet:
if counter > 0 then
send packet into network and decrease counter by 1
else packet is dropped, waits, or is sent at lower priority
picture: source multicast tree several destinations
# Each multicast group has a single multicast address.
# Providing QoS when destinations have varying connectivity (modem,
ADSL, LAN, T1, ...)
- source data is hierarchically encoded
- sends all layers to multicast tree (ie, to the first router)
- each destination informs its first uptree router of its rx bw
- these requests go back uptree, getting merged, ..
END NOTE 3