HDLC définit trois types de trames, chacune avec un format de champ de contrôle différent.
Indicateur
Le champ d'indicateur déclenche la vérification des erreurs et y met fin. La trame commence toujours par un champ d'indicateur à 8 bits et se termine toujours par ce même indicateur. La séquence de bits est 01111110. Comme il existe un risque que cette séquence soit présente dans les données, le système HDLC qui envoie les informations insère toujours un bit 0 après cinq 1 consécutifs dans le champ de données. Dans la pratique, la séquence d'indicateur ne peut donc se trouver qu'à la fin de la trame. Le système récepteur supprime les bits insérés. Quand les trames sont transmises de façon consécutive, l'indicateur de fin de la première trame sert d'indicateur de début de la suivante.
Adresse
Le champ d'adresse contient l'adresse HDLC de la station secondaire. Cette adresse peut contenir une adresse spécifique, un groupe d'adresses ou une adresse de diffusion. Une adresse principale est une source ou une destination de communication, qui élimine le besoin d'inclure l'adresse de la station principale.
Contrôle
Le champ de contrôle utilise trois formats différents, en fonction de la trame HDLC utilisée :
- Trame d'information (I) : les trames I transportent les informations de couche supérieure, ainsi que certaines informations de contrôle. Cette trame envoie et reçoit les numéros d'ordre, et le bit d'interrogation final (P/F) est chargé du contrôle de flux et d'erreur. Le numéro de séquence d'envoi désigne le numéro de la trame suivante à envoyer. Le numéro de séquence de réception fournit le numéro de la trame suivante à recevoir. L'expéditeur et le récepteur s'occupent de la maintenance des numéros de séquence d'envoi et de réception. La station principale utilise le bit d'interrogation pour indiquer à la station secondaire si elle demande une réponse immédiate. La station secondaire utilise le bit d'interrogation pour indiquer à la station principale si la trame actuelle est la dernière de sa réponse en cours.
- Trame de supervision (S) : les trames S fournissent les informations de contrôle. Une trame S peut demander et suspendre la transmission, signaler un état et accuser réception de trames d'information. Les trames S ne présentent pas de champ d'informations.
- Trame non numérotée (U) : les trames U servent au contrôle, et ne suivent pas de séquence spécifique. Selon la fonction de la trame U, son champ de contrôle comporte 1 ou 2 octets. Certaines trames U présentent un champ d'informations.
Protocole
Utilisé uniquement dans HDLC. Ce champ spécifie le type de protocole encapsulé dans la trame (par exemple 0x0800 pour IP).
Données
Le champ de données contient des informations PIU (Path Information Unit) ou XID (Exchange Identification).
Séquence de contrôle de trame (FCS)
La séquence FCS précède le délimiteur d'indicateur de fin. Il s'agit habituellement d'un reste de calcul de contrôle par redondance cyclique (CRC, Cyclic Redundancy Check). Le calcul CRC est de nouveau effectué dans le récepteur. Si le résultat est différent de la valeur dans la trame d'origine, une erreur est signalée.