9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Eris Discordia <eris.discordia@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] Do we have a catalog of 9P servers?
Date: Thu, 20 Nov 2008 21:35:40 +0000	[thread overview]
Message-ID: <A0B18CB92699ED69450F96A7@[192.168.1.2]> (raw)

> Yet you're still contending the following:
>
>> What I pointed out to Anant Narayanan was that his proposed _new_
>> capability which involved _packet analysis_ would _have to_ operate on
>> network layer data units, ergo, NAT again.
>>
>> Packet analysis == Network layer operations ~= NAT
>
> That's not correct.  NAT is network address translation.  It
> implicitly requires that IP headers be rewritten, and when
> doing port translation as well, the TCP header must also
> be rewritten.  It is a technique that allows machines with
> non-routable addresses to talk outside the local network.
> Hence the need for translating addresses.  Importing /net
> doesn't involve any translation of addresses.  In fact,
> as Erik pointed out, the machine on the local network
> might not even be talking TCP/IP at all!  The "packet
> analysis" that appears to have arisen from a discussion
> of load balancing is a red herring.  NAT is not a technique
> for load balancing.  RFC1631 is where NAT is described.
> If you're not rewriting the IP header, then it's not NAT,
> it's not approximately NAT, it has no similarity to NAT
> at all.

1. Thanks for helping me revise previous learning.

2. I read RFC 1631 for the sole purpose of supporting a few assertions I
made on this thread. I also did reference it on this same thread. Why not
read previous postings before acting as if your intended audience
understood nothing?

3. You are (deliberately?) taking this out of context. I said, and continue
to say, that NAT and a number of other applications, nearly all implemented
in the Linux netfilter and *BSD ipfw/pf/dummynet/natd, depend on operating
on network layer entities, i.e. packets. And that it would be a violation
of layered design to handle this task at application layer.

4. There are no red herrings here. It's a change of course and I didn't
initiate it. Anant Narayanan pointed out that Plan 9's native application
layer protocol, 9P, did not forbid implementing whatever network layer
hijinks one felt like. I responded by merely saying that would be exactly
the sort of "ugly" software Plan 9 wants to avoid. To summarize: Plan 9's
network-transparent environment, or _any_ network-transparent for that
matter, relies on assuming a measure of homogeneity in the network. IP was
conceived with exactly the opposite premise, hence the name
_inter_networking/_inter_net. So when it comes to adding a feature of IP,
e.g. NAT, to Plan 9 there will be no shortage of trouble. There's all the
trouble operating system X has to go through, and then some. Of course,
there may be nearly-solutions to the problem that preserve the original
foundation the network-transparent environment was built upon but it will
never be quite the same. One of Murphy's "bylaws" forbids for a specific
functionality to become available without less than a specific amount of
toil, pre-determined by the problem at hand.

5. You do understand the difference between ~= and ==, don't you? At least,
you have to suspect there _must_ be a difference. NAT relies totally on
packet "analysis," i.e. analyzing of packets (== network layer data units),
which is why it is nearly equivalent but not necessarily equal to packet
analysis. This is a strictly true statement.

--------------------------------------------------------------------------------

> It is true that I wasn't particularly pedantic with my
> terms, but if we're going to be pedantic, we might as
> well get it right.  [...]

1. Thanks again. The definitions do help a lot.

2. But you are so obviously sidestepping the meaning of the paragraph you
have quoted. In particular, you have quoted is aside from the paragraph
above with reference to which my comment could be qualified. The remark on
the meaning of packets was _certainly_ not pedantry on my part--it amounted
to turning your attention to a certain fact; namely, that "packet analysis"
is network layer hijinks.

--------------------------------------------------------------------------------

> Of course TCP/IP has layers.  Indeed layering can be seen
> in most good designs.  It is especially natural in network
> stacks because of the encapsulation of messages.  For that
> matter, I doubt any student of mine has ever gotten away
> without hearing me say something about the value of layering;
> I even mentioned it in my book.

So what? It wasn't I who wrote:

> The OSI protocols are  largely forgotten for a reason.
> It's not bad as a conceptual model, but as soon as you
> try to force any predefined definitions of layers on real
> networks, you soon lose your grip on sanity.

My comment wasn't at all about forcing any predefined definitions on
TCP/IP. It was about the reality of TCP/IP, in which "packets" are mainly
network layer entities no matter what other significations a "packet" may
have to the academically inclined. It was also about that most good IP
software pays attention to a certain de facto layering, which I referred to
as "rather clearly-defined boundaries." A perfectly fine name.

--------------------------------------------------------------------------------

> And it's true that we sometimes are a bit loose with the
> terms and allow ourselves to use OSI terminology when
> talking about TCP/IP.  However, you can't take that usage
> too literally, and certainly can't base an argument on
> that usage.  The layers in the two just don't line up
> exactly.  The division of responsibilities among the layers
> is different between TCP/IP and OSI.  For that matter,
> they don't even have the same number of layers.

I happen to know that. I also happen to have read Andrew Tanenbaum's
"Computer Networks"--and always have a copy nearby for reference--which is
the usual canon all over the planet for non-CS/CE majors, enthusiasts, and
the like (your book isn't). That book happens to feature a pedagogic
instrument dubbed the "hyprid reference model" which is used _not only_ to
introduce _both_ OSI and TCP/IP to new learners but also to teach them good
design by enlightening them as to what in general is expected from each
layer--and why, under current circumstances, it is more or less good to
have like 5 layers with such-and-such functions and neither 2 nor 10.

--------------------------------------------------------------------------------

> The luxury I have in this situation is that because you're
> not my student, I don't have any obligation to make sure
> you've understood it all.  But if you were my student, my
> first recommendation would be to read *and understand*
> the RFCs, and the best way to know that you've understood
> them is to write some network protocol code.  If you would
> like to have help understanding something, I, and I'm sure
> others here, would be happy to answer if you present your
> questions as questions.  I don't plan to answer any more
> incorrect assertions.

I was about to use seriously foul language in response to this but then I
thought to myself, "why bother." Heed this, Mr. Professor: you _always_
have the luxury of keeping silent, but when you do speak please reserve the
right for your audience to respond, even if you deem them dim. It's pretty
philosophical, nah?

Also, thank you for the offering of help. I may rage quite often but I
appreciate, value, and always remember any helpful act on part of others.

--On Thursday, November 20, 2008 5:34 PM +0000 "Brian L. Stuart"
<blstuart@bellsouth.net> wrote:

> This is why I've been trying to stay out of it.
>
>> > So how to think about it?  First, it's *not* NAT,  because
>> > there's no address translation going on.
>>
>> I know. I understood this after the discussions of the past few days.
>
> Yet you're still contending the following:
>
>> What I pointed out to Anant Narayanan was that his proposed _new_
>> capability which involved _packet analysis_ would _have to_ operate on
>> network layer data units, ergo, NAT again.
>>
>> Packet analysis == Network layer operations ~= NAT
>
> That's not correct.  NAT is network address translation.  It
> implicitly requires that IP headers be rewritten, and when
> doing port translation as well, the TCP header must also
> be rewritten.  It is a technique that allows machines with
> non-routable addresses to talk outside the local network.
> Hence the need for translating addresses.  Importing /net
> doesn't involve any translation of addresses.  In fact,
> as Erik pointed out, the machine on the local network
> might not even be talking TCP/IP at all!  The "packet
> analysis" that appears to have arisen from a discussion
> of load balancing is a red herring.  NAT is not a technique
> for load balancing.  RFC1631 is where NAT is described.
> If you're not rewriting the IP header, then it's not NAT,
> it's not approximately NAT, it has no similarity to NAT
> at all.
>
>> Because packet is the name for specific data units, entities at network
>> layer. Above it you have datagrams (UDP) or streams (TCP), below it you
>> have frames.
>
> It is true that I wasn't particularly pedantic with my
> terms, but if we're going to be pedantic, we might as
> well get it right.  RFC791 defines IP and the proper terminology
> associated with it.  Comer does an excellent job distilling
> the RFCs and phrases it this way: "The internet calls its
> basic transfer unit an _Internet datagram_, sometimes referred
> to as an _IP datagram_ or merely a _datagram_."  You can find
> the definition of UDP in RFC768.  Again Comer's phrasing:
> "Each UDP message is called a _user datagram_."  Finally,
> read RFC793 for the details on TCP.  Comer's phrasing
> is "The unit of transfer between the TCP software on two
> machines is called a _segment_."  Comer's definition of
> a packet is also instructive:
>
> "The unit of data sent across a packet switching network.
> The term is used loosely.  While some TCP/IP literature
> uses it to refer specifically to data sent across a
> physical network, other literature views an entire TCP/IP
> internet as a packet switching network and describes IP
> datagrams as packets."
>
> (BTW the reason I've chosen to use Comer's phrasing is that
> his book arose as a result of an IETF meeting where even
> some of the attendees didn't understand how it all worked--at
> least that's the story I heard when I was at Purdue.)
>
>> > The OSI protocols are  largely forgotten for a reason.
>> > It's not bad as a conceptual model, but as soon as you
>> > try to force any predefined definitions of layers on real
>> > networks, you soon lose your grip on sanity.
>>
>> There are rather clearly-defined boundaries in TCP/IP, too. Without the
>> layered design approach one would lose one's sanity, not with it.
>
> Of course TCP/IP has layers.  Indeed layering can be seen
> in most good designs.  It is especially natural in network
> stacks because of the encapsulation of messages.  For that
> matter, I doubt any student of mine has ever gotten away
> without hearing me say something about the value of layering;
> I even mentioned it in my book.
>
> And it's true that we sometimes are a bit loose with the
> terms and allow ourselves to use OSI terminology when
> talking about TCP/IP.  However, you can't take that usage
> too literally, and certainly can't base an argument on
> that usage.  The layers in the two just don't line up
> exactly.  The division of responsibilities among the layers
> is different between TCP/IP and OSI.  For that matter,
> they don't even have the same number of layers.
>
> The luxury I have in this situation is that because you're
> not my student, I don't have any obligation to make sure
> you've understood it all.  But if you were my student, my
> first recommendation would be to read *and understand*
> the RFCs, and the best way to know that you've understood
> them is to write some network protocol code.  If you would
> like to have help understanding something, I, and I'm sure
> others here, would be happy to answer if you present your
> questions as questions.  I don't plan to answer any more
> incorrect assertions.
>
> BLS
>
>



             reply	other threads:[~2008-11-20 21:35 UTC|newest]

Thread overview: 198+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-20 21:35 Eris Discordia [this message]
  -- strict thread matches above, loose matches on Subject: below --
2008-11-21  0:12 Eris Discordia
2008-11-21  0:42 ` erik quanstrom
2008-11-21  7:57   ` Eris Discordia
2008-11-20 22:28 Eris Discordia
2008-11-20 22:42 ` erik quanstrom
2008-11-19 18:31 Eris Discordia
2008-11-19 20:08 ` Anant Narayanan
2008-11-20  0:00   ` Eris Discordia
2008-11-20  4:55     ` blstuart
2008-11-20  7:44       ` Eris Discordia
2008-11-20 17:34         ` Brian L. Stuart
2008-11-20 18:30           ` akumar
2008-11-20 18:36             ` erik quanstrom
2008-11-20 19:20               ` Brian L. Stuart
2008-11-17  8:42 Eris Discordia
2008-11-17  7:57 Eris Discordia
2008-11-16 18:30 Eris Discordia
2008-11-16 18:08 Eris Discordia
2008-11-16 17:19 Eris Discordia
2008-11-16 16:58 Eris Discordia
2008-11-16 17:17 ` erik quanstrom
2008-11-16 18:01   ` ron minnich
     [not found] <96BA4878DB039F3DAE38CCF2@192.168.1.2>
2008-11-16 15:09 ` sqweek
2008-11-16 17:41   ` Charles Forsyth
2008-11-16 11:39 Eris Discordia
2008-11-16  7:24 Eris Discordia
2008-11-17 10:20 ` Dave Eckhardt
2008-11-17 14:01   ` Eris Discordia
2008-11-17 16:50     ` Dave Eckhardt
2008-11-17 19:45       ` Eris Discordia
     [not found] <DBCC6BB0C82C348357A14A53@192.168.1.2>
2008-11-15 11:49 ` Sergey Zhilkin
2008-11-16  4:31 ` Iruata Souza
     [not found] <FB6D5E99B294E50B901E8872@192.168.1.2>
2008-11-14 18:21 ` Tom Lieber
2008-11-14 18:59   ` erik quanstrom
2008-11-16  2:45 ` sqweek
     [not found] <906EC091083FF0C3C35F51A9@192.168.1.2>
2008-11-16  0:15 ` Felipe Bichued
2008-11-15 22:07 Eris Discordia
2008-11-16  5:27 ` Roman Shaposhnik
2008-11-16  6:19   ` Eris Discordia
2008-11-15 11:21 Eris Discordia
2008-11-15 13:38 ` Gabriel Diaz Lopez de la Llave
2008-11-15 15:30   ` hiro
2008-11-15 20:01 ` Roman Shaposhnik
2008-11-15 22:13   ` Micah Stetson
2008-11-16  5:47     ` Roman Shaposhnik
2008-11-16 19:36       ` Micah Stetson
2008-11-16  6:27     ` Eris Discordia
     [not found]     ` <1282469A8843837F996E64E1@192.168.1.2>
2008-11-16  6:57       ` andrey mirtchovski
2008-11-16 11:45         ` Eris Discordia
     [not found]         ` <D6FDC9E2D78F88C07963DBE5@192.168.1.2>
2008-11-16 12:49           ` hiro
2008-11-16 16:15             ` Eris Discordia
2008-11-16 17:38               ` lucio
2008-11-16 13:25           ` Uriel
2008-11-16 19:46       ` Micah Stetson
2008-11-16 21:24         ` Eris Discordia
2008-11-16 21:52           ` erik quanstrom
2008-11-19  1:59           ` Nathaniel W Filardo
2008-11-20  2:35             ` erik quanstrom
     [not found]         ` <D0E4FEAEC0D3FD307DE41383@192.168.1.2>
2008-11-17  5:12           ` Micah Stetson
2008-11-14 17:29 Eris Discordia
2008-11-14 16:39 Eris Discordia
     [not found] <7D122EF9133395AC4DEA0396@192.168.1.2>
2008-11-13 16:55 ` sqweek
2008-11-13 17:28   ` Brian L. Stuart
2008-11-15  4:12   ` Roman Shaposhnik
2008-11-13 14:25 gdiaz
2008-11-14 16:43 ` Eris Discordia
2008-11-14 17:00   ` erik quanstrom
2008-11-12 21:19 Eris Discordia
2008-11-12 23:11 ` erik quanstrom
2008-11-12 23:51   ` Bruce Ellis
2008-11-13  0:35     ` akumar
2008-11-13 11:58   ` Eris Discordia
2008-11-13 14:17     ` erik quanstrom
2008-11-13 16:22       ` Iruata Souza
2008-11-12 19:08 erik quanstrom
2008-11-12 13:23 Eris Discordia
2008-11-12 14:02 ` Charles Forsyth
     [not found] <ba5c9f8b914dc6c6d0b4f533d681cda2@quanstro.net>
2008-11-12  5:52 ` sqweek
2008-11-12  5:22 erik quanstrom
     [not found] <150a5464b8f389f1eb92ff001f7d391f@quanstro.net>
2008-11-12  5:17 ` sqweek
2008-11-12  4:50 erik quanstrom
2008-11-09  6:12 erik quanstrom
2008-11-09 13:52 ` Bruce Ellis
2008-11-09 20:39   ` C H Forsyth
2008-11-09 21:57     ` Bruce Ellis
2008-11-07 21:51 Roman V. Shaposhnik
2008-11-07 22:31 ` ron minnich
2008-11-07 23:19   ` Charles Forsyth
2008-11-07 23:45   ` Skip Tavakkolian
2008-11-07 23:51     ` ron minnich
2008-11-08  6:16     ` Bruce Ellis
2008-11-08  7:22       ` Lyndon Nerenberg
2008-11-08  3:43   ` Roman V. Shaposhnik
2008-11-08  3:56     ` ron minnich
2008-11-08  4:29       ` Roman Shaposhnik
2008-11-08 11:39     ` erik quanstrom
2008-11-07 22:37 ` Charles Forsyth
2008-11-07 22:38   ` C H Forsyth
2008-11-08  1:45     ` Roman V. Shaposhnik
2008-11-08 11:47       ` erik quanstrom
2008-11-08 12:11         ` Francisco J Ballesteros
2008-11-08 15:58           ` Charles Forsyth
2008-11-08 17:21             ` Skip Tavakkolian
2008-11-08 18:27               ` Brantley Coile
2008-11-08 18:32                 ` akumar
2008-11-08 18:44                   ` Russ Cox
2008-11-08 23:56                   ` LiteStar numnums
2008-11-08 19:15             ` John Barham
2008-11-08 22:16               ` Roman Shaposhnik
2008-11-08 23:11                 ` erik quanstrom
2008-11-08 23:37                   ` Roman Shaposhnik
2008-11-09 11:26                     ` Steve Simon
2008-11-10  5:50                       ` Enrico Weigelt
2008-11-10  6:17                         ` sqweek
2008-11-10  6:26                           ` Enrico Weigelt
2008-11-10 10:00                             ` Robert Raschke
2008-11-11  2:40                               ` Enrico Weigelt
2008-11-11  2:53                                 ` sqweek
2008-11-10 22:46                           ` Roman V. Shaposhnik
2008-11-10 22:54                       ` Roman V. Shaposhnik
2008-11-10  5:26                     ` Enrico Weigelt
2008-11-10  5:56                       ` Anant Narayanan
2008-11-10  6:18                         ` Enrico Weigelt
2008-11-10 12:11                           ` Charles Forsyth
     [not found]                           ` <4a3bd2fc8118cd88c5bd56605ba6d4e9@terzarima.net>
2008-11-11  2:23                             ` Enrico Weigelt
2008-11-10  6:01                       ` Skip Tavakkolian
2008-11-08 23:36                 ` Mechiel Lukkien
2008-11-08 22:13           ` Roman Shaposhnik
2008-11-08 22:19             ` Bruce Ellis
2008-11-08 22:59               ` Roman Shaposhnik
2008-11-08 23:11                 ` Bruce Ellis
2008-11-08 23:26                 ` ron minnich
2008-11-09  1:12                   ` Bakul Shah
2008-11-09  5:50               ` Skip Tavakkolian
2008-11-09 20:43                 ` C H Forsyth
2008-11-09 22:13                   ` Skip Tavakkolian
2008-11-09 22:21                     ` Bruce Ellis
2008-11-10 21:56         ` Roman V. Shaposhnik
2008-11-10 22:28           ` Anant Narayanan
2008-11-10 23:38           ` C H Forsyth
2008-11-10 23:45             ` Roman V. Shaposhnik
2008-11-11  0:14               ` Charles Forsyth
2008-11-11  1:00                 ` Roman V. Shaposhnik
2008-11-11  1:50                   ` Bruce Ellis
2008-11-11 15:37                   ` Skip Tavakkolian
2008-11-11 16:02                     ` Eric Van Hensbergen
2008-11-11 16:36                       ` Skip Tavakkolian
2008-11-11 16:52                         ` Eric Van Hensbergen
2008-11-12  2:42                           ` sqweek
2008-11-12  3:26                         ` Roman Shaposhnik
2008-11-11 19:18                       ` Bruce Ellis
2008-11-11 19:55                         ` Eric Van Hensbergen
2008-11-11 20:08                           ` Bruce Ellis
2008-11-11 16:30                     ` Uriel
2008-11-11 16:51                       ` ron minnich
2008-11-11 17:01                       ` Eric Van Hensbergen
2008-11-11 17:54                         ` sqweek
2008-11-11 19:46                           ` ron minnich
2008-11-11 20:51                             ` erik quanstrom
2008-11-11 22:33                               ` Eric Van Hensbergen
2008-11-12  0:32                                 ` Eris Discordia
     [not found]                                 ` <D06FA45F8C3E658AA29EAAFD@192.168.1.2>
2008-11-12  4:40                                   ` sqweek
2008-11-11 19:54                           ` Eric Van Hensbergen
2008-11-12  2:11                             ` sqweek
2008-11-12  2:44                               ` Eric Van Hensbergen
2008-11-12  3:51                               ` Roman Shaposhnik
2008-11-12 14:29                                 ` Charles Forsyth
2008-11-12 14:48                                 ` Eric Van Hensbergen
2008-11-12  4:58                               ` ron minnich
2008-11-12  5:20                                 ` Roman Shaposhnik
2008-11-12 17:47                                   ` ron minnich
2008-11-12 19:00                                     ` Uriel
2008-11-12 19:13                                       ` geoff
2008-11-12 19:58                                         ` Charles Forsyth
2008-11-12 19:55                                           ` Brantley Coile
2008-11-12 21:08                                             ` Gorka Guardiola
2008-11-13 16:37                                         ` Dan Cross
2008-11-14  5:52                                           ` Roman Shaposhnik
2008-11-14  8:18                                             ` Steve Simon
2008-11-14 16:35                                             ` Eric Van Hensbergen
2008-11-20 12:08                                             ` Dan Cross
2008-11-20 22:57                                               ` Roman V. Shaposhnik
2008-11-12 19:16                                       ` ron minnich
2008-11-12 19:31                                       ` Eric Van Hensbergen
2008-11-12 21:20                                     ` Roman V. Shaposhnik
2008-11-12  3:40                       ` Roman Shaposhnik
2008-11-11  0:19               ` ron minnich
2008-11-11  0:48                 ` Eric Van Hensbergen
2008-11-11  6:35                 ` Skip Tavakkolian
2008-11-11  2:19           ` Enrico Weigelt
2008-11-11  2:32             ` Lyndon Nerenberg
2008-11-11  6:54             ` Skip Tavakkolian
2008-11-11  8:45           ` Fco. J. Ballesteros
2008-11-11 15:28             ` hiro
2008-11-11 16:25               ` Gorka Guardiola
2008-11-12  1:55             ` Roman V. Shaposhnik
2008-11-12  2:48               ` sqweek

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='A0B18CB92699ED69450F96A7@[192.168.1.2]' \
    --to=eris.discordia@gmail.com \
    --cc=9fans@9fans.net \
    /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).