Guest

Cisco IOS Software Releases 12.3 T

TCP Congestion Avoidance

Table Of Contents

TCP Congestion Avoidance

Contents

Additional References

Related Documents

MIBs

Technical Assistance

Command Reference

debug ip tcp transactions


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

Release
Modification

12.3(7)T

This feature was introduced.


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

Command Reference

Additional References

The following sections provide references related to the TCP Congestion Avoidance feature.

Related Documents

Related Topic
Document Title

Debug commands

Cisco IOS Debug Command Reference, Release 12.3 T


MIBs

MIBs
MIBs Link

None

To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs


Technical Assistance

Description
Link

Technical Assistance Center (TAC) home page, containing 30,000 pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.

http://www.cisco.com/public/support/tac/home.shtml


Command Reference

This section documents the modified debug ip tcp transactions command only.

debug ip tcp transactions

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

Release
Modification

11.0

This command was introduced.

12.3(7)T

The command output was enhanced to account for the following conditions: TCP entering Fast Recovery mode, duplicate acknowledgements being received during Fast Recovery mode, and partial acknowledgements being received.


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 transactions

TCP: sending SYN, seq 168108, ack 88655553
TCP0: Connection to 10.9.0.13:22530, advertising MSS 966
TCP0: 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 956
TCP0: restart retransmission in 5996
TCP0: state was SYNRCVD -> ESTAB [23 -> 10.9.0.13(22530)]
TCP2: restart retransmission in 10689
TCP2: restart retransmission in 10641
TCP2: restart retransmission in 10633
TCP2: 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 - 33884268765

The 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 - 33884268765 
TCP0:partial ACK received sndcwnd:338842495

Table 1 describes the significant fields shown in the display.

Table 1 debug ip tcp transactions Field Descriptions 

Field
Description

TCP

Indicates that this is a TCP transaction.

sending SYN

Indicates that a synchronize packet is being sent.

seq 168108

Indicates the sequence number of the data being sent.

ack 88655553

Indicates the sequence number of the data being acknowledged.

TCP0

Indicates the TTY number (0, in this case) with which this TCP connection is associated.

Connection to 10.9.0.13:22530

Indicates the remote address with which a connection has been established.

advertising MSS 966

Indicates the maximum segment size that this side of the TCP connection is offering to the other side.

state was LISTEN -> SYNRCVD

Indicates that the TCP state machine changed state from LISTEN to SYNRCVD. Possible TCP states that ca follow are:

CLOSED—Connection closed.

CLOSEWAIT—Received a FIN segment.

CLOSING—Received a FIN/ACK segment.

ESTAB—Connection established.

FINWAIT 1—Sent a FIN segment to start closing the connection.

FINWAIT 2—Waiting for a FIN segment.

LASTACK—Sent a FIN segment in response to a received FIN segment.

LISTEN—Listening for a connection request.

SYNRCVD—Received a SYN segment and responded.

SYNSENT—Sent a SYN segment to start connection negotiation.

TIMEWAIT—Waiting for the network to clear segments for this connection before the network no longer recognizes the connection as valid. This must occur before a new connection can be set up.

[23 -> 10.9.0.13(22530)]

The elements within these brackets are as follows:

The first field (23) indicates the local TCP port.

The second field (10.9.0.13) indicates the destination IP address.

The third field (22530) indicates the destination TCP port.

restart retransmission in 5996

Indicates the number of milliseconds until the next retransmission takes place.

sndcwnd - 512

Indicates the size of the send congestion window.

snd_last - 33884268765

Indicates the size of the last window.