[c-nsp] understanding ttcp test results

Martin T m4rtntns at gmail.com
Sat Nov 9 13:30:05 EST 2013


Hi,

I ran a ttcp session with exactly the same parameters between two
Cisco routers in both directions at the same time over a GRE tunnel.
TCP receive window was forced to 65535 bytes because of high bandwidth
delay product on the link. Topology was very simple:

r1[Fa0/0] <-> [Fa0/0]r2

"r1" had IP address 10.255.255.1 and "r2" had IP address 10.255.255.2.

While I expected equal throughput, for some reason, I was able to send
from "r1"  to "r2" at 146 kB/s but from "r2" to "r1" only at 46 kB/s.

What puzzled me the most, was the graph of the "r1" F0/0 port which
received high amount of packets, but at the same time, low amount of
traffic: http://s8.postimg.org/f4bwrhjv9/traffic_pattern.png  Test
period is between the dotted red lines.

In addition, test details can be seen below:

10.255.255.2 TCP port 63219 -> 10.255.255.1 TCP port 5001:

r1#ttcp
transmit or receive [receive]:
perform tcp half close [n]:
receive buflen [8192]: 81920
bufalign [16384]:
bufoffset [0]:
port [5001]:
sinkmode [y]:
rcvwndsize [4128]: 65535
delayed ACK [y]: n
show tcp information at end [n]: y

ttcp-r: buflen=81920, align=16384/0, port=5001
rcvwndsize=65535, delayedack=no  tcp
ttcp-r: accept from 10.255.255.2 (mss 1428, sndwnd 4128, rcvwnd 65535)
ttcp-r: 167772160 bytes in 3426748 ms (3426.748 real seconds) (~46 kB/s) +++
ttcp-r: 95274 I/O calls
ttcp-r: 0 sleeps (0 ms total) (0 ms average)
Connection state is CLOSEWAIT, I/O status: 7, unread input bytes: 0
Connection is ECN Disabled, Mininum incoming TTL 0, Outgoing TTL 255
Local host: 10.255.255.1, Local port: 5001
Foreign host: 10.255.255.2, Foreign port: 63219

Enqueued packets for retransmit: 0, input: 0  mis-ordered: 0 (0 bytes)

Event Timers (current time is 0x6646714):
Timer          Starts    Wakeups            Next
Retrans             1          0             0x0
TimeWait            0          0             0x0
AckHold             0          0             0x0
SendWnd             0          0             0x0
KeepAlive       31950          0       0x6655050
GiveUp              0          0             0x0
PmtuAger            0          0             0x0
DeadWait            0          0             0x0

iss: 2585270323  snduna: 2585270324  sndnxt: 2585270324     sndwnd:   4128
irs: 2772193225  rcvnxt: 2939965387  rcvwnd:      65011  delrcvwnd:    524

SRTT: 38 ms, RTTO: 1842 ms, RTV: 1804 ms, KRTT: 0 ms
minRTT: 304 ms, maxRTT: 304 ms, ACK hold: 200 ms
Flags: passive open, retransmission timeout, gen tcbs, no delayed ACK
  win-scale
IP Precedence value : 0

Datagrams (max data segment is 1428 bytes):
Rcvd: 150760 (out of order: 23429), with data: 118784, total data
bytes: 167772160
Sent: 267487 (retransmit: 0, fastretransmit: 0, partialack: 0, Second
Congestion: 0), with data: 0, total data bytes: 0
r1#


r2#ttcp
transmit or receive [receive]: transmit
Target IP address: 10.255.255.1
perform tcp half close [n]:
send buflen [8192]: 81920
send nbuf [2048]:
bufalign [16384]:
bufoffset [0]:
port [5001]:
sinkmode [y]:
buffering on writes [y]:
show tcp information at end [n]: y

ttcp-t: buflen=81920, nbuf=2048, align=16384/0, port=5001  tcp  -> 10.255.255.1
ttcp-t: connect (mss 1428, sndwnd 65535, rcvwnd 4128)
ttcp-t: 167772160 bytes in 3426380 ms (3426.380 real seconds) (~46 kB/s) +++
ttcp-t: 2048 I/O calls
ttcp-t: 0 sleeps (0 ms total) (0 ms average)
Connection state is ESTAB, I/O status: 1, unread input bytes: 0
Connection is ECN Disabled, Mininum incoming TTL 0, Outgoing TTL 255
Local host: 10.255.255.2, Local port: 63219
Foreign host: 10.255.255.1, Foreign port: 5001
Connection tableid (VRF): 0

Enqueued packets for retransmit: 20, input: 0  mis-ordered: 0 (0 bytes)

Event Timers (current time is 0xB53BDB418):
Timer          Starts    Wakeups            Next
Retrans        123212         68     0xB53BDB427
TimeWait            0          0             0x0
AckHold             0          0             0x0
SendWnd             0          0             0x0
KeepAlive           0          0             0x0
GiveUp              0          0             0x0
PmtuAger            0          0             0x0
DeadWait            0          0             0x0
Linger              0          0             0x0
ProcessQ            0          0             0x0

iss: 2772193225  snduna: 2939937730  sndnxt: 2939965386     sndwnd:  65535
irs: 2585270323  rcvnxt: 2585270324  rcvwnd:       4128  delrcvwnd:      0

SRTT: 312 ms, RTTO: 327 ms, RTV: 15 ms, KRTT: 0 ms
minRTT: 300 ms, maxRTT: 456 ms, ACK hold: 200 ms
Status Flags: active open
Option Flags: win-scale, 0x400000
IP Precedence value : 0

Datagrams (max data segment is 1428 bytes):
Rcvd: 267447 (out of order: 0), with data: 0, total data bytes: 0
Sent: 150691 (retransmit: 68, fastretransmit: 31905, partialack:
27822, Second Congestion: 7), with data: 150689, total data bytes:
212850400
 Packets received in fast path: 0, fast processed: 0, slow path: 0
 Packets send in fast path: 0
 fast lock acquisition failures: 0, slow path: 0
r2#





10.255.255.1 port 59946 -> 10.255.255.2 port 5002:

r2#ttcp
transmit or receive [receive]:
perform tcp half close [n]:
receive buflen [8192]: 81920
bufalign [16384]:
bufoffset [0]:
port [5001]: 5002
sinkmode [y]:
rcvwndsize [4128]: 65535
delayed ACK [y]: n
show tcp information at end [n]: y

ttcp-r: buflen=81920, align=16384/0, port=5002
rcvwndsize=65535, delayedack=no  tcp
ttcp-r: accept from 10.255.255.1 (mss 1428, sndwnd 4128, rcvwnd 65535)
ttcp-r: 167772160 bytes in 1113272 ms (1113.272 real seconds) (~146 kB/s) +++
ttcp-r: 69266 I/O calls
ttcp-r: 0 sleeps (0 ms total) (0 ms average)
Connection state is CLOSEWAIT, I/O status: 7, unread input bytes: 0
Connection is ECN Disabled, Mininum incoming TTL 0, Outgoing TTL 255
Local host: 10.255.255.2, Local port: 5002
Foreign host: 10.255.255.1, Foreign port: 59946
Connection tableid (VRF): 0

Enqueued packets for retransmit: 0, input: 0  mis-ordered: 0 (0 bytes)

Event Timers (current time is 0xB539B8A90):
Timer          Starts    Wakeups            Next
Retrans             1          0             0x0
TimeWait            0          0             0x0
AckHold             0          0             0x0
SendWnd             0          0             0x0
KeepAlive           0          0             0x0
GiveUp              0          0             0x0
PmtuAger            0          0             0x0
DeadWait            0          0             0x0
Linger              0          0             0x0
ProcessQ            0          0             0x0

iss:  563764759  snduna:  563764760  sndnxt:  563764760     sndwnd:   4128
irs: 2193111013  rcvnxt: 2360883175  rcvwnd:      57871  delrcvwnd:   7664

SRTT: 38 ms, RTTO: 1846 ms, RTV: 1808 ms, KRTT: 0 ms
minRTT: 308 ms, maxRTT: 308 ms, ACK hold: 200 ms
Status Flags: passive open, gen tcbs
Option Flags: no delayed ACK, win-scale, 0x400000
IP Precedence value : 0

Datagrams (max data segment is 1428 bytes):
Rcvd: 119267 (out of order: 0), with data: 118784, total data bytes: 167772160
Sent: 235997 (retransmit: 0, fastretransmit: 0, partialack: 0, Second
Congestion: 0), with data: 0, total data bytes: 0
 Packets received in fast path: 0, fast processed: 0, slow path: 0
 Packets send in fast path: 0
 fast lock acquisition failures: 0, slow path: 0
r2#


r1#ttcp
transmit or receive [receive]: transmit
Target IP address: 10.255.255.2
perform tcp half close [n]:
send buflen [8192]: 81920
send nbuf [2048]:
bufalign [16384]:
bufoffset [0]:
port [5001]: 5002
sinkmode [y]:
buffering on writes [y]:
show tcp information at end [n]: y

ttcp-t: buflen=81920, nbuf=2048, align=16384/0, port=5002  tcp  -> 10.255.255.2
ttcp-t: connect (mss 1428, sndwnd 65535, rcvwnd 4128)
ttcp-t: 167772160 bytes in 1113380 ms (1113.380 real seconds) (~146 kB/s) +++
ttcp-t: 2048 I/O calls
ttcp-t: 0 sleeps (0 ms total) (0 ms average)
Connection state is ESTAB, I/O status: 1, unread input bytes: 0
Connection is ECN Disabled, Mininum incoming TTL 0, Outgoing TTL 255
Local host: 10.255.255.1, Local port: 59946
Foreign host: 10.255.255.2, Foreign port: 5002

Enqueued packets for retransmit: 24, input: 0  mis-ordered: 0 (0 bytes)

Event Timers (current time is 0x6423B54):
Timer          Starts    Wakeups            Next
Retrans        109420        445       0x6423B8F
TimeWait            0          0             0x0
AckHold             0          0             0x0
SendWnd             0          0             0x0
KeepAlive           0          0             0x0
GiveUp              0          0             0x0
PmtuAger            0          0             0x0
DeadWait            0          0             0x0

iss: 2193111013  snduna: 2360849806  sndnxt: 2360883174     sndwnd:  62679
irs:  563764759  rcvnxt:  563764760  rcvwnd:       4128  delrcvwnd:      0

SRTT: 349 ms, RTTO: 403 ms, RTV: 54 ms, KRTT: 0 ms
minRTT: 300 ms, maxRTT: 424 ms, ACK hold: 200 ms
Flags: active open, retransmission timeout, win-scale
IP Precedence value : 0

Datagrams (max data segment is 1428 bytes):
Rcvd: 235951 (out of order: 0), with data: 0, total data bytes: 0
Sent: 118821 (retransmit: 445, fastretransmit: 35, partialack: 30,
Second Congestion: 0), with data: 118819, total data bytes: 167822140
r1#


Bandwidth of the circuit is 4Mbps. Any ideas why test results were not
around 1.4Mbps in both directions? What could explain this traffic
pattern seen on the graph?



regards,
Martin


More information about the cisco-nsp mailing list