
Dans lesprotocoles de communication, « type-length-value » ou « tag-length-value » (abrégé enTLV), outype-longueur-valeur enfrançais, est un schéma de codage utilisé pour les éléments d'information facultatifs dans un certain protocole. Un flux de données codé TLV contient du code lié au type d'enregistrement, à la longueur de la valeur d'enregistrement et enfin à la valeur elle-même.
Le type et la longueur sont de taille fixe (généralement de 1 à 4 octets) et le champ « valeur » est de taille variable. Ces champs sont utilisés comme suit :
Les principaux atouts d'une solution de système de données de représentation TLV sont :
Imaginez un message pour passer un appel téléphonique. Dans une première version d'un système, cela pourrait utiliser deux éléments de message : une «commande» et un «phoneNumberToCall» (ou: « NuméroÀAppeler »):
Icicommand_c,makeCall_c etphoneNumberToCall_c sont des constantes entières et 4 et 8 sont respectivement les longueurs des champs de «valeur».
Plus tard (dans la version 2) un nouveau champ contenant le numéro appelant pourrait être ajouté :
Une version 1 système qui a reçu un message d'une version 2 lirait d'abord l'élémentcommand_c, puis lirait un élément de typecallingNumber_c. La version 1 système ne comprend pascallingNumber_c, donc le champ de longueur est lu (c'est-à-dire 14) et le système avance de 14 octets pour lire
phoneNumberToCall_cqu'il comprend, pour poursuivre l'analyse des messages.
Les principauxprotocoles TCP/IP (en particulierIP,TCP etUDP ) utilisent des champs statiques prédéfinis.
Certains protocoles decouche application, y comprisHTTP/1.1 (et ses prédécesseurs non standardisés),FTP,SMTP,POP3 etSIP, utilisent des paires textuelles "Champ : Valeur" formatées selon. (HTTP représente la longueur de la charge utile avec un en-tête Content-Length et sépare les en-têtes de la charge utile avec une ligne vide et les en-têtes les uns des autres avec une nouvelle ligne.)
ASN.1 spécifie plusieurs règles de codage basées sur TLV (BER, DER), ainsi que des règles non basées sur TLV (PER,XER).
CSN.1 décrit les règles de codage utilisant une sémantique non TLV.
Plus récemment,[Quand ?]XML a été utilisé pour implémenter la messagerie entre différents nœuds d'un réseau. Ces messages sont généralement précédés de commandes textuelles basées sur des lignes, telles que BEEP.