Le champ de données utiles d’un télégramme commence à partir de l'octet qui suit l'octet contenant le champ de longueur.
D7 détermine le but du télégramme.
D6 détermine si le télégramme contient un numéro de séquence.
La combinaison de D7 et de D6 est appelée TPCI, abréviation de « Transport Layer Protocol Control Information » qui signifie information de contrôle du protocole de la couche de transport.
D7 = 0 : le but du télégramme est de transmettre des données. Il est donc appelé télégramme « data packet » (paquets de données).
D7 = 1 : le but du télégramme est de contrôler une session de communication. Il est donc appelé télégramme « control data » (données de contrôle).
D6 = 0 : D5+D4+D3+D2 = pas de numéro de séquence dans le télégramme (« do not care »).
D6 = 1 : D5+D4+D3+D2 = représente le numéro de séquence du télégramme.
Numéro de séquence
Le numéro de séquence est une sorte de numéro de suivi de télégramme permettant de s'assurer qu'aucun télégramme n'est perdu durant une session de communication. Un numéro de séquence peut également s'avérer important pour garantir un ordre spécifique d'envoi et, plus particulièrement, de réception de télégrammes.
Données de contrôle (Control data)
Le champ de longueur d'un tel télégramme est toujours réglé sur 0, ce qui signifie que le champ de données utiles ne contient pas d'octet supplémentaire. Quatre types de paquets de données sont définis en se basant sur D1 et D0 :
- D1+D0 = 00 = TL_connect
- D1+D0 = 01 = TL_disconnect
- D1+D0 = 10 = TL_ACK
- D1+D0 = 11 = TL_NAK
Signification de ces télégrammes :
- TL_connect : « Bonjour, je voudrais vous parler. »
- TL_disconnect : « Pour moi, cette conversation est terminée, au revoir. »
- TL_ACK : « OK, bien reçu. Veuillez poursuivre avec le message suivant. »
- TL_NAK : « Désolé, je n'ai pas compris. Veuillez répéter le dernier message. »
Paquet de données (Data packet)
Pour ce genre de télégrammes, le champ de longueur > 0, ce qui signifie qu'il y a au moins un octet supplémentaire dans le champ de données utiles. Le but de ce télégramme est d'envoyer une commande de type : ouvrir ou fermer ce relais, écrire ceci dans tel emplacement de mémoire, donnez-moi le statut de cette soupape, etc.
Le champ de données utiles contient un identifiant de service + les DONNÉES devant être utilisées par ce service. L'identifiant de service est appelé APCI, abréviation de « Application Layer Protocol Control Information » qui signifie informations de contrôle du protocole de la couche d'application.
Les APCI sont représentées par 4 bits ou 10 bits.
4 bits :
- APCI = D1 et D0 du premier octet de données utiles + D7 et D6 du deuxième octet de données utiles.
- Si la longueur des DONNÉES = 6 bits maximum : les DONNÉES sont placées dans les 6 bits restants du deuxième octet de données utiles.
- Si la longueur des DONNÉES > 6 bits : les DONNÉES sont placées dans le troisième octet de données utiles et ainsi de suite dans les octets suivants.
10 bits :
- APCI = D1 et D0 du premier octet de données utiles + la totalité du deuxième octet de données utiles.
- Les DONNÉES sont placées dans le troisième octet de données utiles et ainsi de suite dans les octets suivants.