Service Primitives were formalised for each protocol in OSI reference model.
Each protocol which communicates in a layered architecture (e.g. based on the OSI Reference Model) communicates in a peer-to-peer manner with its remote protocol entity.Communication between adjacent protocol layers (i.e. within the same communications node) are managed by calling functions, called primitives, between the layers. There are various types of actions that may be performed by primitives. Examples of primitives include: Connect , Data, Flow Control, and Disconnect.
Primitives for communications between peer protocol entities
Each primitive specifies the action to be performed or advises the result of a previously requested action. A primitive may also carry the parameters needed to perform its functions. One parameter is the packet to be sent/received to the layer above/below (or, more acurately, includes a pointer to data structures containing a packet, often called a "buffer").
There are four types of primitive used for communicating data.The four basic types of primitive are :
To send Data, the sender invokes a Data.Request specifying the packet to be sent, and the Service Access Point (SAP) of the layer below. At the receiver, a Data.Indication primitive is passed up to the corresponding layer, presenting the received packet to the peer protocol entity.