Let's add:
0 - The two endpoints of a network connection may be (and usually are)
under independent control from one another.
=====
<https://www.mindthegapdialogs.com/home>
On Sun, Jul 3, 2022 at 4:32 PM Marc Donner <marc.donner(a)gmail.com> wrote:
On June 28 Rob Pike wrote:
"One of the reasons I'm not a networking expert may be relevant here. With
networks, I never found an abstraction to hang my hat on. Unlike with file
systems and files, or even Unix character devices, which provide a level of
remove from the underlying blocks and sectors and so on, the Unix
networking interface always seemed too low-level and fiddly, analogous to
making users write files by managing the blocks and sectors themselves."
I've been ruminating on the question of whether networks are different
from disks (and other devices). Here are a couple of observations:
1 - Two different packets may take two different paths from the sender to
the receiver.
1a - The transit time for one packet may vary widely from that of the
other.
1b - The two packets may arrive in an order different from the order in
which they were transmitted.
(Note - recently I have been reading Bob Gezelter's monograph [and PhD
dissertation] and I've learned that modern high-performance disk systems
behave more like networks in 1a and 1b.)
2 - A packet may never arrive.
3 - Behavior 2 not a sign of hard failure for networks, whereas it is
generally considered so for other I/O devices.
There is probably more to why networks are weird, but these are some of
the big dissonances that seem to me to make Rob's comment resonate so
loudly to me.
Best,
Marc
=====
nygeek.net
mindthegapdialogs.com/home <https://www.mindthegapdialogs.com/home>