Type Length Value (TLV)

A TLV (Type-Length-Value) is a flexible data encoding scheme that is commonly used in a wide variety of networking protocols. It structures information into three parts:

  • Type – Identifies the kind of data being transmitted.
  • Length – Specifies the size of the value field.
  • Value – Contains the actual data.

This structure allows protocols to be extensible, backward-compatible, and efficient in parsing since each field is self-describing.

There are various protocols that use TLVs in their design. Some are listed below:

Routing Protocols:

  1. OSPF (Open Shortest Path First) – Uses TLVs in Opaque LSAs for extensibility.
  2. IS-IS (Intermediate System to Intermediate System) – Uses TLVs extensively for carrying routing information.
  3. BGP (Border Gateway Protocol) – Uses TLVs in Path Attributes and MP-BGP extensions.

Switching & Labeling Protocols:

  1. LLDP (Link Layer Discovery Protocol) – Uses TLVs for device and neighbor discovery.
  2. MPLS (Multiprotocol Label Switching) – Uses TLVs in LDP]] (Label Distribution Protocol) and RSVP-TE for label and path signaling.

Network Configuration & Management:

  1. SNMP (Simple Network Management Protocol) – Uses TLV in ASN.1 encoding.
  2. NETCONF & YANG – Encodes configuration data using TLVs in some transport layers.

Security Protocols:

  1. RADIUS (Remote Authentication Dial-In User Service) – Uses TLVs to carry authentication attributes.
  2. Diameter – An advanced replacement for RADIUS, also using TLVs.
  3. EAP (Extensible Authentication Protocol) – Uses TLVs for authentication exchanges.

Other Protocols:

  1. 802.1X – Uses TLVs for authentication and access control.
  2. CDP (Cisco Discovery Protocol) – Uses TLVs to carry device and network information.
  3. DHCP (Dynamic Host Configuration Protocol)** – Uses TLVs in options fields.
  4. LACP (Link Aggregation Control Protocol) – Uses TLVs for link negotiation.