1) TCP performs poorly over wireless networks due to assuming packet loss is from congestion and responding aggressively by shrinking the congestion window.
2) Link layer protocols that detect packet loss and retransmit locally without informing TCP can shield TCP from wireless losses and avoid unnecessary congestion responses. The best approach uses selective acknowledgements and suppresses duplicate ACKs.
3) End-to-end protocols that explicitly notify TCP of non-congestion losses without shrinking the congestion window work better than standard TCP, but not as well as link layer approaches.
This document discusses challenges with TCP in mobile networks and various approaches to address them. It introduces indirect TCP, which splits the TCP connection to isolate the wireless link. Snooping TCP has the foreign agent snoop packets and acknowledgements to enable local retransmissions. Mobile TCP uses a supervisory host and window size adjustments to handle disconnections. Other optimizations discussed include forced fast retransmit after handovers, freezing TCP timers during disconnects, and selective retransmissions. The document compares the advantages and disadvantages of these different "mobile TCP" approaches.
The document describes the Snoop+α protocol, which improves on the Snoop protocol. The Snoop+α agent monitors ACKs passing through the access point and categorizes them as duplicate, spurious, or new. This allows it to detect packet loss without duplicate ACKs and retransmit lost data locally instead of waiting for the fixed host. The protocol provides end-to-end TCP connections while improving performance and reducing delay compared to plain wireless networks.
TCP uses congestion control to prevent network congestion collapse. It uses additive increase multiplicative decrease (AIMD) where the sending rate is increased slowly but cut in half after a loss. TCP paces packets using a congestion window that limits unacknowledged data. It uses slow start to quickly reach bandwidth and congestion avoidance to increase the window by 1 packet per RTT. This models TCP behavior and shows throughput is related to window size, loss rate, and RTT.
- TCP uses congestion control and avoidance to prevent network congestion collapse. It operates in a distributed manner without centralized control.
- TCP's congestion control is based on additive increase, multiplicative decrease (AIMD) and uses a congestion window and packet pacing to smoothly increase and decrease transmission rates in response to packet loss as a signal of congestion.
- The key mechanisms are slow start for initial rapid ramp up, congestion avoidance for gradual increase, fast retransmit for quick recovery from single losses, and timeout for recovery from multiple losses or ack losses. These mechanisms work together to keep TCP stable and efficient under different network conditions.
This document discusses transport protocols and how they have been optimized for large data transfers but are not as well suited for the small file transfers that now dominate web traffic. It describes several key aspects of TCP including flow control using a sliding window, congestion control algorithms like slow start and congestion avoidance, and mechanisms for detecting and responding to packet loss like fast retransmit. It notes how TCP was adapted over time, including additions like fast recovery, and alternatives like TCP Vegas which aims to avoid rather than just respond to congestion. The document provides historical context and details on TCP implementations.
Mobile Transport Layer protocols aim to address challenges with TCP over mobile networks. Traditional TCP uses congestion control like slow start and fast retransmit/recovery that can reduce performance over mobile. Indirect TCP splits the connection at the access point to avoid wireless errors affecting the wired segment. Snooping TCP buffers packets at the access point and performs local retransmissions on errors. Mobile TCP splits the connection and uses an optimized TCP between the supervisory host and mobile host, choking the sender when the mobile is disconnected to avoid buffering large amounts of undelivered data.
The document discusses flow control in TCP. It explains that TCP uses a sliding window mechanism for flow control to balance the sender's transmission rate with the receiver's reception rate. The sliding window allows packets within the window to be transmitted, and slides to the right when acknowledgments are received, making room for more packets. Problems like delayed acknowledgments, silly window syndrome, and solutions like Nagle's algorithm are also covered. TCP provides reliable data transfer using error control mechanisms like checksums, acknowledgments, and retransmissions of lost packets.
This document summarizes a presentation on congestion control in TCP/IP networks. It discusses basics of congestion and how it can be catastrophic if not handled. It then describes the basic strategies used by TCP to combat congestion, including slow start, congestion avoidance, detection, and illustration of algorithms like fast retransmit and recovery. Issues with wireless networks and variants of TCP like New Reno, Vegas, and Westwood are also summarized. The presentation proposes a new congestion control algorithm and discusses plans to simulate and test it.
This document discusses challenges with TCP in mobile networks and various approaches to address them. It introduces indirect TCP, which splits the TCP connection to isolate the wireless link. Snooping TCP has the foreign agent snoop packets and acknowledgements to enable local retransmissions. Mobile TCP uses a supervisory host and window size adjustments to handle disconnections. Other optimizations discussed include forced fast retransmit after handovers, freezing TCP timers during disconnects, and selective retransmissions. The document compares the advantages and disadvantages of these different "mobile TCP" approaches.
The document describes the Snoop+α protocol, which improves on the Snoop protocol. The Snoop+α agent monitors ACKs passing through the access point and categorizes them as duplicate, spurious, or new. This allows it to detect packet loss without duplicate ACKs and retransmit lost data locally instead of waiting for the fixed host. The protocol provides end-to-end TCP connections while improving performance and reducing delay compared to plain wireless networks.
TCP uses congestion control to prevent network congestion collapse. It uses additive increase multiplicative decrease (AIMD) where the sending rate is increased slowly but cut in half after a loss. TCP paces packets using a congestion window that limits unacknowledged data. It uses slow start to quickly reach bandwidth and congestion avoidance to increase the window by 1 packet per RTT. This models TCP behavior and shows throughput is related to window size, loss rate, and RTT.
- TCP uses congestion control and avoidance to prevent network congestion collapse. It operates in a distributed manner without centralized control.
- TCP's congestion control is based on additive increase, multiplicative decrease (AIMD) and uses a congestion window and packet pacing to smoothly increase and decrease transmission rates in response to packet loss as a signal of congestion.
- The key mechanisms are slow start for initial rapid ramp up, congestion avoidance for gradual increase, fast retransmit for quick recovery from single losses, and timeout for recovery from multiple losses or ack losses. These mechanisms work together to keep TCP stable and efficient under different network conditions.
This document discusses transport protocols and how they have been optimized for large data transfers but are not as well suited for the small file transfers that now dominate web traffic. It describes several key aspects of TCP including flow control using a sliding window, congestion control algorithms like slow start and congestion avoidance, and mechanisms for detecting and responding to packet loss like fast retransmit. It notes how TCP was adapted over time, including additions like fast recovery, and alternatives like TCP Vegas which aims to avoid rather than just respond to congestion. The document provides historical context and details on TCP implementations.
Mobile Transport Layer protocols aim to address challenges with TCP over mobile networks. Traditional TCP uses congestion control like slow start and fast retransmit/recovery that can reduce performance over mobile. Indirect TCP splits the connection at the access point to avoid wireless errors affecting the wired segment. Snooping TCP buffers packets at the access point and performs local retransmissions on errors. Mobile TCP splits the connection and uses an optimized TCP between the supervisory host and mobile host, choking the sender when the mobile is disconnected to avoid buffering large amounts of undelivered data.
The document discusses flow control in TCP. It explains that TCP uses a sliding window mechanism for flow control to balance the sender's transmission rate with the receiver's reception rate. The sliding window allows packets within the window to be transmitted, and slides to the right when acknowledgments are received, making room for more packets. Problems like delayed acknowledgments, silly window syndrome, and solutions like Nagle's algorithm are also covered. TCP provides reliable data transfer using error control mechanisms like checksums, acknowledgments, and retransmissions of lost packets.
This document summarizes a presentation on congestion control in TCP/IP networks. It discusses basics of congestion and how it can be catastrophic if not handled. It then describes the basic strategies used by TCP to combat congestion, including slow start, congestion avoidance, detection, and illustration of algorithms like fast retransmit and recovery. Issues with wireless networks and variants of TCP like New Reno, Vegas, and Westwood are also summarized. The presentation proposes a new congestion control algorithm and discusses plans to simulate and test it.
This document summarizes key concepts about congestion control in TCP including:
- TCP uses additive increase multiplicative decrease (AIMD) to dynamically adjust the congestion window size and maintain efficiency and fairness.
- TCP has slow start and congestion avoidance states that govern how the congestion window is adjusted in response to acknowledgements.
- TCP responds to packet loss through fast retransmit, fast recovery, and halving the congestion window size to reduce congestion according to protocols like Tahoe, Reno, and New Reno.
This document provides a summary of the transport layer of computer networks. It discusses key topics like UDP, TCP, connection management, flow control, congestion control, and quality of service. UDP provides a connectionless, unreliable service while TCP provides connection-oriented, reliable byte streaming. TCP uses three-way handshaking for connection establishment and termination. It implements flow control using sliding windows and employs congestion control algorithms like additive increase/multiplicative decrease. The document also covers transport layer concepts like ports, checksums, and retransmission methods in TCP.
The document discusses various transport layer protocols for mobile networks, including traditional TCP, Indirect TCP, Snooping TCP, and Mobile TCP. Traditional TCP was designed for fixed networks and experiences issues in mobile networks due to factors like packet loss from handoffs. Indirect TCP splits the TCP connection at the access point to isolate the wireless link. Snooping TCP has the access point buffer packets and detect losses to enable local retransmissions. Mobile TCP uses a supervisory host to handle disconnections and restart the connection when needed. Each approach aims to improve TCP performance over mobile networks while maintaining compatibility with traditional TCP.
This document discusses TCP over wireless networks. It explains that TCP was designed for fixed networks with low delay and errors, but wireless networks have high delay, errors and variable bandwidth. This causes TCP to perform poorly over wireless. The document outlines various techniques to improve TCP performance over wireless like Fast Retransmit and Recovery, Slow Start proposals with larger initial windows, ACK counting and ACK-every-segment. It also discusses protocols like HTTP, RLP that operate between TCP and the wireless transmission layers.
This document discusses various data link control protocols. It covers framing, flow and error control, and specific protocols like HDLC and PPP. Framing involves adding structure like headers and trailers to organize data into packets. Flow and error control techniques like stop-and-wait ARQ and sliding window protocols are used to ensure reliable transmission over noisy channels. HDLC is a widely used bit-oriented protocol that defines frame structures and error control. PPP is a point-to-point protocol commonly used for dial-up internet access.
The document discusses various approaches to modifying TCP for use in mobile networks. Indirect TCP splits the TCP connection at the foreign agent, keeping the fixed network unchanged but losing end-to-end semantics. Snooping TCP has the foreign agent snoop packets and retransmit lost packets locally without changing TCP. Mobile TCP uses a supervisory host to monitor disconnections and choke senders. Other approaches include forced fast retransmit after handovers, freezing TCP timers during disconnects, selective retransmission of only lost packets, and transaction-oriented TCP to combine connection setup in fewer packets. Each approach has advantages like efficiency or compatibility but also disadvantages like overhead or non-transparency.
This document discusses various transport layer protocols for mobile networks. It begins by describing TCP and its mechanisms for congestion avoidance, flow control, slow start, and retransmission. It then covers several TCP variants including Tahoe, Reno, and Vegas. It also discusses indirect TCP, Snoop TCP, and Mobile TCP which aim to optimize TCP for wireless networks by handling retransmissions locally or splitting the connection. The document provides details on the algorithms and functioning of these different protocols.
The document discusses different protocols used in the data link layer for reliable transmission of data over noisy channels. It describes the simplest protocol with no error control, as well as stop-and-wait, go-back-N, and selective repeat ARQ protocols. Stop-and-wait protocol ensures only one frame is transmitted at a time using acknowledgments. Go-back-N allows transmitting multiple frames before waiting for ACKs but retransmits all subsequent frames if one is lost. Selective repeat ARQ allows out-of-order frame delivery to avoid unnecessary retransmissions. Sliding windows and sequence numbers are used for flow control and ensuring frames are received in the correct order.
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network partha pratim deb
The document analyzes the performance of different TCP variants (New Reno, Reno, Tahoe) with MANET routing protocols (AODV, DSR, TORA) through simulation. It finds that in scenarios with 3 and 5 nodes, AODV has better throughput than DSR and TORA for all TCP variants. Throughput decreases for all variants as node count increases. New Reno provides multiple packet loss recovery and is the best choice for AODV in MANETs due to its consistent performance with changes in node count. Further analysis of additional protocols and TCP variants is recommended.
¤ TCP Westwood is a congestion control algorithm that improves TCP performance over wireless networks by estimating available bandwidth (BWE) through monitoring ACK packets.
¤ It uses a low-pass filter to average bandwidth measurements and obtain the low-frequency components of available bandwidth. When inter-arrival times of ACKs increase, more weight is given to the most recent bandwidth calculations.
¤ TCP Westwood achieves better throughput than TCP Reno over lossy links and converges to a fair share of bandwidth when competing with other TCP variants like Reno.
This document discusses transport layer protocols and reliability in computer networks. It begins with an overview of the end-to-end model, UDP, and TCP. It then discusses the end-to-end argument that functions should be implemented at endpoints rather than in the network. Link-level reliability is not sufficient and TCP provides end-to-end reliability with sequenced packets, acknowledgments, and retransmissions. TCP also provides flow control using advertised window sizes.
This document discusses several TCP congestion control algorithms: TCP Tahoe, Reno, New Reno, SACK, and Vegas. It provides details on how each algorithm handles slow start, congestion avoidance, fast retransmit, and congestion detection. TCP Vegas is highlighted as being superior to the other algorithms because it can detect and retransmit lost packets faster, has fewer retransmissions, more efficiently measures bandwidth availability, and experiences less congestion overall through proactive congestion detection and modified slow start and congestion avoidance.
This document discusses various data link control protocols. It begins by explaining how data is packaged into frames at the data link layer, using framing techniques like fixed-size and variable-size framing. The key responsibilities of the data link layer are then introduced as flow control and error control. Several protocols are presented that implement these functions on both noiseless and noisy channels, including the simplest protocol, stop-and-wait protocol, and various automatic repeat request (ARQ) protocols. Worked examples demonstrate how these protocols operate in different scenarios.
PAUSE frames are Ethernet MAC control frames that allow devices on a full-duplex link to request a pause in frame transmission. They carry a PAUSE opcode and pause time parameter, specifying the length of the requested pause in units of 512 bit times. PAUSE frames are sent to a reserved multicast address to simplify flow control without requiring knowledge of the destination's individual address. Switches will not forward frames sent to this multicast address but will process them internally for flow control purposes.
This document discusses various data link control protocols. It begins by explaining how data is packaged into frames at the data link layer, using framing techniques like fixed-size and variable-size framing. The key responsibilities of the data link layer are then introduced as flow control and error control. Several protocols are presented that implement these functions on both noiseless and noisy channels, including the simplest protocol, stop-and-wait protocol, and various automatic repeat request (ARQ) protocols. Worked examples demonstrate how these protocols operate in different scenarios.
The document discusses various data link layer protocols including framing, flow control, error control, Stop-and-Wait, Go-Back-N, Selective Repeat ARQ, HDLC, and PPP. It provides algorithms and examples to illustrate how each protocol handles framing, flow control, and error correction over both noiseless and noisy channels. Key aspects covered include sequence numbers, acknowledgments, timers, windows, and retransmission methods.
CUBIC is a TCP congestion control algorithm that uses a cubic window growth function to help TCP scale better in high bandwidth-delay product networks. It aims to improve scalability, stability, and fairness compared to previous algorithms like BIC-TCP. The window growth is independent of round-trip time and becomes nearly zero around the maximum window size to help stability. CUBIC also incorporates features to help it behave friendly to standard TCP implementations.
Module15: Sliding Windows Protocol and Error Control gondwe Ben
Here are the key steps in stop-and-wait ARQ when frame 1 is lost:
1. Station A transmits frame 0 and waits for ACK
2. Station B receives frame 0 and sends ACK
3. Station A receives ACK and transmits frame 1
4. Frame 1 is lost in transmission
5. Station A's timer expires before receiving ACK for frame 1
6. Station A retransmits frame 1
The key aspects are that the sender transmits one frame at a time and waits for ACK before sending the next frame. If ACK is not received within the timeout period, the frame is retransmitted.
ATCP was designed to improve TCP performance over multi-hop wireless networks by addressing problems caused by high bit error rates, route changes, and network partitions. ATCP monitors TCP and network states and places TCP in one of four ATCP states - Normal, Loss, Congested, or Disconnected - to determine appropriate actions like retransmitting packets or stopping transmission. ATCP aims to maintain TCP semantics while improving throughput in ad-hoc networks.
Here is a strategy the prisoners could employ:
1. On the first day, the prisoner who visits the switch room toggles one of the switches to the ON position.
2. On subsequent days, the prisoner toggles the other switch if it is in the OFF position, or says "all prisoners have visited" if both switches are in the ON position.
3. This strategy guarantees that after 31 days, both switches will be in the ON position, allowing the prisoner to correctly say "all prisoners have visited" and ensure all prisoners are set free.
TFWC is a proposed window-based congestion control algorithm that is designed to be TCP-friendly for real-time multimedia applications, while addressing some issues with the standard rate-based TFRC algorithm. TFWC uses a TCP-like acknowledgment clock and window sizing equation to achieve smooth throughput similar to TFRC, but provides better fairness when competing with TCP traffic and is simpler to implement without needing to measure round-trip times. Analysis shows that TFWC provides fairness comparable to TFRC, smoothness on par with TFRC, and faster responsiveness to changes in available bandwidth.
This document summarizes key concepts about congestion control in TCP including:
- TCP uses additive increase multiplicative decrease (AIMD) to dynamically adjust the congestion window size and maintain efficiency and fairness.
- TCP has slow start and congestion avoidance states that govern how the congestion window is adjusted in response to acknowledgements.
- TCP responds to packet loss through fast retransmit, fast recovery, and halving the congestion window size to reduce congestion according to protocols like Tahoe, Reno, and New Reno.
This document provides a summary of the transport layer of computer networks. It discusses key topics like UDP, TCP, connection management, flow control, congestion control, and quality of service. UDP provides a connectionless, unreliable service while TCP provides connection-oriented, reliable byte streaming. TCP uses three-way handshaking for connection establishment and termination. It implements flow control using sliding windows and employs congestion control algorithms like additive increase/multiplicative decrease. The document also covers transport layer concepts like ports, checksums, and retransmission methods in TCP.
The document discusses various transport layer protocols for mobile networks, including traditional TCP, Indirect TCP, Snooping TCP, and Mobile TCP. Traditional TCP was designed for fixed networks and experiences issues in mobile networks due to factors like packet loss from handoffs. Indirect TCP splits the TCP connection at the access point to isolate the wireless link. Snooping TCP has the access point buffer packets and detect losses to enable local retransmissions. Mobile TCP uses a supervisory host to handle disconnections and restart the connection when needed. Each approach aims to improve TCP performance over mobile networks while maintaining compatibility with traditional TCP.
This document discusses TCP over wireless networks. It explains that TCP was designed for fixed networks with low delay and errors, but wireless networks have high delay, errors and variable bandwidth. This causes TCP to perform poorly over wireless. The document outlines various techniques to improve TCP performance over wireless like Fast Retransmit and Recovery, Slow Start proposals with larger initial windows, ACK counting and ACK-every-segment. It also discusses protocols like HTTP, RLP that operate between TCP and the wireless transmission layers.
This document discusses various data link control protocols. It covers framing, flow and error control, and specific protocols like HDLC and PPP. Framing involves adding structure like headers and trailers to organize data into packets. Flow and error control techniques like stop-and-wait ARQ and sliding window protocols are used to ensure reliable transmission over noisy channels. HDLC is a widely used bit-oriented protocol that defines frame structures and error control. PPP is a point-to-point protocol commonly used for dial-up internet access.
The document discusses various approaches to modifying TCP for use in mobile networks. Indirect TCP splits the TCP connection at the foreign agent, keeping the fixed network unchanged but losing end-to-end semantics. Snooping TCP has the foreign agent snoop packets and retransmit lost packets locally without changing TCP. Mobile TCP uses a supervisory host to monitor disconnections and choke senders. Other approaches include forced fast retransmit after handovers, freezing TCP timers during disconnects, selective retransmission of only lost packets, and transaction-oriented TCP to combine connection setup in fewer packets. Each approach has advantages like efficiency or compatibility but also disadvantages like overhead or non-transparency.
This document discusses various transport layer protocols for mobile networks. It begins by describing TCP and its mechanisms for congestion avoidance, flow control, slow start, and retransmission. It then covers several TCP variants including Tahoe, Reno, and Vegas. It also discusses indirect TCP, Snoop TCP, and Mobile TCP which aim to optimize TCP for wireless networks by handling retransmissions locally or splitting the connection. The document provides details on the algorithms and functioning of these different protocols.
The document discusses different protocols used in the data link layer for reliable transmission of data over noisy channels. It describes the simplest protocol with no error control, as well as stop-and-wait, go-back-N, and selective repeat ARQ protocols. Stop-and-wait protocol ensures only one frame is transmitted at a time using acknowledgments. Go-back-N allows transmitting multiple frames before waiting for ACKs but retransmits all subsequent frames if one is lost. Selective repeat ARQ allows out-of-order frame delivery to avoid unnecessary retransmissions. Sliding windows and sequence numbers are used for flow control and ensuring frames are received in the correct order.
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network partha pratim deb
The document analyzes the performance of different TCP variants (New Reno, Reno, Tahoe) with MANET routing protocols (AODV, DSR, TORA) through simulation. It finds that in scenarios with 3 and 5 nodes, AODV has better throughput than DSR and TORA for all TCP variants. Throughput decreases for all variants as node count increases. New Reno provides multiple packet loss recovery and is the best choice for AODV in MANETs due to its consistent performance with changes in node count. Further analysis of additional protocols and TCP variants is recommended.
¤ TCP Westwood is a congestion control algorithm that improves TCP performance over wireless networks by estimating available bandwidth (BWE) through monitoring ACK packets.
¤ It uses a low-pass filter to average bandwidth measurements and obtain the low-frequency components of available bandwidth. When inter-arrival times of ACKs increase, more weight is given to the most recent bandwidth calculations.
¤ TCP Westwood achieves better throughput than TCP Reno over lossy links and converges to a fair share of bandwidth when competing with other TCP variants like Reno.
This document discusses transport layer protocols and reliability in computer networks. It begins with an overview of the end-to-end model, UDP, and TCP. It then discusses the end-to-end argument that functions should be implemented at endpoints rather than in the network. Link-level reliability is not sufficient and TCP provides end-to-end reliability with sequenced packets, acknowledgments, and retransmissions. TCP also provides flow control using advertised window sizes.
This document discusses several TCP congestion control algorithms: TCP Tahoe, Reno, New Reno, SACK, and Vegas. It provides details on how each algorithm handles slow start, congestion avoidance, fast retransmit, and congestion detection. TCP Vegas is highlighted as being superior to the other algorithms because it can detect and retransmit lost packets faster, has fewer retransmissions, more efficiently measures bandwidth availability, and experiences less congestion overall through proactive congestion detection and modified slow start and congestion avoidance.
This document discusses various data link control protocols. It begins by explaining how data is packaged into frames at the data link layer, using framing techniques like fixed-size and variable-size framing. The key responsibilities of the data link layer are then introduced as flow control and error control. Several protocols are presented that implement these functions on both noiseless and noisy channels, including the simplest protocol, stop-and-wait protocol, and various automatic repeat request (ARQ) protocols. Worked examples demonstrate how these protocols operate in different scenarios.
PAUSE frames are Ethernet MAC control frames that allow devices on a full-duplex link to request a pause in frame transmission. They carry a PAUSE opcode and pause time parameter, specifying the length of the requested pause in units of 512 bit times. PAUSE frames are sent to a reserved multicast address to simplify flow control without requiring knowledge of the destination's individual address. Switches will not forward frames sent to this multicast address but will process them internally for flow control purposes.
This document discusses various data link control protocols. It begins by explaining how data is packaged into frames at the data link layer, using framing techniques like fixed-size and variable-size framing. The key responsibilities of the data link layer are then introduced as flow control and error control. Several protocols are presented that implement these functions on both noiseless and noisy channels, including the simplest protocol, stop-and-wait protocol, and various automatic repeat request (ARQ) protocols. Worked examples demonstrate how these protocols operate in different scenarios.
The document discusses various data link layer protocols including framing, flow control, error control, Stop-and-Wait, Go-Back-N, Selective Repeat ARQ, HDLC, and PPP. It provides algorithms and examples to illustrate how each protocol handles framing, flow control, and error correction over both noiseless and noisy channels. Key aspects covered include sequence numbers, acknowledgments, timers, windows, and retransmission methods.
CUBIC is a TCP congestion control algorithm that uses a cubic window growth function to help TCP scale better in high bandwidth-delay product networks. It aims to improve scalability, stability, and fairness compared to previous algorithms like BIC-TCP. The window growth is independent of round-trip time and becomes nearly zero around the maximum window size to help stability. CUBIC also incorporates features to help it behave friendly to standard TCP implementations.
Module15: Sliding Windows Protocol and Error Control gondwe Ben
Here are the key steps in stop-and-wait ARQ when frame 1 is lost:
1. Station A transmits frame 0 and waits for ACK
2. Station B receives frame 0 and sends ACK
3. Station A receives ACK and transmits frame 1
4. Frame 1 is lost in transmission
5. Station A's timer expires before receiving ACK for frame 1
6. Station A retransmits frame 1
The key aspects are that the sender transmits one frame at a time and waits for ACK before sending the next frame. If ACK is not received within the timeout period, the frame is retransmitted.
ATCP was designed to improve TCP performance over multi-hop wireless networks by addressing problems caused by high bit error rates, route changes, and network partitions. ATCP monitors TCP and network states and places TCP in one of four ATCP states - Normal, Loss, Congested, or Disconnected - to determine appropriate actions like retransmitting packets or stopping transmission. ATCP aims to maintain TCP semantics while improving throughput in ad-hoc networks.
Here is a strategy the prisoners could employ:
1. On the first day, the prisoner who visits the switch room toggles one of the switches to the ON position.
2. On subsequent days, the prisoner toggles the other switch if it is in the OFF position, or says "all prisoners have visited" if both switches are in the ON position.
3. This strategy guarantees that after 31 days, both switches will be in the ON position, allowing the prisoner to correctly say "all prisoners have visited" and ensure all prisoners are set free.
TFWC is a proposed window-based congestion control algorithm that is designed to be TCP-friendly for real-time multimedia applications, while addressing some issues with the standard rate-based TFRC algorithm. TFWC uses a TCP-like acknowledgment clock and window sizing equation to achieve smooth throughput similar to TFRC, but provides better fairness when competing with TCP traffic and is simpler to implement without needing to measure round-trip times. Analysis shows that TFWC provides fairness comparable to TFRC, smoothness on par with TFRC, and faster responsiveness to changes in available bandwidth.
The document discusses TCP performance over wireless networks. It outlines that random transmission errors in wireless networks can cause TCP to trigger its fast retransmit mechanism. This occurs when errors cause duplicate acknowledgements to be generated, which TCP interprets as an indication of packet loss even if the errors are random in nature. The document provides examples of how random errors can generate enough duplicate ACKs to trigger fast retransmit unintentionally.
presentationphysicallyer.pdf talked about computer networksHetfieldLee
The document discusses TCP congestion control and the TCP Reno algorithm. It explains how TCP Reno implements additive increase multiplicative decrease (AIMD) using slow start, fast retransmit, and fast recovery to quickly repair single segment losses without requiring a timeout. TCP Reno uses duplicate ACKs to infer segment losses and retransmits the lost segment. It then sets the congestion window to half the original size for multiplicative decrease. This allows TCP to realize AIMD and avoid timeouts after single losses.
Lecture 19 22. transport protocol for ad-hoc Chandra Meena
This document discusses transport layer protocols for mobile ad hoc networks (MANETs). It begins with an introduction to MANETs and the need for new network architectures and protocols to support new types of networks. It then provides an overview of TCP/IP and how TCP works, including congestion control mechanisms. The document discusses challenges for TCP over wireless networks, where packet losses are often due to errors rather than congestion. It covers different versions of TCP and their approaches to congestion control. The goal is to design transport layer protocols that can address the unreliable links and frequent topology changes in MANETs.
This document discusses various data link layer protocols for flow control. It describes an unrestricted simplex protocol with infinite buffer capacity and no need for flow control. For a simplex stop-and-wait protocol, a sequence number is needed to distinguish frames when the channel is noisy. A simplex protocol for a noisy channel uses positive acknowledgement and retransmission. This becomes a duplex channel, requiring a type field and ability to piggyback acknowledgements. A sliding window protocol maintains a sender and receiver window of allowed sequence numbers. It provides flexibility while ensuring ordered delivery to the network layer. Different sliding window protocols are examined, including ones using go-back-N and selective repeat.
The document discusses slow start and congestion avoidance in TCP/IP. It begins by explaining the problems that slow start addresses, such as routers getting overloaded when a sender injects multiple segments before knowing the network conditions. Slow start solves this by starting transmission with a congestion window of one segment and exponentially increasing the window as acknowledgments are received. Congestion avoidance is then discussed, including how packet loss indicates the network is congested and transmission must slow down. The procedures of slow start, congestion avoidance, and how they work together are then outlined.
sliding window protocol for datalink layer.pptManimegalaM3
The document discusses various techniques for reliable data transmission over networks including acknowledgements, timeouts, stop-and-wait, and sliding window algorithms. It explains that sliding window protocols allow multiple outstanding packets using sequence numbers and buffering at the sender and receiver. The receiver's window size limits how many packets the sender can transmit before receiving acknowledgements.
1) Congestion occurs when there are too many sources sending too much data too fast for the network to handle, leading to lost packets and long delays. TCP uses congestion control to address this problem.
2) TCP uses Additive Increase Multiplicative Decrease (AIMD) congestion control, where it slowly increases the transmission rate and halves it upon detecting packet loss, exhibiting a sawtooth pattern.
3) Key TCP congestion control mechanisms include slow start for initial exponential increase, fast retransmit to quickly retransmit lost packets based on duplicate ACKs, and fast recovery to resume transmission after a fast retransmit.
High performance browser networking ch1,2,3Seung-Bum Lee
Presentation material including summary of "High Performance Browser Networking" by Ilya Grigorik. This book includes very good summary of computer network not only for internet browsing but also multimedia streaming.
1) The document discusses computer networks and transport layer protocols. It describes how transport layer protocols provide logical communication between processes on different hosts and how they deliver data segments to the correct socket through demultiplexing.
2) It explains the concepts of connectionless and connection-oriented multiplexing and demultiplexing. For connectionless protocols like UDP, ports are used to identify sockets while TCP uses a four-tuple of source/destination IP and port numbers.
3) The document discusses reasons for using UDP like finer application control, no connection establishment delay, and smaller packet overhead compared to TCP. It also covers UDP checksums and limitations in not providing reliability.
This document discusses transport layer protocols for ad hoc wireless networks. It first outlines the objectives of transport layer protocols, which include setting up end-to-end connections, delivering data packets reliably, and controlling flow and congestion. It then describes how traditional protocols like UDP and TCP are not suitable for wireless networks due to issues like frequent path breaks, network partitioning, and interference. The document proposes several approaches to improve transport layer performance in wireless networks, including splitting transport layer functions, using end-to-end approaches, and employing explicit link failure notification to handle breaks more efficiently. Key challenges for transport protocols in wireless ad hoc networks involve addressing mobility, interference and unreliable links.
The document provides an overview of network infrastructure components including networking hardware, software, and services. It then discusses several key network protocols including TCP, IP, routing protocols, and DNS. It provides details on the OSI model and describes each layer including typical functions, protocols, and vulnerabilities. For TCP and IP, it outlines the basic operation including packet formatting, connection establishment, flow control, congestion control, and error handling.
This document summarizes a lecture on computer networks and error control. It discusses topics like Hamming codes, cyclic redundancy checks (CRCs), stop-and-wait protocols, automatic repeat request (ARQ) protocols, and sliding window protocols. The reading assignment is chapter 3 of the Tanenbaum textbook and the lecture will cover error control, error and flow control, and how layer 2 protocols implement these functions using frames, headers, trailers, and checksums.
The document discusses flow control in TCP. It explains that TCP uses a sliding window mechanism for flow control to balance the sender's transmission rate with the receiver's reception rate. The size of the sliding window is determined by the receiver's advertised window size and the congestion window size. TCP provides reliable, in-order delivery of data segments through error control methods like checksums, acknowledgements, and retransmissions. It also addresses problems like delayed ACKs, silly window syndrome, and solutions to improve TCP transmission efficiency.
1) IPv4 addresses are running out as the number of internet devices grows exponentially. IPv6 is needed to support continued growth.
2) IPv6 is already deployed on large networks like Google and Verizon Wireless and works well, with over 50% of traffic delivered via IPv6 to some sites.
3) IPv6-only networks can support all applications, including those requiring IPv4 like Skype, through technologies like NAT64 and 464XLAT address translation which allow IPv6-only devices to access IPv4 internet resources.
I pv6 migration_strategies_for_mobile_networks_whitepaperAbdo sayed
This white paper discusses IPv6 migration strategies for mobile networks using 464XLAT. 464XLAT allows mobile operators to transition to an IPv6-only network while still providing IPv4 services. It combines stateful NAT64 translation, stateless translation on user devices, and DNS64. This provides IPv4 connectivity across an IPv6 network for all applications in a simple, scalable way. 464XLAT reduces costs for mobile operators by minimizing traffic that must pass carrier-grade NAT. It also ensures a high quality experience for users as both IPv4 and IPv6 applications and websites are supported.
The document discusses TCP congestion control algorithms. It describes the Additive Increase Multiplicative Decrease (AIMD) approach where the congestion window (cwnd) is increased linearly but reduced by half when packet loss is detected. Slow start is used to quickly ramp up cwnd initially through exponential growth. Fast retransmit detects lost packets using duplicate ACKs to retransmit earlier. Fast recovery then resumes increasing cwnd after a retransmit. The document also examines algorithms for adaptive retransmission timeouts based on mean and variance of measured round-trip times.
This document contains the agenda for a workshop on Multi-Gbps TCP. The workshop includes presentations on high speed networks, LHC networks, TCP/AQM protocols and their duality model, control theory and stability of TCP/AQM, FAST simulations, and related TCP kernel projects. Presentations will be given by researchers from Caltech, CERN, UCLA, and INRIA on topics such as TCP protocols, active queue management, stability analysis, and simulations. There will also be discussion periods following some of the presentations.
This document discusses TCP performance issues in wireless networks and proposed solutions. TCP assumes packet loss is due to congestion, but in wireless networks it can also be due to errors, handoffs, or reordering. TCP's congestion responses are often triggered inappropriately in wireless networks. Several solutions are proposed, including link layer protocols that shield TCP from wireless losses, modified TCP end-to-end protocols, and split connection approaches. Explicit loss notification and selective acknowledgments help TCP perform better over lossy wireless links.
The document discusses TCP congestion control algorithms. It describes the Additive Increase Multiplicative Decrease (AIMD) approach where the congestion window (cwnd) is increased linearly but reduced by half when packet loss is detected. Slow start is used to quickly ramp up cwnd initially through exponential growth. Fast retransmit detects lost packets using duplicate ACKs to retransmit earlier. Fast recovery then resumes increasing cwnd after a retransmit. The document also examines algorithms for adaptive retransmission timeouts based on mean and variance of measured round-trip times.
Main Java[All of the Base Concepts}.docxadhitya5119
This is part 1 of my Java Learning Journey. This Contains Custom methods, classes, constructors, packages, multithreading , try- catch block, finally block and more.
it describes the bony anatomy including the femoral head , acetabulum, labrum . also discusses the capsule , ligaments . muscle that act on the hip joint and the range of motion are outlined. factors affecting hip joint stability and weight transmission through the joint are summarized.
How to Fix the Import Error in the Odoo 17Celine George
An import error occurs when a program fails to import a module or library, disrupting its execution. In languages like Python, this issue arises when the specified module cannot be found or accessed, hindering the program's functionality. Resolving import errors is crucial for maintaining smooth software operation and uninterrupted development processes.
This presentation was provided by Steph Pollock of The American Psychological Association’s Journals Program, and Damita Snow, of The American Society of Civil Engineers (ASCE), for the initial session of NISO's 2024 Training Series "DEIA in the Scholarly Landscape." Session One: 'Setting Expectations: a DEIA Primer,' was held June 6, 2024.
বাংলাদেশের অর্থনৈতিক সমীক্ষা ২০২৪ [Bangladesh Economic Review 2024 Bangla.pdf] কম্পিউটার , ট্যাব ও স্মার্ট ফোন ভার্সন সহ সম্পূর্ণ বাংলা ই-বুক বা pdf বই " সুচিপত্র ...বুকমার্ক মেনু 🔖 ও হাইপার লিংক মেনু 📝👆 যুক্ত ..
আমাদের সবার জন্য খুব খুব গুরুত্বপূর্ণ একটি বই ..বিসিএস, ব্যাংক, ইউনিভার্সিটি ভর্তি ও যে কোন প্রতিযোগিতা মূলক পরীক্ষার জন্য এর খুব ইম্পরট্যান্ট একটি বিষয় ...তাছাড়া বাংলাদেশের সাম্প্রতিক যে কোন ডাটা বা তথ্য এই বইতে পাবেন ...
তাই একজন নাগরিক হিসাবে এই তথ্য গুলো আপনার জানা প্রয়োজন ...।
বিসিএস ও ব্যাংক এর লিখিত পরীক্ষা ...+এছাড়া মাধ্যমিক ও উচ্চমাধ্যমিকের স্টুডেন্টদের জন্য অনেক কাজে আসবে ...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...RitikBhardwaj56
Discover the Simplified Electron and Muon Model: A New Wave-Based Approach to Understanding Particles delves into a groundbreaking theory that presents electrons and muons as rotating soliton waves within oscillating spacetime. Geared towards students, researchers, and science buffs, this book breaks down complex ideas into simple explanations. It covers topics such as electron waves, temporal dynamics, and the implications of this model on particle physics. With clear illustrations and easy-to-follow explanations, readers will gain a new outlook on the universe's fundamental nature.
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Dr. Vinod Kumar Kanvaria
Exploiting Artificial Intelligence for Empowering Researchers and Faculty,
International FDP on Fundamentals of Research in Social Sciences
at Integral University, Lucknow, 06.06.2024
By Dr. Vinod Kumar Kanvaria
This presentation includes basic of PCOS their pathology and treatment and also Ayurveda correlation of PCOS and Ayurvedic line of treatment mentioned in classics.
Executive Directors Chat Leveraging AI for Diversity, Equity, and InclusionTechSoup
Let’s explore the intersection of technology and equity in the final session of our DEI series. Discover how AI tools, like ChatGPT, can be used to support and enhance your nonprofit's DEI initiatives. Participants will gain insights into practical AI applications and get tips for leveraging technology to advance their DEI goals.
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Tcp (1)
1. TCP for wireless networks
CS 444N, Spring 2002
Instructor: Mary Baker
Computer Science Department
Stanford University
2. Spring 2002 CS444N 2
Problem overview
• Packet loss in wireless networks may be due to
– Bit errors
– Handoffs
– Congestion (rarely)
– Reordering (rarely, except for certain types of wireless
nets)
• TCP assumes packet loss is due to
– Congestion
– Reordering (rarely)
• TCP’s congestion responses are triggered by wireless
packet loss but interact poorly with wireless nets
3. Spring 2002 CS444N 3
TCP congestion detection
• TCP assumes timeouts and duplicate acks indicate
congestion or (rarely) packet reordering
• Timeout indicates packet or ack was lost
• Duplicate acks may indicate packet reordering
– Acks up through last successful in-order packet received
– Called a “cumulative” ack
– After three duplicate acks, assume packet loss, not
reordering
– Receipt of duplicate acks means some data is still flowing
4. Spring 2002 CS444N 4
Responses to congestion
• Basic timeout and retransmission
– If sender receives no ack for data sent, timeout and retransmit
– Exponential back-off
– Timeout value is sum of smoothed RT delay and 4 X mean deviation
– (Timeout value based on mean and variance of RTT)
• Congestion “avoidance” (really congestion control)
– Uses congestion window (cwnd) for more flow control
– Cwnd set to 1/2 of its value when congestion loss occurred
– Sender can send up to minimum of advertised window and cwnd
– Use additive increase of cwnd (at most 1 segment each RT)
– Careful way to approach limit of network
5. Spring 2002 CS444N 5
Responses to congestion, continued
• Slow start – used to initiate a connection
– In slow start, set cwnd to 1 segment
– With each ack, increase cwnd by a segment (exponential increase)
– Aggressive way of building up bandwidth for flow
– Also do this after a timeout – aggressive drop in offered load
– Switch to regular congestion control once cwnd is one half of what it
was when congestion occurred
• Fast retransmit and fast recovery
– After three duplicate acks, assume packet loss, data still flowing
– Sender resends missing segment
– Set cwnd to ½ of current cwnd plus 3 segments
– For each duplicate ack, increment cwnd by 1 (keep flow going)
– When new data acked, do regular congestion avoidance
6. Spring 2002 CS444N 6
Other problems in a wireless environment
• There are often bursts of errors due to poor signal
strength in an area or duration of noise
– More than one packet lost in TCP window
• Delay is often very high, although you usually only
hear about low bandwidth
– RTT quite long
– Want to avoid request/response behavior
7. Spring 2002 CS444N 7
Poor interaction with TCP
• Packet loss due to noise or hand-offs
– Enter congestion control
– Slow increase of cwnd
• Bursts of packet loss and hand-offs
– Timeout
– Enter slow start (very painful!)
• Cumulative ack scheme not good with bursty losses
– Missing data detected one segment at a time
– Duplicate acks take a while to cause retransmission
– TCP Reno may suffer coarse time-out and enter slow start!
• Partial ack still causes it to leave fast recovery
– TCP New Reno still only retransmits one packet per RTT
• Stay in fast recovery until all losses acked
8. Spring 2002 CS444N 8
Multiple losses in window
• Assume cwnd of 10
• 2nd and 5th
packets lost
• 3rd
duplicate ack causes retransmit of 2nd
packet
• Also sets cwnd to 5 + 3 = 8
• Further duplicate acks increment cwnd by 1
• Ack of retransmit is partial ack since packet 5 lost
• In TCP Reno this causes us to leave fast retransmit
• Deflate congestion window to 5, but we’ve sent 11!
10. Spring 2002 CS444N 10
Solution categories
• Entirely new transport protocol
– Hard to deploy widely
– End-to-end protocol needs to be efficient on wired networks too
– Must implement much of TCP’s flow control
• Modifications to TCP
– Maintain end-to-end semantics
– May or may not be backwards compatible
• Split-connection TCP
– Breaks end-to-end nature of protocol
– May be backwards compatible with end-hosts
– State on basestation may make handoffs slow
– Extra TCP processing at basestation
11. Spring 2002 CS444N 11
Solution categories, continued
• Link-layer protocols
– Invisible to higher-level protocols
– Does not break higher-level end-to-end semantics
– May not shield sender completely from packet loss
– May adversely interact with higher-level mechanisms
– May adversely affect delay-sensitive applications
• Snoop protocol
– Does not break end-to-end semantics
– Like a LL protocol, does not completely shield sender
– Only soft state at base station – not essential for
correctness
12. Spring 2002 CS444N 12
Overall points
• Key performance improvements:
– Knowledge of multiple losses in window
– Keeping congestion window from shrinking
– Maybe even avoiding unnecessary retransmissions
• Two basic approaches
– Shield sender from wireless nature of link so it doesn’t
react poorly
– Make sender aware of wireless problems so it can do
something about it
13. Spring 2002 CS444N 13
Link layer protocols investigated
• LL: TCP-ish one with cumulative acks and
retransmit granularity faster than TCP’s
• LL-SMART: addition of selective retransmissions
– Cumulative ack with sequence # of of packet causing ack
• LL-TCP-AWARE: snoop protocol
– At base station cache segments
– Detect and suppress duplicate acks
– Retransmit lost segments locally
• LL-SMART-TCP-AWARE: Combination of
selective acks and duplicate ack suppression
14. Spring 2002 CS444N 14
Link layer results
• Simple retransmission at link layer helps, but not
totally
• Combination of selective acks and duplicate
suppression is best
• Duplicate suppression by itself is good
• Real problem is link layers that allow out-of-order
packet delivery, triggering duplicate acks, fast
retransmission and congestion avoidance in TCP
• Overall, want to avoid triggering TCP congestion
handling techniques
15. Spring 2002 CS444N 15
End-to-end protocols investigated
• E2E (Reno): no support for partial acks
• E2E-NewReno: partial acks allow further packet
retransmissions
• E2E-SACK: ack describes 3 received non-contiguous
ranges
• E2E-SMART: cumulative ack with sequence # of
packet causing ack
– Sender uses info for bitmask of okay packets
– Ignores possibility that holes are due to reordering
– Also problems with lost acks
– Easier to generate and transmit acks
16. Spring 2002 CS444N 16
E2E protocols, continued
• E2E-ELN: explicit loss notification
– Future cumulative acks for packet marked to show non-
congestion loss
– Sender gets duplicate acks and retransmits, but does not
invoke congestion-related procedures
• E2E-ELN-RXMT: retransmit on first duplicate ack
17. Spring 2002 CS444N 17
End-to-end results
• E2E (Reno): coarse-grained timeouts really hurt
– Throughput less than 50% of maximum in local area
– Throughput of less than 25% in wide area
• E2E-New Reno: avoiding timeouts helps
– Throughput 10-25% better in LAN
– Throughput twice as good in WAN
• ELN techniques avoid shrinking congestion window
– Over two times better than E2E
• E2E-ELN-RXMT only a little better than E2E-ELN
– Enough data in pipe usually to get fast retransmit from ELN
– Bigger difference with smaller buffer size
• Not as much data in pipe (harder to get 3 duplicate acks)
18. Spring 2002 CS444N 18
E2E results continued
• E2E selective acks:
– Over twice as good as E2E
– Not as good as best LL schemes (10% worse on LAN,
35% worse in WAN)
– Problem is still shrinkage of congestion window
• Haven’t tried combo of ELN techniques with
selective acks
– ELN implementation in paper still allows timeouts
– No information about multiple losses in window
19. Spring 2002 CS444N 19
Split connection protocols
• Attempt to isolate TCP source from wireless losses
– Lossy link looks like robust but slower BW link
• TCP sender over wireless link performs all retransmissions in
response to losses
• Base station performs all retransmissions
• What if wireless device is the sender?
• SPLIT: uses TCP Reno over wireless link
• SPLIT-SMART: uses SMART-based selective acks
sender base station wireless
receiver
20. Spring 2002 CS444N 20
Split connection results
• SPLIT:
– Wired goodput 100% since no retransmissions there
– Eventually stalls when wireless link times out
– Buffer space limited at base station
• SPLIT-SMART:
– Throughput better than SPLIT (at least twice as good)
– Better performance of wireless link avoids holding up
wired links as much
• Split connections not as effective as TCP-aware LL
protocol, which also avoids splitting the connection
21. Spring 2002 CS444N 21
Error bursts
• 2-6 packets lost in a burst
• LL-SMART-TCP-AWARE up to 30% better than
LL-TCP-AWARE
• Selective acks help in face of error bursts
22. Spring 2002 CS444N 22
Error rate effect
• At low error rates (1 error every 256 Kbytes) all
protocols do about the same
• At 16 KB error rate, TCP-aware LL schemes about 2
times better than E2E-SMART and about 9 times
better than TCP Reno
• E2E-SACK and SMART at high error rates:
– Small cwnd
– SACK won’t retransmit until 3 duplicate acks
– So no retransmits if window < 4 or 5
– Sender’s window often less than this, so timeouts
– SMART assumes no reordering of packets and retransmits
with first duplicate ack
23. Spring 2002 CS444N 23
Overall results
• Good TCP-aware LL shields sender from duplicate acks
– Avoids redundant retransmissions by sender and base station
– Adding selective acks helps a lot with bursty errors
• Split connection with standard TCP shields sender from
losses, but poor wireless link still causes sender to stall
– Adding selective acks over wireless link helps a lot
– Still not as good as local LL improvement
• E2E schemes with selective acks help a lot
– Still not as good as best LL schemes
• Explicit loss E2E schemes help (avoid shrinking congestion
window) but should be combined with SACK for multiple
packet losses
24. Spring 2002 CS444N 24
Fast handoff proposals
• Multicast to old and new stations
– Assumes extra support in network
– Some concern about load on base stations
• Hierarchical foreign agents
– Mobile host moves within an organization
– Notifies only top-level foreign agent, rather than home
agent
– Home agent talks to top-level foreign agent, which doesn’t
change often
– Requires foreign agents, extra support in network
• 10-30ms handoffs possible with buffering /
retransmission at base stations
25. Spring 2002 CS444N 25
Explicit loss notification issues
• Receiver gets corrupted packet
• Instead of dropping it, TCP gets it, generates ELN
message with duplicate ack
• What if header corrupted? Which TCP gets it?
– Use FEC?
• Entire packet dropped?
– Base station generates ELN messages to sender with ack
stream
– What if wireless node is the sender?
26. Spring 2002 CS444N 26
Conclusions / questions
• Not everyone believes in TCP fast retransmission
– Error bursts may be due to your location
– Maybe it doesn’t change fast enough to warrant quick
retransmission
– A waste of power and channel
• Can information from link level be used by TCP?
– Time scale may be such that by the time TCP or app adjust
to information, it’s already changed
• Really need to consider trade offs of packet size,
power, retransmit adjustments
– Worth increasing the power for retransmission?
– Worth shrinking the packet size?
27. Spring 2002 CS444N 27
Network asymmetry
• Network is asymmetric with respect to TCP performance if
the throughput achieved is not just a function of the link and
traffic characteristics of the forward direction, but depends
significantly on those of the reverse direction as well.
• TCP affected by asymmetry since its forward
progress depends on timely receipt of acks
• Types of asymmetry
– Bandwidth
– Latency
– Media-access
– Packet error rate
– Others? (cost, etc.)
28. Spring 2002 CS444N 28
BW asymmetry: one-way transfers
• Normalized bandwidth ratio between forward and reverse
paths:
– Ratio of raw bandwidths divided by ratio of packet sizes used
• Example:
– 10 Mbps forward channel and 100 Kbps back link: ratio of
bandwidths is 100
– 1000-byte data packets and 40-byte acks: packet size ratio is 25
– Normalized bandwidth ratio is 100/25 = 4
– Implies there cannot be more than 1 ack for every 4 packets before
back link is saturated
– Breaks ack clocking: acks get spaced farther apart due to queuing at
bottleneck link
29. Spring 2002 CS444N 29
BW asymmetry: two-way transfers
• Acks in one direction encounter saturated channel
• Acks in one direction get queued up behind large
slow packets of other direction
• With slow reverse channel already saturated, forward
channel only makes progress when TCP on reverse
channel loses packets and slows down
30. Spring 2002 CS444N 30
Latency asymmetry in packet radio networks
• Multiple hops
– Not necessarily same path through network
• Half-duplex radios
– Cannot send and receive at same time
– Must do “turn-around”
• Overhead per packet is slow due to MAC protocol
– If you want to send to another radio, must first ask
permission
– Other radio may be busy (ack interference, for example)
– Causes great variability in delays
– Great variability causes retransmission timer to be set high
31. Spring 2002 CS444N 31
Solution: Ack congestion control
• Treat acks for congestion too
– Gateway to weak link looks at queue size
– If average size > threshold, set explicit congestion notification bit on a
random packet
– Sender reduces rate upon seeing this packet (Do we want this?!)
– Receiver delays acks in response to these packets
– New TCP option to get sender’s window size – need >= 1 ack per
sender window
– Requires gateway support and end-point modification
– How can you tell ECN’s coming back aren’t for congestion along that
link?
sender
GW
receiver
ECN bit
32. Spring 2002 CS444N 32
Solution: ack filtering
• Gateway removes some (possibly all) acks sitting in
queue if appropriate cumulative ack is enqueued
• Requires no per-connection state at router
router6 5 4 3 2 1
6
33. Spring 2002 CS444N 33
Problems with ack-reducing techniques
• Sender burstiness
– One ack acknowledges many packets
– Many more packets get sent out at once
– More likely to lose packets
• Slower congestion window growth
– Many TCP increase window based on # of acks and not
what they ack
• Disruption of fast retransmit algorithm since not
enough acks
• Loss of a now rare ack means long idle periods on
sender
34. Spring 2002 CS444N 34
Solution: sender adaptation
• Used in conjunction with ACC and AF techniques
• Sender looks at amount of data acked rather than # of
acks
– Ties window growth only to available BW in forward
direction. Acks irrelevant.
• Counter burstiness with upper bound on # of packets
transmitted back-to-back, regardless of window
• Solve fast retransmit problem by explicit marking of
duplicate acks as requiring fast retransmit
– By receiver in ACC
– By reverse channel router in AF
35. Spring 2002 CS444N 35
Solution: ack reconstruction
• Local technique
• Improves use of previous techniques where sender
has not been adapted
• Reconstructor inserts acks and spaces them so they
will cause sender to perform well (good window, not
bursty)
• Hold back some acks long enough to insert
appropriate number of acks
• Preserves end-to-end nature of connection
• Trade-off is longer RTT estimate at sender
36. Spring 2002 CS444N 36
Solution: scheduling data and acks
• 2way transfers: data and acks compete for resources
• Two data packets together block an ack for a long
time (sent in pairs during slow start)
• Router usually has both in one FIFO queue
• Try ack-first scheduling on router
– With header compression, delay of ack is small for data
– Unless on packet radio network!
– Gateway does not need to differentiate between different
TCP connections
– Prevents starvation on forward transfer from data of
reverse transfer
37. Spring 2002 CS444N 37
Overall results: 1-way, lossless
• C-SLIP can help a lot
– Improves from 2Mbps to 7Mbps out of 10Mbps for Reno
on 9.6Kbps channel
– On 28.8Kbps channel, Reno and C-slip solves problem
• Ack filtering and congestion control help when
normalized ratio is large and reverse buffer is small
• Ack congestion control never as good as ack filtering
• Ack congestion control doesn’t work well with large
reverse buffer
– Does not kick in until the number of reverse acks is a large
fraction of the queue
– Time in queue is still big, so larger RTT
38. Spring 2002 CS444N 38
Overall results: 1-way, lossy
• AF without SA or AR is worse than normal Reno in
terms of throughput, due to sender burstiness, etc.
• ACC is still not a good choice
• AF/AR has longer RTT
– 97ms compared to 65 for AF/SA
• But much better throughput
– 8.57Mbps compared to 7.82
– Due to much larger cwnd
39. Spring 2002 CS444N 39
Results: 2-way transfers, 2nd
started after
• Reno gets best aggregate throughput, but at total loss
of fairness
– It never lets reverse transfer into the game
– 1st
connection’s acks fill up reverse channel
• ACC still in between
• AF gets fairness of almost equal throughput per
connection (0.99 fairness index)
40. Spring 2002 CS444N 40
Results: 2-way transfers, simultaneous
• Reno 20% of runs:
– Same problem with acks filling channel
• Reno 80% of runs:
– If any reverse data packets make it into queue, acks of forward
connect are delayed and cause timeouts
– Gives other direction some room
– Still not very fair
• AF: poor throughput on forward transfer, near optimal on
reverse transfer
– With FIFO scheduling, acks of forward transfer stuck behind data
– Reverse connection continues to build window, so even more data
packets to queue behind
41. Spring 2002 CS444N 41
Results, continued
• ACC with RED does much better!
– RED prevents reverse transfer from filling up reverse GW
with data
– Reverse connection sustains good throughput without
growing window to more than 1-2 packets
– Still a few side-by-side data packets on link
• ACC with acks-1st
scheduling takes care of this
problem
• AF with acks-1st
scheduling
– Starvation of data packets of reverse transfer
– Always an ack waiting to be sent in queue
42. Spring 2002 CS444N 42
Results: latency in multi-hop network
• At link layer, piggy back acks with data frames
– Avoids extra link-layer radio turnarounds
• With single and multiple transfers
– AF/SA outperforms Reno
– Fairness much better with AF/SA
– Also better utilization of network
– Due to fewer interfering packets
43. Spring 2002 CS444N 43
Results: combined technologies
• Getting a little exotic
• “Web-like” benchmark
– Request followed by four large transfers back to client
– 1 to 50 hosts requesting transfers
• ACC not as good as AF in overall transaction time
– Shorter transfer lengths so sender’s window not large
– ACC can’t be performed much
– AF also reduces number of acks and hence removes the
variability associated with those packets
44. Spring 2002 CS444N 44
Implementation
• Acks queued in on-board memory on modem rather
than in OS
– Makes AF hard
45. Spring 2002 CS444N 45
Real measurements of packet network
• Round-trip TCP delays from 0.2 seconds to several seconds
– Even minimum delay is noticeable to users
– Median delay about ½ second
• A lot of retransmissions (25.6% packet loss!)
– 80% of requests transmitted only once
– 10% retransmitted once
– 2% retransmitted twice
– 1 packet retransmitted 6 times
• Less packet loss in reverse direction (3.6%)
– Mobiles finally get packet through to poletop when conditions are ok
– Poletop likely to respond while conditions are still good
46. Spring 2002 CS444N 46
Packet reordering
• Packets arrive out of order
– Different paths through the poletops
– Average out-of-order distance > 3 so packets treated as
lost
– Fair amount of packet reordering: 2.1% to 5.1% of packets
47. Spring 2002 CS444N 47
Conclusions / questions
• Is it worth using severely asymmetric links?
• Header compression helps a lot in many
circumstances
• Except for some bidirectional traffic problems