Jump to content

Тип-длина-значение

В протоколах связи TLV ( значение -тип-длина или значение-длина-тега ) представляет собой схему кодирования, используемую для информационных элементов. Поток данных, закодированный в формате TLV, содержит код, связанный с типом записи, длиной значения записи и, наконец, самим значением.

Подробности

[ редактировать ]

Тип и длина имеют фиксированный размер (обычно 1–4 байта), а поле значения имеет переменный размер. Эти поля используются следующим образом:

Тип
Двоичный код, часто просто буквенно-цифровой, который указывает тип поля, которое представляет эта часть сообщения;
Длина
Размер поля значения (обычно в байтах);
Ценить
Серия байтов переменного размера, содержащая данные для этой части сообщения.

Некоторые преимущества использования решения системы данных представления TLV:

  • Последовательности TLV легко искать с помощью обобщенных функций синтаксического анализа;
  • Новые элементы сообщения, полученные на более старом узле, можно безопасно пропустить, а остальную часть сообщения можно проанализировать. Это похоже на то, как XML ; можно безопасно пропускать неизвестные теги
  • Элементы TLV можно размещать в теле сообщения в любом порядке;
  • Элементы TLV обычно используются в двоичном формате и двоичных протоколах , что ускоряет анализ и уменьшает объем данных, чем в сопоставимых текстовых протоколах.

Реальные примеры

[ редактировать ]

Транспортные протоколы

[ редактировать ]

Форматы хранения данных

[ редактировать ]

Другие примеры

[ редактировать ]

Представьте себе сообщение о телефонном звонке. В первой версии системы могли использоваться два элемента сообщения: «команда» и «phoneNumberToCall»:

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

Здесь command_c, makeCall_c и phoneNumberToCall_c — целочисленные константы, а 4 и 8 — длины полей «значение» соответственно.

Позже (в версии 2) можно было добавить новое поле, содержащее номер вызывающего абонента:

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

Система версии 1, получившая сообщение от системы версии 2, сначала прочитала бы сообщение. command_c элемент, а затем прочитать элемент типа callingNumber_c. Система версии 1 не понимает callingNumber_c, поэтому считывается поле длины (т. е. 14), и система пропускает 14 байт вперед для чтения.

phoneNumberToCall_c

который он понимает, и анализ сообщения продолжается.

Другие способы представления данных

[ редактировать ]

Базовые TCP/IP протоколы (особенно IP , TCP и UDP ) используют предопределенные статические поля.

Некоторые протоколы прикладного уровня , включая HTTP/1.1 (и его нестандартизированные предшественники), FTP , SMTP , POP3 и SIP , используют текстовые пары «Поле: Значение», отформатированные в соответствии с РФК   2822 . ( HTTP представляет длину полезных данных с помощью заголовка Content-Length и отделяет заголовки от полезных данных пустой строкой, а заголовки друг от друга — новой строкой.)

ASN.1 определяет несколько правил кодирования на основе TLV ( BER , DER ), а также правил кодирования, не основанных на TLV ( PER , XER ).

CSN.1 описывает правила кодирования с использованием семантики, отличной от TLV.

Совсем недавно, [ когда? ] XML использовался для реализации обмена сообщениями между различными узлами сети. Эти сообщения обычно предваряются строковыми текстовыми командами, например BEEP .

См. также

[ редактировать ]
  • KLV , конкретный тип кодирования типа-длины-значения
  1. ^ «Документация OpenWrt по ubus» . openwrt.org . 15 апреля 2022 г. Проверено 15 апреля 2022 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7be561502c779a47e388c4f16af023d6__1699527960
URL1:https://arc.ask3.ru/arc/aa/7b/d6/7be561502c779a47e388c4f16af023d6.html
Заголовок, (Title) документа по адресу, URL1:
Type–length–value - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)