Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!csd4.milw.wisc.edu!uxc.cso.uiuc.edu!uxc.cso.uiuc.edu!m.cs.uiuc.edu!zweig From: zweig@m.cs.uiuc.edu Newsgroups: comp.protocols.iso Subject: Null Protocol Layers Question Message-ID: <36800002@m.cs.uiuc.edu> Date: 28 Jun 89 04:10:00 GMT Lines: 41 Nf-ID: #N:m.cs.uiuc.edu:36800002:000:2634 Nf-From: m.cs.uiuc.edu!zweig Jun 27 23:10:00 1989 I have gotten flamed for saying that the Presentatio Layer can be (more or less) null in an OSI-compliant implementation. The main argument seemed to involve "having" to do ASN.1/BER encoding/decoding and prepending Presentation and Session headers onto each datagram at run time. Now somebody is seriously confused, so I'll toss this to the net and see who can set everyone straight.... My understanding of ASN.1/BER is that it is a means for describing Abstract Objects (such as the english word "Hello") in a universally-understood manner. So if I am sending bits to somebody who is expecting a BER encoding of the ASN.1 description of the sequence of characters "Hello", she will first expect a sequence of octets that say "here's an english-language character [tag and type] and it is an H..." and then some more that say "Okay, here's another one, and it's an e..." and so forth. No matter if I'm running on a PDP-6 and she has a CDC 6600. We agree to use BER to encode/decode and everything is cool. However, if we have agreed in advance to use ASCII, I can just send the 5 ASCII octets 'H', 'e', 'l', 'l' and 'o'. Can't I? If I don't need ASN.1/ BER I don't see that the OSI standards force me to use it. Furthermore, this nonsense about "having to do the encoding at runtime" is laughable. That's like saying I have to calculate TCP checksums on data at the same time I send it, rather than when I store it to disk if I want. The messages in the X protocol are already known and can be encoded at compile- time. Of course, the BER decoding still needs to take place, but since the protocol in question (X) has well-known messages, I can do table-driven decoding at minimal additional overhead. And I also got flamed for failing to realize that even if the Presentation Layer/Sesseion Layers do nothing, P/S headers need to be prepended to the datagram. Aren't the headers going to be "dull" (in the sense of not costing much to calculate) with a protocol layer that isn't doing anything? Again, it seems like most of the information ought to be calculable in advance so as not to slow down operation of the protocol. I think I'm not completely wrong -- and I never like being made a fool of by other people over the Net. So I'll make a fool out of myself and say that I think these arguments are specious and that X can live in Layer 7 quite happily and a non-brain-dead OSI protocol implementation (if such a thing were to be brought into existence) would not make it unhappy and bored up there.... -Johnny The-OSI-Reference-Model-has-nothing-to-do-with-Implementation (#include )