Secure Reliable Transport

Vikipēdijas lapa

Secure Reliable Transport (SRT) ir atvērtā pirmkoda video transporta protokols.

Apskats[labot šo sadaļu | labot pirmkodu]

SRT nodrošina uzticamu pārraidi, savienojamību un vadību, bet tomēr tas norisinās lietojumslānī, izmantojot UDP protokolu kā transporta slāņa pamatu. Tas arī atbalsta pakešu atkopšanu, vienlaikus saglabājot zemu latentumu (120 ms noklusējums). SRT protokols atbalsta arī "no gala līdz galam" šifrēšanu, izmantojot AES drošībai.[1]

SRT protokols ticis aizgūts no UDT projekta,[2][3] kurš bija paredzēts failu ātrai pārsūtīšanai. UDT nodrošina uzticamības kontroles mehānismu, secības numurus, apstiprinājumus un zaudēto pakešu atkārtotu pārraidi. Tas izmanto selektīvu un tūlītēju atkārtotu (uz NAK balstītu) pārraidi.

SRT papildināja UDT ar vairākām funkcijām, lai atbalstītu tiešraides straumēšanas režīmu:

  1. Kontrolēts latentums ar avota laika pārraidi (laika zīmoga balstītu pakešu piegāde)
  2. Atvieglota sūtītāja ātruma kontrole
  3. Nosacījuma "pārāk vēlu" pakešu atmešana (novērš līnijas galvas bloķēšanu, ko izraisījuši nesavlaicīgās pazaudētās paketes)
  4. Vēlamo pakešu atkārtoto pārraide (periodisks NAK ziņojums)

Paketes galvene[labot šo sadaļu | labot pirmkodu]

SRT paketes tiek izveidotas lietojumslānī un nodotas piegādei transporta slānī. Katra SRT vides vienība, vai vadības dati kuri tika izveidoti lietojumprogrammatūrā, sākas ar SRT paketes galveni.[4]

SRT paketes galvene (iesākums)
Offsets Octet 0 1 2 3
Octet Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 F Field meaning depends on the packet type
4 32 Field meaning depends on the packet type
8 64 Timestamp
12 96 Destination Socket ID
. . . . . . Packet Contents

(depends on the packet type)

Datu pakete[labot šo sadaļu | labot pirmkodu]

SRT datu paketes galvene (iesākums)
Offsets Octet 0 1 2 3
Octet Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 0 Packet Sequence Number
4 32 PP O KK R Message Number
8 64 Timestamp
12 96 Destination Socket ID
. . . . . . Data

Galvenes paketē ietver šādus laukus:

  • Paketes secības numurs (31 bits)
  • PP (2 biti): paketes pozīcijas karodziņš
  • O (1 bits): secības karodziņš
  • KK (2 biti): atslēgas balstītā šifrēšanas karodziņš
  • R (1 bits): pārraides paketes karodziņš
  • Ziņojuma numurs (26 biti)
  • Dati (mainīgais garums)

Vadības pakete[labot šo sadaļu | labot pirmkodu]

SRT vadības paketes galvene (iesākums)
Offsets Octet 0 1 2 3
Octet Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 1 Control Type Subtype
4 32 Type-specific information
8 64 Timestamp
12 96 Destination Socket ID
. . . . . . Control Information Field (CIF)

Galvenes paketē ietver šādus laukus:

  • Vadības tips (15 biti): Vadības paketes tips
  • Apakštips (16 biti)
  • Tipam specifiska informācija (32 biti)
  • Vadības informācijas lauks (mainīgais garums)

Atsauces[labot šo sadaļu | labot pirmkodu]

  1. «draft-sharabayko-srt-00 – The SRT Protocol». IETF Datatracker (angliski). Skatīts: 2021. gada 12. augustā.
  2. «UDT: Breaking the Data Transfer Bottleneck». SourceForge (angliski). Skatīts: 2021. gada 12. augustā.
  3. «Why-srt-was-created». GitHub (angliski). Skatīts: 2021. gada 12. augustā.
  4. «draft-sharabayko-srt-00 - The SRT Protocol». IETF Datatracker (angliski). Skatīts: 2021. gada 12. augustā.