|
通信プロトコルでは、 省略可能な情報がtype-length-value(TLV、tag-length-valueとも)というフォーマットで表現されることがある。type-length-valueは、情報の種類(type)・長さ(length)・値(value)をセットにして表現するフォーマットである。 type(種類)とlength(長さ)は固定長(通常、1~4バイト)である。value(値)のフィールドは可変長である。各フィールドは以下のように用いられる。 ;type: 情報の種類に対応した数値または文字 ;length: valueフィールドのサイズ(数値) ;value: 可変長のデータ ==例== 「電話をかける」コマンドを例に説明する。 このシステムの最初のバージョン(バージョン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 要素を読み取る。上記の例は(LLDP)である。LLDPでは組織特有の情報をTLV形式でパケットに入れることを許容している。 TLV形式は、COPS、IS-IS、RADIUSなどでも使われている。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Type-length-value」の詳細全文を読む スポンサード リンク
|