Turi-uzunligi-qiymati - Type-length-value

Ichida ma'lumotlar uzatish protokollari, TLV (uzunlik-qiymat yoki yorliq-uzunlik-qiymat) - bu ma'lum bir protokoldagi ixtiyoriy axborot elementi uchun ishlatiladigan kodlash sxemasi.

Turi va uzunligi hajmi bo'yicha aniqlanadi (odatda 1-4 bayt) va qiymat maydoni o'zgaruvchan hajmga ega. Ushbu maydonlar quyidagicha ishlatiladi:

Turi
Ikkilik kod, ko'pincha shunchaki alfanumerik, bu xabarning ushbu qismi qaysi maydonni ko'rsatishini ko'rsatadi;
Uzunlik
Qiymat maydonining o'lchami (odatda baytlarda);
Qiymat
Xabarning ushbu qismi uchun ma'lumotlarni o'z ichiga olgan o'zgaruvchan kattalikdagi baytlar qatori.

TLV vakili ma'lumotlar tizimi echimidan foydalanishning ba'zi afzalliklari quyidagilardir:

  • TLV ketma-ketliklari umumlashtirilgan ajralish funktsiyalari yordamida osongina qidiriladi;
  • Eski tugunda olingan yangi xabar elementlari xavfsiz o'tkazib yuborilishi mumkin va qolgan xabarlarni tahlil qilish mumkin. Bu noma'lum yo'lga o'xshaydi XML teglar xavfsiz tarzda o'tkazib yuborilishi mumkin;
  • TLV elementlari xabar tanasi ichida istalgan tartibda joylashtirilishi mumkin;
  • TLV elementlari odatda ikkilik formatda ishlatiladi, bu esa matnni taqqoslash mumkin bo'lgan protokollarga qaraganda tezroq va ma'lumotlarni kichikroq tahlil qilishga imkon beradi.

Misollar

Telefon orqali qo'ng'iroq qilish uchun xabarni tasavvur qiling. Tizimning birinchi versiyasida bu ikkita xabar elementidan foydalanishi mumkin: "buyruq" va "phoneNumberToCall":

command_c / 4 / makeCall_c / phoneNumberToCall_c / 8 / "722-4246"

Bu yerda buyruq_c, makeCall_c va phoneNumberToCall_c butun son sobitlari va 4 va 8 navbati bilan "qiymat" maydonlarining uzunliklari.

Keyinchalik (2-versiyada) qo'ng'iroq raqamini o'z ichiga olgan yangi maydon qo'shilishi mumkin:

command_c / 4 / makeCall_c / callingNumber_c / 14 / "1-613-715-9719" / phoneNumberToCall_c / 8 / "722-4246"

2-versiyadan xabar olgan 1-versiya tizimi avval o'qiydi buyruq_c elementini tanlang va keyin turdagi elementni o'qing qo'ng'iroq raqami_c. 1-versiya tizimi tushunmaydi;qo'ng'iroq raqami_c

shuning uchun uzunlik maydoni o'qiladi (ya'ni 14) va tizim o'qish uchun 14 baytni oldinga o'tkazib yuboradi

phoneNumberToCall_c

u tushunadi va xabarlarni tahlil qilish davom etadi.

Foydalanish misoli Aloqa qatlamini topish protokoli LLDP paketlari ichida tashkilotga xos ma'lumotlarni TLV elementi sifatida yuborish imkonini beradi. Yana bir misol - 3GPP 04.18 da belgilangan GSM mobil telefonlarida ishlatiladigan RR protokoli.

RR protokolida har bir xabar axborot elementlari ketma-ketligi sifatida tavsiflanadi.

TLVlar ko'plab protokollarda qo'llaniladi, masalan COPS, IS-IS va RADIUS kabi ma'lumotlarni saqlash formatlari IFF va QTFF (uchun asos MPEG-4 konteynerlari ).

Ma'lumotlarni aks ettirishning boshqa usullari

Asosiy TCP / IP protokollar (xususan IP, TCP va UDP ) oldindan belgilangan, statik maydonlardan foydalaning.

Umumiy TCP / IP kabi asoslangan protokollar HTTP, FTP, SMTP, POP3 va SIP ga muvofiq formatlangan matnli "Maydon: qiymat" juftliklaridan foydalaning RFC 2822.

ASN.1 TLV-ga asoslangan bir nechta kodlash qoidalarini belgilaydi (BER, DER ), shuningdek, TLV-ga asoslangan bo'lmaganlar (PER, XER ).

CSN.1 TLV bo'lmagan semantikadan foydalangan holda kodlash qoidalarini tavsiflaydi.

Yaqinda, XML tarmoqdagi turli tugunlar o'rtasida xabar almashishni amalga oshirish uchun ishlatilgan. Ushbu xabarlar odatda satrga asoslangan buyruqlar bilan qo'shiladi, masalan BEEP.

Shuningdek qarang

  • KLV, juda o'xshash uzunlik-qiymat sxemasi uchun

Adabiyotlar

Tashqi havolalar

  • tlve, Umumiy TLV tahlil qiluvchi