Title: Section 12 Traffic Management
1Section 12 Traffic Management
- In this section
- Traffic measurements
- Quality of service
- Traffic management
- Congestion
- TCP congestion control
- Rate-based congestion control
- Integrated and Differentiated Services
2Measuring Data Traffic
- Data rate amount of data sent per time interval
- Average data rate data rate over a significant
time interval - Burst a short sub-interval during which an
unusually high data rate is present - Maximum burst size maximum length of a burst
- Peak data rate maximum data rate during a burst
3Measuring Data Traffic
4Quality of Service (QoS) Parameters
- Reliability rate at which packet errors/loss
occurs - Throughput rate at which data passes through a
fixed point. - Delay Average amount of time taken to send
packets from source to destination. - Delay variation (jitter) Measure of difference
between maximum and minimum delays for packets in
same flow. - Some applications are more sensitive to delay
variation than delay - Examples audio / video streams.
5Traffic Management
- Fairness
- Quality of service
- May want different treatment for different
connections - What is more critical delay or loss?
- Reservations
- Traffic contract between user and network,
specified at connection time.
6Service Categories
- Real time
- Constant bit rate (CBR)
- Real time variable bit rate (rt-VBR)
- Non-real time
- Non-real time variable bit rate (nrt-VBR)
- Available bit rate (ABR)
- Unspecified bit rate (UBR)
7CBR Constant Bit Rate
- Fixed data rate continuously available
- Tight upper bound on delay and delay variation
- Uncompressed audio and video
- Video conferencing
- Interactive audio
- Audio / video distribution and retrieval
8rt-VBR Real-time Variable Bit Rate
- Time sensitive application
- Tightly constrained delay and delay variation
- rt-VBR applications transmit at a rate that
varies with time - Example compressed video
- At start, and periodically, send a complete image
(a key frame) - Otherwise, send differences from previous image
- Produces varying sized image frames
9nrt-VBR Non-real-time Variable Bit Rate
- May be able to characterize expected traffic flow
- End system specifies
- Peak data rate
- Sustainable or average rate
- Measure of how bursty traffic is
- e.g. Airline reservations, banking transactions
10ABR Available Bit Rate
- Application specifies peak data rate (PDR) and
minimum data rate (MDR) - Resources allocated to give at least MDR
- Spare capacity shared among all ABR sources
11UBR Unspecified Bit Rate
- May be additional capacity over and above that
used by CBR, VBR, and ABR traffic - No resources dedicated
- For application that can tolerate some packet
loss or variable delays - e.g. TCP based traffic
- Packets forwarded on first-in, first-out basis
- Best efforts service
12Congestion
- Congestion occurs when the number of packets
being transmitted through the network approaches
(or exceeds) the packet handling capacity of the
network - Congestion control aims to keep number of packets
below level at which performance falls off
dramatically - Data network is a network of queues
- Generally 80 utilization is critical
- Finite queues mean data may be lost
13Queues at a Node
out
in
14Router Packet Handling
- Packets arriving are stored at input buffers
- Routing decision made
- Packet moves to output buffer
- Packets queued for output transmitted as fast as
possible - If packets arrive too fast to be routed, or to be
output, buffers will fill and overflow. - Can discard packets
- Can use flow control
- May propagate congestion through network
15Interaction of Queues
16Congestion Principles
- Usually occurs at a point of transition to
reduced throughput. - Occurs when the higher capacity part of a system
is currently carrying more traffic than the lower
capacity part can handle. - Difference from flow control
- Flow control is one sender agreeing not to
overflow one receiver at the endpoints of a
transmission - Congestion is usually caused by multiple senders,
and occurs at an intermediate point in the
network - This makes congestion more difficult to detect,
and to alleviate.
17Idealized Performance
- Network can accept load up to its capacity,
regardless of throughput. - If load is increasing faster than throughput,
packets will have to queue up - This increases delay
- Additional load will be delivered at capacity
throughput rates. - Load accepted at beyond capacity throughput rates
will increase the queue size.
18Idealized Performance Throughput
19Idealized Performance Delay
20Practical Performance
21Practical Performance
- Ideal assumes infinite buffers and no overhead
- Buffers are finite
- Overhead occurs in exchanging congestion control
messages
22The Congestion Control Paradox
- When congestion occurs, the problem is that there
are too many packets in the network - If packets are trashed, senders will likely
resend them, along with new packets. - Result increased congestion
- If one node sends out messages to announce it is
congested, then it increases the number of extra
overhead packets in the network. - Result increased congestion
- If one node asks its neighbours to slow down,
then the output queues of the neighbouring nodes
will start filling up. - Result increased congestion
23Congestion Control
- Implicit
- No action taken
- It is assumed senders will notice evidence of
congestion and deal with it themselves. - What can senders do?
- Slow rate of packet sending
- Increase timeout length for sent packets
- Explicit
- Various mechanisms to announce or alleviate
congestion, taken by intermediate network notes.
24Implicit Congestion Detection
- What are the signs of congestion?
- Increased transmission time
- Packets spend more time in queues that are
longer delay increases - Disappearance of packets
- On a fibre-based network (or ones with data link
error control), disappearance of packets can be
interpreted as a sign of congestion. - Sending timers expire more frequently.
25Explicit Congestion Signaling
- Network alerts end systems of increasing
congestion - End systems take steps to reduce offered load
- Backwards
- Congestion avoidance in opposite direction to
packet direction - Forwards
- Congestion avoidance in same direction as packet
direction - Receiver can use flow control to slow sender, or
otherwise notify sender of congestion.
26Backpressure
- If node becomes congested it can slow down or
halt flow of packets from other nodes - May mean that other nodes have to apply control
on incoming packet rates - Propagates back to source
- Can restrict to logical connections generating
most traffic - Used in connection oriented protocols that allow
hop by hop congestion control (e.g. X.25)
27Choke Packet
- Control packet
- Generated at congested node
- Sent to source node
- e.g. ICMP source quench
- From router or destination
- Source cuts back until no more source quench
message
28Categories of Explicit Signaling
- Binary
- A bit set in a packet indicates congestion
- Credit based
- Indicates how many packets source may send
- Common for end to end flow control
- Rate based
- Supply explicit data rate limit
- e.g. ATM
29TCP Congestion Control
- Detecting congestion the main symptom is
transmission time-outs. - TCP assumption Data links are now generally
reliable, and therefore time-outs indicate
congestion. - TCP maintains a congestion window that is
separate from the receivers flow control window. - Sender can only send as many bytes as the smaller
of the two windows.
30Congestion Policy
- Set initial size of congestion control window at
maximum single segment size agreed on at
connection time. - Set initial threshold at 64K bytes.
- For each segment acknowledged before timing out
- If below threshold, double size of congestion
control window. - If above threshold, add one more maximum segment
size to congestion window. - When a segment times out
- Cut threshold in half from current window size.
- Reset window size to initial value.
- Result
- Exponential growth up to threshold.
- Linear growth afterward.
- Called TCP slow start
31TCP Slow Start
32Rate-based Congestion Control
- Regulate rate at which sender can inject packets
into network - A packet must match up with (and remove) a token
before entering network. - Tokens added to bucket at rate r.
- At most b tokens can accumulate in bucket tokens
overflow and are lost after that - Bucket size b controls burstiness
- Max. number of packets entering network in t, t
d is b ? dr
tokens arrive at fixed rate
storage for up to b tokens
bucket of tokens
packet waiting area
to network
33Traffic Management and Congestion Control
Techniques
- Queue management
- Connection admission control
- Selective packet discard
- Traffic shaping
- Use the token bucket scheme for rate-based
congestion control.
34Queue Management
- First in, first out (FIFO)
- Packets are processed in the order of their
arrival. - When the queue is full, packets are discarded
- Priority queues
- Packets are classified and directed to one of a
number of queues with various priorities - Packets are processed from highest priority queue
- Packets in lower priority queues not processed
until all higher priority queues are empty - Weighted fair queues
- Packets are classified as with priority queues.
- Process up to n packets from priority n queue
- Go to next queue if empty.
- Guarantees all queues are served and prevents
starvation.
35Connection Admission Control
- First line of defense
- User specifies traffic characteristics for new
connection by selecting quality of service
parameters. - Network accepts connection only if it can meet
the demand - Traffic contract
- Peak data rate
- Packet delay variation
- Sustainable data rate
- Burst tolerance
- Monitor above parameters, and if traffic does not
conform to the contract, packets are liable to be
discarded.
36Integrated Services Architecture
- Acronym ISA
- Standards currently under development by IETF
- Base document in RFC 1633
- Categories of traffic
- Inelastic constraints on throughput, delay,
jitter, and packet loss - Elastic can adjust to changes in network
conditions - Varying tolerances for changes in above factors
- E-mail sensitive to loss, but not delay
- FTP file transfer sensitive to throughput, but
not jitter
37ISA Services
- Guaranteed service
- Assured data rate
- Upper bound on queuing delay
- No queuing losses
- Controlled load
- Similar to guaranteed service, except that
constraints are only expected to be met for a
high percentage of packets instead of all
packets. - Best effort
- No quality of service parameters applied to
traffic.
38Elements of ISA
- Routing algorithm
- As an alternative to delay, quality of service
can be used to weight graph edges for OSPF - Admission control
- For any service other than best effort, a
reservation must be made using the RSVP protocol
(RFC 2205) - Queuing Discipline
- Multiple output queues with fair selection for
transmission - Each flow of inelastic traffic can be queued
separately - Discard Policy
- Policy for which packets to discard when a queue
is full.
39ISA Router Architecture
Reservation Protocol
Admission Control
Routing Protocols
Routing Database
Traffic Database
Management Agent
QoS queues
Classification and Route Selection
Packet Scheduler
Best effort queue
40ISA Issues
- The RSVP protocol requires each router along a
path to store quality of service (QoS)
information about each data flow. - Scalability puts additional burden on routers
- Types of service are limited
- Architecture fixes the types of services that can
be provided guaranteed, controlled, or
best-effort.
41Differentiated Services (1)
- Abbreviations DiffServ, DS
- Objective move the classification of services
to the edge of the network instead of the
routers. - Uses the current IP TOS (type of service) field
- Data source, or first router, is responsible for
filling in this value to match various service
classes that can be offered. - Intermediate routers can then use this field for
routing decisions, instead of having to store
information about each flow.
42Differentiated Services (2)
- First 6 bits of TOS field used to identify
service classes on a per hop basis - Currently, 3 classes have been defined that are
similar to those in ISA - Default effort (DE) no special treatment
- Expedited forwarding (EF) effectively results
in a virtual circuit - Assured forwarding (AF) similar to ISAs
controlled load, where packets will meet service
guarantees unless the traffic profile is exceeded
at a node.
43Differentiated Services Router
Meter
Marker
Shaper/ dropper
Classifier
- Meter monitors traffic for profile conformance
- Marker may downgrade service class for traffic
that violates profile - Shaper and/or dropper reforms traffic and/or
drops packets