The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Paul Winalski <paul.winalski@gmail.com>
To: Bakul Shah <bakul@iitbombay.org>
Cc: The Unix Heritage Society mailing list <tuhs@tuhs.org>
Subject: [TUHS] Re: If forking is bad, how about buffering?
Date: Sun, 19 May 2024 12:04:53 -0400	[thread overview]
Message-ID: <CABH=_VTWgkmY=h7PEU2yproyjnDyQB2vdPu7QRgNkUeu=g7akA@mail.gmail.com> (raw)
In-Reply-To: <8D556958-0C7F-43F3-8694-D7391E9D89DA@iitbombay.org>

[-- Attachment #1: Type: text/plain, Size: 1152 bytes --]

On Sat, May 18, 2024 at 9:04 PM Bakul Shah via TUHS <tuhs@tuhs.org> wrote:

>
> Note that even if you remove every RAM buffer between the two
> endpoints of a TCP connection, you still have a "buffer".


True, and it's unavoidable.  The full name of the virtual circuit
communication protocol is TCP/IP (Transmission Control Protocol over
Internet Protocol).  The underlying IP is the protocol used to actually
transfer the data from machine to machine.  It provides datagram service,
meaning that messages may be duplicated, lost, delivered out of order, or
delivered with errors.  The job of TCP is to provide virtual circuit
service, meaning that messages are delivered once, in order, without
errors, and reliably.

To cope with the underlying datagam service, TCP has to put error checksums
on each message, assign sequence numbers to each message, and has to send
an acknowledgement to the sender when a message is received.  It also has
to be prepared to resend messages if there's no acknowledgement or if the
ack says the message was received with errors.  You can't do all that
without buffering messages.

-Paul W.

[-- Attachment #2: Type: text/html, Size: 1483 bytes --]

  parent reply	other threads:[~2024-05-19 16:05 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-13 13:34 [TUHS] " Douglas McIlroy
2024-05-13 22:01 ` [TUHS] " Andrew Warkentin
2024-05-14  7:10 ` Rob Pike
2024-05-14 11:10   ` G. Branden Robinson
2024-05-15 14:42     ` Dan Cross
2024-05-15 16:42       ` G. Branden Robinson
2024-05-19  1:04         ` Bakul Shah via TUHS
2024-05-19  1:21           ` Larry McVoy
2024-05-19  1:26             ` Serissa
2024-05-19  1:40             ` Bakul Shah via TUHS
2024-05-19  1:50               ` Bakul Shah via TUHS
2024-05-19  2:02               ` Larry McVoy
2024-05-19  2:28                 ` Bakul Shah via TUHS
2024-05-19  2:53                 ` Andrew Warkentin
2024-05-19  8:30                   ` Marc Rochkind
2024-05-19  2:26             ` Andrew Warkentin
2024-05-19 16:04           ` Paul Winalski [this message]
2024-05-14 22:08   ` George Michaelson
2024-05-14 22:34 ` Bakul Shah via TUHS
2024-05-19 10:41 ` Ralph Corderoy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CABH=_VTWgkmY=h7PEU2yproyjnDyQB2vdPu7QRgNkUeu=g7akA@mail.gmail.com' \
    --to=paul.winalski@gmail.com \
    --cc=bakul@iitbombay.org \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).