Subject: [arch-d] Fwd: Layer violations considered harmful?

From: John Day <[email-masked]>
Date: Tue, 11 Jun 2019 07:18:20 -0400

Sorry, Forgot to hit Reply-All.  That is what I get for answering before I finish morning tea.

Given that, let me add a couple of things. I would have thought that my response to Joe would have been sufficient evidence that the OSI layers were wrong. After all, when the upper 3 don’t exist, and the network layer is 3 different ‘roles’ clearly something was wrong.  (I think I wrote a SIGCOMM paper on that back in the 90s.) It was really too early and there was too much that was really wrong introduced by the collaboration with ITU.  That list is almost endless. The ITU hasn’t gotten anything right in since all of this started. They are so stuck in the beads-on-a-string model, they can’t get out of their own way.

Of course, the Internet has done even worse by not doing anything at all. They lost the internet layer. (Even OSI didn’t do that).

Things have been much better since we got on a model that predicts new capabilities, some we never envisaged were even possible, it is turning out things are orders of magnitude simpler.

It is just so sad to see the Internet tied to the ITU model. It had such potential. 

Take care,
John

> Begin forwarded message:
> 
> From: John Day <[email-masked]>
> Subject: Re: [arch-d] Layer violations considered harmful?
> Date: June 11, 2019 at 06:20:31 EDT
> To: Yaakov Stein <[email-masked]>
> 
> I provided the historical background. This is not the definition of Layering that we are currently using.
> 
> You need to catch up.
> 
> A layer is a distributed application that provides interprocess communication.
> 
> Take care,
> John
> 
>> On Jun 11, 2019, at 00:40, Yaakov Stein <[email-masked] <mailto:[email-masked]>> wrote:
>> 
>> At the risk of starting a debate that I really don’t want to start,
>> I have to state that part of the misunderstanding here concerns what we mean by a “layer”.
>>  
>> <diatribe>
>>  
>> I think most of you are talking only about the outdated OSI/X.200 layering,
>> which is only one model, was pretty much arbitrary, and is missing many of the features now needed.
>> Were we to be speaking of G.80x layering then the answer would be a clear – no layer violations are respectable.
>>  
>> The reason that we sanction layer violations in OSI is simply that it is outdated.
>> Whenever I hear people calling MPLS “layer 2.5”
>> or whenever I see a protocol stack containing IP over MPLS over Ethernet over PW over MPLS over Ethernet,
>> I ask why people are still holding on to this model.
>> Ditto whenever people try explaining why “session” and “presentation” are layers,
>> but security and OAM are not.
>>  
>> In a pure layering model every layer network (NOT network layer) is an independent network,
>> potentially operated by a different business entity,
>> and with its own instantiation of all the necessary features of a network – addressing, OAM, security, etc.
>> This is how service providers view their network services,
>> and a layer violation (if technically possible) is a criminal action (potentially stealing service or access to resources, subverting proper operation, etc.).
>>  
>> </diatribe>
>>  
>> When using an arbitrary layering model that has only historical (and not commercial) justification,
>> then layer violations may indeed be justified.
>>  
>> Y(J)S
>>  
>>  
>>  
>> From: John Day [mailto:[email-masked] <mailto:[email-masked]>] 
>> Sent: יום ב 10 יוני 2019 17:54
>> To: Joe Touch <[email-masked] <mailto:[email-masked]>>
>> Cc: Brian E Carpenter <[email-masked] <mailto:[email-masked]>>; Yaakov Stein <[email-masked] <mailto:[email-masked]>>; [email-masked] <mailto:[email-masked]>
>> Subject: Re: [arch-d] Layer violations considered harmful?
>>  
>> There is something wrong here. I pretty much agree with Joe!  ;-)
>>  
>> See below.
>> 
>> 
>> On Jun 10, 2019, at 10:23, Joe Touch <[email-masked] <mailto:[email-masked]>> wrote:
>>  
>>  
>> 
>> 
>> On Jun 6, 2019, at 1:45 PM, Brian E Carpenter <[email-masked] <mailto:[email-masked]>> wrote:
>>  
>> At least in recent history, some degree of layer violation seems to have become quite respectable.
>>  
>> Perhaps tolerated with different levels of pain, but I doubt the bulk would call it “respectable”.
>>  
>> Most layer “violations” appear to failures of protocol designs in one of two ways:
>> 1) poor design of the protocol layering in the first place (as John pointed out)
>> 2) poor design of new features hat break those layerings
>>  
>> E.g., to the point of MTU, as John mentioned every layer has a transmission unit. In fact, every layer has (or should have) what every other layer has. OSI not only didn’t recognize that recursive structure (as John and I have repeatedly noted), it was designed on the very principle that the opposite was true.
>>  
>> OSI was designed based on the principle of separation of function, that each layer had a separate, independent role and that protocol capabilities were uniquely tied to a particular layer. The fact that this was wrong is itself what led to the need to violate those layers.
>>  
>> Mostly what happened in the OSI lower layers that indicated something was wrong was that functions were repeated in layers.*  As I said, the main violation was ‘identifying an (N+1)-protocol in an (N)-layer.” Which at the time, we could see it was a violation, but couldn’t see what the solution was. We only figured that out later when a recursive application connection establishment protocol was designed and specified.
>>  
>> In the upper layers, it turned out there were layer violations, primarily due to the PTTs stealing the Session Layer for Videotex. Remember that!? In 1983, the upper 3 layers were effectively made into one by ‘adjusting’ the protocol specifications so they could be done as a single state machine. (There was another question on the Reference Model, that dealt with which layers had to create flows sequentially and which could be combined. The upper 3 could be combined.) The lower 4 were done sequentially but because there was multiplexing in them, not all at the same time, nor was there a one-to-one mapping between flows at (N) and at (N-1)-). Later still, the upper layers were re-organized so that Session Functional Units were ‘application modules’ that could be combined to create application protocols. Presentation became a function.  All of this combined with the recursive application layer structure made a very powerful structure.
>> 
>>  
>> If every layer managed its own MTU, had its own *independent* identifiers, etc., the *need* for layer violation would cease. That’s not to say it would disappear - even well-designed, modular, layered systems have users who will rationalize a need to violate those layers, typically to achieve the precise behavior the layering was intended to inhibit.
>>  
>> This is true.  The original internet concept was between protocol translation and an overlay. (see Abbate) The ITU chose protocol conversion, which of course would have different MTUs in layers of the same rank and require fragmentation between layers of the same rank.  INWG, and later OSI, adopted the overlay approach, so that MTU was a property of the layer. However around 1980 or so, the Internet took the ITU approach. This was when the term ‘gateway’ was replaced by 'router.’
>>  
>> Take care,
>> John
>>  
>> *Actually CYCLADES first detected this problem, but tried to avoid it by defining in the overlay approach that the Transport Layer had ‘internet’ addresses and various networks had Network Layers with network addresses. (see Alex McKenzie’s article on INWG96. All of the *transport protocols* in that discussion had addresses, and operated over network layers with network addresses.) This was in the mid-70s before IP was separated from TCP. After IP was separated from TCP and since all of the ’networks’ DARPA was working with except the ARPANET were multiaccess media, i.e. layer 2 protocols. The IP became a network layer protocol and the Internet found itself in the ITU model, where it has been ever since. Notice the ubiquitous adoption today of the ISDN concepts of control and data planes. 
>> 
>> 
>>  
>> Joe
>>  
>

---

From: Joe Touch <[email-masked]>
Date: Tue, 11 Jun 2019 11:10:39 -0700

+1

Layers are quite different than what the OSI, the IETF, or service providers *ever* thought. It’s not simply that any of them just got it wrong to start with or that they got it right and it evolved wrong.

Done correctly, as John notes, they’re simple and meaningful - far beyond the notion of “software engineering” (modularization) or “administrative boundaries” (following the money).

When done that way, layer violations are unnecessary - except, as always, as Rocket says in Guardians of the Galaxy, “but what if I really want to”. I.e., there will always be those who want to violate rules for the quick profit. But there’s no other fundamental motivation.

joe

> On Jun 11, 2019, at 4:18 AM, John Day <[email-masked]> wrote:
> 
>> From: John Day <[email-masked] <mailto:[email-masked]>>
>> To: Yaakov Stein <[email-masked] <mailto:[email-masked]>>
>> 
> _______________________________________________
> Architecture-discuss mailing list
> [email-masked] <mailto:[email-masked]>
> https://www.ietf.org/mailman/listinfo/architecture-discuss <https://www.ietf.org/mailman/listinfo/architecture-discuss>

---

From: John Day <[email-masked]>
Date: Tue, 11 Jun 2019 14:41:31 -0400

+1

I would only add that when there is a violation, one lives to regret it.  ;-)

> On Jun 11, 2019, at 14:10, Joe Touch <[email-masked]> wrote:
> 
> +1
> 
>> On Jun 11, 2019, at 4:18 AM, John Day <[email-masked] <mailto:[email-masked]>> wrote:
>>

---

From: Christian Huitema <[email-masked]>
Date: Tue, 11 Jun 2019 17:58:57 -0700

> On Jun 11, 2019, at 11:41 AM, John Day <[email-masked]> wrote:
> 

Or someone else lives to regret it. Take a typical layer violation, the use of deep packet inspection by boxes in the middle of the network. The folks who devised these boxes sold them well and made good business. I don't think they regret it. Everybody else, on the other hand...

-- Christian Huitema

---

From: John Day <[email-masked]>
Date: Tue, 11 Jun 2019 21:53:38 -0400

;-) +1

> On Jun 11, 2019, at 20:58, Christian Huitema <[email-masked]> wrote:
> 
> 
>

---

From: John C Klensin <[email-masked]>
Date: Wed, 12 Jun 2019 01:12:01 -0400

--On Tuesday, June 11, 2019 17:58 -0700 Christian Huitema
<[email-masked]> wrote:

> Or someone else lives to regret it. Take a typical layer
> violation, the use of deep packet inspection by boxes in the
> middle of the network. The folks who devised these boxes sold
> them well and made good business. I don't think they regret
> it. Everybody else, on the other hand...

Yeah.  And that connects to something that I've occasionally
felt should be one of our fundamental analysis tools or
conclusions but that I haven't seen generally recognized:  Every
significant design error --either technical or policy-- with the
Internet has created a business opportunity for someone.

   john

---

From: Joe Touch <[email-masked]>
Date: Tue, 11 Jun 2019 22:59:32 -0700

> On Jun 11, 2019, at 10:12 PM, John C Klensin <[email-masked]> wrote:
> 
>  Every

Yup. The tragedy of the commons indeed.

Joe