Tools to measure TCP connection speed


  is there any tool could measue e2e TCP connection

  e.g. we want to measue the delay between the TCP SYN
and receiving SYN ACK packet.


Best way to do it is right after the SYN just count "one one thousand, two one thousand" until you get the ACK. This works best for RFC 1149 traffic, but is applicable for certain others as well.

I don't know of any automated tool, per se. You really couldn't do it *well* on the software side. I see a few options:

1. this invalidates itself, but it is easily doable: get one of those ethernet cards that includes all stack processing, and write a simple driver that includes a timing mechanism and a logger. It invalidates itself because your real-life connection speeds would depend on the actual card you usually use, the OS, etc. ad nauseum, and you would be bypassing all of those.

2. if you are using a "free" as in open source OS, specifically as in Linux or FreeBSD, then you could write a simple kernel module that could do it. It would still be wrong--but depending on your skill it wouldn't be too wrong.

3. this might actually work for you. Check to see how many total TCP connections your OS can handle, make sure your TCP timeout is set to the default 15 minutes, then set up a simple perl script that simply starts a timer, opens sockets as fast as it can, and when it reaches the total the OS can handle it lets you know the time passed. Take that and divide by total number of connections and you get the average.... It won't be very accurate, but it will give you some kind of idea.

Please forgive the humor....

--Patrick Darden

hping (or tcpdump while you make a connection by any method).

> is there any tool could measue e2e TCP connection speed?

WireShark, which also has a basic analysis package built-in for error and
connection setup statistics.

We use LAN Traffic v2 to test speeds on our network.

So, all you want to know is basic RTT? Do you want to know about the
network? or the hosts? or the whole 'system' ?

One simple thing might be to just use WireShark which can calculate
the various timings on an individual tcp-session basis. Another poster
suggests tcpdump, also a fine solution...


we do not just want to analyze e2e performance, but to
monitor network performance at IP and TCP layer.

We monitor end-to-end ping with smokeping, but as you
know, ICMP data does not reflect application layer
permance at any time. So, we set up two hosts to
measure TCP permance.

Is there tools like smokeping to monitoring e2e TCP
connecting speed?


Ttcp will give you what you're looking for, but it's not something you
can run in the background and forget. You have to bring it up on both
ends, and while it's running, it won't even pretend to try and be
friendly about bandwidth usage. It'll give you a summary after it has
finished transferring whatever file(s) you feed it.

A couple of tools I use from time to time are iperf and ttcp. I'll run iperf on some host and either run ttcp to it from a router or iperf to another host. You can also run ttcp router to router.


Son of a biscuit, they took the commands out of my 7200's and 6500's.

You used to be able to just type "ttcp" and follow some prompts, I'm not sure that Cisco ever really documented much of it though. I had found it through DOTU back in the day.

Quoted from Cisco about this:
"Note: The ttcp command is a hidden, unsupported, privileged mode command. As such, its availability may vary from one Cisco IOS software release to another, such that it might not exist in some releases."