Tutorial 5: 7th November 2019 Flashcards

QUIC and BBR

1
Q

What is QUIC?

A

Quick UDP Internet Connections = a new transport layer Internet protocol to improve upon and replace TCP. It’s faster and encrypted-by-default.

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

What is BBR?

A

Bottleneck Bandwidth and Round-trip propagation time (BBR) is a TCP congestion control algorithm developed at Google in 2016 that uses the maximum bandwidth and round-trip time of the last window to build an explicit model of the network. Higher capacity NICs mean latency/model-based congestion control algorithms, such as BBR, provide higher throughput and lower latency as a more reliable alternative to more loss-based algorithms like CUBIC.

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

What are the impacts of QUIC?

A
  • Biggest change to the transport layer in >30 years
  • connection id abstraction: flows by connection ID, not IP and port; if any change new UDP socket moves connection and connection still open through connection ID - don’t need to manually reconnect in app
  • middleboxes not supported, inc NAT
  • encrypted by default: better privacy and security
  • transport moved to user-space: rapid prototyping & experiments for new transport protocols and customisation to better suit needs
  • separates protocol from congestion control
  • smaller rtt but same throughput with same congestion control
  • enables multistreaming which TCP blocks: get data ASAP without waiting for correct ordering
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Are any properties of QUIC new or unique?

A

No. It is just the first technology that brought them together.

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

How does the performance of QUIC compare to TCP?

A

QUIC has a reduced RTT (time to handshake) but not throughput: same with same congestion control mechanisms.

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

What his HOL blocking?

A

Head-of-Line blocking = a performance-limiting phenomenon that occurs when a line of packets is held up by the first packet. If a packet must be sent before any others (e.g. first in FCFS/FIFO queue), then delays in processing it will hold all others up. These may include having congestion in output destination, or even from input to output via the switching fabric of a router when output buffers are full. Head of line = front of queue. Blocking as head is stopping all others.

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

What was the main change of HTTP/2?

A

To solve HOL blocking with request multiplexing, which eliminates HOL blocking at the application layer (i.e. in HTTP) but HOL not at the transport layer (i.e. in TCP).

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

What are the consequences of QUIC being at the transport layer?

A

Eliminates HOL blocking from TCP and HTTP and allows multistreaming. This means an app gets data bound for it as soon as it can be sent rather than TCP’s approach of blocking out-of-order data. This will be better for real-time applications like livestreams or Skype calls.

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

Can you use middleboxes with QUIC? Why?

A

No, because it encrypts packets by default so middleboxes can’t inspect data in packets to perform their additional functionality on them.

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

Do ISPs like QUIC? Why?

A

No. It makes it harder for them to control and throttle traffic. All packets are encrypted by default, including port numbers. They also can’t make performance measurements to check the network is working correctly, such as looking at sequence and ack numbers to find RTTs.

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

What is DPI?

A

DPI = Deep Packet Inspection = a type of data processing that inspects packets being sent over a computer network, and takes according action. This may include blocking, re-routing, or logging it. DPI is used to ensure correct data formatting, security filtering, eavesdropping, censorship, performance measurement, etc.

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

What is a SPIN bit?

A

A QUIC header that can be used to measure RTT.

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

How does the SPIN bit work?

A

Send packets with it set to 1 until an ack with it set to 1 is received. Then send with 0 until ack with 0, then back to 1. Measure time between first outbound packet with one value to first inbound ack with it to get the RTT.

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

Does QUIC work with NAT? Why?

A

No. Port numbers are encrypted. NAT sees it as invalid UDP packets. It also presents a problem using both: the destination of a QUIC connection may be remapped on NAT which makes it unreachable.

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

What is BGP?

A

BGP = Border Gateway Protocol = a standardised exterior gateway protocol designed to exchange routing and reachability information among autonomous systems (AS) on the Internet. It makes routing decisions based on paths, network policies, or rule-sets configured by a network administrator and is involved in making core routing decisions. BGP is responsible for inter-AS routing.

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

What is DNS over HTTPS?

A

A protocol for performing remote Domain Name System resolution via the HTTPS protocol.

17
Q

What is the purpose of DNS over HTTPS?

A

To not get blocked by firewalls and to increase user privacy and security by preventing eavesdropping and manipulation of DNS data by man-in-the-middle attacks with HTTPS encryption as well as improving performance.

18
Q

How does DNS over HTTP work on Chrome and Firefox?

A

Chrome redirects to Google’s DNS servers, Firefox to Cloudflare’s (chosen for privacy).

19
Q

What is the purpose of BBR?

A

To not fill sending queues and move away from loss-based congestion control.

20
Q

How does BBR interact with Cubic TCP?

A

It massively outcompetes Cubic flows and prevents them from getting almost any throughput at all. It’s very unfair and too aggressive. Cubic flows never have a chance to fill their queues and get any throughput.

21
Q

What does the way BBR interacts with Cubic TCP tell us about the nature of BBR?

A

Despite it specifically being designed not to do so, in some circumstances BBR must be filling its sending queue.

22
Q

How can BBR lead to loss?

A

Its aggression causes network congestion which will cause packet loss.

23
Q

When does BBR work as intended?

A

With a small number of users in a small number of scenarios. In these scenarios, it establishes a low-throughput, consistent send rate: loss becomes 0. This is it working as intended.

24
Q

Is BBR scalable if everyone were to use it? Why?

A

No as it is too aggressive. It would cause congestion, packet loss, and decreased throughput.

25
Q

What changes were made between BBR and BBR 2.0 that may help fix some of its problems?

A

Data rate of flows adjusted by +/- 5% rather than 25% to increase stability. It no longer has a persistent internal BPP to exceed the congestion BDP. (?)

26
Q

Do BBR flows use the total capacity of a link?

A

No. The sum of the mean data rates of all BBR flows on a link < its total capacity.

27
Q

Are BBR flows consistent in throughput?

A

No. They are extremely inconsistent.

28
Q

How much time elapses before BBR flows establish even (stable) flows?

A

~30 seconds.

29
Q

What happens to old BBR flows when new ones are made?

A

They are destroyed.

30
Q

What is BDP?

A

Bandwidth-Delay Product = a measurement of how many bits can fill up a network link. It gives the maximum amount of data that can be transmitted by the sender at a given time before waiting for an acknowledgment. Thus it is the maximum amount of unacknowledged data.

BDP = data rate x RTT

31
Q

What is BPP with BBR?

A

Bits Per Pixel = quality of video frames in packets (?)