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 en TLV contiene código relacionado con el tipo de registro, la longitud del valor del registro y, finalmente, el valor mismo.

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

Imagínese un mensaje para realizar una llamada telefónica. En una primera versión de un sistema, esto podría utilizar dos elementos de mensaje: un "comando" y un "phoneNumberToCall":

command_c/4/makeCall_c/phoneNumberToCall_c/8/"722-4246"

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

Posteriormente (en la versión 2) se podría agregar un nuevo campo que contenga el número llamante:

command_c/4/makeCall_c/callingNumber_c/14/"1-613-715-9719"/phoneNumberToCall_c/8/"722-4246"

Un sistema de versión 1 que recibiera un mensaje de un sistema de 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 comprende 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 principales TCP/IP (particularmente 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 reglas no basadas en TLV ( PER , XER ).

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

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

Ver también

Referencias

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