Friday, August 14, 2009

Round trip time measurements using ICMP and TCP

ping is a great tool for measuring round-trip time delays, but:
  1. Sometimes, ICMP is not enabled on the end hosts (increasingly now)
  2. ICMP RTTs may not provide the right delay metric for real-world applications.
I searched and found two good "TCP Ping" tools, which basically seem to create a TCP SYN message and check the time delay in getting a SYN-ACK response from the server.

This should be a more realistic measure of RTT for real-world TCP traffic and should be possible to do on any public node.

Here are two that I found to be helpful
UPDATE: scapy can do round-trip measurements itself. You need to scapy.py file and some basic tutorials...

2 comments:

Arun Bagul said...

Hi! Suman

Nice blog...

Arun
IndianGNU.org

sumansoftjitm said...

Network measurement is an important approach to understand network behaviors, which has been widely studied. Both TCP and ICMP are applied in network measurement, while investigating the differences between the measured results of these two protocols is an important topic that has been less addressed. In this paper, to compare the differences between TCP and ICMP when they are used in measuring host connectivity, RTT, and packet loss rate, we designed two groups of comparison programs, and after careful evaluating of the program parameters, we executed a lot of comparison experiments on the Internet. The experimental results show that, there are significant differences between the host connectivity measured using TCP or ICMP; in general, the accuracy of connectivity measured using TCP is 20-30% higher than that measured using ICMP. The case of RTT and packet loss rate is complicated, which are related to path loads and destination host loads. While commonly, the RTT and packet loss rate measured using TCP or ICMP are very close. According to the experimental results, we also give some advices on protocol selection for conducting accurate connectivity, RTT and packet loss rate measurements.

Recently I just came across a good article on "IPV6 - The “ ICMP Overview"
Here is its link.