‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Thursday, August 27, 2020 8:15 PM, Grant Taylor 
<gtay...@gentoo.tnetconsulting.net> wrote:

> On 8/27/20 7:00 AM, Caveman Al Toraboran wrote:
>
> > but i this way of looking at protocols (despite being common) is wrong.
>
> Why do you think that it is wrong?
>
> What is not factually correct about it?

it depends on how you use it:

    - if you use it for what it is made for
      (making speech about protocols easier), then
      that's fine.  not perfect, but not wrong
      either.

    - but if you use it to do some complexity
      analysis as you did earlier by counting such
      layers, then, you're wrong.  because even
      though smtp appears as a single layer in
      such common diagrams, it is functionally 2
      layers (one being a resource exchange layer
      overlapping with http).


> > i also disagree with the network layering proposed by osi or the
> > other ones commonly published in books. i specially disagree with
> > using such layering for studying the complexity of protocols.
>
> If you're going to make such a statement, which is fine to do, you must
> provide information ~> evidence as to why you are doing so and why you
> think what you think.

see above or previous emails.  you're basically
abusing such diagrams to perform protocol
complexity analysis.

i was trying to be indirect by blaming the common
protocol layering for leading you to this
mistake.  what's happening is that you're
simply abusing them to do what they are not made
for.

for details you can re-read my previous email(s)
on how smtp is functionally at least 2 layers.


> > so i suggest that if we want to study the complexity of messaging
> > systems, we better not count SMTP as a single thing (like how it is
> > normally done in books and talks), but instead talk about it based on
> > the fundamental tasks that it actually does. this way, SMTP becomes
> > at least 2 layers:
>
> I think that I see part of a problem.
>
> RFC 822 - Standard for the format of ARPA Internet Text Message - is
> what defines what I was referring to as the opaque blob sent between
> systems.
>
> I will argue that the content of the opaque blob that SMTP transfers is
> independent of SMTP itself.
>
> > 1.  "resource exchange" layer where binaries are made into a single
> >     giant text file by base64 encoding and then partitioned by rfc822.
> >     this part overlaps with http* and is much less efficient (rightfully,
> >     since email had to be backwards compatible as it is critical).
> >
>
> SMTP* does not support binary in any (original) capacity. As such,
> email service, which /rides/ /on/ /top/ /of/ SMTP, is where the encoding
> ""hack was placed. This /encoding/ and / or /formatting/ is completely
> independent of the SMTP protocol used to exchange opaque blobs between
> mail servers.

i'm amazed how you skipped the real point that i'm
making about your incorrect layer-based protocol
complexity analysis, and —instead— moved to talk
about how email's inefficient binary encoding is
due to rfc822 and not rfc821.

it's irrelevant at several levels:

    - doesn't justify your layer-based complexity
      analysis earlier, either way.

    - no one discussed which rfc is the reason why
      smtp is being used for inefficient binary
      transfer.

    - the fact that attachments are inefficiently
      sent over smtp as per rfc822 is by itself due
      to bad historical design decisions in smtp
      that lead people to commonly use rfc822 with
      smtp.

the several next paragraphs that you wrote are
simply talking about whether smtp (rfc821) was
born with a horrible binary encoding, or was it
born retarded enough to push people to end up
adding rfc822 to it in order to minimise
suffering.  which is irrelevant at many levels, so
i'm skipping over them to save space/time.


> > this way, if we ignore the problem of maintaining backwards
> > compatibility,
>
> That is a HUGE if. One that I do not accept at all. You absolutely
> MUST have backwards compatibility in some way. Even if that
> compatibility is something that acts as an edge gateway between SMTP and
> your new method. You MUST have backward compatibility in some way.

also irrelevant.

yes, that hypothetical "if" statement is indeed
"huge".  so?  it's a hypothetical if statement to
show another point: that your complexity analysis
by counting layers is wrong.

i'm once again amazed how you skipped the main
point, and went on to write about how HUGE that
hypothetical "if" statement is.

(for the record i'm not suggesting to drop smtp's
backwards compatibility, nor suggesting it would
be easy.)


> > then having http* in the "resource exchange" layer would be more
> > efficient and simpler as there will be less protocols doing the
> > "resource exchange" task (instead of having each do its own).
>
> So you want to take two completely different protocols that serve two
> completely different functions and force them into a third completely
> different protocol that serve yet another completely different function.

they are not "completely" different.  in fact
emails/attachments are resources of the same kind
as website material.  http* is just dedicated for
this part (resource exchange layer of such data
type) and unsurprisingly it does it better than
smtp's independently invented resource exchange
layer.


> I feel the need to back up and call out what HTTP is. (HTTPS included
> because it's really just HTTP wrapped in encryption.)
>
> C: HTTP/1(.0)
> C: GET <path>
> S:
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
>
> S: 200 ...
>
> Notice how the HTTP /protocol/ doesn't care what the opaque blob is either.

irrelevant for several reasons:

1. doesn't justify your layer-based complexity
   analysis earlier which my text was about.

2. doesn't apply to http/2.

3. even pre-h2 uploads/downloads files using
   efficiently encoded binaries.  unlike smtp that
   lead us, through historical mistakes, to use
   rfc822.

4. http* is as a standalone resource exchange
   layer, so apps that need such a thing can
   simply run behind a web server, or a http
   library.

   this is not true for smtp if you want to only
   use smtp's resource exchange layer (you'd have
   to butcher it out of some implementation's
   code;  which is also a pure waste of time since
   it's less efficient than today's http*)


> > so i think the only reason that smtp/pop/imap have different resource
> > exchange protocols is purely due to backwards compatibility due to
> > how things evolved historically.
>
> It's not backwards compatibility.
>
> SMTP is for sending email from server to server.
> POP3 is about pulling email from a single mailbox down to the local client.
> IMAP is about remotely accessing multiple different mailboxes on a
> remote server.
>
> They do three fundamentally different things.
>
> SMTP is akin to the postal service exchanging post between businesses.
>
> POP3 is you collecting email from your inbox in the mail room and taking
> it back to your desk.
>
> IMAP is you going to the file room to access a file in one of the many
> file cabinets.
>
> They are very different actions on what is potentially the same content.
> But what is done and how it is done is completely different.

so?  how does the fact that they are 3 different
protocols for different uses reject the fact that
they are stuck with inefficient designs due to
backwards compatibility?  (rhetorical questions.)

are you trying to say that, if we didn't have the
backwards compatibility constraint today, and we
were about to make a mail protocol, we'd still
make smtp/pop/imap the way they are today?
(rhetorical question.)

anyway i'm out of this.  massive waste of time.  i
could've finished server-side hillarymail by it.


Reply via email to