6. Congestion Control

Lakukan tugas rumah & ujian kamu dengan baik sekarang menggunakan Quizwiz!

How do I calculate throughput?

3/4*Wm/RTT

Skype/VoIP

Analog signal converted to digital (VoIP) or peer to peer content distribution (Skype) Delays, congestion, disruption can degrade quality of VoIP

Solution to undelivered packets (dropped) consuming resources?

Apply congestion conttrol to all traffic

Additive Increase

At end of a single round trip of sending, the next set of transmissions allows more packets.

Solution to spurious retransmission?

Better timers and TCP congestion control.

Factors for Incast to occur

Collective communication occurs on high fan-in switches Many small packets arrive at switch at same time (packet loss) Low-latency network (timeout delay much more than RTT of network) Consequence: large delays occur in which system simply waiting for timeouts to occur

TCP is not a good fit for..

Congestion control in streaming audio or streaming video. TCP retransmits lost packets, but not always useful Slows down rate after packet loss Protocol overhead (TCP header of 20 bytes and ack for every packet isn't needed)

Conditions under which the "rule of thumb" was conceived?

Derived from an analysis of a single long lived TCP flow.

What causes congestion collapse?

Dropped packets cause re-transmissions that add additional traffic to the congested path. Excessive delays can cause spurious re-transmissions of packets in flight.

Approaches to Congestion Control

End-to-End congestion control Network assisted congestion control

Quality of Service Techniques

Ensure streams achieve acceptable performance levels. Explicit reservations: mark some packet streams as higher priority: have different queues, with higher priority one served first Scheduling: weighted fair queuing where queue with higher priority served more often not used: Admission control: block traffic if application cannot satisfy the needs, but a "busy signal" for a webpage would be annoying Fixed bandwidth per app: inefficiency so not used

Congestion control goals

Fill the pipes without overflowing them: Use network resources efficiently Preserve fair allocation of resources Avoid congestion collapse

AIMD (Additive Increase Multiplicative Decrease)

Graph of rate over time, TCP sawtooth because TCP increase rate using additive rate until it reaches the saturation point, it'll see packet loss and decrease sending rate by half.

Fairness

How is bandwidth allocated between different flows.

Efficiency

How much of the available bandwidth is used, ideally we would want no bandwidth wasted.

Multiplicative Decrease

If at the end of a single round trip of sending, a packet is not acknowledged, the window size is reduced by half.

TCP Congestion Control Algorithms

Increase: sender must test network to determine whether network can sustain a higher sending rate. Decrease: sender react to congestion to achieve optimal loss rates, delays in sending rates

Media Streaming Challenges

Large volume of data Data volume varies over time Low tolerance for delay variation Low tolerance for delay, period (but some loss acceptable)

Why would you use UDP (rather than TCP) for a live video call software application?

Latency is critical - retransmissions are pointless since they will arrive too late anyway ● Dropped frames aren't a big deal - the next frame will advance the video state before a retransmitted frame could arrive anyway ● Congestion control and flow control could cause unacceptable delays, as video frames get backed up in the sender host's local buffer

What kind of flows do the majority of packets on the link at any given time belong too? (dominates the flow length distribution)

Long lived flows

Audio/video can tolerate which pathologies?

Loss and delay but not variability in delay

What are the current network conditions for which "rule of thumb" does not apply?

Multi-flow networks where some flows are only a few packets, and never leave TCP slow start, and hence never establish an average sending rate. Of the flows that are long lived, they have various RTTs and their congestion windows are not synchronized.

End-to-End congestion control

No feedback from network Congestion inferred by loss and delay

What is the area of the triangle of a sawtooth?

Number of packets sent per packet loss

Effects of Network Congestion

Queueing delay, packet loss or the blocking of new connections.

Network Congestion

Reduced quality of service that occurs when a network node is carrying more data than it can handle.

Statistical modeling of desynchronized long lived flows indicates that smaller buffer sizes are sufficient to maintain link utilization as the number of these long lived flows increases. Why does this still apply to short lived flows?

Required buffer size for this flows depends on actual load on the links and the length of the flows, not the number of flows or propagation delays. This means that roughly the same amount of buffering required for de-synchronized long lived flows will also be sufficient for short lived flows as well.

Network Assisted Congestion Control

Routers provide explicit feedback about the rates that end systems should be sending. Set single bit indicating congestion (TCP ECN or explicit congestion notifications)

What kind of flows are the vast majority of flows across a link?

Short lived

TCP Congestion Control

TCP uses a congestion window in the sender side to do congestion avoidance. The congestion window indicates the maximum amount of data that can be sent out on a connection without being acknowledged. TCP detects congestion when it fails to receive an acknowledgement for a packet within the estimated timeout.

What is congestion collapse?

Throughput that is less than the bottleneck link due to packet loss or long delays. Increase in traffic load suddenly results in a decrease in useful work done. The point where the network reaches saturation and increasing the load results in decreased useful work.

Why does TCP-Reno perform poorly for short lived flows networks with large bandwidth and delay products?

Time required for congestion window to reach max is large. Short-lived flows may never reach a congestion event, thus under utilizing the network.

What protocol is best for streaming video and audio?

UDP (User Datagram Protocol) No automatic retransmission No sending rate adaptation Smaller header

Solutions to incast problem

Use fine grained TCP timeouts (microsec) to reduce that wait time. Reduce network load by having client only acknowledge every other packet.

Two approaches to Adjusting Rates

Window based: sender can only have certain number of packets in flight. Sender uses acknowledgements from receiver to clock the retransmission of data. Rate-based: sender monitors loss rate and uses timer to modulate the transmission rate

How do I calculate loss rate?

Wm^2/8

Collective communication

many-to-one or many-to-many


Set pelajaran terkait

PRACTICE EXAM OF TEXAS LIFE & HEALTH INSURANCE. "SECTION 1- TEXAS COMMON LAW"

View Set

Chapter 16: Cardiovascular Emergencies

View Set

ITEC 1001- Networking and Immersive Technology

View Set

Financial Accounting Ch. 4, 5, 6

View Set

Intercultural Communication Prelim

View Set