The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] is networking different?
@ 2022-07-03 20:32 Marc Donner
  2022-07-03 20:34 ` [TUHS] " Marc Donner
  2022-07-03 20:57 ` Dan Stromberg
  0 siblings, 2 replies; 6+ messages in thread
From: Marc Donner @ 2022-07-03 20:32 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

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

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>

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [TUHS] Re: is networking different?
  2022-07-03 20:32 [TUHS] is networking different? Marc Donner
@ 2022-07-03 20:34 ` Marc Donner
  2022-07-03 20:57 ` Dan Stromberg
  1 sibling, 0 replies; 6+ messages in thread
From: Marc Donner @ 2022-07-03 20:34 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

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

Let's add:

0 - The two endpoints of a network connection may be (and usually are)
under independent control from one another.
=====
nygeek.net
mindthegapdialogs.com/home <https://www.mindthegapdialogs.com/home>


On Sun, Jul 3, 2022 at 4:32 PM Marc Donner <marc.donner@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>
>

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [TUHS] Re: is networking different?
  2022-07-03 20:32 [TUHS] is networking different? Marc Donner
  2022-07-03 20:34 ` [TUHS] " Marc Donner
@ 2022-07-03 20:57 ` Dan Stromberg
  2022-07-03 21:55   ` Richard Salz
  1 sibling, 1 reply; 6+ messages in thread
From: Dan Stromberg @ 2022-07-03 20:57 UTC (permalink / raw)
  To: Marc Donner; +Cc: The Eunuchs Hysterical Society

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

On Sun, Jul 3, 2022 at 1:33 PM Marc Donner <marc.donner@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.
>
Yes, but it doesn't much matter.  It's a solved problem.

1a - The transit time for one packet may vary widely from that of the other.
>
Yes, but it doesn't much matter.  This too is a solved problem.

1b - The two packets may arrive in an order different from the order in
> which they were transmitted.
>
Yes, but TCP will present the data they describe in order, or an error.

(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.
>
TCP will retry lost data, and if transmission continues failing, TCP'll
give an error.

3 - Behavior 2 not a sign of hard failure for networks, whereas it is
> generally considered so for other I/O devices.
>
Network API's and protocols aren't all the same.  You seem to be thinking
of UDP or IP or something.

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.
>
TCP really isn't that bad, and REST is simpler still.

The chief problem with TCP that people get wrong is:
https://stromberg.dnsalias.org/~strombrg/TCP/

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [TUHS] Re: is networking different?
  2022-07-03 20:57 ` Dan Stromberg
@ 2022-07-03 21:55   ` Richard Salz
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Salz @ 2022-07-03 21:55 UTC (permalink / raw)
  To: Dan Stromberg; +Cc: Marc Donner, The Eunuchs Hysterical Society

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

I wanna live in Dan's world, or at least his network.

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [TUHS] Re: is networking different?
  2022-07-04 23:37   ` [TUHS] " Paul Ruizendaal
@ 2022-07-05  3:02     ` John Cowan
  0 siblings, 0 replies; 6+ messages in thread
From: John Cowan @ 2022-07-05  3:02 UTC (permalink / raw)
  To: Paul Ruizendaal; +Cc: The Eunuchs Hysterical Society

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

> On 4 Jul 2022, at 23:17, ron minnich <rminnich@gmail.com> wrote:
>
> > You can do that, but the 1980s tried it and it did not end well.
> > What's it mean, for example, when you rename("/net/harv") to
> > ("/net/google") -- close and reopen socket? (there's a Lost Talk from,
> > I think, Rob, that addressed this very question)
>

Why shouldn't it just fail with EXDEV "No cross-device links"?

> Also consider that if you get it right, you can do all the network IO
> > you want with cat and echo -- people have written telnet in Plan 9
> > with those two commands.


Well, not really.  You need at least sed to convert 0xFF to 0xFF 0xFF on
the wire and back again, at least if you are talking to a conformant
implementation.

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [TUHS] Re: is networking different?
  2022-07-04 21:17 ` [TUHS] " ron minnich
@ 2022-07-04 23:37   ` Paul Ruizendaal
  2022-07-05  3:02     ` John Cowan
  0 siblings, 1 reply; 6+ messages in thread
From: Paul Ruizendaal @ 2022-07-04 23:37 UTC (permalink / raw)
  To: ron minnich; +Cc: The Eunuchs Hysterical Society

Thank you for sharing experiences on what worked and what did not. Much appreciated!

As I’m now too much on a tangent of what might have been versus what once was, I’ll follow up with a PM.

> On 4 Jul 2022, at 23:17, ron minnich <rminnich@gmail.com> wrote:
> 
> Something like what you mention: open(“/net/inet/any:80”, O_RDWR |
> O_STREAM | O_CREAT, 0600), is actually to be found in an RFC from
> around that time.
> 
> You can do that, but the 1980s tried it and it did not end well.
> What's it mean, for example, when you rename("/net/harv") to
> ("/net/google") -- close and reopen socket? (there's a Lost Talk from,
> I think, Rob, that addressed this very question)
> 
> While it has its flaws, https://9p.io/sys/doc/net/net.html in my view
> is the best example to date of how to get it right. Addresses are
> strings, just like paths -- well, they *are* paths in fact. Some of
> this path-like nature can be seen in the Go net package today.
> 
> Oh, and, as regards how the synthetic file system looks: you never,
> never, ever, put an address in the pathname. That's important.
> 
> Also consider that if you get it right, you can do all the network IO
> you want with cat and echo -- people have written telnet in Plan 9
> with those two commands. And, if you get it wrong, well -- you get
> socat.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-07-05  3:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-03 20:32 [TUHS] is networking different? Marc Donner
2022-07-03 20:34 ` [TUHS] " Marc Donner
2022-07-03 20:57 ` Dan Stromberg
2022-07-03 21:55   ` Richard Salz
2022-07-04 20:09 [TUHS] Re.: " Paul Ruizendaal via TUHS
2022-07-04 21:17 ` [TUHS] " ron minnich
2022-07-04 23:37   ` [TUHS] " Paul Ruizendaal
2022-07-05  3:02     ` John Cowan

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).