Type-length-value
From Wikipedia, the free encyclopedia
例
「電話をかける」コマンドを例に説明する。
このシステムの最初のバージョン(バージョン1)では、「電話をかける」コマンドには2つの要素、「コマンド」と「宛先電話番号」が想定される。
- command_c/4/makeCall_c/phoneNumberToCall_c/8/"722-4246"
ここで、command_c、makeCall_c、phoneNumberToCall_cは整数値、4、8はvalueフィールドの長さである。
後のバージョン(バージョン2)で、新たな要素「送信元電話番号」を追加しようとすると、以下のようになる。
- command_c/4/makeCall_c/callingNumber_c/14/"1-613-715-9719"/phoneNumberToCall_c/8/"722-4246"
バージョン2のシステムから送信されたメッセージをバージョン1のシステムが受信した場合、まずcommand_c要素を読み取り、次にcallingNumber_c要素を読み取る。バージョン1のシステムはcallingNumber_c要素を理解できないので、lengthフィールド(14)を読み取ってそのバイト数だけスキップし、次のphoneNumberToCall_c要素を読み取る。
上記の例はLink Layer Discovery Protocol(LLDP)である。LLDPでは組織特有の情報をTLV形式でパケットに入れることを許容している。
他の表現の形式
関連項目
- Common Open Policy Service (COPS)
- IS-IS
- key-length-value
- Link Layer Discovery Protocol
- RADIUS
- OBEX
- tlve, A common TLV parser