stringtranslate.com

Tipo–longitud–valor

Dentro de los protocolos de comunicación , TLV ( tipo-longitud-valor o etiqueta-longitud-valor ) es un esquema de codificación utilizado para elementos informativos. Un flujo de datos codificado con TLV contiene código relacionado con el tipo de registro, la longitud del valor del registro y, finalmente, el valor en sí.

Detalles

El tipo y la longitud tienen un tamaño fijo (normalmente de 1 a 4 bytes) y el campo de valor es de tamaño variable. Estos campos se utilizan de la siguiente manera:

Tipo
Un código binario, a menudo simplemente alfanumérico, que indica el tipo de campo que representa esta parte del mensaje;
Longitud
El tamaño del campo de valor (normalmente en bytes);
Valor
Serie de bytes de tamaño variable que contiene datos para esta parte del mensaje.

Algunas ventajas de utilizar una solución de sistema de datos de representación TLV son:

Ejemplos

Ejemplos del mundo real

Protocolos de transporte

Formatos de almacenamiento de datos

Otro

Otros ejemplos

Imaginemos un mensaje para hacer una llamada telefónica. En una primera versión de un sistema, esto podría utilizar dos elementos de mensaje: un "comando" y un "número de teléfono al que llamar":

comando_c/4/hacerLlamada_c/numeroDeTeléfonoALlamar_c/8/"722-4246"

Aquí command_c, makeCall_cy phoneNumberToCall_cson constantes enteras y 4 y 8 son las longitudes de los campos "valor", respectivamente.

Más tarde (en la versión 2) se podría agregar un nuevo campo que contenga el número que llama:

comando_c/4/hacerLlamada_c/numeroDeLlamada_c/14/"1-613-715-9719"/numeroDeTeléfonoALlamar_c/8/"722-4246"

Un sistema de la versión 1 que recibiera un mensaje de un sistema de la versión 2 primero leería el command_celemento y luego leería un elemento de tipo callingNumber_c. El sistema de la versión 1 no entiende callingNumber_c, por lo que se lee el campo de longitud (es decir, 14) y el sistema avanza 14 bytes para leer

phoneNumberToCall_c

que entiende y el análisis del mensaje continúa.

Otras formas de representar datos

Los protocolos TCP/IP principales (en particular IP , TCP y UDP ) utilizan campos estáticos predefinidos.

Algunos protocolos de capa de aplicación , incluidos HTTP/1.1 (y sus predecesores no estandarizados), FTP , SMTP , POP3 y SIP , utilizan pares "Campo:Valor" basados ​​en texto formateados según RFC  2822. ( HTTP representa la longitud de la carga útil con un encabezado Content-Length y separa los encabezados de la carga útil con una línea vacía y los encabezados entre sí con una nueva línea).

ASN.1 especifica varias reglas de codificación basadas en TLV ( BER , DER ), así como otras no basadas en TLV ( PER , XER ).

CSN.1 describe reglas de codificación utilizando semántica no TLV.

Más recientemente, [¿ cuándo? ] se ha utilizado XML para implementar la mensajería entre diferentes nodos de una red. Estos mensajes suelen ir precedidos de comandos de texto basados ​​en líneas, como BEEP .

Véase también

Referencias

  1. ^ "Documentación de OpenWrt en ubus". openwrt.org . 15 de abril de 2022 . Consultado el 15 de abril de 2022 .