Tipo-comprimento-valor

Nos protocolos de comunicações, tipo/marcação-comprimento-valor (T./M.C.V.[lower-alpha 1]) é um esquema de codificação usado para informações opcionais. Um fluxo de dados codificado em tipo/marcação-comprimento-valor (T./M.C.V.[lower-alpha 1]) contém código relacionado ao tipo de registro, o comprimento do valor do registro e, finalmente, o próprio valor.

Detalhes

O tipo e o comprimento são fixos em tamanho (normalmente de 1 a 4 bytes) e o campo do valor é de tamanho variável. Esses campos são usados da seguinte maneira:

Tipo
Um código binário, simplesmente alfanumérico (geralmente), que indica o tipo de campo que esta parte da mensagem representa;
comprimento
o tamanho do campo de valor (normalmente em bytes) e
valor
séries de bytes de tamanhos variáveis que contêm dados para esta parte da mensagem.

Algumas vantagens de usar uma solução de sistemas de dados de representação tipo/marcação-comprimento-valor (T./M.C.V.[lower-alpha 1]) são:

  • As sequências tipo/marcação-comprimento-valor (T./M.C.V.[lower-alpha 1]) são facilmente pesquisadas usando funções de análise generalizadas;
  • os novos elementos da mensagem recebidos em um nó mais antigo podem ser ignorados com segurança e o restante da mensagem pode ser analisado. Isso é semelhante ao modo como as marcações [lower-alpha 2] da linguagem de marcação extensível (L.M.X.)[lower-alpha 3] desconhecidas podem ser ignoradas com segurança;
  • os elementos tipo/marcação-comprimento-valor (T./M.C.V.[lower-alpha 1]) podem ser colocados em qualquer ordem dentro do corpo da mensagem e
  • os elementos tipo/marcação-comprimento-valor (T./M.C.V.[lower-alpha 1]) são normalmente usados em formato binário e protocolos binários [en], o que torna a análise mais rápida e os dados menores do que em protocolos baseados em texto comparáveis.

Exemplos

Protocolos de transporte

Formatos de armazenamento de dados

Outro

Outros exemplos

Imagine uma mensagem para fazer uma ligação telefônica. Em uma primeira versão de um sistema, poderíamos usar dois elementos de mensagem: um "command" e um "phoneNumberToCall":

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

Aqui, command_c, makeCall_c e phoneNumberToCall_c são constantes inteiras e 4 e 8 são os comprimentos dos campos "valor", respectivamente.

Posteriormente (na versão 2), um novo campo contendo o número de chamada pode ser adicionado:

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

Um sistema da versão 1 que recebeu uma mensagem de um sistema da versão 2 primeiro leria o elemento command_c e, em seguida, leria um elemento do tipo callingNumber_c. O sistema da versão 1 não entende CallNumber_c, então o campo de comprimento é lido (ou seja, 14) e o sistema avança 14 bytes para ler

phoneNumberToCall_c

que ele entende, e a análise da mensagem continua.

Outras formas de representar dados

Os protocolos principais da suíte de protocolos de Internet (particularmente o protocolo de Internet (P.I.)[lower-alpha 22], o protocolo de controle de transmissão (P.C.T.)[lower-alpha 23] e o protocolo de datagrama do usuário (P.D.U.)[lower-alpha 24] usam campos estáticos predefinidos.

Alguns protocolos da camada de aplicações TCP/IP, incluindo o protocolo de transferência de hipertexto (P.T.Ht.) 1.1[lower-alpha 25] (e seus predecessores não padronizados), o protocolo de transferência de arquivos (P.T.A.)[lower-alpha 26], o protocolo de transferência de correio simples (P.T.C.S.)[lower-alpha 27], protocolo de correios (P.C.)[lower-alpha 28] e protocolo de iniciação de sessão (P.I.S.)[lower-alpha 29] usam pares "campo: valor" baseados em texto formatados de acordo com a Solicitação de comentários (S.D.C.) 2822 (em inglês)[lower-alpha 30].O protocolo de transferência de hipertexto (P.T.Ht.)[lower-alpha 25] representa o comprimento da carga útil com um cabeçalho de comprimento de conteúdo e separa os cabeçalhos da carga útil com uma linha vazia e os cabeçalhos uns dos outros com uma nova linha.

A notação de sintaxe abstrata um (N.S.A.1)[lower-alpha 31] especifica várias regras de codificação baseadas em tipo/marcação-comprimento-valor (T./M.C.V.[lower-alpha 1]) (regras de codificação básica (R.C.B.)[lower-alpha 32], regras de codificação distintas (R.C.D.)[lower-alpha 33], bem como aquelas não são baseadas em tipo/marcação-comprimento-valor (T./M.C.V.[lower-alpha 1]) (regras de codificação empacotadas (R.C.E.)[lower-alpha 34], regras de codificação da L.M.X. (R.C.L.)[lower-alpha 35].

A notação de sintaxe concreta um (N.S.C.1)[lower-alpha 36] [en] descreve regras de codificação usando semântica que não é tipo/marcação-comprimento-valor (T./M.C.V.[lower-alpha 1]).

Mais recentemente, a linguagem de marcação extensível (L.M.X.)[lower-alpha 3] foi usada para implementar mensagens entre nós diferentes em uma rede. Essas mensagens são normalmente prefixadas com comandos de texto baseados em linha, como com o protocolo de troca de blocos extensível (P.T.B.E.[lower-alpha 37]) [en].

Ver também

  • Chave-comprimento-valor (C.C.V.[lower-alpha 38]) [en] – tipo específico de codificação tipo-comprimento-valor.

Notas

  1. do inglês T.L.V.type/tag-length-value
  2. do inglês tags
  3. do inglês X.M.L.extensible markup language
  4. do inglês T.L.S.transport layer security
  5. do inglês S.S.L. – secure sockets layer
  6. do inglês S.Sh.secure shell
  7. do inglês C.O.P.S.common open policy service
  8. di inglês I.S.-I.S., I.S.I.S.intermediate system to intermediate system
  9. do inglês R.A.D.I.U.S.remote authentication dial-in user service
  10. do inglês L.L.D.P.link layer discovery protocol
  11. do inglês M.R.P.media redundancy protocol
  12. do inglês D.H.C.P.dynamic host configuration protocol
  13. do inglês R.R.radio resource
  14. do inglês G.S.M.global system for mobile communications
  15. do inglês 3.G.P.P.3rd generation partnership project
  16. do inglês I.F.F.interchange file format
  17. do inglês QT.F.F.QuickTime file format
  18. do inglês M.P.E.G.-4moving picture experts group
  19. ubus – o sistema de interconexão usado pela maioria dos serviços executados em uma configuração do roteador sem fio aberto (Open W.Rt.). Os serviços podem se conectar ao barramento e fornecer métodos que podem ser chamados por outros serviços ou clientes.
  20. do inglês I.P.C .inter-process communication ou interprocess communication
  21. do inglês Open W.Rt.open wireless router
  22. do inglês I.P.Internet protocol
  23. do inglês T.C.P.transmission control protocol
  24. do inglês U.D.P.user datagram protocol
  25. do inglês Ht.T.P. - hypertext transfer protocol
  26. do inglês F.T.P. – file transfer protocol
  27. do inglês S.M.T.P.simple mail transfer protocol
  28. do inglês P.O.P.3 – post office protocol 3
  29. do inglês S.I.P.session initiation protocol
  30. do inglês R.F.C.request for comments
  31. do inglês A.S.N.1abstract syntax notation one
  32. do inglês B.E.R.basic encoding rules
  33. do inglês D.E.R.distinguished encoding rules
  34. do inglês P.E.R.packed encoding rules
  35. do inglês X.E.R.X.M.L. encoding rules
  36. do inglês C.S.N.1 concrete syntax notation one
  37. do inglês B.E.E.P.blocks extensible exchange protocol
  38. do inglês K.L.V.key-length-value

Referências

  1. «Open W.rt. documentation on ubus». openwrt.org (em inglês). 15 de abril de 2022. Consultado em 15 de abril de 2022

Ligações externas

  • tlve (em inglês), um analisador tipo/marcação-comprimento-valor (T./M.C.V.) comum.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.