Congestion Control & Streaming Flashcards

1
Q

Congestion

A
  1. Different sources compete for resources
  2. Sources are unaware of each other
  3. Sources are unaware of the state of the resource
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Congestion Collapse

A

Increase in load leads to decrease in useful work done

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Congestion Collapse: Causes

A
  1. Spurious retransmission

2. undelivered packets

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Spurious retransmission

A

Data was sent again that the receiver had already acknowledged. Also called “needless retransmission”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Spurious retransmission: solution

A
  1. Have better timers

2. Use TCP congestion control

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Undelivered packets: solution

A
  1. Use TCP congestion control on all traffic
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Congestion Control: Goals

A
  1. Efficiency: Use network resources efficiently
  2. Fairness: Preserve fair allocation of resources
  3. Avoid congestion collapse
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Congestion Control: Approaches

A
  1. end 2 end congestion control

2. network assisted congestion control

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

End 2 End congestion control

A

This is the approach taken by TCP congestion control

  1. No feedback from network
  2. Congestion inferred by loss and delay
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Network Assisted Congestion Control

A
  1. Routers provide feedback
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

TCP Congestion Control

A
  1. Increase algorithm: Senders increase rate until packets are dropped. This is because the routers buffer fills up.
  2. Decrease algorithm: TCP interprets packets loss as congestion. Slows down.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Windowing

A
  1. Increased window size increases rate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

AIMD

A

Additive Increase: 1 packet increase per successful round trip

Multiplicative decrease: Window size reduced by 1/2 per failure.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Fairness: contributing mechanism

A

Multiplicative decrease

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Efficiency: contributing mechanism

A

Additive increase

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

TCP in-cast

A

drastic reduction in application throughput that results when servers (all using TCP) request data at the same time.

  1. Result in bursty retransmissions
  2. Caused by TCP timeouts
17
Q

Barrier synchronization: solutions

A
  1. microsecond granularity retransmission

2. ACK for every other packet

18
Q

Digitizing Audio

A
  1. Sample audio signal at fixed intervals

2. Represent the amplitude as a number of bits

19
Q

Video Compression

A
  1. Spacial redundancy

2. Temporal redundancy

20
Q

Spacial Redundancy

A

Compressing an individual image to exploit aspects that are not noticeable to humans

21
Q

Temporal Redundancy

A

I frame (aka reference or anchor frame) is divided into blocks

The p frame (aka derived frame) is the combo of the original I frame blocks + a few motion vectors

22
Q

Playout Buffer

A

Client stores video/audio packets from stream.

Plays them in order by using timestamp

23
Q

Downsides of TCP for streaming

A
  1. Reliable delivery. TCP retransmitted packets might not always be useful.
  2. Slows down sending rate after packet loss.
  3. Protocol overhead. The header is too large for audio streaming. Also sending ACK for every other packet is too much.
24
Q

Advantages of UDP for streaming

A
  1. Does not re-transmit lost packets
  2. Does not automatically adapt the sending rate
  3. Smaller header
25
Q

QoS techniques

A
  1. Marking and Policing

2. Scheduling