# Service Data Unit

Le SDU (Service Data Unit) est la donnée effective dans un Protocol Data Unit (PDU).

## Principe

Au niveau du modèle de référence OSI, chaque couche fournit des services à la couche du dessus et utilise les services de la couche en dessous (par exemple dans une société le directeur utilise les services du secrétaire et inversement ce dernier fournit un service au directeur) . la communication est adjacente et la communication entre un "fournisseur" et un "utilisateur" se fait via les interfaces à travers un point d'accès dit SAP (Service Access Point) identifié par une adresse unique.
Chaque couche reçoit de la couche supérieure des données opaques (exemple : la couche liaison ne saurait lire les adresses IP indiquées dans les données venant de la couche de réseau IP) qu'elle doit transférer à la couche inférieure (dans le cas d'une émission). Chaque couche ajoute à la donnée opaque qui est le SDU (Unités de données de services) des informations de contrôle de protocole dit PCI (Protocol Control Information) pour obtenir un PDU (Protocol Data Unit) , tout comme le facteur qui ne voit pas le contenu d'une lettre (SDU) mais seulement l'adresse du destinataire (PCI) écrite sur l'enveloppe à transmettre (PDU).
Avant de transmettre le PDU d'une couche vers une autre couche adjacente (en passant par le SAP) et via ce qu'on appelle des primitives (demande, indication, réponse, confirmation), des informations de contrôle d'interface sont rajoutées (ICI), la concaténation entre PDU et ICI devient un IDU (Interface Data Unit). Les informations de contrôle d'interface ne sont utilisées qu'au niveau de l'interface et seront supprimées au niveau de la couche inférieure (lors de l'émission)
avec :
PDU$_{(N)}$ : Unité de données du protocole (N)
SDU$_{(N)}$ : Unité de données du service (N)
IDU$_{(N)}$: Unité de données d'interface (N)
PCI$_{(N)}$: Information de contrôle du protocole (N)
ICI$_{(N)}$: Information de contrôle de l'interface (N)
Une unité de service N est appelé N-SDU, ce qui donne LSDU pour la couche liaison, NSDU pour la couche réseau (N pour network) , TSDU pour la couche transport et SSDU, PSD, ASDU pour respectivement les couches session, présentation et application. Il en est de même pour les SAPs, PDUs, SDUs, PCIs et ICIs, par exemple en parlant de LICI on fait référence aux informations de contrôle d'interface de la couche Liaison de données.

### Remarque

Il n'y a pas d'ICI ou d'IDU pour la couche physique puisqu'il n'y a pas de couche inférieure (pas d'unité de données mais une transmission binaire).

### Encapsulation/désencapsulation

Lors de l’émission d'une information, chaque couche N du modèle OSI encapsule les données qu'elle reçoit de la couche supérieure N+1 en lui rajoutant des informations de contrôle relatives à la couche N (entête de protocole ou PCI). Cette encapsulation au niveau d'une couche N est donc la concaténation du SDU et d'un entête (et/ou en queue) pour former l'unité de données de protocole PDU qui deviendra le SDU de la couche inférieure.
Lors de la réception d'une information, chaque couche N dés-encapsule le PDU (reçu par la couche inférieur N-1) pour séparer l'information de protocole du SDU qui sera envoyée à la couche supérieure N+1.

#### Exemple/analogie

* Prenons le cas d'une correspondance postale ou trois intervenants seront sollicités : vous, le facteur et le train postal. Ces intervenants sont en analogie les couches du modèle OSI (qui en contient 7).
* Lors d'une correspondance postale, la lettre que vous aurez écrit et qui contient les informations à transmettre, sera mise dans une enveloppe sur laquelle vous aurez inscrit toutes les informations nécessaires à la bonne réception de votre courrier (adresse du destinataire, identité et / ou adresse de l'émetteur, timbre postale, etc.). À votre niveau, avec cette enveloppe entre vos mains, la lettre correspondra au SDU et l'enveloppe au PDU.
* Cette enveloppe sera transmise au facteur qui la mettra dans un sac postal, au niveau du facteur l'enveloppe est le SDU et le sac postal le PDU.
* Ces sacs postaux seront transportés dans un train, même chose, au niveau du transporteur, le sac postal est un SDU et le train le PDU.

#### Les primitives

Il existe quatre types de primitives qui spécifient le service :
* Request/Demande : Une entité sollicite un service
* Indication : Une entité est informée d'une demande de service
* Response/Réponse : Une entité a rendu le service, si possible
* Confirmation : Une entité est informée que le service a été rendu
Les services sont accessibles par des points d'accès appelés SAP (Service Access Point). Chaque point d'accès est identifié par une adresse unique (analogie : prise téléphonique et adresse associée, boîte aux lettres et adresse postale).

#### Au niveau de l'interface

Ainsi une couche N+1 accèdera à l'interface (qui propose les services) via le SAP en passant une unité de donnée d'interface IDU (Interface Data Unit) à la couche inférieure N.
Le IDU est composé de deux parties :
1. ICI (Interface Control Information) :  les informations de contrôle servant à paramétrer la demande de service (par ex. nb d'octets de données).
2. SDU (Service Data Unit) :  les données concernées par la demande de service .
Pour transmettre une SDU venant de la couche N+1, la couche N peut devoir la fragmenter et/ou y associer de l'information. Chaque morceau est donc préfixé d'un entête d'information PCI (Protocol Control Information, protocol header) lié au protocole de la couche N pour former l'unité de donnée du protocole N PDU (Protocol Data Unit) qui est envoyée à l'entité paire par l'intermédiaire des services de la couche sous-jacente.
Alors que le protocole d'une couche N définit l'ensemble des règles ainsi que les formats et la signification des objets échangés, qui régissent la communication entre les entités de la couche N (par exemple les règles de contrôle de l'envoi des données) .

#### Service/protocole

La séparation "service/protocole" permet de cacher le fonctionnement interne d'une couche aux couches adjacentes.
Les services représentent les communications / échanges entre couches (une couche peut fournir ou utiliser un service) d'une même entité, alors que le protocole permet d’échanger des informations pour la communication entre couches homologues dans des entités différentes.
Par exemple : Le directeur d'une société qui envoie un correspondance administrative utilise le service du secrétaire, et communique avec le directeur d'une autre société via un protocole.

### Mécanismes de Fractionnement (opérations entre couches/niveaux)
#### Segmentation/réassemblage

Il s'agit du découpage d'un PDU$_{(N+1)}$ en plusieurs SDUs$_{(N)}$, ou encore de rendre le service (à la couche supérieure) peuvent utiliser plusieurs PDUs$_{(N)}$ pour traiter une SDU$_{(N)}$.
Exemple : de la fragmentation et défragmentation du datagramme IP. Même principe au niveau de l'ATM ou dans SSL/TLS.

#### Groupage/dégroupage

Il est également possible de faire correspondre plusieurs SDUs de couche N avec une seule PDU de couche N.
Exemple : Bufférisation des données TCP.