Chapter 3- Part3 Flashcards

1
Q

What’s the typical MSS (Maximum segment size) and what does it include?

A

1460 Bytes

refers to the PAYLOAD of the segment. NOT the entire segment

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

Key points of TCP?

A
  1. Point-to-point: 1 sender,1 receiver
  2. in order
  3. bidirectional data flow
  4. cumulative ACKs
  5. pipelining (using window size)
  6. connection oriented
  7. flow controlled
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What does a TCP Segment structure include?

A
  • Source and dest port
  • Seq Number
  • ACK Number
  • Length
  • Receiver window
  • Checksum
  • Urgent data pointer
  • Options
  • App Data (Variable Length)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does a UDP Segment structure include?

A
  • Source and dest port
  • Length
  • Checksum
  • App Data
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

A bit = 0 vs A bit = 1

A

0: ignore this

1: this segment is a valid ACK number

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

What is the sequence number in TCP?

A

Points to the BYTE NUMBER not the segment number.

Number of the first byte in segment’s data

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

What is the ACK number?

A

seq # of the next byte expected

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

How does the receiver handle out-of-order segments for TCP?

A

TCP spec doesn’t say. It’s up to the implementor

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

Ideal Timeout value?

A

Longer than RTT.

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

How does TCP send ACKs?

A

Delayed ack. Wait up to 500ms for the next segment.

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

What is the TCP Fast Retransmit?

A

If sender receives 3 additional ACKS for the same data (3 DUPLICATES, 4 total). Resend the unACKed segment with the smallest seq. number

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

How does flow control occur in TCP?

A

Receiver controls the sender through the receive window (rwnd). Indicates # of bytes receiver is willing to acceptr.

Sender can’t overflow the receiver’s buffer

In TCP this is two-way so they both have a rcvBuffer size.

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

What are the RST, SYN, and FIN bits?

A

RST - reset bit

SYN - synchronize bit (for establishing a TCP connection)

FIN - finish bit (for closing a TCP connection) . Set to 1 when closing a connection

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

3 Way Handshake for TCP?

A
  1. Sender sends TCP SYN message (SynBit = 1) and Initial Seq Number [NO DATA SENT]
  2. Receiver sends TCP SYNACK message and Initial Seq Number [NO DATA SENT]
  3. Sender received SYNACK

Closing Connection: Both sides set FIN=1

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

Explain TCP AIMD?

A

AIMD means: Additive Increase, Multiplicative Decrease

Additive Increase: incease sending rate by 1 MSS every RTT until loss detected

Multiplicative Decrease: cut sending rate in half at each loss event

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

What kind of congestion control does TCP have?

A

End-to-end. Only based on observed network behavior seen by sender.

17
Q

What is the cwnd window?

A

Congestion Window Size. THe max amount of bytes we can send.

LastByteSent - LastByteAcked <= cwnd

Cwnd can be dynamically adjusted

18
Q

Explain TCP Slow Start

A

Increases the rate of sending exponentially until first loss event.

Double the cwnd every RTT by:
- Incrementing the cwnd by 1 for each ACK received. So it doubles the packets sent for each ACK received.

19
Q

How does the ssthresh work in TCP connections?

A

ssthresh is used to determine if TCP should send exponential or linear.

The rule is:
1. increase congestion window exponentially until it reaches ssthresh

  1. increase congestion window linearly when it reaches ssthresh
20
Q

2 types of loss events?

A
  1. TIMEOUT
  2. TRIPLE Duplicate ACK
21
Q

What happens to cwnd on loss events?

A

Timeout: Cut to 1 MSS

For TCP Reno:
Triple Duplicate ACK: Half + 3

22
Q

How is congestion detected by the TCP

A

Congestion is determined by the sender

23
Q

What happens if you increase TCP sending rate with a congested bottleneck

A
  • it won’t increase end-to-end throughput
  • it will increase measured RTT
24
Q

Explain the delay-based TCP congestion control

A

keep sender-to-receiver “just full enough but no fuller”

= cwnd/RTT

Case 1: throughput close to uncongested throughput: increase cwnd linearly

Case 2: throughput less than uncongested throughput: decrease cwnd linearly

Different from AIMD because it doesn’t induce/force loss

25
Q

What is explicit congestion notification? (ECN)

A
  • Routers in between source and dest are alerted of congestion.
  • Router alerts destination -> destination alerts source
  • ECN = 11 to notify congestion