home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / protocol / iso / 1420 < prev    next >
Encoding:
Internet Message Format  |  1992-12-14  |  44.1 KB

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