- define services between adjacent layers using:
- primitives to specify function performed
- parameters to pass data and control info
The services between adjacent layers in the OSI architecture are expressed in terms of primitives and parameters. A primitive specifies the function to be performed, and the parameters are used to pass data and control information. The actual form of a primitive is implementation dependent. An example is a procedure call. The layout of Stallings DCC8e Figure 2.10a suggests the time ordering of these events. For example, consider the transfer of data from an (N) entity to a peer (N) entity in another system. The following steps occur:
The source (N) entity invokes its (N –1) entity with a request primitive including needed parameters,such as the data to be transmitted and the destination address.
The source (N –1) entity prepares an (N –1) PDU to be sent to its peer (N –1) entity.
The destination (N –1) entity delivers the data to the appropriate destination (N) entity via an indication primitive, which includes the data and source address as parameters.
If an ack needed, destination (N) entity issues a response primitive to its (N –1) entity.
The (N –1) entity conveys the acknowledgment in an (N –1) PDU.
The acknowledgment is delivered to the (N) entity as a confirm primitive.
This sequence of events is referred to as a confirmed service, as the initiator receives confirmation that the requested service has had the desired effect at the other end.
Primitive Types
REQUEST
|
A primitive issued by a service user to invoke some service and to pass the parameters needed to specify fully the requested service
|
INDICATION
|
A primitive issued by a service provider either to:
indicate that a procedure has been invoked by the peer service user on the connection and to provide the associated parameters, or
notify the service user of a provider-initiated action
|
RESPONSE
|
A primitive issued by a service user to acknowledge or complete some procedure previously invoked by an indication to that user
|
CONFIRM
|
A primitive issued by a service provider to acknowledge or complete some procedure previously invoked by a request by the service user
|
Stallings DCC8e Table 2.1 defines the four types of primitives are used in standards to define the interaction between adjacent layers in the architecture (X.210)