Podcast Beta
Questions and Answers
What is the purpose of flow control in TCP?
What is a key characteristic of connectionless transport like UDP compared to TCP?
How does UDP differ from TCP in terms of flow control?
What is the primary purpose of flow control in TCP?
Signup and view all the answers
Which of the following is a characteristic of reliable data transfer in TCP?
Signup and view all the answers
What does a triple duplicate ACK indicate in TCP?
Signup and view all the answers
Which of the following TCP features helps manage data transmission?
Signup and view all the answers
What is the sequence structure used for in TCP?
Signup and view all the answers
What is the primary purpose of the TCP 3-way handshake?
Signup and view all the answers
What does connection-oriented transport in TCP ensure?
Signup and view all the answers
What is the role of segmentation in TCP?
Signup and view all the answers
What does the FIN bit indicate during the closing of a TCP connection?
Signup and view all the answers
What generally causes network congestion?
Signup and view all the answers
What is the purpose of retransmitting a missing segment?
Signup and view all the answers
If RTT is 30 msec, then the sender's utilization is calculated as $U = \frac{L/R}{RTT + L/R}$.
Signup and view all the answers
A packet size of 8000 bits transmitted at a rate of 1 Gbps takes 16 microseconds to send.
Signup and view all the answers
In a stop-and-wait protocol, the sender waits for an acknowledgment for each packet before sending the next one.
Signup and view all the answers
Pipelining allows the sender to send multiple packets that have not yet been acknowledged.
Signup and view all the answers
The utilization of a sender decreases when using a backlog of packets instead of sending packets as they are acknowledged.
Signup and view all the answers
The sequence numbers in a pipelined protocol must be reduced to allow for better management of packets.
Signup and view all the answers
Utilization can be increased by a factor of 3 with 3-packet pipelining.
Signup and view all the answers
The average throughput on a 1 Gbps link with a packet size of 1KB every 30 msec is 33 kB/sec.
Signup and view all the answers
Transport protocols only run on the sender's side.
Signup and view all the answers
UDP is a connection-oriented transport protocol.
Signup and view all the answers
TCP provides reliable data transfer.
Signup and view all the answers
Transport layer services provide logical communication between application processes on different hosts.
Signup and view all the answers
Multiplexing and demultiplexing are functions performed by transport protocols.
Signup and view all the answers
TCP does not require connection management.
Signup and view all the answers
The transport layer operates below the application layer and above the network layer.
Signup and view all the answers
Flow control is not a feature of TCP.
Signup and view all the answers
The primary responsibility of the transport layer is to manage physical connections.
Signup and view all the answers
There is only one transport protocol available for applications in the Internet.
Signup and view all the answers
UDP segments are handled independently of each other.
Signup and view all the answers
The header size of UDP is larger compared to other transport layer protocols.
Signup and view all the answers
UDP requires connection establishment before sending data.
Signup and view all the answers
The goal of the UDP checksum is to detect errors in transmitted segments.
Signup and view all the answers
The sender's checksum calculation is done by taking a one’s complement sum of segment contents.
Signup and view all the answers
UDP includes congestion control mechanisms to manage data flow.
Signup and view all the answers
If a receiver computes the checksum and it does not match the received checksum value, it indicates no error detected.
Signup and view all the answers
A year 2000 bug is related to the way checksums are computed in UDP.
Signup and view all the answers
The computed checksum for a received UDP segment must equal the checksum value in the segment for no error to be detected.
Signup and view all the answers
UDP can send data as fast as desired, regardless of network conditions.
Signup and view all the answers
During TCP Slow Start, the congestion window size (cwnd) is initially set to 1 MSS.
Signup and view all the answers
When a TCP connection detects a timeout, it sets cwnd to 0.
Signup and view all the answers
TCP Reno reacts to three duplicate ACKs by cutting the cwnd in half and then growing it linearly.
Signup and view all the answers
The Sender limits transmission rate to roughly send cwnd bytes every round-trip time (RTT).
Signup and view all the answers
TCP switches from exponential increase to linear when cwnd reaches its maximum value.
Signup and view all the answers
TCP fast retransmit occurs after the sender receives two duplicate ACKs.
Signup and view all the answers
Flow control in TCP is designed to prevent the sender from overwhelming the receiver with too much data.
Signup and view all the answers
In connection-oriented transport like TCP, data is sent without establishing a connection first.
Signup and view all the answers
UDP is a connectionless transport protocol.
Signup and view all the answers
Reliable data transfer guarantees that all segments are received in the order they were sent.
Signup and view all the answers
The sequence number in TCP helps to reassemble segments in the order they were sent.
Signup and view all the answers
TCP congestion control is one of the principles of reliable data transfer.
Signup and view all the answers
TCP segment structure includes information about flow control.
Signup and view all the answers
A triple duplicate ACK in TCP indicates that a segment has been successfully received.
Signup and view all the answers
Application processes may remove data from TCP socket buffers.
Signup and view all the answers
Study Notes
Approaches to Congestion Control
-
End-to-End Congestion Control
- No explicit feedback provided by the network
- Congestion is inferred by measuring loss and delay
- Used by TCP
-
Network-Assisted Congestion Control
- Routers provide feedback to end systems
- Can be a simple congestion indication bit
- Can be an explicit rate for the sender to send data at
Case Study: ATM ABR Congestion Control
- ABR (Available Bit Rate) is an elastic service in ATM networks
- RM (Resource Management) cells are sent by senders along with data cells
- RM cells allow network switches to control the rate of data sent by each sender
- Switches can set bits in RM cells to indicate congestion
- NI bit: No increase in rate (mild congestion)
- CI bit: Congestion indication
- RM cells are returned to the sender, with bits intact
ATM ABR Congestion Control: Detailed
- RM cells contain a two-byte ER (Explicit Rate) field
- Congested switches can lower the ER value to limit the sender's rate
- Data cells contain an EFCI (Explicit Forward Congestion Indication) bit
- If the data cell before an RM cell has EFCI set to 1, the receiver sets the CI bit in the returned RM cell.
TCP Congestion Control: Additive Increase / Multiplicative Decrease
- TCP increases the transmission rate (window size) until loss occurs
- Additive Increase: Window size is increased by 1 MSS (Maximum Segment Size) every RTT.
- Multiplicative Decrease: When loss is detected, the window size is cut in half.
TCP 3-Way Handshake
- Used to establish a connection between a client and server
- Each side uses the TCP SYN (Synchronization) and ACK (Acknowledgment) bits
- SYN: Indicates a request to establish a connection
- ACK: Acknowledges a received segment
- The handshake consists of three message exchanges:
- Client sends a SYN segment
- Server responds with a SYNACK segment
- Client acknowledges SYNACK with an ACK
TCP 3-Way Handshake: Finite State Machine (FSM)
- The 3-way handshake is implemented using a FSM (Finite State Machine)
- Both client and server have a FSM that tracks the state of the connection
- States transition based on receiving specific segments
- States (for both client and server):
- CLOSED: No connection is established.
- LISTEN: Server is listening for incoming connections.
- SYN-SENT: Client has sent SYN and is waiting for SYNACK.
- SYN-RCVD: Server has received SYN and is waiting for ACK.
- ESTAB: Connection is established.
Closing a Connection: TCP
- Both client and server close their sides of the connection
- Each sends a TCP segment with the FIN (Finish) bit set to 1
- Each responds to a received FIN with an ACK
- FIN and ACK can be combined in a single segment
- Simultaneous FIN exchanges are handled, so the process can be completed efficiently.
TCP Closing: FSM
- The closing process also uses a FSM that transitions based on the received segments.
- States (for both client and server):
- ESTAB: Connection is established.
- FIN-WAIT-1: Client has sent FIN and is waiting for ACK.
- FIN-WAIT-2: Client has received FIN and is waiting for ACK.
- TIME-WAIT: Client has sent FIN and ACK, but waits for 2*max segment lifetime before closing.
- CLOSE-WAIT: Server has received FIN and is waiting to send its own FIN.
- LAST-ACK: Server has sent FIN and is waiting for ACK.
- CLOSED: Connection is completely closed.
Principles of Congestion Control
- Congestion: Too many sources sending too much data, surpassing the network's capacity.
- Different from flow control, which only manages the rate of data transfer between sender and receiver.
TCP Fast Retransmit
- If the sender receives three duplicate ACKs, it is likely that a packet was lost
- The sender retransmits the missing segment without waiting for the timeout
- This speeds up the recovery process and improves performance.
TCP Flow Control
- TCP flow control is the mechanism to prevent a sender from overflowing the receiver's buffer
- Implemented using a "window" mechanism
- The receiver advertises a window size that indicates how much data it is willing to receive
- The sender cannot exceed the window size, preventing buffer overflows
TCP Congestion Control: Summary
- TCP's congestion control mechanism aims to find the optimal transmission rate by adapting to network conditions
- Duplicate ACKs: Indicate a packet loss and trigger fast retransmit.
- Timeout: When a packet is not acknowledged within a timeout period, it is retransmitted.
- Additive Increase and Multiplicative Decrease: Adjust the window size based on network conditions.
- Slow Start: Start with a small window size and increase it gradually.
- Congestion Avoidance: Monitor network conditions and adjust the window size to avoid causing congestion.
- Fast Recovery: Quickly recover from congestion by fast retransmit and adjusting the congestion window.
TCP Fairness
- TCP aims to be fair, meaning it distributes network bandwidth equally among connections sharing the same bottleneck link
- TCP's additive increase and multiplicative decrease algorithms contribute to fairness.
TCP Fairness: Examples
- Competing Sessions: If two sessions share a bottleneck link, their throughputs will converge to an equal share.
- Parallel TCP Connections: Applications can open multiple parallel TCP connections to increase throughput.
- Fairness and UDP: UDP applications do not use TCP's congestion control and can potentially affect fairness by not sharing bandwidth fairly.
Chapter 3: Summary
- The transport layer provides services for communication between applications
- Key transport layer services include:
- Multiplexing and Demultiplexing: Sharing the same network connection by multiple applications.
- Reliable Data Transfer: Ensures data is delivered correctly and in order.
- Flow Control: Prevents the sender from overflowing the receiver's buffer.
- Congestion Control: Optimizes network utilization by avoiding congestion.
- The Internet uses UDP and TCP
- UDP is connectionless and provides unreliable data transfer
- TCP is connection-oriented and provides reliable data transfer
- TCP uses congestion control and flow control mechanisms.
Delay & Utilization
- Transmission delay (Dtrans) is calculated using the packet size (L) and data rate (R).
- Sender utilization (U) is the fraction of time the sender is busy transmitting and is calculated using packet size (L), data rate (R), and round-trip time (RTT).
- A large Round Trip Time (RTT) reduces sender utilization in stop-and-wait.
Pipelined Protocols
- Pipelined protocols allow multiple, unacknowledged packets ("in-flight") to be sent.
- Go-Back-N and Selective Repeat are two types of pipelined protocols.
- Pipelining increases sender utilization.
UDP
- UDP is a connectionless transport protocol.
- UDP segments are handled independently.
- UDP is simple, has a small header size and does not offer congestion control.
- UDP uses a checksum for error detection in the header.
TCP
- TCP is a reliable connection-oriented transport protocol.
- TCP uses flow control to prevent the receiver from being overwhelmed.
- TCP uses congestion control to avoid overwhelming the network.
TCP Flow Control
- TCP's flow control mechanism is based on the receiver's advertised window (rwnd).
- The sender adjusts its congestion window (cwnd) to match the receiver's available buffer space.
- TCP's goal is to keep the sender's congestion window below the receiver's advertised window.
TCP Congestion Control
- TCP uses congestion control mechanisms to avoid overwhelming the network.
- TCP congestion control operates on the sender side.
- TCP uses slow start to initially ramp up transmission rate and then switches to congestion avoidance (CA) upon the first loss event.
- TCP reacts to packet loss events through timeout or triple duplicate ACKs.
- Slow Start: Initially, cwnd is set to one Maximum Segment Size (MSS). With each ACK received, cwnd is doubled.
- Congestion Avoidance (CA): after slow start, cwnd increases linearly.
- Fast Retransmit: The sender retransmits a packet immediately upon receiving three duplicate ACKs indicating the packet is lost.
- Fast Recovery: Upon receiving three duplicate ACKs, TCP enters fast recovery mode, halves the congestion window, and increases it linearly.
- TCP Tahoe always sets cwnd to 1 upon timeout or 3 duplicate ACKs while TCP Reno halves the cwnd.
TCP AIMD
- AIMD (Additive Increase, Multiplicative Decrease) is a common congestion control mechanism.
- The sender increases its rate of data transmission (cwnd) additively until a packet loss occurs.
- Once a packet loss is detected, the sender reduces its rate by half (multiplicatively).
- This results in a "sawtooth" pattern of probe and backoff.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Explore the different approaches to congestion control, including end-to-end and network-assisted methods. This quiz covers concepts related to ATM networks, particularly the Available Bit Rate (ABR) service, and how Resource Management (RM) cells play a role in managing congestion. Test your understanding of these critical networking principles.