Lecture 6: 5th 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

How can you increase the speed of the Internet with respect to the application, session, and transport layers of the reference model? How else can this be defined?

A

!

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

How can you increase the speed of the Internet with respect to the network infrastructure of service providers?

A

!

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

Why/how is QUIC influential?

A

!

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

What layers in the reference model does QUIC sit in?

A

!

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

What does QUIC interface with?

A

!

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

Are the features of QUIC new? Why is it useful?

A

!

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

What are the key reasons why we should replace TCP?

A

!

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

What does it mean to say the application context of HTTP has changed?

A

!

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

If HTTP/2 fixes application-layer HoL blocking found in HTTP/1.1, then why does it still happen with HTTP/2 flows?

A

!

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

How does QUIC solve the HoL blocking of HTTP/2?

A

!

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

How does TCP’s sliding window halt flows?

A

!

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

What are the issues with TCP’s handshake process?

A

!

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

How many RTTs are required for a (unencrypted) TCP handshake?

A

!

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

How many RTTs are required for a handshake for a TCP flow encrypted with TLS1.2?

A

!

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

How does TLS1.3 improve on the time taken to perform a handshake? How many RTTs does it take to set up a TCP flow with TLS1.3?

A

!

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

How do initial QUIC handshakes work? How many RTTs doe they take to complete?

A

!

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

How do subsquent QUIC handshakes work? How many RTTs do they take? What are they officially called?

A

!

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

Does QUIC affect congestion control?

A

No

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

What effect does a high latency have on handshake times? How does the number of RTTs taken affect this?

A

!

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

Why can’t you combine the handshakes of TCP and TLS into 1?

A

!

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

How do initial handshakes work with TCP and TLS 1.2? How many RTTs do they take?

A

!

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

How do subsequent handshakes work with TCP and TLS 1.2? How many RTTs do they take?

A

!

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

How do initial handshakes work with TCP and TLS 1.3? How many RTTs do they take?

A

!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
How do subsequent handshakes work with TCP and TLS 1.3? How many RTTs do they take?
!
26
What is a REJ packet?
!
27
What is a REJ packet composed of?
!
28
What is an inchotate CHLO packet?
!
29
What is an inchotate CHLO packet composed of?
!
30
What is a complete CHLO packet?
!
31
What is a complete CHLO packet composed of?
!
32
What is the security flaw of QUIC's handshakes?
replay attacks
33
Why are replay attacks possible due to QUIC's handshakes?
!
34
What are the 3 solutions to preventing replay attacks with QUIC's handshakes?
!
35
Why can you not maintain a global and temporal consistency of QUIC connections on all servers?
!
36
What are idempotent operations?
!
37
Why can you not limit hosts to using idempotent operations with 0-RTT QUIC handshakes to prevent replay attacks?
!
38
How is TCP ill-equipped for mobility?
!
39
How does QUIC handle host IP address changes?
!
40
How does QUIC implement mobility?
!
41
Why is it difficult to retroactively change TCP?
!
42
Why do middleboxes impede Internet functionality?
!
43
How do middleboxes violate the end-to-end principle?
!
44
Why are packets with option headers often discarded by middleboxes?
!
45
How do packet headers change from TCP to QUIC?
!
46
How do the packet changes from TCP to QUIC affect middleboxes?
!
47
What are the pros of QUIC compared to TCP?
!
48
What are the cons of QUIC compared to TCP?
!
49
What is BBR?
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.
50
What are the basics of how BBR works?
!
51
What are the issues of TCP Reno? What highlighted these problems?
!
52
When are links lossy?
!
53
What is CUBIC?
!
54
What is the purpose of CUBIC?
!
55
How does CUBIC work?
!
56
How are CUBIC's queue size and capacity related?
!
57
What are the states of flow management within loss-based congestion control?
!
58
What are the problems with loss-based congestion control?
!
59
What does BBR use indtead of congestion avoidance?
!
60
How does RTT change as the number of bytes in flight at once increases?
!
61
How does throughput change as the number of bytes in flight at once increases?
!
62
What is the bottleneck bandwidth?
!
63
What is BDP?
!
64
What is the gradient by which throughput increases with the number of bytes in flight at once up to the BDP?
!
65
What is the gradient by which RTT increases with the number of bytes in flight after the BDP?
!
66
What is Kleinrock's optimal operating point?
!
67
How is the optimum throughput found in loss-based congestion control different to Kleinrock's optimal operating point?
!
68
How does the difference between the optimum throughput found in loss-based congestion control and Kleinrock's optimal operating point highlight an issue with loss-based congestion control?
!
69
What are the two competing targets of BBR?
!
70
What is the problem with the two competing targets of BBR?
!
71
Why does BBR try to detect queueing?
!
72
How does BBR try to detect queueing?
!
73
What is the BBR algorithm composed of (give a conceptual overview)?
!
74
How does the sending rate of BBR change over time? How does this compare to Reno and CUBIC?
!
75
How does BBR's sending rate and queue size change over time?
!
76
How are the sending rate and queue size of BBR related?
!
77
What are the key pros of BBR?
!
78
What are the key cons of BBR?
!