1/75
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
What is MSS
Maximum Segment size - maximum TCP payload size per segment (data only)
What does TCP ACK number represent
The sequence number of the next expected byte
CWND
congestion window, sender-side limit on how much data can be in flight
RWND
Receiver advertised window - receiver side buffer limit
Effective TCP Window equals what
min(cwnd, rwnd)
TCP receive window range
[ACK, ACK + rwnd - 1]
When does cumulative ACK advance
only when all bytes starting at the current ACK are received contiguously
Does receiving Out of order data advance an ACK
no
What happens if a packet arrives completely outside the receive window
Packet is dropped; no ACK sent
What happens if a packet partially overlaps the receive window
In-range bytes may be accepted; ACK advances only if the gap at ACK is filled
How does cwnd grow in slow start
+1 MSS per ACK
Why does cwnd double every RTT in slow start
Because cwnd ACKS arrive within one RTT
CWND behavior over one RTT in slow start?
cwnd doubles
Is slow start exponential per ACK?
No - exponential per RTT
How does CWND grow in congestion avoidance
+1 MSS per RTT
Cwnd increase per ACK in congestion avoidance
X/MSS
Why does congestion avoidance grow linearly?
To cautiously probe for available bandwidth
What indicates packet loss via duplicate ACKs
3 duplicate ACKs
What indicates packet loss via timeout
No ACK received before timeout expires
What triggers fast retransmit
Receipt of 3 duplicate ACKs
What does fast retransmit do
Immediately retransmits the missing packet without waiting for timeout
What is fast recovery
A mechanism that avoids resetting CWND to 1 MSS after 3 dup ACKs
ss thresh updates on 3 dup ACKs in fast recovery
ssthresh = cwnd/2C
cwnd during fast recovery
cwnd = ssthresh + 3
When does fast recovery end
When a new Ack acknowledging the retransmitted packet arrives
CWND after fast recovery ends?
cwnd = ssthresh
cwnd behavior on timeout
cwnd = 1 MSS, enter slow start
cwnd behavior on 3 dup ACKs
cwnd halved, enter fast recovery
What is ssthresh
threshold separating slow start and congestion avoidance
when does ssthresh change
only when packet loss is detected
What does ssthresh represent
A memory of the last congestion point
What is BDP
bandwidth * RTT
what does BDP represent
Max data that can be in flight without congestion
How do you compute max cwnd
BDP / MSS
What is TCP Throughput proportional to
inverse square root of packet lossj
Effect of quadrupling loss rate
Throughout put halved
Sequence number for n bits
2^n
Max sender window if ACKs are never lost
equal to sequence number space
Max sender window if ACKS can be lost
half the sequence number spave
Why must sender window be limited
to avoid ambiguity after sequence number wraparound
Virtual finish time
Previous finish time + packet size
Virtual finish time (weighted)
Previous finish time + (packet size / weight)
How does tcp react to congestion
reduce send rate
how does UDP react to congestion
Does not reduce send rate
HTTP
an application layer, request-response protocol for transferring web resources
What transport protocol does HTTP/1.1 use
TCP
What is HTTP/1.1
TCP-based version of HTTP using persistent connections
How many requests can be outstanding on one HTTP/1.1 connection
One at a time!W
What is head-of-line (HOL) blocking in HTTP/1.1
later requests just wait until earlier responses are fully received
How do browsers avoid HOL blocking in HTTP/1.1
By opening multiple parallel TCP connections
Why are multiple TCP connections inefficient
Increase congestion, RTT overhead, slow start penalties
What is HTTPS
HTTP over TLS (encrypted HTTP)
What security properties does HTTPS provide
Confidentiality, integrity, authentication
What is the goal of HTTP/2
Improve performance without changing HTTP semantics
Does HTTP/2 eliminate HOL blocking
No - HOL blocking still exists at the TCP layer
QUIC
A transport protocol builtt on UDP to replace TCP for HTTP
What application protocol runs over QUIC
HTTP/3
Does QUIC suffer from TCP HOL blocking
No - loss in one stream does not effect others
Which protocol avoids TCP
QUIC
Transport Layer
Runs on top of “best effort” network delivery service
A mechanism is reliable if and only if
It resends all dropped/corrupted packets
It attempts to make progress
Sequence number
monotonically increasing value carried in each sent packetsAC
Individual ACK
Receiver sends ACK for each individual packet it receives
Go Back N
Retransmit all packets starting from the smallest sequence # packet that wasn’t received
selective retransmit
only retransmit unreceived acks
Selective ACK
ACK contains info about ALL received packets thus far
Cumulative ACK
Just first part of selective ACK, ACK only highest continuous received sequence number
Congestion
Overloading the network
Flow
overloading the receiver
3 way handshake for setup
SYN, SYN-ACK, ACK
3 way handshake connection termination
FIN, FIN-ACK, ACK
AIMD
On success, increate CWN 1 MSS
On 3 dup packs, CWND= CWND/2
On timeout, CWND = 1 MSS
Slow start
start small (CWND = 1MSS)
Increase exponentially for short duration AND while Cwnd small
go back to additive increase when meet ssthresh
Throughout
Roughly CWND/RTTF
Blufferboat
high latency caused by excess buffering of packets, small buffers cannot handle traffic bursts
TLS goals
Verify identity of server before sending HTTP messages
Generate and exchange keys to encrypt HTTP messages