Week 8: Transport Layer Contd Internet Technologies COMP90007
Lecturer: Semester 2, 2021
© University of Melbourne 2020
1
What happens when congested?
n Congestion results when too much traffic is offered; performance degrades due to loss/retransmissions
n Goodput (=useful packets) trials offered load
2
Congestion Control vs Flow Control
n Flow control is an issue for point to point traffic, primarily concerned with preventing sender transmitting data faster than receiver can receive it
n Congestion control is an issue affecting the ability of the subnet to actually carry the available traffic, in a global context
3
Load Shedding
n When congestion control mechanisms fail, load shedding is the key remaining possibility – drop packets
n In order to ameliorate impact, applications can mark certain packets as priority to avoid discard policy
4
What is the key problem if
network is not delivering properly:
n Quality of Service becomes low
n Expected network performance is an important criterion for a wide range of network applications
n Some engineering techniques are available to guarantee QoS (Quality of Service)
n 4 things to watch out for:
bandwidth, reliability, delay, jitter
5
Jitter is Interesting/New for Us
n Jitter is the variation in packet arrival times q a) high jitter
q b) low jitter
6
Mechanisms for Jitter Control
n Jitter is an issue for some applications
n Jitter can be contained by determining the
expected transit time of a packet
n Packets can be shuffled at each hop in order to minimise jitter – slower packets sent first, faster packets wait in a queue
n For certain applications jitter control is extremely important as it mainly directly affects the quality perceived by the application user
7
QoS Requirements
n Different applications care about different properties q We want all applications to get what they need
“High” means demanding the requirement!
8
Techniques for Achieving QoS
n Over-provisioning
q more than adequate buffer, router CPU, and bandwidth
(expensive and not scalable …)
n Buffering
q buffer received flows before delivery – increases delay, but
smoothes out jitter, no effect in reliability or bandwidth
n Traffic Shaping
q regulate the average rate of transmission and burstiness of
transmission
q leaky bucket q token bucket
9
Leaky Bucket
Large bursts of traffic is buffered and smoothed while sending
e.g. can be done at host sending data
10
Techniques for Good QoS Contd
n Resource reservation
q reserve bandwidth, buffer space, CPU in advance
n Admission control
q routers can decide based on traffic patterns whether to accept
new flows, or reject/reroute them n Proportional routing
q traffic for same destination split across multiple routes
n Packet scheduling
q Create queue(s) based on priority etc q fair queuing, weighted fair queueing
11
TCP and Congestion Control
n When networks are overloaded, congestion occurs, potentially affecting all layers
n Although lower layers (data and network) attempt to ameliorate congestion, in reality TCP impacts congestion most significantly because TCP offers best methods to reduce the data rate, and hence reduce congestion itself
12
Congestion Control: Design
n Two different problems exist
q network capacity and receiver capacity
q these should be dealt with separately, but compatibly
n The sender maintains two windows actually q Window described by the receiver
q Congestion window
n Each regulates the number of bytes the sender can transmit – the maximum transmission rate is the minimum of the two windows
13
TCP and Congestion Control Contd
n TCP adopts a defensive stance:
q At connection establishment, a suitable window size is chosen by the receiver based on its buffer size
q If the sender is constrained to this size, then congestion problems will not occur due to buffer overflow at the receiver itself, but may still occur due to congestion within the network
14
Incremental Congestion Control: Slow Start
n On connection establishment, the sender initializes the congestion window to a size, and transmits one segment
n If this segment is acknowledged before the timer expires, the sender adds another segment’s worth of bytes to the congestion window, and transmits two segments
n As each new segment is acknowledged, the congestion window is increased by one more segment
n In effect, each set of acknowledgements doubles the congestion window – which grows until either a timeout occurs or the receiver’s specified window is reached
15
Ack Clock
16
Slow Start (badly named…)
17
Additive increase
18
Internet Congestion Control
Slow start followed by additive increase (TCP Tahoe) Threshold is half of previous
19
Internet Congestion Control Contd
Another one with TCP Reno
20
Congestion Control And Wireless
n Much harder to deal with
q Things are increasingly wireless
q Not everything is wireless, but parts of a path q So how does one know where wireless is
q More variety on wireless links as well
q SNR varies when people move
q Delay is different if it is Wifi vs Satellite q This is a hot area of research…
21
TCP Timer
n A key worry is when timers go out
n Too early means too many resends
n Too late means reliability comes with more additional cost
n Solutions rely on dynamicity as network conditions change
n One needs to measure network performance and adapt timers
22