This command allows you
to configure the TCP parameters.
Platform:
ASR 5000
ASR 5500
Privilege:
Security Administrator,
Administrator
Syntax
tcp { bandwidth { bandwidth_kbps | dynamic } | buffer-size { downlink | uplink } buffer_size_kb | congestion-control { basic | vegas | westwood-plus } | fast-retransmit-dupacks { duplicate_acks | dynamic } | handoff-optimization | initial-window { initial_window | dynamic
bdp-percent bdp_percent | rfc5681 } | mss mss | pacing | rto { retrans-backoff { 1.0 | 1.5 | 2.0 } | rttvar-scaling scaling_factor } }default tcp { bandwidth | buffer-size { downlink | uplink } | congestion-control | fast-retransmit-dupacks | handoff-optimization | initial-window | mss | pacing | rto { retrans-backoff | rttvar-scaling } }no tcp { bandwidth | handoff-optimization | pacing }
no
Removes/disables
the specified configuration.
default
Configures this command
with the default setting for the specified parameter.
Default:
-
bandwidth:
No known bandwidth limit
-
buffer-size:
- downlink:
128 KB
- uplink: 32
KB
-
congestion-control:
basic
-
fast-retransmit-dupacks:
3
-
handoff-optimization:
Disabled
-
initial-window:
rfc5681
-
mss: 536
bytes
-
pacing: Disabled
-
rto:
- retrans-backoff:
2.0
- rttvar-scaling: 2
bandwidth { bandwidth_kbps | dynamic }
Specifies bandwidth,
which is used by TCP to optimize the data transfer rate.
- bandwidth_kbps specifies
the maximum available bandwidth for a TCP flow, in kbps, and must
be an integer from 1 through 100000.
- dynamic specifies
the use of a value that is computed dynamically at runtime.
Default: No known bandwidth
limit, same as no
tcp bandwidth command.
buffer-size { downlink | uplink } buffer_size_kb
Specifies the socket
send and receive buffer size for uplink/downlink traffic.
- downlink:
Specifies the maximum amount of data that can be buffered inside
TCP Proxy in downlink direction for each TCP connection. When the
amount of data buffered in TCP Proxy in downlink direction reaches
this limit, TCP Proxy sets receive window size in TCP header to
0 towards TCP server.
- uplink: Specifies
the maximum amount of data that can be buffered inside TCP Proxy
in uplink direction for each TCP connection. When the amount of data
buffered in TCP Proxy in uplink direction reaches this limit, TCP
Proxy sets receive window size in TCP header to 0 towards TCP client.
buffer_size_kb specifies
the buffer size, in kilobytes, an must be an integer from 4 through
8192.
congestion-control { basic | vegas | westwood-plus }
Specifies the TCP congestion-control
algorithm to use.
- basic: Use
the basic TCP congestion-control algorithm.
- vegas: Use
the Vegas TCP congestion-control algorithm.
- westwood-plus:
Use the Westwood-plus TCP congestion-control algorithm.
Default: basic
fast-retransmit-dupacks { duplicate_acks | dynamic }
Specifies the number
of duplicate ACKs required for fast retransmission.
- duplicate_acks:
Specifies the number of duplicate ACKs that will trigger a fast-retransmit
of the missing segment. After the specified number of duplicate
ACKs is received, it is assumed that the segment was lost and is retransmitted.duplicate_acks must
be an integer from 1 through 10. Default: 3
-
dynamic: In 12.0 and earlier releases,
this keyword dynamically changes the number of duplicate ACKs required
for fast retransmission based on the number of in-flight packets
(one-third of the in-flight packets, subject to a minimum of two).
This helps to eliminate spurious retransmissions when packet reordering
in the network is high.
In 12.2 and later releases,
this keyword dynamically changes the number of duplicate ACKs required
for fast retransmission based on the number of in-flight packets,
and controls the actions taken on D-SACK detection.
If the dynamic keyword
is not configured, D-SACK detection takes place, but no action is
taken.
IMPORTANT:
If the client does not
support SACK, the behavior falls back to the behavior as described
for earlier releases.
For
information on D-SACK Support, refer to the Traffic Performance Optimization Administration
Guide.
handoff-optimization
Enables handoff detection
and relevant processing by TCP.
Default: Disabled
initial-window { initial_window | dynamic
bdp-percent bdp_percent | rfc5681 }
Specifies the initial
window size for a TCP session.
- initial_window:
Specifies the initial-window as Maximum Segment Size (MSS), and
must be an integer from 1 through 255.
- dynamic bdp-percent bdp_percent:
Use a dynamically computed value at runtime, that is calculated
as a percentage of bandwidth-delay product (BDP).bdp_percent must
be an integer from 1 through 100.Bandwidth information
is dynamically derived from the bandwidth command.
The delay is calculated using the SYN-ACK exchange. If bandwidth
information is not available, this configuration has no effect (behavior
will be same as the default setting).
- rfc5681:
Use a value recommended by RFC 5681, which will vary from 2 through
4 based on MSS.
Default: rfc5681
mss mss
Specifies the Maximum
Segment Size (MSS), in bytes.
mss must
be an integer from 248 through 65535.
Default: 536 bytes
pacing
Enables TCP Pacing.
Under some conditions
(typically at the end of fast-recovery) a single ACK is received, which
acknowledges huge amounts of data. Because of this, the sliding-window
suddenly shifts to the right, causing the sender to burst huge amount
of data into the network at one shot; this typically triggers a
tail-drop (loss of series of packets) at the bottleneck router.
Huge data bursts can also occur due to other factors, such as ACK
compression. TCP Pacing causes the sender to evenly distribute the
window of data over an entire round-trip time (RTT).
Default: Disabled
rto { retrans-backoff { 1.0 | 1.5 | 2.0 } | rttvar-scaling scaling_factor }
Specifies Retransmission
Timeout (RTO) settings.
-
retrans-backoff { 1.0 | 1.5 | 2.0 }Specifies the RTO back-off
factor. Once retransmission timeout RTO fires for a packet, TCP will
retransmit that packet and set the RTO to be a factor X, specified
here, of the previous RTO.Default: 2.0
1.0: Use
backoff factor 1.0.
1.5: Use
backoff factor 1.5.
2.0: Use
backoff factor 2.0.
-
rttvar-scaling scaling_factorSpecifies the scaling
factor for Round Trip Time Variation (RTTVAR).The configured scaling
factor is used as a power of 2, so values of 0 through 4 correspond
to 1, 2, 4, 8, and 16. RTO is calculated in TCP using following
formula:RTO = SRTT + K*RTTVARwhere:
- SRTT = mean
Round Trip Time (RTT)
- RTTVAR = Round
Trip Time Variation
As wireless networks
exhibit high RTT variation, the value of K is made configurable.
The value of K decides the extent to which RTO timer depends on
RTT variance. If RTT variance is higher, then K should be higher.scaling_factor must
be an integer from 0 through 4.Default: 2
Usage:
Use this command to
configure TPO TCP parameters.
Example:
The following command
configures the initial window size for a TCP session to
100:
tcp initial-window 100