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
Q

How do subsequent 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
26
Q

What is a REJ packet?

A

!

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

What is a REJ packet composed of?

A

!

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

What is an inchotate CHLO packet?

A

!

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

What is an inchotate CHLO packet composed of?

A

!

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

What is a complete CHLO packet?

A

!

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

What is a complete CHLO packet composed of?

A

!

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

What is the security flaw of QUIC’s handshakes?

A

replay attacks

33
Q

Why are replay attacks possible due to QUIC’s handshakes?

A

!

34
Q

What are the 3 solutions to preventing replay attacks with QUIC’s handshakes?

A

!

35
Q

Why can you not maintain a global and temporal consistency of QUIC connections on all servers?

A

!

36
Q

What are idempotent operations?

A

!

37
Q

Why can you not limit hosts to using idempotent operations with 0-RTT QUIC handshakes to prevent replay attacks?

A

!

38
Q

How is TCP ill-equipped for mobility?

A

!

39
Q

How does QUIC handle host IP address changes?

A

!

40
Q

How does QUIC implement mobility?

A

!

41
Q

Why is it difficult to retroactively change TCP?

A

!

42
Q

Why do middleboxes impede Internet functionality?

A

!

43
Q

How do middleboxes violate the end-to-end principle?

A

!

44
Q

Why are packets with option headers often discarded by middleboxes?

A

!

45
Q

How do packet headers change from TCP to QUIC?

A

!

46
Q

How do the packet changes from TCP to QUIC affect middleboxes?

A

!

47
Q

What are the pros of QUIC compared to TCP?

A

!

48
Q

What are the cons of QUIC compared to TCP?

A

!

49
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.

50
Q

What are the basics of how BBR works?

A

!

51
Q

What are the issues of TCP Reno? What highlighted these problems?

A

!

52
Q

When are links lossy?

A

!

53
Q

What is CUBIC?

A

!

54
Q

What is the purpose of CUBIC?

A

!

55
Q

How does CUBIC work?

A

!

56
Q

How are CUBIC’s queue size and capacity related?

A

!

57
Q

What are the states of flow management within loss-based congestion control?

A

!

58
Q

What are the problems with loss-based congestion control?

A

!

59
Q

What does BBR use indtead of congestion avoidance?

A

!

60
Q

How does RTT change as the number of bytes in flight at once increases?

A

!

61
Q

How does throughput change as the number of bytes in flight at once increases?

A

!

62
Q

What is the bottleneck bandwidth?

A

!

63
Q

What is BDP?

A

!

64
Q

What is the gradient by which throughput increases with the number of bytes in flight at once up to the BDP?

A

!

65
Q

What is the gradient by which RTT increases with the number of bytes in flight after the BDP?

A

!

66
Q

What is Kleinrock’s optimal operating point?

A

!

67
Q

How is the optimum throughput found in loss-based congestion control different to Kleinrock’s optimal operating point?

A

!

68
Q

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?

A

!

69
Q

What are the two competing targets of BBR?

A

!

70
Q

What is the problem with the two competing targets of BBR?

A

!

71
Q

Why does BBR try to detect queueing?

A

!

72
Q

How does BBR try to detect queueing?

A

!

73
Q

What is the BBR algorithm composed of (give a conceptual overview)?

A

!

74
Q

How does the sending rate of BBR change over time? How does this compare to Reno and CUBIC?

A

!

75
Q

How does BBR’s sending rate and queue size change over time?

A

!

76
Q

How are the sending rate and queue size of BBR related?

A

!

77
Q

What are the key pros of BBR?

A

!

78
Q

What are the key cons of BBR?

A

!