Congestion Control in ATM Networks
57 Questions
0 Views

Congestion Control in ATM Networks

Created by
@HandsDownSamarium

Podcast Beta

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What is the purpose of flow control in TCP?

  • To increase the rate of data sent over a connection automatically.
  • To ensure that the sender does not overwhelm the receiver. (correct)
  • To allow unlimited data transmission regardless of receiver capacity.
  • To manage the amount of data entering the network.
  • What is a key characteristic of connectionless transport like UDP compared to TCP?

  • UDP incorporates extensive congestion control mechanisms.
  • UDP does not provide reliable data transfer or flow control. (correct)
  • UDP guarantees data delivery with acknowledgments.
  • UDP establishes a persistent connection for data transfer.
  • How does UDP differ from TCP in terms of flow control?

  • UDP sends packets without waiting for acknowledgments from the receiver.
  • UDP uses slow-start to adjust the flow of data.
  • UDP automatically throttles the transmission rate based on network conditions.
  • UDP does not implement any flow control mechanisms. (correct)
  • What is the primary purpose of flow control in TCP?

    <p>To prevent data from being sent at a higher rate than it can be processed</p> Signup and view all the answers

    Which of the following is a characteristic of reliable data transfer in TCP?

    <p>Use of acknowledgments to confirm receipt</p> Signup and view all the answers

    What does a triple duplicate ACK indicate in TCP?

    <p>A segment has been lost</p> Signup and view all the answers

    Which of the following TCP features helps manage data transmission?

    <p>Congestion control</p> Signup and view all the answers

    What is the sequence structure used for in TCP?

    <p>To keep track of the order of transmitted segments</p> Signup and view all the answers

    What is the primary purpose of the TCP 3-way handshake?

    <p>To establish a reliable connection between client and server</p> Signup and view all the answers

    What does connection-oriented transport in TCP ensure?

    <p>A dedicated connection exists for data transfer</p> Signup and view all the answers

    What is the role of segmentation in TCP?

    <p>To break data into manageable packets for transmission</p> Signup and view all the answers

    What does the FIN bit indicate during the closing of a TCP connection?

    <p>A termination request is being initiated</p> Signup and view all the answers

    What generally causes network congestion?

    <p>Too much data being sent too quickly from too many sources</p> Signup and view all the answers

    What is the purpose of retransmitting a missing segment?

    <p>To ensure reliable data transfer</p> 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}$.

    <p>True</p> Signup and view all the answers

    A packet size of 8000 bits transmitted at a rate of 1 Gbps takes 16 microseconds to send.

    <p>False</p> 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.

    <p>True</p> Signup and view all the answers

    Pipelining allows the sender to send multiple packets that have not yet been acknowledged.

    <p>True</p> 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.

    <p>False</p> Signup and view all the answers

    The sequence numbers in a pipelined protocol must be reduced to allow for better management of packets.

    <p>False</p> Signup and view all the answers

    Utilization can be increased by a factor of 3 with 3-packet pipelining.

    <p>True</p> 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.

    <p>True</p> Signup and view all the answers

    Transport protocols only run on the sender's side.

    <p>False</p> Signup and view all the answers

    UDP is a connection-oriented transport protocol.

    <p>False</p> Signup and view all the answers

    TCP provides reliable data transfer.

    <p>True</p> Signup and view all the answers

    Transport layer services provide logical communication between application processes on different hosts.

    <p>True</p> Signup and view all the answers

    Multiplexing and demultiplexing are functions performed by transport protocols.

    <p>True</p> Signup and view all the answers

    TCP does not require connection management.

    <p>False</p> Signup and view all the answers

    The transport layer operates below the application layer and above the network layer.

    <p>True</p> Signup and view all the answers

    Flow control is not a feature of TCP.

    <p>False</p> Signup and view all the answers

    The primary responsibility of the transport layer is to manage physical connections.

    <p>False</p> Signup and view all the answers

    There is only one transport protocol available for applications in the Internet.

    <p>False</p> Signup and view all the answers

    UDP segments are handled independently of each other.

    <p>True</p> Signup and view all the answers

    The header size of UDP is larger compared to other transport layer protocols.

    <p>False</p> Signup and view all the answers

    UDP requires connection establishment before sending data.

    <p>False</p> Signup and view all the answers

    The goal of the UDP checksum is to detect errors in transmitted segments.

    <p>True</p> Signup and view all the answers

    The sender's checksum calculation is done by taking a one’s complement sum of segment contents.

    <p>True</p> Signup and view all the answers

    UDP includes congestion control mechanisms to manage data flow.

    <p>False</p> 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.

    <p>False</p> Signup and view all the answers

    A year 2000 bug is related to the way checksums are computed in UDP.

    <p>False</p> 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.

    <p>True</p> Signup and view all the answers

    UDP can send data as fast as desired, regardless of network conditions.

    <p>True</p> Signup and view all the answers

    During TCP Slow Start, the congestion window size (cwnd) is initially set to 1 MSS.

    <p>True</p> Signup and view all the answers

    When a TCP connection detects a timeout, it sets cwnd to 0.

    <p>False</p> Signup and view all the answers

    TCP Reno reacts to three duplicate ACKs by cutting the cwnd in half and then growing it linearly.

    <p>True</p> Signup and view all the answers

    The Sender limits transmission rate to roughly send cwnd bytes every round-trip time (RTT).

    <p>True</p> Signup and view all the answers

    TCP switches from exponential increase to linear when cwnd reaches its maximum value.

    <p>False</p> Signup and view all the answers

    TCP fast retransmit occurs after the sender receives two duplicate ACKs.

    <p>False</p> Signup and view all the answers

    Flow control in TCP is designed to prevent the sender from overwhelming the receiver with too much data.

    <p>True</p> Signup and view all the answers

    In connection-oriented transport like TCP, data is sent without establishing a connection first.

    <p>False</p> Signup and view all the answers

    UDP is a connectionless transport protocol.

    <p>True</p> Signup and view all the answers

    Reliable data transfer guarantees that all segments are received in the order they were sent.

    <p>True</p> Signup and view all the answers

    The sequence number in TCP helps to reassemble segments in the order they were sent.

    <p>True</p> Signup and view all the answers

    TCP congestion control is one of the principles of reliable data transfer.

    <p>False</p> Signup and view all the answers

    TCP segment structure includes information about flow control.

    <p>True</p> Signup and view all the answers

    A triple duplicate ACK in TCP indicates that a segment has been successfully received.

    <p>False</p> Signup and view all the answers

    Application processes may remove data from TCP socket buffers.

    <p>True</p> 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:
      1. Client sends a SYN segment
      2. Server responds with a SYNACK segment
      3. 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.

    Quiz Team

    Related Documents

    ch3.pdf

    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.

    More Like This

    ATM Knowledge Quiz
    6 questions

    ATM Knowledge Quiz

    UnmatchedCourage avatar
    UnmatchedCourage
    ATM Cash Withdrawal Process Flowchart Quiz
    3 questions
    ATM
    48 questions

    ATM

    LovedCognition avatar
    LovedCognition
    Use Quizgecko on...
    Browser
    Browser