Layers need a standardized way to communicate across the service interface. Without defined operations, each implementation would have ad-hoc interfaces making layers non-interchangeable.
The set of operations or function calls available at a Service Access Point (SAP) for requesting services, receiving indications, and confirming operations.
- Request: Upper layer asks lower layer to perform an action (e.g., send data)
- Indication: Lower layer notifies upper layer of an event (e.g., data received)
- Response: Upper layer replies to an indication from lower layer
- Confirm: Lower layer acknowledges completion of a requested action
- Four basic types: Request, Indication, Response, Confirm
- Implemented as API calls in real systems (e.g., socket API)
- Define the contract between adjacent layers
- Enable standardized layer interaction
- Built from: Service Access Point — where primitives are invoked
- Built from: Service — the operations that implement the service
- Related: Socket API — concrete implementation of primitives
- Related: Layered Model — primitives operate between layers
- Not all primitives are used for every service (connectionless may not need confirm)
- Primitive ordering matters — must follow the request-indication-response-confirm pattern
- Some implementations combine primitives (e.g., synchronous calls that block until confirm)