Subject: delay calculation

From: "C. Zhang" <[email-masked]>
Date: Mon, 31 Jul 2000 22:47:06 -0600 (MDT)

Hi all experts,
   If my client sends several tcp packets (say P1,P2,P3)
   very closely, TCP stack combines them into one message, 
   then send it to my server. Now at server I want to calculate 
   the delay of each packet. Since I only have one timestamp t, 
   which is the arrival time of the "chuck" message, how can I 
   calculate the different arrival time for the several packets? 
   
   If the packet sizes are L1, L2 and L3, is it correct to say that:
      	the arrival time of P1 is (t - (L2 + L3)/B ),
      	the arrival time of P2 is (t - L3/B ), 
      	the arrival time of P3 is t, 
   where B is the bandwidth of the link?

   Best regards,
   -Chong

---

From: "Conrad C. Nobili" <[email-masked]>
Date: Tue, 1 Aug 2000 01:30:34 -0400 (EDT)

Well, I'm not exactly sure what you're trying to measure, since
your terminology is a bit, uh, "creative".  ;-)  But it sounds
like the bottom line is that one packet is sent and that same
one packet is recieved.  So there is only one packet delay and
the bandwidth of the link, transmission onto the link, and even
the link itself would seem to be completely irrelevant to your
interest.  It sounds like you're trying to figure out something
about serialization delay of TCP segments passing through your
client's TCP stack perhaps?  Is there some way you can design a
simpler experiment just using one client machine?  I'm afraid I
can't offer any real help as I can't really figure out what you
are trying to get at here.

But I hope this might in some remote way be at least a little
bit helpful.  Best of luck,

--cn

Conrad C. Nobili  [email-masked]  Harvard University NDTL/NOC

---

From: Scott Marcus <[email-masked]>
Date: Tue, 01 Aug 2000 13:18:37 -0400

>   where B is the bandwidth of the link?

As was previously noted, it depends on what you are trying to achieve with
your measurements.  But subtracting an estimate of the theoretical minimum
clocking delay for P2 and P3 (as you appear to be doing) probably makes no
sense, since your TCP implementation will not see the  the contents of P1
and P2  nor release them to the application until the whole P1/P2/P3 packet
has been received.  For practical purposes, the whole packet arrives at
once.