Loading AI tools
ウィキペディアから
通信プロトコルでは、 省略可能な情報がtype-length-value(TLV、tag-length-valueとも)というフォーマットで表現されることがある。type-length-valueは、情報の種類(type)・長さ(length)・値(value)をセットにして表現するフォーマットである。
type(種類)とlength(長さ)は固定長(通常、1~4バイト)である。value(値)のフィールドは可変長である。各フィールドは以下のように用いられる。
「電話をかける」コマンドを例に説明する。
このシステムの最初のバージョン(バージョン1)では、「電話をかける」コマンドには2つの要素、「コマンド」と「宛先電話番号」が想定される。
ここで、command_c
、makeCall_c
、phoneNumberToCall_c
は整数値、4、8はvalueフィールドの長さである。
後のバージョン(バージョン2)で、新たな要素「送信元電話番号」を追加しようとすると、以下のようになる。
バージョン2のシステムから送信されたメッセージをバージョン1のシステムが受信した場合、まずcommand_c
要素を読み取り、次にcallingNumber_c
要素を読み取る。バージョン1のシステムはcallingNumber_c
要素を理解できないので、lengthフィールド(14)を読み取ってそのバイト数だけスキップし、次のphoneNumberToCall_c
要素を読み取る。
上記の例はLink Layer Discovery Protocol(LLDP)である。LLDPでは組織特有の情報をTLV形式でパケットに入れることを許容している。
TCP/IPプロトコルの根幹であるIP、TCP、UDPでは、固定長フィールドが使われている。
TCP/IPベースのプロトコル、HTTP、FTP、SMTP、POP3、SIPなどは、文字列による「種類: 値」の形式のフォーマットを採用している 。これはRFC 2822を継承するものである。
ASN.1は、TLV形式(BER, DER)と非TLV形式(PER, XER)のフォーマットを並用している。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.