Chapter 5 - Transport Layer Flashcards

(57 cards)

1
Q

Transport Layer Protocols are implemented in only?

A

The end systems (“Hosts”)

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

What does the transport layer provide

A

Process-to-process communication services

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

UDP

A

User Datagram Protocol is a network protocol that allows devices to send messages to each other over the internet for applications that require speed and efficiency

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

Whats in a UDP Segment

A
  • Fixed 8 byte header that includes source and dest port numbers (16 bytes)
  • Checksum field
  • Simple Header since it provides a simple service
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

TCP

A

Tranmission Control Protocol, that procided reliable ordered and error checked delivery of data between applications

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

What does the TCP Segment include

A
  • 20 Byte fixed-length header
  • Application data
  • src and dest port num
  • sequence number
  • acknowledgement number
  • header length 4 bits
  • flag field
  • flow control window size
  • checksum
  • poiinter to urgent data
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

TCP Header Flag Field includes

A

CWR: Congestion Window Reduced
ECE: Sending rate is causing network congestion
URG: Indicate urgent data
ACK: valid ack number
PSH: deliever data asap
RST: abort connection
SYN,FIN: establish connection

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

TCP Three-Way Handshake

A

Client sends a SYN
Server replies with SYN + ACK
Client replies with ACK

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

Why does TCP use a three-way handshake

A

Confirm both endpoints are ready and to prohject against forged and duplicate packets

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

SYN Cookie

A

Special initial sequence number generated by the servee that encodes necessary state infor. Prevents SYN Flood attacks

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

Main goals for TCP Connection Release

A
  • Both sides can release state and buffers
  • Prevent data loss due to premature release
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How does TCP perform graceful connection closure

A

A sends FIN -> B
B ACKs FIN
B sends FIN -> A
A ACks FIN and waits
After wait A releases connection

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

What is TCP TIME-WAIT

A

A waiting period 60-120s where connection is kept hald open to handle delayed segments

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

TCP Flow Control Mechanism based on?

A

The receivers advertised window size.

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

What happens when the flow control window size is 0

A

Sender stops sending but can resume after recv a window update. Done to prevent deadlock

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

TCP Window Probe

A

1-Byte segment sent by the sender towhen the reciever window is 0 it is used to get an updated window size

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

“Silly window syndrome”

A

Inefficient and small advertised windows lead to small segment tranmissions.

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

Nagles Algorithm

A

Places another contraint on the sender with the goal of avoiding scenarios where the sender floods the network with very small sefments. Prevents previous data from sending unless ACK’s or full MSSS worth of data is ready to be sent

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

When can delayed ACKs be used in TCP

A

For data sent in order with no gaps the ACK can be delayed but should acknowlegde every 2nd segement

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

When must TCP send an ACK immediately

A
  • If a received segment fills a gap
  • If a segment is out of order
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is the problem with delayed ACK’s + Nagles algorithm

A

It can cause deadlock as sender can be waiting for an ack before sending its next segment. Receiver waits to ACK.

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

When can TCP retransmit segments

A
  • Retransmission timer to control time spent waiting for an ACK.
  • Fast Retransmit if 3 Duplicate ACK’s are received
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

RACK

A

Recent Acknowledgement uses per packet transmission timestamps. Concludes packet has been losr if some packet sends another after a sufficient period of time

24
Q

TLP

A

Tail Loss Probe is if there has not be an ack recently transmit a new segment, retransmit the newest unack’s segment and maybe this will trigger an ACK.

25
How is TCP retransmission timeout RTO calculated
Based on smoothed RTT (SRTT )and variablility (RTTVAR) RTO = max(RTOmin, SRTT + 4 * RTTVAR)
26
How is smoothed RTT (SRTT) computed
Using exponential weighted moving average (EWMA) SRTT = a * SRTT + (1 - a) * R
27
How is round trip time variation RTTVAR calculated
RTTVAR = B * RTTVAR + (1-b) * |SRTT - R|
28
What happens when a TCP retransmission timer resets
TCP doubles the RTO until a new RTT is measured
29
TCP Congestion Control
A window based appoarch, using a congestion window that limits the unACK'd data
30
How is TCP's sending limit determined
Sender cnanot have more than min(cwnd, reciever window) worth of unACK's data in the network
31
Ack Clocking in TCP
Sender sends segments based on the arrival of ACK's reflecting the receivers delivery rate
32
What causes TCP to enter additive increase mode?
After slow start ends After loss is detected via dupe ACK's
33
What does AIMD stand for in TCP
Additive increase, Multiplicative decrease
34
What causes TCP to enter multiplicative decrease mode
Loss detected via dupe ACK's
35
Why use AMID in TCP
- Segment loss signals congestion after it is a problem - Leads to fair sharing
36
TCP Slow Start
A startup phase where the CWND increases exponentionally to quickly find usable bandwidth
37
When is TCP Slow Start used
Beginning of a connection, and after a timeout
38
When does TCP Exit Slow Start
Segment loss is detected RTT Grows too hard
39
What is ssthresh in TCP
Slow Start Threshold; when reached the TCP moves from exponential growth to linear
40
TCP Tahoe
Implemented basic congestion control but always re-entered slow start after detecting any loss
41
TCP Reno
This introduced fast recovery after detecting segement loss due to dupe ACK's itll enter additive increase instead of slow start
42
TCP NewReno
This better handles mutiple segment loss from the same congestion event
43
TCP Sack
Inform sender about out-of-order segement that have been recieved at the reciever.
44
Compound TCP
Windows TCP Variant: Combines AIMD window with delay based window
45
Cubic TCP
Default in windows and linux, increased cwnd using a cubic function over time
46
Bandwidth Delay Product
Product Data Rate * RTT. A large value reqires a large cwnd to keep the pipe full
47
BufferBloat
filling of large router buffer by TCP Connections avoid by using small buffers in routers
48
TCP struggles with lossy links why?
Treats all packet loss as congestion, causing unnecessary cwnd reduction
49
HOL Blocking
Head of Line blocking: Out-of-order data is buffered but no recieved until all earlier segments are received
50
Multipath TCP
Allows a TCP connection to use multiple network interfaces simultaneously
51
TCP is slow at evolving because?
Its implemented in the OS and affected by middleboxes such as firewalls that cause protocol entrenchement
52
QUIC in TCP
QUIC avoids 1-RTT connection delay and adds built in encryption while supporting multiplexing streams
53
BBR
Bottleneck Bandwidth: Rate based TCP algorithm that estimates bottleneck bandwitdh and RTT to set up optimal rates
54
How does BBR differ from TCP
It voides using packet loss as a signal and aims to avoid queuing buildup
55
QUIC
Quick UDP Internet Connections: created to reduce latency for web applications and fix TCPs limitations
56
Where is QUIC built
On otp of UDP to bypass TCP entrenchment
57
How does QUIC affress implementation and protocol entrenchment
QUIC is implemented in user space, not the OS kernel