Better to know some
... than all
OSI network protocols are specified in a variety of notations. This section describes two popular notations, sequence diagrams and state transition diagrams , which are extensively used in standards and the literature. Both rely on the notion of a service primitive which is described first.
A service primitive is an abstract representation of the interaction between a service provider and a service user. Service primitives are concerned with what interactions take place rather than how such interactions are implemented. Service primitives may be of one of the following four types:
*Request Primitive:. This is issued by a service user to the service provider to request the invocation of a procedure.
* Indication Primitive. This is issued by the service provider to a peer service user (usually in response to a request primitive) to indicate that a procedure has been requested.
* Response Primitive: This is issued by a peer service user to the service provider (usually in response to an indication primitive) to indicate that the requested procedure has been invoked.
*Confirm Primitive: This is issued by the service provider to a service user to indicate that an earlier request for the invocation of a procedure has been completed.
An actual service primitive consists of a command and, if appropriate, a set of associated parameters. A simple convention is used for naming primitives: a primitive name consists of the first letter of the layer to which it belongs, followed by its command name, followed by its type. For example, a request type primitive at the network layer for initiating a connection is named 'N-CONNECT request'.
A sequence diagram defines a service protocol by specifying the permissible sequence of service primitives that may be exchanged between service users and service providers. Service users and service providers are represented by vertical bars. Service primitives are represented by directed lines between the bars. For clarity, primitive parameters are not included.
According to the diagram, a service user can request, from the service provider, a connection to a peer service user. The service provider in turn issues a connection indication to the peer service user. The peer service user responds to the service provider which, in turn, confirms the cycle with the original service user.
State Transition Diagrams
A state transition diagram describes the various execution states a station can assume and how service primitives cause it to transit from one state to another. States are represented by circles or boxes, and are labeled with a meaningful name that describes the state. A state transition is represented by a directed line from one state to another, and is labeled with the service primitive that triggers the transition.
According to the diagram, assuming that a station is in the idle state, if it issues a connection request to another station, it enters the attempting to connect state where it waits for a connection to be confirmed, in which case it moves to the connected state, or disconnected, in which case it returns to the idle state. A similar scenario applies to an incoming connection which starts with the station receiving a connection indication. Note that the N-DISCONNECT primitives can be either of request or confirmation type.
It is worth noting the complementary nature of sequence diagrams and state transition diagrams. The former specifies a service protocol from an outside observer's point of view, while the latter describes the same protocol from a station's point of view. The two notations, combined, provide a complete picture of how a protocol operates.
The importance of standards in the field of communication cannot be overstressed. Standards enable equipment from different vendors and with different operating characteristics to become components of the same network. Standards also enable different networks in different geographical locations (e.g., different countries and continents) to be interconnected. From a customer's point of view, standards mean real cost savings: the same end-user device can be used for access to a variety of networks and services.
Standards are developed by national and international organizations established for this exact purpose. During the course of this book we will discuss a number of important standards developed by various organizations, including the following:
* The International Standards Organization (ISO) has already been mentioned. This is a voluntary organization with representations from national standards organizations of member countries (e.g., ANSI), major vendors, and end-users. ISO is active in many area of science and technology, including information technology. ISO standards are published as ISO serial-no (e.g., ISO 8632).
*The Consultative Committee for International Telegraph and Telephone (CCITT) is a standards organization devoted to data and telecommunication, with representations from governments, major vendors, telecommunication carriers, and the scientific community. CCITT standards are published as Recommendation L.serial-no, where L is a letter of the alphabet (e.g., I.440). These are revised and republished every four years. CCITT standards are very influential in the field of telecommunications and are adhered to by most vendors and carriers.
* The Institute of Electrical and Electronic Engineers (IEEE) is a US standards organization with members throughout the world. IEEE is active in many electric and electronic-related areas. The IEEE standards for local area networks are widely adopted and will be discussed in Chapter 9. IEEE standards are published as IEEE serial-no (e.g., IEEE 908).
*The Electronic Industries Association (EIA) is a US trade association best known for its EIA-232 standard, which will be discussed in the next chapter.
* The European Computer Manufacturers Association (ECMA) is a standards organization involved in the area of computer engineering and related technologies. ECMA directly cooperates with ISO and CCITT. In addition to these organizations, and because of their global market influence, large vendors occasionally succeed in establishing their products as de facto standards. We will also look at a few standards of this nature later in the book.