HOME

TheInfoList



OR:

Within
communication protocols A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. The protocol defines the rules, syntax, semantics and synchroniza ...
, TLV (type-length-value or tag-length-value) is an encoding scheme used for optional informational elements in a certain protocol. A TLV-encoded data stream contains code related to the record type, the record value's length, and finally the value itself.


Details

The type and length are fixed in size (typically 1–4 bytes), and the value field is of variable size. These fields are used as follows: ;Type: A binary code, often simply alphanumeric, which indicates the kind of field that this part of the message represents; ;Length: The size of the value field (typically in bytes); ;Value: Variable-sized series of bytes which contains data for this part of the message. Some advantages of using a TLV representation data system solution are: * TLV sequences are easily searched using generalized parsing functions; * New message elements which are received at an older node can be safely skipped and the rest of the message can be parsed. This is similar to the way that unknown
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. ...
tags can be safely skipped; * TLV elements can be placed in any order inside the message body; * TLV elements are typically used in a binary format and binary protocols which makes parsing faster and the data smaller than in comparable text based protocols.


Examples


Real-world examples


Transport protocols

* TLS (and its predecessor SSL) use TLV-encoded messages. *
SSH The Secure Shell Protocol (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network. Its most notable applications are remote login and command-line execution. SSH applications are based on a ...
*
COPS Cop or Cops commonly refers to: * Police officer Cop and other variants may also refer to: Art and entertainment Film * ''Cop'' (film), a 1988 American thriller * ''Cops'' (film), an American silent comedy short starring Buster Keaton * ''The ...
*
IS-IS Intermediate System to Intermediate System (IS-IS, also written ISIS) is a routing protocol designed to move information efficiently within a computer network, a group of physically connected computers or similar devices. It accomplishes this b ...
*
RADIUS In classical geometry, a radius ( : radii) of a circle or sphere is any of the line segments from its center to its perimeter, and in more modern usage, it is also their length. The name comes from the latin ''radius'', meaning ray but also the ...
*
Link Layer Discovery Protocol The Link Layer Discovery Protocol (LLDP) is a vendor-neutral link layer protocol used by network devices for advertising their identity, capabilities, and neighbors on a local area network based on IEEE 802 technology, principally wired Ether ...
allows for the sending of organizational-specific information as a TLV element within LLDP packets * Media Redundancy Protocol allows organizational-specific information *
Dynamic Host Configuration Protocol The Dynamic Host Configuration Protocol (DHCP) is a network management protocol used on Internet Protocol (IP) networks for automatically assigning IP addresses and other communication parameters to devices connected to the network using a cli ...
(DHCP) uses TLV encoded options *RR protocol used in GSM cell phones (defined in 3GPP 04.18). In this protocol each message is defined as a sequence of information elements.


Data storage formats

*
IFF In logic and related fields such as mathematics and philosophy, "if and only if" (shortened as "iff") is a biconditional logical connective between statements, where either both statements are true or both are false. The connective is bicondi ...
* QTFF (the basis for MPEG-4 containers)


Other

* ubus used for
IPC IPC may refer to: Computing * Infrastructure protection centre or information security operations center * Instructions per cycle or instructions per clock, an aspect of central-processing performance * Inter-process communication, the sharin ...
in
OpenWrt OpenWrt (from ''open wireless router'') is an open-source project for embedded operating systems based on Linux, primarily used on embedded devices to route network traffic. The main components are Linux, util-linux, musl, and BusyBox. A ...


Other examples

Imagine a message to make a telephone call. In a first version of a system this might use two message elements: a "command" and a "phoneNumberToCall": ;command_c/4/makeCall_c/phoneNumberToCall_c/8/"722-4246" Here command_c, makeCall_c and phoneNumberToCall_c are integer constants and 4 and 8 are the lengths of the "value" fields, respectively. Later (in version 2) a new field containing the calling number could be added: ;command_c/4/makeCall_c/callingNumber_c/14/"1-613-715-9719"/phoneNumberToCall_c/8/"722-4246" A version 1 system which received a message from a version 2 system would first read the command_c element and then read an element of type callingNumber_c. The version 1 system does not understand callingNumber_c, so the length field is read (i.e. 14) and the system skips forward 14 bytes to read ;phoneNumberToCall_c which it understands, and message parsing carries on.


Other ways of representing data

Core
TCP/IP The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the set of communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suit ...
protocols (particularly IP, TCP, and UDP) use predefined, static fields. Some
application layer An application layer is an abstraction layer that specifies the shared communications protocols and interface methods used by hosts in a communications network. An ''application layer'' abstraction is specified in both the Internet Protocol ...
protocols, including HTTP/1.1 (and its non-standardized predecessors),
FTP The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and data ...
,
SMTP The Simple Mail Transfer Protocol (SMTP) is an Internet standard communication protocol for electronic mail transmission. Mail servers and other message transfer agents use SMTP to send and receive mail messages. User-level email clients typic ...
,
POP3 In computing, the Post Office Protocol (POP) is an application-layer Internet standard protocol used by e-mail clients to retrieve e-mail from a mail server. POP version 3 (POP3) is the version in common use, and along with IMAP the most comm ...
, and SIP, use text-based "Field: Value" pairs formatted according to . (
HTTP The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
represents length of payload with a Content-Length header and separates headers from the payload with an empty line and headers from each other with a new line.) ASN.1 specifies several TLV-based encoding rules (
BER ''Ziziphus mauritiana'', also known as Indian jujube, Indian plum, Chinese date, Chinese apple, ber, and dunks is a tropical fruit tree species belonging to the family Rhamnaceae. It is often confused with the closely related Chinese jujube (' ...
,
DER Der or DER may refer to: Places * Darkənd, Azerbaijan * Dearborn (Amtrak station) (station code), in Michigan, US * Der (Sumer), an ancient city located in modern-day Iraq * d'Entrecasteaux Ridge, an oceanic ridge in the south-west Pacific Ocean ...
), as well as non-TLV based ones ( PER, XER). CSN.1 describes encoding rules using non-TLV semantics. More recently,
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. ...
has been used to implement messaging between different nodes in a network. These messages are typically prefixed with line-based text commands, such as with
BEEP The Blocks Extensible Exchange Protocol (BEEP) is a framework for creating network application protocols. BEEP includes building blocks like framing, pipelining, multiplexing, reporting and authentication for connection and message-oriented peer ...
.


See also

*
KLV KLV (Key-Length-Value) is a data encoding standard, often used to embed information in video feeds. The standard uses a type–length–value encoding scheme. Items are encoded into Key-Length-Value triplets, where key identifies the data, length ...
, specific type of type-length-value encoding * Binary protocol


References

{{DEFAULTSORT:Type-length-value Data transmission Internet Standards Internet protocols Data serialization formats