• ↑↓ pour naviguer
  • pour ouvrir
  • pour sélectionner
  • ⌘ ⌥ ↵ pour ouvrir dans un panneau
  • ←→ pour naviguer
  • esc pour rejeter
⌘ '
raccourcis clavier

The Problem

Layers in a network stack need a well-defined point where they exchange data and control information. Without a clear interface, layer implementations would be tightly coupled and hard to modify independently.

Core Idea

The interface point between two adjacent protocol layers where the upper layer requests services from the lower layer.

How It Works

  1. Each layer exposes a SAP for the layer above
  2. Upper layer invokes service primitives at the SAP
  3. Data and parameters are passed through the SAP
  4. Lower layer delivers indications and confirmations through the SAP
  5. The SAP abstracts the lower layer’s implementation from the upper layer

Visual Explanation

G App Application Layer SAP Socket API (Service Access Point) App->SAP socket(), connect(), send(), recv() SAP->App Transport Transport Layer (TCP) SAP->Transport Pass data + parameters Transport->SAP Data received, connection events

Key Properties

  • Layer boundary interface
  • Implemented as API calls in practice (e.g., Berkeley sockets)
  • Identified by a SAP address (e.g., port number for transport layer)
  • Enables layer independence and modularity

Connections

Edge Cases & Gotchas

  • SAP exhaustion (e.g., running out of ports) prevents new connections
  • SAP addressing must be unique within a system (e.g., IP+port combination)
  • Some SAPs are connection-oriented, others connectionless