Information AboutType-length-value |
| CATEGORIES ABOUT TYPE-LENGTH-VALUE | |
| data transmission | |
|
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": 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: A version 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. Many other protocols use TLVs, such as COPS , IS-IS , and RADIUS . Other ways of representing data Core TCP/IP protocols (particularly IP , TCP , and UDP ) use predefined, static fields. Common TCP/IP -based protocols such as HTTP , FTP , SMTP , POP3 , and SIP use text-based "Field: Value" pairs formatted according to RFC 2822 . ASN.1 standards body specifies several TLV based encoding rules ( BER , DER ), as well as non-TLV based ones ( PER , XER ). CSN.1 describes encoding rules using non-TLV semantics. More recently XML 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 . EXTERNAL LINKS SEE ALSO |
|
|