week 3 - More transport Layer Flashcards
Acknowledgement message does not mean you should free buffer
BUFFER ONLY FREED/ PROCESSED WHEN DATA PASSED TO APPLICATION LAYER
Really important
ACK (message) != freeing buffer
What is Flow Control
“Flow control is a specific end-to-end mechanism between sender and receiver where the receiver advertises its available buffer space (using rwnd) to prevent the sender from transmitting more data than the receiver can process. This mechanism is implemented through the sliding window protocol.”
what is congestion control
“Congestion control is a sender-side mechanism in TCP that prevents network congestion by dynamically adjusting the transmission rate based on network conditions. It uses the congestion window (cwnd) and various algorithms to detect and respond to network congestion, ensuring optimal network utilization without overwhelming network resources.”
Congestion Window (cwnd) Mechanism:
“The congestion window is a dynamic, sender-maintained limit on the amount of unacknowledged data that can be in transit. It starts small (typically 1 MSS) and adjusts using algorithms:
. slow start
.
Question: What is the purpose of the sliding window in TCP?
The sliding window in TCP is an end-to-end flow control mechanism that allows the sender to transmit multiple segments up to the window size without waiting for an acknowledgment. It controls how much data can be in transit before requiring confirmation from the receiver, enabling continuous and efficient data transmission.
Question: How does the sliding window mechanism contribute to flow control?
The sliding window mechanism helps manage the flow of data by ensuring that the sender only sends data that the receiver can handle based on its advertised window size. The receiver adjusts the window size to reflect its available buffer space, preventing data overflow and ensuring smooth data reception.
How does the sliding window mechanism affect throughput?
The sliding window increases throughput by allowing the sender to send multiple segments in sequence without waiting for acknowledgments after each segment. This avoids the delays of a stop-and-wait approach, keeps the network “pipeline” full, and makes the data transmission more efficient.
How does persist time help(take example where window size is 0 )
When Window Size = 0:
.Sender stops sending (receiver buffer full)
.Persist timer activates to prevent deadlock
.Timer expires → Small packet called “window probe” is sent
.Receiver must respond with current window size
.If still 0: Timer doubles, repeat probe (5s → 10s → 20s → max 60s)
.If non-zero: Normal transmission resumes
throughput
rate at which data is processed
Fast throughput -> data processed quickly and buffer empties faster so data can be sent quicker
bandwidth
capacity at which a network can transmit data
How does TCP Congestion control work?
basic definiton
Increase the sending rate until packet loss is observed , at which point sending rate is decreased
What is TCP Congestion control method called AIMD
AIMD
Explain TCP Congestion control now in detail
Additive Increase:
Increase sending rate by 1 MSS (Maximum Segment Size) per RTT (Round trip time) until a loss is detected
AT WHICH POINT
|
Multiplacitve decrease occurs:
Sending rate is cut in half at each loss event
Multiplacitve decrease in detail
.When 3 duplicate acknowledements are received sending rate is cut in half
. When timeout occurs sending rate cut to one MSS ( severe)
what is ss thresh
half the value of the cwnd just before timeout
at this point you switch from slow start to additive increase
explain the transiton from slow start to linear ( additive increase and is slow start actually slower than linear additive increase?
lets say you have just experienced a timeout and so cwnd cut to 1 MSS
We then begin slow start where we double the control widow until ss thresh ( half the value of cwnd before timeout)
at this point we switch from slow start to additive increase where we increased cwnd by 1 mss per rtt until packet loss detected ( either through a timeout - cut to 1 mss - or 3 duplicate acks we cut sending rate to half the control window and resume linear additive increase)
RTT
Time for:
segment to go from segment to receiver AND acknowledgement from receiver to sender
congestion window
sender side flow control that changes based on network conditions
What is the web
A network of resources
Are all resources network retrievable? Explain your answer
No not all resoures are network tetrievalbe
humans - can represent as a resource but cant download a human
same with company
abstract things - friendsship relationships , mathematical operations etc
URI , URL , URN
URI - Parent ( can be URL or URN or other type
URI (parent category)
├── URL (tells how to access/where it is)
└── URN (just names/identifies something)
URL - (Uniform Resource Locator):
- shows how to access and where to find it
- START WITH HTTP
- https://www.google.com
- ftp://ftp.example.com/downloads/file.txt
- http://localhost:8080/index.html
URN- REMAINS PERMANENET
urn:isbn:0-486-27557-4
This ISBN will always identify the same book
how does http message structure look like
start line
headers
empty line
body
Concept: The amount of data a sender can transmit is determined by:
EffectiveWindow=min(cwnd,rwnd)
where:
cwnd (Congestion Window): Controls data flow to avoid network congestion.
rwnd (Receiver Window): Indicates how much data the receiver can accept.
asdm;asm