Comum · Saberes

Tipo-comprimento-valor

No âmbito dos protocolos de comunicação, TLV (type-length-value ou tipo-comprimento-valor, também conhecido como tag-length-value ou etiqueta-comprimento-valor) é um esquema de codificação usado para elementos informativos. Um fluxo de dados codificado em TLV contém códigos relacionados ao tipo do registro, ao comprimento do valor do registro e, finalmente, ao valor em si.

Ler mais

O tipo e o comprimento possuem tamanho fixo (geralmente de 1 a 4 bytes) ou podem ser analisados de outra forma sem o conhecimento prévio do tamanho (ver LEB128, quantidade de comprimento variável), e o campo de valor possui tamanho variável. Esses campos são usados da seguinte forma: Algumas vantagens de usar uma representação TLV são: Imagine uma mensagem para fazer uma chamada telefônica. Uma primeira versão do sistema define a seguinte estrutura: Quando ele faz uma chamada, envia os seguintes dados: Um sistema receptor entenderia então que a mensagem lhe diz para ligar para "722-4246". Mais tarde (na versão 2), um novo campo contendo o número de origem da chamada poderia ser adicionado: Ele enviaria uma mensagem como: Um sistema da versão 1 que recebesse uma mensagem de um sistema da versão 2 leria primeiro o elemento T_COMMAND e depois leria um elemento do tipo T_CALLER_NUMBER. O sistema da versão 1 não entende T_CALLER_NUMBER, então o campo de comprimento é lido (ou seja, 12) e o sistema avança 12 bytes para ler o T_PHONE_NUMBER_TO_CALL, que ele entende, e a análise da mensagem continua. Protocolos essenciais do TCP/IP (particularmente o IP, TCP e UDP) usam campos estáticos e predefinidos. Alguns protocolos da camada de aplicação, incluindo HTTP/1.1 (e seus predecessores não padronizados), FTP, SMTP, POP3 e SIP, usam pares textuais do tipo "Campo: Valor" formatados de acordo com a RFC2822. (O HTTP representa o comprimento da carga útil com um cabeçalho Content-Length, separa os cabeçalhos da carga útil com uma linha em branco e os cabeçalhos entre si com uma nova linha.)

Texto: Wikipédia, CC BY-SA 4.0. · Imagem: Daniel Bar-On/ Wikimedia Israel (CC BY-SA 3.0) ·

Toca para fechar

Confirmação