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 :

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.