ROHC

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 25. kesäkuuta 2015 tarkistetusta versiosta . tarkastukset vaativat 10 muokkausta .

ROHC ( Robust Header Compression - Reliable (Noise-Immune )   Header Compression) on standardoitu menetelmä Internet - pakettien IP- , UDP- , UDP Lite- , RTP- ja TCP - otsikoiden pakkaamiseen.

Otsikon pakkaamisen tarve

IP-, UDP- ja RTP-pakettien otsikoiden koko on 40 tavua IPv4 : ssä tai 60 tavua IPv6 :ssa , mikä esimerkiksi vie noin 60 % lähetetystä tiedosta VoIP :ssä. Tällaiset korkeat kustannukset ovat varsin sopivia paikallisille ja nopeille verkoille, mutta liian korkeat WAN - verkoille ja langattomille verkoille, joissa liikenne ja nopeus ovat erittäin rajoitettuja [1] .

ROHC pakkaa nämä 40 tai 60 tavua 1-3:ksi asettamalla kompressorin, joka pakkaa suuret otsikot muutamaksi tavuksi yhteyden toiseen päähän ja dekompressorin, joka tekee päinvastoin.

ROHC-pakkausmenetelmä eroaa muista menetelmistä, kuten IETF RFC 1144 :stä ja RFC 2508 :sta, sillä se ei aiheuta ongelmia työskennellessäsi verkkojen kanssa, joissa tiedonhäviö on suuri.

Perusperiaatteet

ROHC-protokolla tekee erinomaista työtä redundanttien otsikkotietojen suhteen:

Täysi tieto välitetään vain ensimmäisessä paketissa, loput sisältävät vain muuttuvaa tietoa, kuten tunnisteita tai järjestysnumeroita.

Suorituskyvyn parantamiseksi paketit luokitellaan virran mukaan, mikä välttää pakettien välisen redundanssin. ROHC-protokolla ei itse ole erikoistunut tällaisen luokituksen algoritmiin, vaan se jätetään laitevalmistajien vapaaseen käyttöön. Sen jälkeen paketit pakataan sopivimmalla profiililla, joka määrittää kuinka verkkootsikot pakataan. Saatavilla on useita pakkausprofiileja: Pakkaamaton, vain IP, IP/UDP, IP/UDP-Lite, IP/ESP, IP/UDP/RTP, IP/UDP-Lite/RTP ja IP/TCP.

Modes

RFC 3095 :n mukaan ROHC-järjestelmällä on kolme toimintatilaa:

Sekä kompressori että dekompressori käynnistyvät U-tilassa. Ne voivat sitten siirtyä O-tilaan, kun käänteinen yhteys tulee saataville ja dekompressori vahvistaa siirtymisen O-tilaan. Vaihtaminen R-tilaan tapahtuu samalla tavalla.

Yksisuuntainen (U-moodi)

Yksisuuntaisessa tilassa paketit lähetetään vain kompressorista dekompressoriin -suunnassa. Tämä mahdollistaa myös ROHC:n käytön sovelluksissa, joissa kompressorin ja dekompressorin välinen palaute ei ole mahdollista tai toivottavaa. Mahdollisten pakkausvirheiden välttämiseksi kompressori lähettää ajoittain päivityksiä tietovirran kontekstiin pakkauksenpurkijalle.

Kaksisuuntainen optimistinen (O-Mode)

Kaksisuuntainen optimistinen tila on samanlainen kuin edellinen, mutta siinä on palautekanava, jota käytetään pyytämään dekompressoria palauttamaan virheelliset tiedot ja (valinnaisesti) kuittaamaan mielekkäät päivitykset vuokontekstiin. Tämä tila on tarkoitettu maksimaaliseen pakkaustehokkuuteen ja sitä käytetään, kun palautekanavaa käytetään harvoin.

Kaksisuuntainen luotettava (R-tila)

Kaksisuuntainen luotettava tila eroaa monella tapaa kahdesta edellisestä. Suurin ero on palautekanavan paljon intensiivisempi käyttö sekä kompressorin ja dekompressorin tiukka logiikka, joka estää tietojen katoamisen ja lähetysvirran kontekstin epäsynkronoinnin.

Kompressorin/dekompressorin tilat

Riippumatta nykyisestä tilasta, sekä kompressori että dekompressori toimivat yhdessä kolmesta tilasta, jotka ovat olennaisesti tilakoneita . Jokainen saapuva paketti voi muuttaa nykyistä tilaa, joka kuvaa tietojen pakkaamisen käyttäytymistä ja tasoa.

ROHC-algoritmi on samanlainen kuin videopakkaus, jossa pääkehys ja useita kehyksiä, joissa on eroja, lähetetään edustamaan IP-pakettien virtaa. Tällä menetelmällä on vakavia etuja, joiden avulla voit jättää huomiotta suuret häviöt jopa voimakkaimmalla pakkauksella, kunhan pääkehys (perus) ei katoa.

Kompressorin tilat

Kompressorille on määritetty seuraavat kolme tilaa:

Toiminnot eri kompressorin tiloilla

IR-tilassa kompressori on heti luomisen tai uudelleenkäynnistyksen jälkeen ja lähettää samalla täydet pakettiotsikot.

Kompressori siirtyy FO-tilaan, kun se on havainnut ja tallentanut kaikki paketin staattisten kenttien tiedot (esimerkiksi IP-osoitteen ja portin numeron) yhteyden molempiin päihin. Myös erilaisia ​​dynaamisia kenttien muutoksia lähetetään dekompressoriin tässä tilassa. Kuten näet, FO käyttää staattista ja pseudodynaamista pakkausta.

Jälkimmäisessä tilassa kompressori vaimentaa kaiken dynaamisen datan, kuten RTP-sekvenssinumerot, ja lähettää vain loogisen järjestysnumeron ja osittaiset tarkistussummat, jolloin vertaiskäyttäjä voi ennakoivasti generoida ja tarkastaa seuraavan odotetun paketin otsikon. Yleisesti, vaikka FO-tila pakkaa kaikki staattiset ja monet dynaamiset otsikkokentät, SO pakkaa kaikki dynaamiset otsikkokentät käyttämällä pakettien järjestysnumerointia ja tarkistussummia.

Kompressorin tilan muutos

Vaihto yllä olevien tilojen välillä tapahtuu, kun kompressori:

  • pakkaa paketin, joka sisältää liian monta muutosta edellisiin verrattuna,
  • saa positiivisen/negatiivisen vastauksen dekompressorilta,
  • päivittää kontekstia ajoittain.
1-tavuiset ROHC-otsikot

Tyypillinen ROHC-toteutus pyrkii saattamaan päätelaitteen SO-tilaan, jossa 1-tavuinen ROHC-otsikko voidaan laajentaa vastaavaksi 40-tavuiseksi IPv4/UDP/RTP- tai 60-tavuiseksi IPv6/UDP/RTP- (eli VoIP)-otsikoksi. . Tässä tilassa tämä 1 tavu (8 bittiä) sisältää:

  • 1 bitti, joka kuvaa nykyisen paketin tyyppiä (asetetaan '1' pidemmille paketeille),
  • 4 bittiä järjestysnumerolle (alueelta −1...+14 pakettia suhteessa kantaan),
  • 3-bittinen CRC .

Dekompressorin tilat

Dekompressorilla on kolme muuta tilaa:

  • Ilman kontekstia
  • staattinen konteksti,
  • Täysi konteksti.

Vaihto niiden välillä tapahtuu, kun dekompressori:

  • avaa paketin onnistuneesti,
  • paketin avaaminen ei onnistu.

Luotettavuus

Järjestysnumeroalue kuvaa niiden pakettien määrää, jotka voidaan menettää, minkä jälkeen kompressori pakotetaan päivittämään tilaa. Alueleveys 1- ja 2-tavuisissa ROHC-paketteissa on 4 (-1..+14 offset suhteessa kantaan) ja 6 (-1..+62) bittiä, vastaavasti. ROHC:n huomiotta jättämien kadonneiden pakettien enimmäismäärä on siis 62 1-2-tavuisille otsikoille.

Muut pakkausprofiilit

RFC 3095 määrittelee pakkausmekanismimallin, jota voidaan laajentaa käyttämään muita profiileja, riippuen tietystä protokollan otsikoista, kuten

  • RFC 3843 määrittää pakkausprofiilin IP-otsikoille tai IP-tunneleille,
  • RFC 4019 IP/UDP-Lite- ja IP/UDP-Lite/RTP-otsikoille,
  • RFC 6846 IP/TCP-otsikoille.

Muistiinpanot

  1. Michael Dosch ja Steve Church. VoIP Broadcast Studiossa (linkki ei käytettävissä) . Axia Audio. Haettu 21. kesäkuuta 2011. Arkistoitu alkuperäisestä 7. lokakuuta 2011. 

Linkit