using packet filtering to discover TCP end-to-end latency

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

using packet filtering to discover TCP end-to-end latency

Rohit Grover
Hello,

I need to discover the TCP end-to-end latency between web clients and
servers transparently (i.e. without altering the clients or the
servers in any way). I have squid running as a proxy server on a linux
box, sitting between the clients and the servers. I can have the
clients change their proxy settings to have requests pass through
squid. Squid can measure latencies between itself and the web servers.
The problem is to measure the network latency when squid tries to
forward the server responses back to clients.

Can packet filtering help me with this? Can I, for example, filter for
the client ACK of the last bit of data sent from squid back to the
client?

Also, I still need to device a solution to measure network latency
experienced by the client's SYN sent to the squid box. Any ideas?

thanks in advance,
Rohit Grover.
Reply | Threaded
Open this post in threaded view
|

Re: using packet filtering to discover TCP end-to-end latency

Adrian Chadd
On Mon, May 21, 2007, Rohit Grover wrote:

> Hello,
>
> I need to discover the TCP end-to-end latency between web clients and
> servers transparently (i.e. without altering the clients or the
> servers in any way). I have squid running as a proxy server on a linux
> box, sitting between the clients and the servers. I can have the
> clients change their proxy settings to have requests pass through
> squid. Squid can measure latencies between itself and the web servers.
> The problem is to measure the network latency when squid tries to
> forward the server responses back to clients.

Linux has some hooks into user space which can provide TCP connection
statistics. You could log them for both client/server and do some
addition/averaging where appropriate.

I -think- it includes guessed RTT, not sure.

Otherwise, the ICMP database code could probably be coaxed into doing
what you want.




Adrian