Beruflich Dokumente
Kultur Dokumente
INF3190 / INF4190
Foreleser: Carsten Griwodz
Email: griff@ifi.uio.no
Congestion
2 problem areas
Receiver capacity
Network capacity
Terms
Traffic
Traffic class
All packets from all sources with a common distinguishing property, e.g. priority
Congestion
Persistent congestion
Router stays congested for a long time
Excessive traffic offered
Transient congestion
Congestion
Reasons for congestion,
among others
Congestion sets in
Performance degrades sharply
packets delivered
maximum transmission
capacity of
the subnet
perfect
desirable
congested
Congestion
Higher delays
Retransmissions
Congestion Control
General methods of resolution
Increase capacity
Decrease traffic
Strategies
Repair
Avoid
Repair
Principle
No resource reservation
Necessary steps
Congestion detected
Introduce appropriate procedures for reduction
To provide
Connectionless service
No preparations necessary
Connection-oriented service
Buffer packet until reception has been acknowledged
Input
lines
Very simple
But
B
D
C
D
Procedure at receiver
Other variations
End systems can (but do not have to) adjust the traffic
Choke packets take time to reach source
Transient congestion may have passed when the source reacts
Oscillations
Several end systems reduce speed because of choke packets
Seeing no more choke packets, all increase speed again
Background
Principle
Congestion Avoidance
Avoidance
Principle
Flow control
Acknowledgements
Error treatment / retransmission / FEC
Network layer
Transport layer
Smoothed stream
time
Procedure
Applied
In ATM
In the Internet (DiffServ - Differentiated Services)
Principle
Continuous outflow
Congestion corresponds to data loss
Described by
Packet rate
Queue length
Implementation
Symbolic:
with limited buffers
bucket with
Input
outflow per time
lines
Implementation
Easy if packet length stays constant
(like ATM cells)
Output
lines
Principle
Implementation
Remove token
Comparison
Leaky Bucket
Token Bucket
Principle
Implementation
Remove token
packet burst
Comparison
Leaky Bucket
Token Bucket
Principle
Implementation
Remove token
Comparison
Leaky Bucket
Token Bucket
Principle
Alternative path
Desired connection refused
Example
Sender oriented
Sender (initiates reservation)
Must know target addresses (participants)
Not scalable
Good security
1. reserve
data flow
2. reserve
3. reserve
receiver
INF3190 / INF4190 - Data Communication
Receiver oriented
Receive (initiates reservation)
Needs advertisement before reservation
Must know flow addresses
3. reserve
data flow
Sender
Need not to know receivers
More scalable
Insecure
2. reserve
1. reserve
receiver
INF3190 / INF4190 - Data Communication
Combination?
Start sender oriented reservation
1. reserve
data flow
2. reserve
reserve from
nearest router
3. reserve
receiver
INF3190 / INF4190 - Data Communication
Principle
Properties
rsvd for
conn 1
unreserved
buffers
Buffer reservation
1
2
3
1
2
3
Problems
Controlled load
Approach
Effect
Approach
Effect
Version
IHL
DS
Total length
Identification
DM
Fragment offset
Time to live
Protocol
Header checksum
Source address
Destination Address
1 0 1 1 1 0 0 0
INF3190 / INF4190 - Data Communication
Additive-increase
Multiplicative-decrease (together AIMD algorithm)
Slow-start
Reaction to timeout events
round 1
sender
round 2
sent packets
per round
(congestion window)
round 3
16
round 4
4
2
1
time
80
75
70
65
16
60
55
50
45
40
35
8
30
25
20
4
15
102
1
5
time
AIMD
Threshold
Assumption
Adaptive
Parameter in addition to the actual and the congestion window
Use: on timeout
Algorithm
Acknowledgment delayed by 500 msec because of window adaptation
Comment
Often part of TCP implementation
Idea
Congestion should be attacked as early as possible
Some transport protocols (e.g., TCP) react to lost packets by rate reduction
Extends RED
if packet has ECT bit set
ECN node sets CE bit
TCP receiver sets ECN bit in ACK
sender applies multiple decrease (AIMD)
else
Act like RED
RED
ECN
Effects
Congestion is not oscillating - RED & ECN
ECN-packets are never lost on uncongested links
Receiving an ECN mark means
TCP window decrease
No packet loss
No retransmission
Applicability
initialize
Round-trip-time
Desired congestion window
update
Feedback
IP header
XCP
TCP header
Payload
Fairness Controller
Goal: Divide between flows
to converge to fairness
Looks at a state in XCP header
~ Spare Bandwidth
~ - Queue Size sendable
per RTT
So, = Spare - Queue
TCP Friendliness
A protocol is TCP-friendly if
Colloquial
Formal
Its arrival rate is at most some constant over the square root of the packet loss rate
TCP Friendliness
A TCP connections throughput is
bounded
wmax
Rs =
RTT
w = " ! w, " = 1
In case of no loss ,
w = w + !,! =1
TCP is said to be fair
Bigger RTT
higher loss probability per RTT
slower recovery
Disadvantage for long-distance traffic
TCP Friendliness
A protocol is TCP-friendly if
Rr ! p + C
P packet loss rate
C constant value
Rr packet arrival rate
Transport Protocol
Under development
http://www.ietf.org/html.charters/dccp-charter.html
Half-Connection