Chapter 3: Transport Layer 3.5 - 3.7 Flashcards

1
Q

Characteristics of TCP connection oriented transport

A
  • point to point (one sender one receiver)
  • reliable, in order byte stream
  • full duplex data
  • pipelining, cumulative ACKs, and flow controlled
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

TCP sequence number, ACKs ?

A

Sequence number : byte stream “number” of first byte in segment data

ACKs : sequence of next byte expected from the other side

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

TCP round trip time ?

A

EstimatedRTT = (1 - a) * EstimatedRTT + (a * SampleRTT)
typical value of a = 0.125
SampleRTT : measured time from segment transmission until ACK received

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

what is formula of TCP timeout interval

A

TimeoutInterval = EstimatedRTT + 4*DevRTT

where DevRTT …
DevRTT = (1-b)DevRTT + b |SampleRTT-EstimatedRTT|
typical value of b = 0.25

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

TCP Sender events (simplified)

A
  1. Data received from application
    • create segment with seq# and start timer if not
      already
    • seq# is a byte-stream number of first data byte in
      segment
  2. timeout
    • retransmit segment that caused timeout
    • restart timer
  3. ACK received
    • ifACK acknowledges previouslt unACKed segments:
      – update what is known to be ACKed
      =- start timer if there are still unACKed segments
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

TCP fast retransmit

A

if sender receiver 3 ACKs with same data, resend unACKed segment with smallest seq#

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

TCP flow control

A

receiver controls sender, so sender won’t overflow receiver’s buffer by transmitting too much too fast

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

TCP 3 way handshake to open connection

A
  1. Client sends SYN asking server to open a connection
  2. Server receives SYN and send SYNACK saying ok so do you
  3. Client responds with ACK saying yes, I’ll also open a connection then
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Congestion and how it is different from flow control

A

informally: too many sources sending too much data too fast for network to handle

differs from flow control, with fc it is one sender too fast for one receiver. With congestion, too many senders sending too fast.

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

Some scenarios of causes of congestion

A
  1. simple, one router and infinite buffers

2.

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

congestion controls, why?

A

there are multiple flows in the internet, make sure every flow gets its fair share

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

how TCP achieves congestion controls

A

making sure the sender increases transmission rate, probing for usual bandwidth until loss occurs

additive increase : increase cwnd(congestion window) by 1 MSS every RTT until loss detected

multiplicative decrease : cut cwnd in half after loss

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

What cwnd (congestion window) contains ?

A

set of bytes that have been sent but not yet acknowledged

last byte sent - last byte acked <= cwnd

TCP sending rate : cwnd/RTT bps

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

TCP slow start

A

Slow start ( a bit of misnomer):

  • initial rate is slow but ramps up exponentially fast
  • initially cwnd = 1MSS
  • double cwnd every RTT (every ACK received)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

TCP detecting and reacting to loss

A
  1. loss by timeout
    • cwnd set to 1 MSS
    • windows then grow exponentially (slow start)
  2. loss indicated by 3 duplicate ACKs : TCP Reno
    • cwnd is cut in half and grow linearly
  3. TCP Tahoe always sets cwnd to 1 (timeout or 3 duplicate ACKs)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

TCP Tahoe Congestion Control flow

A
  1. Slow start until reaches threshold
  2. Once reaches threshold, AIMD (additive increase, multiplicative decrease) kicked in
  3. keeps increasing window size by 1 increment(congestion avoidance) .Until 1 of the segment is loss (by timeout or etc, say this is loss at segment 12 ) , then cwnd will be reset to 1.
  4. slow start phase again , but now the threshold is half of when loss occurs (so 12/2 =6), after reaches 6 segments AIMD kicked in
17
Q

TCP Reno Congestion Control flow, (fast recovery)

A

similar with Tahoe, but when loss occurs by duplicate, instead of going to 1 immediately, it just goes half and increase linearly (also known as fast recovery)