Re: OT - sort-of

From: Mladen Gogala <>
Date: Sun, 25 Mar 2012 05:46:04 +0000 (UTC)
Message-ID: <>

On Sat, 24 Mar 2012 19:38:16 -0700, onedbguru wrote:

> If you didn't get the packet, how do you know one was sent? (lol)

Because there is a packet counter and there is sequence number in every packet. A hole in the sequence numbers means dropped packets. There is something called "window". Peers enumerate packets in every window, with the number of packets in the window typically being 256. There is a special handling at the end of the window and if the receiver doesn't acknowledge the entire window by the receipt packet, the entire window will be retransmitted. This trick was introduced to avoid sending ACK for every received packet, which was done a long, long time ago with RS 232C, lovingly known as the "serial interface". Speeds were an issue back then, so instead of acknowledging receipt of every received packet with a received checksum, they started putting checksum in the packet itself and, with the communication becoming more reliable, acknowledging large group of packets. That was also implemented in an ancient protocol known as X25, which was used among the Greeks during the siege of Troy. When very fast and reliable communication was created, the packet and windowing optimization was kept. The "very fast and reliable communication" were the first Ethernet and the differential version of the serial interface, RS-422.
Funny thing is that windows and packets also exist in IPv6.

Received on Sun Mar 25 2012 - 00:46:04 CDT

Original text of this message