Protocol Specification for OSI *
Total Page:16
File Type:pdf, Size:1020Kb
167 Protocol Specification for OSI * Gregor v. BOCHMANN 1. Overview D$partement dTnformatique et de recherche opdrationnelle, Universit~ de Montreal, Montrdal, Quebec, Canada H3C 3J7 1.1. Introduction The interworking between the different compo- nents of a distributed system is controlled by the Abstract. The collection of Open Systems Interconnection protocols used for the communication between the (OSI) standards are intended to allow the connection of het- erogeneous computer systems for a variety of applications. In different system components. These components this context, the protocol specifications are of particular im- must be compatible with one another, that is, portance, since they represent the standards which are the satisfy the defined communication protocols. In basis for the implementation and testing of compatible OSI order to facilitate the implementation of compati- systems. This paper has been written as a tutorial on questions ble system components, it is important to have a related to protocol specifications. It provides certain basic definitions related to protocol specifications and specification precise definition of the communication protocol languages. Special attention is given to the specification for- to be used. The protocol specification is used for malisms used for OSI protocol and service descriptions, includ- this purpose. ing semi-formal languages such as state tables, ASN.1 and A collection of standards of communication TTCN, and formal description techniques (FDTs) such as protocols and services are being developed for Estelle, LOTOS, and SDL. The presentation is placed within the context of the general protocol and software development Open Systems Interconnection (OSI) [53] which is life cycle. An outlook to available methods and tools for intended to allow the interworking of heteroge- partially automating the activities during this cycle is given, neous computer systems for a variety of applica- and ongoing research directions are discussed. tions. In this context, the protocol specifications are of particular importance, since they represent Keywords. Communication protocols, specifications, open systems interconnection, formal specifications, specification the standards which are the basis for the imple- languages, protocol validation, conformance testing, protocol mentation and testing of compatible OSI systems. design, formal description techniques, protocol standards. The standard specifications are usually written in natural language, augmented with certain for- malisms. In addition, formal description tech- Gregorv. Bochmmm (M'82-SM'85) re- niques have been developed for application to OSI calved the Diploma degree in Physics from the University of Munich, (see Section 3) and have been used for the descrip- Munich, West Germany, in 1968 and tion of certain OSI protocols and services. The the Ph.D. degree from MeGiU Univer- sity, Montreal, P.Q., Canada, in 1971. formal nature of the specifications make it possi- He has worked in the areas of pro- ble to apply certain automated tools during the gramming languages, compiler design, communication protocols, and soft- protocol development life cycle. ware engineering and has published This paper has been written as a tutorial on the many papers in these areas. He is cur- rently a Professor in the Drpartement questions related to protocol specifications. This d'Informatique et de Recherche first section provides some definitions and addres- Op&ation¢lle, Universit~ de Montreal, Montrral. His present work is aimed at design models for communication protocols ses some general questions related to protocol and distributed systems. He has been actively involved in the specifications and specification languages. It is standardization of formal description techniques for OSI. From 1977 to 1978 he was a Visiting Professor at the Ecole Polytech- important to note that specifications are not only nique Federale, Lausanne, Switzerland. From 1979 to 1980 he important for communication protocols, but also was a Visiting Professor in the Computer Systems Laboratory. Stanford University, Stanford, CA. From 1986 to 1987 he was in general for software and hardware develop- a Visiting Researcher at Siemens, Munich. ment. Therefore the system development life cycle is discussed in Section 2, first in general terms and * Work supported in part by the Natural Sciences and En- then in the specific context of protocol and service gineering Research Council of Canada. specifications. Section 3 gives an introduction to North-Holland the various specification formalisms that are used Computer Networks and ISDN Systems 18 (1989/90) 167-184 for OSI protocol and services. Section 4 provides 0169-7552/90/$3.50 © 1990, Elsevier Science Publishers B.V. (North-Holland) 168 G. v. Bochmann / Protocol specification for OSI an overview of the kinds of tools that may be used for automating some of the activities of the proto- col development cycle, based on formal and semi- formal specifications. This is a very broad subject ...... !........ -°-- ........ ]....... t area which is covered in more detail in other publications. Section 5, finally, gives an outlook on ongoing research related to specification lan- guages and their use, and suggests certain areas which seem to be of particular importance to protocol specifications. 1.2. What is to Be Specified? I Fig. 2. Communication service. Communication protocols within a distributed system are usually organized in a hierarchy of The specifications for the communication several layers. As an example, Fig. 1 shows the services and protocols have a global relevance. 7-layer OSI architecture [26]. In this context, The interface properties, on the other hand, could specifications are required for the following ob- be different for different service access points; in jects: each case, however, they must be consistent with (a) The communication service of a particular the local properties included in the corresponding protocol layer. This is the behavior of the black service specification. box shown in Fig. 2, including local properties The primitive interactions between a protocol pertaining to a single service access point and entity providing a service and a service user, at a global properties relating the interactions at differ- high level of abstraction, are called service primi- ent access points, tives [26]. They are invoked at the service access (b) The protocol to be followed by the protocol points between the user and the communication entities of a given protocol layer. This is the service. In the more detailed view of the protocol required behavior for the protocol entity, repre- specification (see Fig. 3) the protocol entity plays sented by the black box shown in Fig. 3, and the role of the communication service to be pro- (c) The interface through which the communi- vided; at the same time, it is the user of the cation service is provided to the user at a particu- communication service below. Each service primi- lar service access point. tive usually includes several parameters which are exchanged between the service user and the proto- col entity during the execution of the service primitive. Some of these parameters may represent Application Application user data which is transmitted by the communica- tion service to the remote user without interpreta- Presentation Presentation Session Session Transport Transport Network Network Data-link =IF Data-link Physical ~ ~ Physical I Physical media I Fig. 1. Layered OSI protocol architecture. Fig. 3. Communication protocol entity. G. v. Bochmann /Protocol specification for OSI 169 I I I I ® Q @ @ TCONreq ..... l ........................................... "1 TCQN~ ~resp TC~ P ,r ,...~.°.°'''" "=~'~'(S DU) I °I DATA(SD.U) v I b Ib Fig. 4. Communication protocol entity: role of PDUs. tion. The interactions exchanged through the un- derlying communication service between the peer protocol entities are called protocol data units Fig. 6. Time sequence diagram showing an example sequence of interactions. (PDUs). It is important to note that abstract prop- erties of a protocol entity are often described in Figure 6 is useful for providing an understand- terms of the exchange of PDUs with the peer ing of the basic exchanges leading to the establish- entity and service primitives with the user. How- ment of a Transport connection between two users ever, the PDUs are not exchanged directly with of the Transport service. The left side is called the peer but by coding the PDUs and their param- "initiator" and the right side "responder". The eters in the user data exchanged through the un- initiating user invokes a TCONreq (Transport derlying communication service. This is indicated connection request) service primitive and waits for in Fig. 4, were the upper part of the box repre- a confirmation. The initiating Transport entity senting the protocol entity corresponds to its ab- sends a CR PDU and waits for return of a CC stract properties, and the lower part to the map- PDU. After this exchange, the connection is ping of the PDUs to the service primitives of the established and data can be sent in both direc- communication service below. tions. As shown in the figure, one "service data As an example, we consider in the following the unit" (SDU) provided by the user may be frag- OSI Transport layer. Figure 5 shows a system mented into several DT PDUs for transmission including two Transport entities providing the between the two protocol entities. Transport service through