Opentopia Directory Encyclopedia Tools

Type-length-value

Encyclopedia : T : TY : TYP : Type-length-value


Within data communication protocols, optional information may be encoded as a type-length-value or TLV element inside of the protocol.

The type and length fields are fixed in size (1-4 bytes) and the value field is of variable size. These fields are used as follows:

Some of the advantages of using a TLV representation is:

An example of TLVs in action follows. 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"
where command_c, makeCall_c and phoneNumberToCall_c are integer constants and 4 and 8 are the lengths of the "value" fields.
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 revision 1 system which received a message from a version 2 system would read the "command_c" element and then would read an element of type callingNumber_c. The revision 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.

An example of usage is the Link Layer Discovery Protocol which allows for the sending of organizational-specific information as a TLV element within LLDP packets. Another example is the RR protocol used in GSM cell phones, defined in 3GPP 04.18.

In the RR protocol, each message is defined as a sequence of information elements.

Other ways of representing data in communication protocols are ASN.1 and CSN.1. More recently XML has been used to implement messaging between differnet nodes in a network.

External links

See also

Search Titles
0123456789
ABCDEFGHIJ
KLMNOPQRST
UVWXYZ?

E-mail this article to:

Personal Message: