home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk1.iso / answers / osi-protocols < prev    next >
Text File  |  1993-12-14  |  52KB  |  1,105 lines

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!nic.hookup.net!news.moneng.mei.com!howland.reston.ans.net!xlink.net!fauern!rz.unibw-muenchen.de!rrze.uni-erlangen.de!not-for-mail
  2. From: unrza3@cd4680fs.rrze.uni-erlangen.de (Markus Kuhn)
  3. Newsgroups: comp.protocols.iso,comp.answers,news.answers
  4. Subject: comp.protocols.iso FAQ
  5. Supersedes: <osi-faq_752438658@cd4680fs.rrze.uni-erlangen.de>
  6. Followup-To: comp.protocols.iso
  7. Date: Tue, 14 Dec 1993 20:17:39 +0100
  8. Organization: Regionales Rechenzentrum Erlangen, Germany
  9. Approved: news-answers-request@MIT.Edu
  10. Expires: 27 Jan 1994 19:17:27 GMT
  11. Message-ID: <osi-faq_755896647@cd4680fs.rrze.uni-erlangen.de>
  12. Reply-To: mskuhn@cip.informatik.uni-erlangen.de
  13. NNTP-Posting-Host: cd4680fs.rrze.uni-erlangen.de
  14. Lines: 1085
  15. Summary: Introductory information about OSI, a family of internationally
  16.          standardized computer communication protocols and services.
  17. Keywords: OSI, computer networks, standards, data communication, open systems
  18. Xref: senator-bedfellow.mit.edu comp.protocols.iso:4999 comp.answers:3013 news.answers:15807
  19.  
  20. Archive-name: osi-protocols
  21. Last-modified: $Date: 93/12/14 20:15:56 $
  22. Version: $Revision: 1.9 $
  23.  
  24. Frequently Asked Questions about OSI with Answers
  25. -------------------------------------------------
  26.  
  27. This text is a monthly posting to the USENET group comp.protocols.iso.
  28. Its purpose is to give answers to some of the questions appearing most
  29. often in this group, to offer a minimal starting point in the learning
  30. curve of OSI beginners and to collect interesting information that
  31. appeared in USENET discussions.
  32.  
  33. Another FAQ (Archive-Name: standards-faq) which is posted to
  34. comp.protocols.iso and comp.std.misc contains information about the
  35. international standardization organizations (ISO, CCITT, ...), where
  36. their documents are available, what Internet recources provide
  37. information about standards etc.
  38.  
  39. This FAQ is crossposted to news.answers and won't expire there on
  40. well-managed news systems until the next version has been posted. As a
  41. consequence of being crossposted to news.answers, this text will also
  42. be automatically archived on many FAQ servers all over the world (e.g.,
  43. look with anonymous ftp at rtfm.mit.edu in /pub/usenet/news.answers).
  44. You'll also find there many other answers to frequently asked questions.
  45.  
  46. The author of this FAQ has lost much of his enthusiasm for OSI since
  47. the first version has been posted and won't spend too much time in
  48. maintaining it. If you have much more energy left for this subject and
  49. are interested in continuing with the FAQ, just contact me! I'll
  50. concentrate on this text's brother, the Standards FAQ, which has
  51. received much more interest and contributions.
  52.  
  53. I hope you enjoy it ...
  54.  
  55. Markus
  56.  
  57.  
  58. Contents
  59. --------
  60.  
  61.   What is OSI?
  62.   What is the OSI reference model?
  63.   What is ASN.1?
  64.   What OSI standards are there?
  65.   How are OSI and TCP/IP related?
  66.   Which is better: TCP/IP or OSI?
  67.   OSI criticism
  68.   Which free OSI implementations are available?
  69. ! New and planned OSI standards
  70.   Books and Journals
  71.  
  72. A '+' in the first column marks a topic that has been added since this
  73. FAQ has been posted the last time and a '!' marks a change. Trivial
  74. typographic changes are not marked.
  75.  
  76.  
  77.  
  78. What is OSI?
  79. ------------
  80.                    "the first successful worldwide attempt to develop a set
  81.                     of comprehensive standards for computer communications"
  82.                                                              (Uyless Black)
  83.  
  84. OSI is an abbreviation for Open Systems Interconnection. In the early
  85. 80's, people in several standardization committees all over the world
  86. felt that the time had come to develop a set of non-proprietary
  87. standard protocols. They hope that one day these protocols will replace
  88. most of the vendor-dependent specifications and that this will make the
  89. way free for easy and flexible world-wide computer communication. It
  90. took nearly a decade before the first results were produced: a
  91. reference model and a set of layer standards from physical cable
  92. definitions up to distributed databases and information systems,
  93. together with management and security tools. The process of
  94. standardization hasn't been finished yet and probably won't be in the
  95. next decade, but we already have a powerful set of protocols for the
  96. most important applications. These specifications have been published
  97. as ISO standards and CCITT recommendations.
  98.  
  99.  
  100. What is the OSI reference model?
  101. --------------------------------
  102.  
  103. A good international standard should be flexible and extensible. In
  104. order to achieve this goal, it seems to be a good idea to separate a
  105. complex structure like a computer protocol in several modules. Each
  106. module should be of manageable size and, if different techniques are
  107. available for a certain aspect of a protocol, then the separation into
  108. modules makes it quite easy to change this part of the whole system
  109. (e.g. the cable specification or the encoding of data) without touching
  110. the rest of the specification.
  111.  
  112. The OSI Reference Model (RM) defined in ISO 7498 divides the
  113. communication process between two application programs into 7
  114. intermediate layers. Each layer provides a certain kind of service to
  115. the next higher layer. This service is provided by communicating with
  116. the peer entity in same layer of the remote host using the service
  117. provided by the next lower layer. Some of the layer entities may be
  118. implemented in physical devices, some may be part of the operating
  119. system and some may be included in application programs. Most layers
  120. provide their service by forwarding protocol data units to the next
  121. layer together with an added or removed header or by performing other
  122. functions and state changes.
  123.  
  124. The OSI Reference Model only defines the abstract notion of layers and
  125. does not specify whether the boundaries between the layers have to be
  126. visible and documented in implementations. There are other standards
  127. that define application program interfaces (APIs) between the operating
  128. system and the application and these APIs often correspond to a layer
  129. boundary in the OSI Reference Model.
  130.  
  131. The classic standard diagram that is normally used to describe the OSI
  132. RM looks like this:
  133.  
  134.  
  135.      End System                      End System
  136.  
  137.      +-------+                       +-------+
  138.      |   7   |                       |   7   |     Application Layer
  139.      +-------+                       +-------+
  140.      |   6   |                       |   6   |     Presentation Layer
  141.      +-------+                       +-------+
  142.      |   5   |      Intermediate     |   5   |     Session Layer
  143.      +-------+         System        +-------+
  144.      |   4   |                       |   4   |     Transport Layer
  145.      +-------+     +-----------+     +-------+
  146.      |   3   |     |     3     |     |   3   |     Network Layer
  147.      +-------+     +-----+-----+     +-------+
  148.      |   2   |     |  2  |  2  |     |   2   |     Data Link Layer
  149.      +-------+     +-----+-----+     +-------+
  150.      |   1   |     |  1  |  1  |     |   1   |     Physical Layer
  151.      +-------+     +-----+-----+     +-------+
  152.          |            |     |            |
  153.          +------------+     +----...-----+
  154.  
  155.  
  156. The PHYSICAL LAYER provides the service of transferring bits from one
  157. end of the physical medium to the other. This includes the
  158. specification of the medium (wire, coax cable, fiber optics, radio
  159. signals, laser signals, microwave signals, seismic waves, ... :-) as
  160. well as the connectors, the modulation techniques, environmental limits
  161. etc.
  162.  
  163. The DATA LINK LAYER uses the bit-transfer ability of the physical layer
  164. to provide a secured link between two hosts. This includes functions
  165. like error detection and correction, separating data blocks,
  166. controlling media access, etc.
  167.  
  168. In a network, not every computer has to be connected to each other
  169. directly. Hosts should be able to forward data packets according to an
  170. address field that has been attached to the packet. The NETWORK LAYER
  171. provides the service of routing and delivering a packet to any host in
  172. the network. In intermediate systems, where there's no application
  173. program involved in the communication, the packets are only processed
  174. by the lower three layers.
  175.  
  176. Each layer (especially 2 and 3) can operate in two different modes. In
  177. the CONNECTION-ORIENTED (CO) mode, the communication goes through
  178. several stages similar to a telephone call: (1) dial, (2) wait until
  179. the connection has been established, (3) communicate, (4) close the
  180. connection, (5) wait until close of the connection has been confirmed.
  181. The connection-oriented mode guarantees that no packets are lost and
  182. that all packets arrive in the same order in which they have been sent.
  183. In contrast, in the CONNECTIONLESS (CL) mode only a datagram service is
  184. provided, similar to the postal letter service. No one guarantees that
  185. the letters arrive in the same order in which they have been sent, and
  186. every intermediate system is allowed to discard a packet if there are
  187. insufficient resources available to deal with it (e.g. buffers are
  188. full). In CL-mode systems, higher layers have to deal with
  189. resequencing, retransmission of lost packets, etc. where a reliable
  190. data stream is required.
  191.  
  192. There is endless debate about whether the CONS (connection-oriented
  193. network service) or the CLNS should be provided by the network layer
  194. and now both alternatives have been defined in OSI standard protocols.
  195. As most applications want to exchange several packets in sequence, they
  196. need a CO-mode service. The TRANSPORT LAYER has been introduced in
  197. order to hide the differences between several network concepts (CO vs.
  198. CL and other things like maximum packet size and quality of service)
  199. from the connection-oriented transport service (COTS) user. In the case
  200. of a CO network, the COTS is quite simple to provide, but over a CL
  201. network, complete error correction and flow control has to be provided
  202. in the transport layer.
  203.  
  204. The main advantage of the CLNS is higher efficiency because fewer CPU 
  205. cycles for complex flow control algorithms are needed in intermediate
  206. systems (routers). If no connection-oriented transport service is
  207. needed, then the response time may be significantly shorter over a
  208. CLNS. CONS, on the other hand, makes accounting easier for network
  209. providers, as only correctly delivered packets are counted. The headers
  210. of the connection-oriented network protocol packets may be much
  211. shorter, as the full address is not required in each packet, which
  212. might be relevant on slow lines. In addition, many existing nets are
  213. CO, e.g. X.25 nets, the telephone net and ISDN.
  214.  
  215. The SESSION LAYER offers a mechanism to include synchronization points
  216. in the stream of exchanged packets and to go back to one of the
  217. previous sync points. This might be useful if large files are
  218. transferred and it is possible to recover after a breakdown without
  219. having to retransfer the whole file. The session layer only provides
  220. the means to negotiate a recovery. The recovery has to be done by the
  221. application and not by the software that implements the session layer.
  222. This is the reason why many experts consider the session layer as one
  223. of the darker corners of the OSI model, especially as this part of the
  224. standard is quite complex and difficult to understand. Perhaps it would
  225. have been a better choice to include the session layer functionality
  226. somewhere in the application layer. Don't worry if you don't understand
  227. the exact ideas behind the design of the session layer, you are not
  228. alone. There are even obscure relations with CCITT T.62, although only
  229. very few people seem to understand why compatibility with an old
  230. Teletex protocol was necessary in the session layer design ...
  231.  
  232. The PRESENTATION LAYER provides for negotiation of the form of
  233. representation (syntax) of the data that will be transferred. This
  234. makes sense if several optional ASN.1 encodings or other syntaxes 
  235. (e.g. the X Window System protocol) are possible.
  236.  
  237. Finally, the APPLICATION LAYER provides an application-specific
  238. service. This is not the application itself, but the application layer
  239. is directly used by an application program. For instance, an electronic
  240. mail user interface program might use the X.400 application layer in
  241. order to send a message to another host. Here the application layer
  242. will deal with things like address resolution, routing decisions,
  243. transferring and converting (even very huge) messages, etc. Other
  244. application layer standards offer services like accessing remote file
  245. systems, controlling video terminals and transaction systems, etc.
  246.  
  247. In addition to the 7 layers, the OSI Reference Model defines a
  248. management and a security architecture that includes all 7 layers.
  249.  
  250. The seven layer model seems to have been first mentioned in the
  251. literature in
  252.  
  253.   "A Tutorial on Protocols" by Louis Pouzin and Hubert Zimmerman in
  254.   Proceedings of the IEEE, Volume 66, Number 11 (November 1978), pages
  255.   1346-1370.
  256.  
  257.  
  258. What is ASN.1?
  259. --------------
  260.  
  261. Most protocols are defined as sets of protocol data units (PDUs) that
  262. might be exchanged between two hosts. A PDU is a sequence of bytes that
  263. one host uses to tell the other one something according to the rules of
  264. the protocol. Quite early in the OSI project, it was recognized that a
  265. formal way of defining the syntax of PDUs was needed, i.e. something 
  266. like the well-known context-free Backus-Naur grammars (BNF) are used to
  267. define the syntax of programming languages. ASN.1 (abstract syntax
  268. notation number 1) plays the same role in defining OSI protocols that
  269. BNF plays in the definition of a programming language: it gives a
  270. precise and parseable specification how PDUs are structured and which
  271. structures are allowed, but it says nothing about the meaning of a PDU.
  272. This is still defined in English language in the OSI standards.
  273.  
  274. ASN.1 specifies only the 'abstract syntax' of a PDU. This means that it
  275. only says that, for example, a PDU consists of 2 integer numbers (of
  276. arbitrary size), one optional UTC time value and one ISO 10646 string
  277. or, alternatively, one ASCII string. ASN.1 doesn't define the 'transfer
  278. syntax', the way in which the values in the abstract syntax (e.g. {2,
  279. 42, 1992-10-6 10:09:34, "Hey!"}) are encoded in the sending or
  280. receiving computers, or on the transmission path between them. Several
  281. different transfer syntaxes have been defined. The most widely used one
  282. is BER (basic encoding rules). Other transfer syntaxes are simplified
  283. BER subsets or provide a one-to-one mapping between abstract value and
  284. the bit string for cryptographic applications or are optimized with
  285. regard to CPU time or PDU length.
  286.  
  287. An example:
  288.  
  289.        NonsenseProtocol ::= CHOICE {
  290.                               testPDU [0] TestPDU,  -- Our example
  291.                               getFile [1] GetFile   -- another possible PDU
  292.                             }
  293.  
  294.        TestPDU ::= SEQUENCE {
  295.                      aNumber INTEGER,
  296.                      anotherNumber INTEGER,
  297.                      today UTCTime OPTIONAL,
  298.                      theText CHOICE {
  299.                                multilingualText ISO10646String,
  300.                                standardText     VisibleString
  301.                              }
  302.                    }
  303.  
  304. The BER encoding consists of tag-length-value triples for both composed
  305. types (CHOICE, SEQUENCE, SEQUENCE OF, SET, SET OF, tags, ...) and
  306. primitive types (integers, strings, ...). The tag identifies the type
  307. of the value (e.g. 0 for testPDU and 1 for getFile) and the length
  308. defines the end of the TLV triple. This allows an implementation to
  309. jump efficiently over (perhaps even unknown) values and makes ASN.1
  310. defined protocols very extensible.
  311.  
  312. As an example the encoding of the value {2, 42, 1992-10-6 10:09:34,
  313. "Hey!"} of type NonsenseProtocol:
  314.  
  315.   a0 80 ----------------------- Length encoding: indefinite.
  316.    +--------------------------- Explicit tag: [0] means that we took
  317.                                 the testPDU alternative of the choice.
  318.                                 
  319.   30 80 ----------------------- again indefinite length form, as we don't
  320.    |                            know how long the SEQUENCE will finally be.
  321.    |                            Consequently, the end of the SEQUENCE will
  322.    |                            have to be marked by a 00 00 component.
  323.    +--------------------------- This is a composite type SEQUENCE.
  324.  
  325.   02 01 02 -------------------- The value 2.        
  326.    |  +------------------------ Length of the value: 1 byte.
  327.    +--------------------------- This is an INTEGER value.
  328.  
  329.   02 01 2a -------------------- The value 42.        
  330.    |  +------------------------ Length of the value: 1 byte.
  331.    +--------------------------- This is another INTEGER value.
  332.  
  333.   17 0d 39 32 31 30 30 36 31 30 30 39 33 34 5a
  334.    |  | --------------------------------------
  335.    |  |                 +------ The encoded date and time.
  336.    |  +------------------------ Length: 13 bytes.
  337.    +--------------------------- Type: UTCTime.
  338.  
  339.   1a 04 48 65 79 21
  340.    |  | -----------
  341.    |  |      +----------------- The value: 'Hey!' coded in ASCII.  
  342.    |  +------------------------ This is 4 bytes long.
  343.    +--------------------------- We used the VisibleString alternative
  344.                                 of CHOICE.
  345.  
  346.   00 00 ----------------------- This is the end of the indefinite length
  347.                                 SEQUENCE.
  348.  
  349.   00 00 ----------------------- This is the end of the explicitly tagged
  350.                                 CHOICE alternative TestPDU.
  351.  
  352. Another very important ASN.1 concept and data type are object
  353. identifiers. These are lists of integers that uniquely identify any
  354. object in a protocol, e.g. a X.400 body part, a DFR document type, a
  355. X.500 attribute type, a public key algorithm, a protocol version, etc.
  356. If one object identifier is yours, then only you are allowed to append
  357. further numbers to your OID and create new object identifiers that only
  358. belong to you. You may give some of your newly created object
  359. identifiers to other people, and, then, they also have the right of
  360. creating their own new subtrees in the OID space. The highest levels in
  361. this tree belong to ISO and CCITT, and they have already reserved OIDs
  362. for many organizations. This allows you, for instance, to define your
  363. own X.400 high-end cyberspace body part, and it won't collide with
  364. someone else's self-defined body part if a prefix of the OID belongs to
  365. you. As many options in OSI protocols are identified by OIDs, it is
  366. very easy for implementors to extend the protocols without getting in
  367. conflict with older implementations which will know that they don't
  368. know this new OID. Many protocols exchange sets of OIDs that identify
  369. their implemented subsets and extensions after the connection has been
  370. established and automatically determine the biggest common subset of
  371. all optional protocol features that both may use.
  372.  
  373. Today ASN.1/BER are also used in many non-OSI protocols and file
  374. formats, and there are a number of tools (ASN.1 compilers) available
  375. that help to create parsers automatically from ASN.1 specifications.
  376. [See also the section about new standards.]
  377.  
  378. What OSI standards are there?
  379. -----------------------------
  380.  
  381. As two organizations (ISO and ITU) have been involved in the OSI
  382. standardization process, many of the specifications have been
  383. published as both ISO standards and CCITT recommendations (CCITT
  384. recommendations will in the future be called ITU-T recommendations).
  385. In these cases, both versions are "technically aligned" or one version
  386. is a subset of the other one.
  387.  
  388. The OSI Reference Model, as defined in ISO 7498-1 and CCITT
  389. recommendation X.200, describes the details of the seven-layer model.
  390. The three other parts of ISO 7498 describe the Security Architecture,
  391. Naming and Addressing and the Management Framework.
  392.  
  393. Formal protocol description methods are defined in ISO 8807 (LOTOS,
  394. Language Of Temporal Ordering and Specification), ISO 9074 (ESTELLE)
  395. and ISO 9496 (CHILL). ISO 9646 standardizes methods for conformance
  396. testing e.g. the Tree and Tabular Combined Notation (TTCN) for test
  397. suites. ISO TR 10167 (Application guidelines for ESTELLE, LOTOS and SDL)
  398. includes a number of examples of systems, showing how each of them can
  399. be specified using these three standards.
  400.  
  401. International registration procedures for things like OSI document
  402. types, object identifiers, virtual terminal profiles and control
  403. objects and application process titles are described in ISO 9834 and
  404. X.660. Registration means that a world-wide unique identifier will be
  405. reserved for your extension to an OSI protocol, which guarantees that
  406. extensions developed by different people won't collide with each other
  407. and possible future ISO extensions.
  408.  
  409. ISO 8824 and X.208 standardize ASN.1. ISO 8825 and X.209 standardize
  410. the Encoding Rules (BER and soon others) for it. [See also the section
  411. about new standards.]
  412.  
  413. The details of the Security Framework are defined in ISO 10181, and 
  414. ISO 10745 describes the Upper Layers Security Model. Several security
  415. techniques are standardized in ISO 9796 (Digital Signature Scheme
  416. Giving Message Recovery) and ISO 9798 (Entity Authentication
  417. Mechanisms, Symmetric Techniques and Public Key Algorithms). You may
  418. register your own cryptographic algorithms as defined in ISO 9979.
  419.  
  420. Many OSI standards have been divided in two documents, the service
  421. definition and the protocol specification, in order to separate the
  422. description of the functionality from the description of the protocol
  423. realization.
  424.  
  425. Layer seven has been further subdivided into several modules (service
  426. elements), as some of them may be useful for more than one application.
  427. This Application Layer Structure is defined in ISO 9545 and CCITT
  428. X.207. The Association Control Service Element (ACSE) (ISO 8649|X.217
  429. service definition and ISO 8650|X.227 protocol definition) manages the
  430. establishment of a connection between two remote applications. CCR
  431. (Commitment, Concurrency and Recovery) is a service element that
  432. provides services needed for keeping distributed databases consistent
  433. (ISO 9804/9805|X.861/871). ISO 9066 and CCITT X.218/228 define the
  434. Reliable Transfer Service Element (RTSE) that transfers huge messages
  435. safely from one node to the next one with recovery, etc. (e.g. used by
  436. e-mail). The Remote Operations Service Element (ROSE) allows a client
  437. to execute operations at a server process and to receive the results or
  438. error indications.
  439.  
  440. Now, it's time to come to the most interesting part of the whole OSI
  441. story, the application services and protocols:
  442.  
  443. ISO 9595 and CCITT X.710 define the Common Management Information
  444. Service (CMIS) and ISO 9596|X.711 the Common Management Information
  445. Protocol (CMIP) that may be used for controlling all parts of a
  446. computer network, e.g. routers, queues, environmental sensors,
  447. accounts, security logs, installed software versions, clocks, etc. ISO
  448. 10164 describes these various aspects of System Management, and ISO
  449. 10165 standardizes the Management Information Model used for
  450. controlling all these devices.
  451.  
  452. FTAM (File Transfer, Access and Management) is a protocol defined in
  453. ISO 8571 that has been designed for both simple file transfers a la
  454. kermit and DoD ftp and for directly accessing remote file systems like
  455. NFS, etc.
  456.  
  457. The Virtual Terminal (VT) service and protocol specified in ISO 9040
  458. and ISO 9041 allow a host application to control a terminal with screen
  459. and keyboard and similar devices like printers. In addition, not only
  460. application-terminal, but also the less common application-application
  461. and terminal-terminal communication is supported. Today, only the Basic
  462. Class VT, which covers character-oriented terminals has been specified.
  463. This service is comparable to DoD Telnet and the old CCITT
  464. X.3/X.28/X.29 PAD protocol, but much more powerful. It also includes
  465. control of cursor movement, colors, character sets and attributes,
  466. access rights, synchronization, multiple pages, facility negotation,
  467. etc. This means that the huge number of classic terminal type
  468. definitions (e.g. in UNIX termcap or terminfo) are unnecessary at each
  469. host in the net, as the VT protocol includes the corresponding commands
  470. for one abstract virtual terminal that only have to be converted by the
  471. local implementation to the actual terminal control sequences.
  472. Consequently, the use of VT means not every host needs to know every
  473. type of terminal. 
  474.  
  475. As with most ISO standards that require general consensus amongst
  476. participating members, the OSI VT has many optional capabilities, two
  477. modes of operation and an almost infinite number of implementation-
  478. specific options. Profiles may help in reducing the optionality present
  479. (e.g., there exists a Telnet profile for VT).  But it is doubtful that
  480. the OSI VT can completely put an end to the 'm x n' terminal
  481. incompatibility problem that exists in a heterogeneous computer
  482. network.
  483.  
  484. ISO 8831 and ISO 8832 define the Job Transfer and Manipulation (JTM)
  485. protocol and service that may be used to control the disposition of the
  486. programs and files and the execution of processes on remote hosts, to
  487. query their status and to retrieve the results.
  488.  
  489. The X.400 electronic mail system, also known as Message Handling System
  490. (MHS) is specified in CCITT X.400-X.440 and in ISO 10021. The system
  491. consists of Message Transfer Agents (MTAs), that store and forward
  492. messages through the network and User Agents (UAs) that present the
  493. mail to the end user and allow him/her to send mail. The X.400 P1
  494. protocol which is used between MTAs is based on the RTSE. The MTAs
  495. transfer the messages to and from the UAs using the P3 protocol or by
  496. local means (e.g. the file system if both processes run on the same
  497. host). The Message Transfer System (MTS) that is formed by all MTAs may
  498. be used for Interpersonal Messaging (IPM) or for other purposes (e.g.
  499. system management). The MTS is used for sending mail to other people
  500. directly or via Distribution Lists (DLs) and to transport delivery
  501. reports (after the message has been delivered or discarded) and
  502. receipt/non-receipt notifications (after the message has been read by
  503. the recipient or deleted without ever having been seen by the
  504. recipient) back to the sender. MTAs may be capable of converting
  505. message body part types (e.g. different character sets or voice data
  506. encodings) and rerouting if default links are unavailable.
  507.  
  508. X.500-X.521 and ISO 9594 specify the OSI Directory Service (DS). The DS
  509. is a distributed database used for storing information about people,
  510. organizations, application processes (e.g. MTAs or public DFR servers),
  511. routing tables, etc.  X.500 may be used to search the X.400 addresses
  512. of people interactively as well as other attributes like their phone
  513. number, postal address, preferred delivery method (fax, mail, etc.),
  514. photo and public keys. X.509 specifies a distributed authentication
  515. framework based on the DS. The X.500 directory information base is
  516. structured hierarchically, i.e. the entries that represent real world
  517. objects (countries, persons, servers, management information, news
  518. groups, distribution lists, groups of persons, organizational roles,
  519. etc.) are connected to a world wide tree. Each entry has a number of
  520. standardized or locally defined attributes and a unique Distinguished
  521. Name that describes its location in the tree. Generally, there are
  522. nodes for countries under the root and nodes for organizations under
  523. each country and these may be further subdivided and contain person
  524. entries, etc. But also other tree stuctures are possible. Powerful
  525. search queries allow the implementation of easy-to-use Directory User
  526. Agents (DUAs, the clients) that provide users the ability to find
  527. information stored in the interconnected Directory System Agents (DSAs,
  528. the servers). The DSAs talk to each other using the Directory System
  529. Protocol (DSP). DUAs send their queries and modification commands to
  530. the DSAs using the Directory Access Protocol (DAP).
  531.  
  532. The Document Filing and Retrieval (DFR) service and protocol are
  533. defined in ISO 10166. A document store may contain a large number of
  534. documents (ASCII texts, word processing files, hypertext files,
  535. software packages, etc.) together with attributes like title, name of
  536. the author, date of creation and latest modification, version number,
  537. pointers to other copies of the same document, pointers to older
  538. versions, language, summary, keyword list, access rights, lock
  539. semaphores and so on. Documents may be arranged in a tree and described
  540. with attributes very similar to the X.500 database. DFR allows the
  541. implementation of an easy to use distributed information retrieval
  542. system similar to the Internet gopher. In addition to the gopher
  543. protocol, the DFR protocol provides the ability to store and modify
  544. documents, access control, searches on attributes, a version control
  545. mechanism and other things. Documents may also be represented by links
  546. to other DFR servers and a unique identifier is assigned to each
  547. document by the system, so that the user need not be aware that he/she
  548. accesses several servers while browsing through the document (and
  549. perhaps hypertext) space. Documents may be of various types (e.g. ODA,
  550. SGML and HyTime, X.400 IPM messages, binary).
  551.  
  552. The Bibliographic Search, Retrieval and Update Service and Protocol
  553. (SR) are defined in ISO 10162/10163. It is based on NISO Z39.50.
  554.  
  555. An Interlibrary Loan Service and Protocol are specified in ISO
  556. 10160/10161 for library applications.
  557.  
  558. ISO 10031 defines Distributed Office Applications (DOA).
  559.  
  560. The Manufacturing Message Specification (MMS) Service and Protocol have
  561. been defined for controlling and integrating industrial automation
  562. systems (ISO 9506).
  563.  
  564. An application layer protocol for Remote Database Access (RDA) is
  565. specified in ISO 9579 and a Distributed Transaction Processing Model,
  566. Service and Protocol is defined in ISO 10026 and X.850/860/870.
  567.  
  568. This was a very short overview on the application layer. Now let's dive
  569. into the deeper layers.
  570.  
  571. The OSI presentation layer service and protocol are defined in ISO
  572. 8822/8823 and X.216/226. A connectionless mode protocol version is
  573. specified in ISO 9576.
  574.  
  575. The OSI session layer service and protocol are defined in ISO 8326/8327
  576. and CCITT X.215/225. The connectionless variant is specified in ISO
  577. 9548.
  578.  
  579. The OSI transport layer service and protocol are defined in ISO
  580. 8072/8073 and X.214/224. These standards define 5 different flavors of
  581. one transport protocol for the connection-oriented transport service.
  582. TP0 is the simplest version, and assumes that the network service is
  583. reliable enough for the application. TP1 provides error recovery, i.e.,
  584. after a network failure, the transport layer implementation is capable
  585. of automatically reestablishing the connection without notifying the
  586. higher layers. TP1 won't detect errors that are not signaled by the
  587. network layer, e.g., by a disconnect message. TP2 provides the ability
  588. to multiplex several transport connections over a single network
  589. connection and TP3 provides both error recovery and multiplexing
  590. (TP1+TP2=TP3). Finally, TP4 provides all this, plus error detection,
  591. error correction and packet resequencing. TP4 is intended to be used
  592. over unreliable connectionless networks. ISO 8602 defines a protocol
  593. for the connectionless transport service (CLTS) and ISO 11570 a
  594. transport protocol identification mechanism.
  595.  
  596. The network service, and the secrets of OSI network service access
  597. point (NSAP) addresses, are defined in ISO 8348 and X.213. ISO 8648
  598. defines the internal organization of the network layer in 3 sublayers
  599. and ISO 8880 describes protocol combinations for the network service.
  600. ISO 10028 specifies the relaying function of an intermediate system.
  601.  
  602. The connectionless network service may be provided by the
  603. connectionless network protocol (CLNP, also known as ISO IP) defined in
  604. ISO 8473. In combination with CLNP, the End System to Intermediate
  605. System Routeing Information Exchange Protocol (ESIS) defined in ISO
  606. 9542, the Intermediate System to Intermediate System Routeing
  607. Information Exchange Protocol (ISIS) defined in ISO 10589 and the
  608. Protocol for Exchange of Inter-Domain Routeing Information (ISO 10747)
  609. may be used. CLNP is normally used together with TP4 as the transport
  610. protocol.
  611.  
  612. The connection-oriented network service (CONS) may be provided by
  613. X.25 (ISO 8202) as defined in ISO 8878|X.223. ISO 8881 extends X.25 for
  614. use in local area networks, ISO 10732 describes some details of using
  615. X.25 for providing the CONS over the telephone network and ISO 10588
  616. describes how to use X.25 over X.21/X.21bis lines for providing the
  617. CONS. ISO 10177 defines an intermediate system using X.25/CONS and ISO
  618. 10030 is the ESIS version for X.25/CONS. Using ISDN (the new digital
  619. telephone network) for providing the CONS is specified in ISO 9574.
  620.  
  621. And another layer: the Data Link Service is defined in ISO 8886|X.212.
  622. Most data link layer protocols are based on the High-level Data Link
  623. Control (HDLC) family of error correction protocols. These are
  624. described in the standards ISO 3309/4335/7478/7809/8471/8885. One
  625. popular HDLC protocol is the subset LAPB defined in ISO 7776, which is
  626. often used with X.25 on point-to-point lines. ISO 8802 (also known as
  627. IEEE 802) defines several LAN systems, e.g. ISO 8802-3 is the well
  628. known Ethernet (CSMA/CD) specification. ISO 8802-2 defines the data
  629. link layer protocol for LANs Logical Link Control (LLC). LLC1 is the
  630. connectionless and LLC2 the connection-oriented version. The Fiber
  631. Distributed Data Interface (FDDI) is a fiber optic LAN system for 100
  632. Mbit/s specified in ISO 9314.
  633.  
  634. The Physical Layer Service Definition is defined in ISO 10022|X.211.
  635. The physical layers of LANs are, in most cases, defined in the same
  636. documents as the layer 2 descriptions. There are also many ISO and IEC
  637. standards for all kinds of plugs and connectors.
  638.  
  639. OSI standards define a lot of options, and they may be combined in a
  640. huge variety of ways in order to be suitable for all kinds of
  641. requirements (and sometimes for political reasons :-( ). Consequently,
  642. if you have two boxes that claim to be OSI conforming, this doesn't
  643. mean that you can plug them together and they will work together,
  644. because they can use different lower layer protocols and different
  645. higher layer options. In order to create standards that allow that
  646. conforming and compatible products will interoperate, profiles have
  647. been defined. A profile is a set of options and combinations selected
  648. from the protocol standards such that it is guaranteed that
  649. implementations conforming to the (same!) profile will be able to
  650. communicate. Technical report ISO TR 10000 gives the ISO profile
  651. framework. 'A' profiles have been defined for application layer
  652. protocols (e.g. AFT11 in the international standardized profile ISO ISP
  653. 10607 for a simple FTAM file transfer subset and AOM12 in ISO ISP 11183
  654. is an enhanced management protocol subset), 'T' profiles define layer
  655. 1-4 stacks (ISO ISP 10609) and 'F' profiles are for file formats (e.g.
  656. FOD36 is a de luxe version of ODA).
  657.  
  658. A good list of all OSI related standards and their current status is
  659. printed twice a year in the ACM SIGCOMM journal Computer Communication
  660. Review. A list of CCITT standards is available from the Teledoc mail
  661. server described in the standards FAQ where you'll also find a short
  662. list of other ISO standards relevant to computing. For more
  663. information, order the orange ISO Catalogue from your national ISO
  664. member body.
  665.  
  666.  
  667. How are OSI and TCP/IP related?
  668. -------------------------------
  669.  
  670. TCP/IP is a suite of protocols that has been developed by the US
  671. Department of Defense and that are used on the Internet. Software
  672. supporting TCP/IP is part of nearly every UNIX distribution today.
  673. TCP/IP is not a OSI protocol and does not fit in the OSI reference
  674. model. However, the service provided by IP is very similar to the
  675. connectionless network service provided by CLNP, and so, IP is
  676. generally called a layer 3 protocol. Similarly, TCP may be compared
  677. with TP4 and can be seen as a layer 4 protocol in the reference model.
  678. The major differences are the address space, which is a 4-byte sequence
  679. in IP and up to 20 bytes in OSI, and the fact that TCP is a
  680. stream-oriented protocol that doesn't provide any protocol data unit
  681. boundaries. Other details are a few missing features in TCP/IP like
  682. quality of service negotiation and routing restrictions.
  683.  
  684. The Internet standard RFC 1006 defines a method of providing the
  685. connection-oriented transport service (COTS) for OSI over TCP. This is
  686. done using a packet length indicator and the TP0 protocol. RFC 1006 is
  687. only an interim solution, and there are long term plans to introduce
  688. CLNP in the Internet. OSI Services that are used today on the Internet
  689. (e.g. the X.400 and X.500 pilots) use RFC 1006 over TCP/IP.
  690.  
  691. The higher layer protocols in the DoD/Internet suite may be mapped as
  692. follows:
  693.  
  694.        DoD/Internet                   OSI
  695.      ----------------------------------------------------------------
  696.        ftp                            FTAM
  697.        RFC822, SMTP, MIME             X.400
  698.        Telnet, rlogin                 VT
  699.        Gopher+, WWW                   DFR
  700.        WAIS                           SR    (both are based on Z39.50)
  701.        SNMP                           CMIP
  702.        USENET, NNTP                   X.gc
  703.        X Window System                (will be included in OSI)
  704.        NTP (network time protocol)    (under consideration by CCITT)
  705.        OSPF, ISIS                     ISIS
  706.  
  707. Internet Protocols with no OSI equivalent today:
  708.  
  709.        Relay Chat, IRC                OSI has only a standard name for this
  710.                                       so far: synchronous group communication
  711.        Talk                           might perhaps be defined as a VT profile
  712.  
  713. OSI protocols with no TCP/IP equivalent:
  714.  
  715.        X.500                          perhaps finger :-)
  716.        JTM
  717.        parts of DFR
  718.        parts of X.gc
  719.        RDA
  720.        MMS
  721.        Interlibrary Loan Protocol
  722.  
  723.  
  724. Which is better: TCP/IP or OSI?
  725. -------------------------------
  726.  
  727. This question periodically results in flame wars in comp.protocols.iso.
  728. If you missed the last one, here is one opinion:
  729.  
  730.   Neither.  In theory, OSI has the more advanced feature set,
  731.   including significantly more sophisticated application protocols
  732.   including some for services not available at all in the TCP/IP suite.
  733.   In practice, TCP/IP is much more widely implemented and deployed, so
  734.   you are much more likely to find TCP/IP products to suit your needs,
  735.   and typically at much lower prices than equivalent OSI products.
  736.  
  737.                                                   don provan
  738.                                                   donp@novell.com
  739.  
  740. [Others are welcome!]
  741.  
  742.  
  743. OSI criticism
  744. -------------
  745.  
  746. The OSI protocols still suffer from not being used outside communities
  747. where their use is enforced by regulations. Many other protocols (e.g.
  748. TCP/IP, SNA and Novell) are much more popular than the official standards
  749. of computer networking and many people think that the following reasons
  750. have contributed to this situation:
  751.  
  752.   - OSI protocols haven't been tested widly before having been
  753.     standardized and are not based on existing practice in large
  754.     scale computer networking (e.g. Arpanet).
  755.  
  756.   - OSI standards are (compared to Internet standards and RFCs) very
  757.     expensive and difficult to obtain.
  758.  
  759.   - The OSI reference model is too complex and has too much layers.
  760.     The session layer should better be a part of the application layer
  761.     and isn't of much use at the current position. Although it is
  762.     possible to implement just a minimal kernel functionality of 
  763.     both the session and presentation layers, even having to
  764.     understand the very difficult documents isn't very motivating.
  765.  
  766.   - Promising new network technologies like ATM networks don't fit in the
  767.     OSI reference model very well and many important techniques like
  768.     LANs, RPC and stateless protocols became popular after the OSI RM
  769.     had been standardized.
  770.  
  771.   - Having two completely incompatible alternative protocols (CLNP and
  772.     X.25) at the network layer (and consequently many different transport
  773.     layers that try to compensate the differences) isn't what helps you
  774.     in building up a fully interconnected easy to use and maintain
  775.     global network. There is broad agreement among knowledgeable
  776.     people that a connectionless network layer is technically superior
  777.     to the X.25/TP0 approach (which in practice provides NO reliable
  778.     end-to-end transport service, because recovery from intermediate
  779.     node failures is impossible).
  780.  
  781. Christian Huitema <huitema@mitsou.inria.fr> explained the various problems
  782. with OSI quite well when he posted suggestions about explaining the
  783. design principles behind OSI to students in network classes:
  784.  
  785. "Once the class is reasonably at ease with the "basics", it is relatively easy
  786. to introduce the OSI model -- as a baroque left over of the 70's. You have to
  787. do it with an historical perspective; a few tips:
  788.  
  789.  * the model was invented before local networks, and also before RPC.
  790.  
  791.  * the layer decomposition dates back from the time when you had the transport
  792.    programmed in a "front end" and a "session control" programmed in a
  793.    "channel manager".
  794.  
  795.  * ASN.1 was *NOT* part of the original model. If you go back to the early
  796.    ideas, there should not have been an "application standard". Rather, the
  797.    presentation would specify some "common document format", common to all
  798.    applications. The session would be used to ensure that a "consistent" copy
  799.    of this common document was kept at both end.
  800.  
  801.  * the session itself cannot be understoud if you don't present T.62 -- or
  802.    rather, 1980's S.62. Why modern applications would have to bear the load of
  803.    compatibility with a still born super-telex service is indeed a matter of
  804.    interesting debate.
  805.  
  806.  * explaining the relation between an application syntax, a presentation
  807.    context, an application context, an application entity, an application
  808.    process and a PSAP address is great fun.
  809.  
  810.  * indeed, the use of session through the presentation by ACSE, RTSE and CCR
  811.    is also amazing.
  812.  
  813. Then you end up the class explaining that all this is not very serious..."
  814.  
  815.  
  816. Which free OSI implementations are available?
  817. ---------------------------------------------
  818.  
  819. ISODE (pronounce it ISO-D-E, but don't call it the ISO Development
  820. Environment) implements ISO layers 4-7 on UNIX systems. Among the
  821. supported lower layer stacks are RFC1006/TCP/IP and various X.25 and
  822. CLNP implementations. With ISODE you get ASN.1 tools and
  823. implementations of X.500 (QUIPU) and FTAM. Version 8.0 is the last
  824. public domain version and an ISODE Consortium has been founded that
  825. will coordinate further development on a commercial basis. A free Patch
  826. No. 1 with bug fixes for ISODE 8.0 has been provided by the ISODE
  827. Consortium which can be ftped from isode.com.
  828.  
  829. The ISODE and QUIPU mailing list archives are available via anonymous
  830. ftp and gopher from info.educom.edu. The isode and quipu are in
  831. /pub/isode and /pub/quipu respectively.
  832.  
  833. PP is a X.400 message transfer agent and a gateway to other e-mail
  834. systems based on ISODE. The current public domain version is 6.0 and
  835. further commercial development will be done by the ISODE Consortium.
  836.  
  837. Both ISODE and PP are available from many anonymous ftp servers, e.g.
  838. from cs.ucl.ac.uk in directory src.
  839.  
  840. OSIMIS is UCL's OSI management system. It does not intend to provide a
  841. comprehensive set of OSI management facilities but rather to show how
  842. the rich OSI Management functionality can be exploited and to provide
  843. facilities of a generic OSI management platform. In particular,
  844. extended support through an object-oriented (C++) Application Program
  845. Interface (API) is provided to implementors of management applications
  846. in both agent and manager roles, which hides the details of management
  847. information access through the OSI management service/protocol CMIS/P.
  848. The system has been developed using ISODE 7.0 and GNU C++ and is
  849. available with anonymous ftp from cs.ucl.ac.uk [128.16.5.31] in the
  850. directory osimis.
  851.  
  852. [Posted by Peter Kay <P.Kay@massey.ac.nz>:]
  853.  
  854. The clients of ISODE 8.0 have now been ported to OS/2. (pepsy, pepy,
  855. posy, rosy, isoc, imisc, ftam, dish, de and sd). They are available by
  856. anonymous ftp from cc-vms1.massey.ac.nz (130.123.1.4), in the files
  857. os2isode80.zip (for those who want to rebuild the system) or
  858. os2isode-runtime.zip (for those who only want the executables). I
  859. suggest you copy and read the file os2readme first.
  860.  
  861. The port was based on Essex Systems Inc TCP/2 package. It will NOT work
  862. with any others. To run the programs you will need the TCP/2 package.
  863. To rebuild the system you will also need its Developers Kit and the
  864. Microsoft C v6.0 compiler.
  865.  
  866. [Posted by Graham Wheeler <gram@aim1.aztec.co.za>:]
  867.  
  868. An MS-DOS-based ESTELLE compiler/interpreter should be on simtel, in
  869. the Networks directory, with the name PEW2_1.ZIP.
  870.  
  871.  
  872. New and planned OSI standards
  873. -----------------------------
  874.  
  875. A group is working on an 'asynchronous group communication' standard
  876. based on X.400, X.500 and DFR. This will include a news system similar
  877. to but more sophisticated than USENET and facilities for joint editing
  878. of documents and voting/polling. The name of the draft document is
  879. currently X.gc.
  880.  
  881. X.400(1988) has been extended to include voice, Electronic Data
  882. Interchange (EDI) and file transfer in the message body. Also many
  883. bugs in the specification have been fixed.
  884.  
  885. X.500(1993) has been finished and will define a new replication
  886. protocol, extended search methods, access rights, attribute
  887. inheritance, ISO 10646 strings and other things. It will be published
  888. in late 1993.
  889.  
  890. An addendum 1 (filestore management) to FTAM now defines a hierarchical
  891. file system with subdirectories, links, paths, etc. Previously, paths
  892. have been long file names and were OS dependent (e.g. / in Unix, \ in
  893. MS-DOS) and directories have been treated like files (e.g. '.').
  894.  
  895. HDLC has been extended to include an asynchronous mode that defines how
  896. to use the layer 2 framing with start/stop bits and byte stuffing on
  897. the serial ports that are part of every PC. Check ISO 3309 addendum
  898. 1-3.
  899.  
  900. ISO is working on an OSI-based remote procedure call standard (ISO CD
  901. 11578).
  902.  
  903. A new version of ASN.1 is about to be released. The new ASN.1 standard
  904. consists of a 4-part document:
  905.  
  906.         ITU-T Rec. X.680 | ISO/IEC 8824-1
  907.         ITU-T Rec. X.681 | ISO/IEC 8824-2
  908.         ITU-T Rec. X.682 | ISO/IEC 8824-3
  909.         ITU-T Rec. X.683 | ISO/IEC 8824-4
  910.  
  911. The first part is very similar to 1990 ASN.1, except that there is no
  912. more macro notation or ANY DEFINED BY.  Also, there are niceties such
  913. as automatic tagging and support for multi-byte characters in
  914. the new ASN.1. The last 3 parts replace the macro notation and
  915. ANY DEFINED BY. On the encoding rules side there is:
  916.  
  917.         ITU-T Rec. X.690 | ISO/IEC 8825-1
  918.         ITU-T Rec. X.691 | ISO/IEC 8825-2
  919.  
  920. The first contains the good old Basic Encoding Rules (with support for
  921. multi-byte characters, etc.), plus the Canonical Encoding Rules and the
  922. Distinguished Encoding Rules. The second is the Packed Encoding Rules.
  923.  
  924.  
  925. Books and Journals
  926. ------------------
  927.  
  928. [Posted by Even Splett <e_splett@trofs.enet.dec.com> and others with
  929. comments collected by Khac Binh Su <kbs@ccr-p6.ccr.jussieu.fr> and
  930. others:]
  931.  
  932. Data communications, Computer Networks and OSI
  933. Halsall, Fred
  934. 549 p.
  935. Addison-Wesley
  936. ISBN 0-201-18244-0
  937.  
  938. Networking in Open Systems; international seminar, Oberlech, Austria,
  939. Muller, Gunter. Blanc, Robert P.
  940. Berlin, Springer-Verlag, c1987
  941. Lecture notes in computer science; 248
  942. 441 p.
  943. QA76.L42 v.248 1987
  944. ISBN 3540177078
  945.  
  946. OSI Explained; end-to-end computer communication standards.
  947. Henshall, John,  Shaw, Sandy.
  948. Ellis Horwood Ltd.
  949. distributed by John Wiley & Sons Ltd.
  950. 217 p.
  951. TK5105.5.H47
  952. ISBN 0745802532  Ellis Horwood
  953. ISBN 0470211008  Halsted Press
  954.  
  955.   Very good on transport and above, including a consolidation by 3
  956.   examples that shows how the upper layers work together to establish an
  957.   association, transfer data, and release it. It also has a chapter each
  958.   on FTAM, X.400, and X.500, but does very little with ASN.1, a real
  959.   weakness in an otherwise excellent book.  Its other virtue: it is under
  960.   250 pages.
  961.  
  962. Open Systems; the Basic Guide to OSI and its Implementation.
  963. Judge, Peter J.
  964. QED Information Sciences
  965. Authorized reprint of -- Sutton, Surrey, Computer Weekly. (ISBN 1853840092)
  966. 184 p.
  967. TK5105.5.J83  1989
  968. ISBN 0894353101
  969.  
  970. Open Systems
  971. Karial, Henry S.
  972. JA71.K32 1969
  973.  
  974. OSI: a Model for Computer Communications Standards
  975. Black, Uyless D.
  976. Prentice Hall
  977. TK5105.5.B5656  1991
  978. ISBN 0-13-637133-7
  979.  
  980.   An excellent OSI introduction.
  981.  
  982. The Open Book : A Practical Perspective on OSI
  983. Rose, Marshall T
  984. Tk5105.5.R67  1989
  985. Prentice Hall
  986. ISBN 0-13-643016-3
  987.  
  988.   It is fun reading, and it gives you the general idea about the whole
  989.   stuff. One of its most interesting topics is transition: how to migrate
  990.   to OSI from a TCP/IP oriented world. Excellent, but not cheap. In
  991.   Germany it is 150,-- DM.
  992.  
  993.   I started with Marshall T. Rose's The Open Book - a practical 
  994.   perspective on OSI by Prentice-Hall. It came out in 1991 so it is quite
  995.   up to date, but not cheap (at least in Finland).
  996.  
  997.   It is not an exclusive book on the upper layers of the OSI. 
  998.   Nevertheless, his presentation of the upper layers in a couple of
  999.   chapters is sufficient enough to start.
  1000.  
  1001.   I am not such a fan of Marshall Rose's "The Open Book" as I once was. 
  1002.   At this point, the book is getting a bit dated (the publication date is
  1003.   1990 on my edition; a lot has changed in that time), and it emphasizes
  1004.   the upper layers to the detriment of the lower layers. I have found the
  1005.   book by  Uyless Black superior in several respects: it is newer, it is
  1006.   technically denser, and it refrains from excessive editorializing.
  1007.  
  1008. Complete guide to ISO protocols Vol 1
  1009. Thomas, Steve
  1010. Springer Verlag
  1011. ISBN 0387970231
  1012.  
  1013. Handbook of computer communications standards, Vol 1
  1014. The Open Systems Interconnection (OSI) model
  1015. Stallings, William   1989
  1016. ISBN 0-672-22664-2 Howard W. Sams & Company
  1017. ISBN 002948071x    Macmillan
  1018.  
  1019.   This book is OK, but lacks the finer details.
  1020.  
  1021. An introduction to Open Systems Interconnection
  1022. MacKinnon, Dennis
  1023. 254 p.
  1024. Computer Science Press  1990
  1025. TK 5105 M3335  1990
  1026. ISBN 0716781808
  1027.  
  1028. Standards for Open Systems Interconnection
  1029. Knowles
  1030. Blackwell Scientific Publications
  1031. ISBN 0632018682
  1032.  
  1033. OSI in Microcomputer LANs
  1034. Strom, Jim.
  1035. 125 p.
  1036. Manchester: NCC Publications, 1989.
  1037. TK 5105.5 S87  1989
  1038. ISBN 0850127114 (pbk)
  1039.  
  1040. ASN.1, The Tutorial and Reference
  1041. Douglas Steedman
  1042. Technology Appraisals, 82 Hampton Road,
  1043. Twickenham, TW2 5QS, U.K.
  1044. (Fax +44 81 744 1149)
  1045. ISBN 1 871802 06 7
  1046.  
  1047. Open Systems Interconnection
  1048. by Gary Dickson and Alan Lloyd
  1049. Prentice Hall Australia  (1992)
  1050. ISBN 0 13 640111 2
  1051.  
  1052. ISODE 8.0 Manual
  1053.  
  1054.   The ISODE  manual is a nice reference material if you are looking for
  1055.   implementation details of the upper layers. In fact, looking at ISODE
  1056.   code is probably the best way to see how the "theoretical" stuff is
  1057.   applied.
  1058.  
  1059. Teleinformatique by Nussbaumer,
  1060. published by Presses polytechniques
  1061. romandes (french version)
  1062.  
  1063.   The vol 3&4 are the best books available in french for the upper
  1064.   layers.
  1065.  
  1066. Computer Networks by Andrew Tannenbaum
  1067.  
  1068.   This book explains accurately the general aspects of problems up-to
  1069.   layer 6. Layer 7's description is a bit vague.
  1070.  
  1071.   A very nice introduction in computer communication that also covers 
  1072.   OSI. Highly recommended for computer science students and others
  1073.   searching a good general networking introduction.
  1074.  
  1075. Communication Network Protocols - OSI Explained
  1076. Brian W. Marsden
  1077. Chartwell-Bratt (UK)
  1078. 1991 (3rd edition)
  1079. ISBN 0-86238-276-9
  1080.  
  1081.   It is extremely idiosyncratic, and should not be read except in
  1082.   conjunction with another book. Also, only some of it is about OSI. It
  1083.   is, however (a) very cheap (15 UK pounds), and (b) the only book I know
  1084.   of which talks about the UK Coloured Book protocols. These had a major
  1085.   impact on some parts of OSI, particularly JTM, as well as being
  1086.   interesting in their own right.
  1087.  
  1088. Networking Standards
  1089. A Guide to OSI, ISDN, LAN, and MAN Standards
  1090. Stallings, William
  1091. Addison-Wesley 1993
  1092. 627 pages
  1093. ISBN 0-201-56357-6
  1094.  
  1095.   Provides an overview of basic OSI standards, then a detailed 
  1096.   technical discussion of leading-edge OSI-related standards, including 
  1097.   internetworking and routing, ISDN and BISDN, LAN and MAN,  network
  1098.   management, security, and international standardized  profiles.
  1099.  
  1100. [End of comp.protocols.iso FAQ]
  1101.  
  1102. -- 
  1103. Markus Kuhn, Computer Science student ½░o░╗ University of Erlangen, Germany
  1104. Internet: mskuhn@cip.informatik.uni-erlangen.de   |   X.500 entry available
  1105.