Layers in a network architecture need to provide capabilities to the layer above without exposing implementation details. The upper layer needs to know what functionality is available, not how it’s implemented.
An abstract description of the capabilities or operations that a lower layer provides to the layer directly above it — the “what” of what a layer offers.
- Lower layer defines a service interface (Service Access Point)
- Upper layer makes requests through the interface (service primitives)
- Lower layer performs the requested operation, possibly using its protocol
- Lower layer returns responses or indications through the interface
- The upper layer doesn’t need to know protocol details — just the service contract
- Vertical relationship: between adjacent layers on the same system
- Abstract: describes “what” not “how”
- Accessed through service primitives (request, indication, response, confirm)
- Implemented by protocols at the same layer across systems
- Contrasts with: Protocol — service is “what”, protocol is “how”
- Built from: Service Access Point — the interface point
- Built from: Service Primitives — the operations available
- Related: Layered Model — services exist between layers
- Related: Connection-Oriented Service — example of a service
- Service primitives are often implemented as API calls (e.g., socket API)
- Service changes require updating all upper layers that use it
- A single service can have multiple protocol implementations