Table Of Contents
TCP Congestion Avoidance
The TCP Congestion Avoidance feature enables the monitoring of acknowledgement packets to the TCP sender when multiple packets are lost in a single window of data. Previously the sender would exit Fast-Recovery mode, wait for three or more duplicate acknowledgement packets before retransmitting the next unacknowledged packet, or wait for the retransmission timer to slow start. This could lead to performance issues.
To monitor the acknowledgement packets, the output of the debug ip tcp transactions command has been enhanced to show the following conditions:
•
TCP entering Fast Recovery mode.
•
Duplicate acknowledgements being received during Fast Recovery mode.
•
Partial acknowledgements being received.
Feature History for TCP Congestion Avoidance
Finding Support Information for Platforms and Cisco IOS Software Images
Use Cisco Feature Navigator to find information about platform support and Cisco IOS software image support. Access Cisco Feature Navigator at http://www.cisco.com/go/fn. You must have an account on Cisco.com. If you do not have an account or have forgotten your username or password, click Cancel at the login dialog box and follow the instructions that appear.
Contents
Additional References
The following sections provide references related to the TCP Congestion Avoidance feature.
Related Documents
Related Topic Document TitleDebug commands
Cisco IOS Debug Command Reference, Release 12.3 T
MIBs
MIBs MIBs LinkNone
To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:
Technical Assistance
Command Reference
This section documents the modified debug ip tcp transactions command only.
debug ip tcp transactions
To display information on significant TCP transactions such as state changes, retransmissions, and duplicate packets, use the debug ip tcp transactions command in privileged EXEC mode. To disable debugging output, use the no form of this command.
debug ip tcp transactions
no debug ip tcp transactions
Syntax Description
This command has no arguments or keywords.
Command Modes
Privileged EXEC
Command History
Usage Guidelines
This command is particularly useful for debugging a performance problem on a TCP/IP network that you have isolated above the data-link layer.
The debug ip tcp transactions command displays output for packets that the router sends and receives, but does not display output for packets that it forwards.
Examples
The following is sample output from the debug ip tcp transactions command:
Router# debug ip tcp transactionsTCP: sending SYN, seq 168108, ack 88655553TCP0: Connection to 10.9.0.13:22530, advertising MSS 966TCP0: state was LISTEN -> SYNRCVD [23 -> 10.9.0.13(22530)]TCP0: state was SYNSENT -> SYNRCVD [23 -> 10.9.0.13(22530)]TCP0: Connection to 10.9.0.13:22530, received MSS 956TCP0: restart retransmission in 5996TCP0: state was SYNRCVD -> ESTAB [23 -> 10.9.0.13(22530)]TCP2: restart retransmission in 10689TCP2: restart retransmission in 10641TCP2: restart retransmission in 10633TCP2: restart retransmission in 13384 -> 10.0.0.13(16151)]TCP0: restart retransmission in 5996 [23 -> 10.0.0.13(16151)]The following line from the debug ip tcp transactions command output shows that TCP has entered Fast Recovery mode:
fast re-transmit - sndcwnd - 512, snd_last - 33884268765The following lines from the debug ip tcp transactions command output show that a duplicate acknowledgment has been received when in Fast Recovery mode (first line) and a partial acknowledgement has been received (second line):
TCP0:ignoring second congestion in same window sndcwn - 512, snd_1st - 33884268765TCP0:partial ACK received sndcwnd:338842495Table 1 describes the significant fields shown in the display.
Copyright © 2004 Cisco Systems, Inc. All rights reserved.
