Кіріспе
Robust Header Compression (ROHC) – IP, UDP, UDP Lite, RTP және TCP интернет-пакеттерінің қанатын қысудың стандартталған әдісі.
Басты жазуды сығу қажеттілігі
Ағымдық қолданбаларда IP, UDP және RTP протоколдарының қосымша шығындары IPv4 үшін 40 байт, ал IPv6 үшін 60 байтты құрайды. VoIP үшін бұл жіберілген деректердің жалпы көлемінің шамамен 60 пайызына тең. Мұндай үлкен қосымша шығындар сыйымдылығы көбінесе мәселе тудырмайтын жергілікті сымды желілерде қабылдануы мүмкін, бірақ кең аумақтық желілерде және сымсыз жүйелерде, жолақ ені шектеулі болғандықтан, артық болып табылады. ROHC бұл 40 немесе 60 байттық қосымша шығынды әдетте бір немесе үш байтқа дейін қысып, сыйымдылығы шектеулі желіге дейін компрессорды, ал одан кейін декомпрессорды орналастыру арқылы іске асырады. Компрессор үлкен шығынды бірнеше байтқа айналдырады, ал декомпрессор кері амал жасайды. ROHC қысым схемасы IETF және басқа қысым схемаларынан, пакеттердің жоғалу деңгейі жоғары желілерде, мысалы сымсыз желілерде жақсы жұмыс істейтін қабілетімен ерекшеленеді.
Бір бағыттағы режим (U-режим)
Бір бағытты жұмыс режимінде пакеттер тек бір бағытта жіберіледі: компрессордан декомпрессорға. Сондықтан бұл режим ROHC-ті декомпрессордан компрессорға кері байланыс жолы қол жетімді немесе қажет емес болатын байланыстар арқылы пайдалануға мүмкіндік береді. Декомпрессия қателерінің ықтималдығын болдырмау үшін компрессор ағын контекстін декомпрессорға мерзімді түрде жаңартып жібереді.
Екі бағыттағы оптимистік режим (O-режим)
Екі бағытты Оптимистік режим бір бағытты режимге ұқсас, бірақ қателерді қалпына келтіру сұраныстарын және (қажет болған жағдайда) маңызды контекст жаңартуларын декомпрессордан компрессорға жіберу үшін кері байланыс арнасы қолданылады. О режимі компрессия тиімділігін максималды деңгейге көтеруге және кері байланыс арнасын сирек пайдалануға бағытталған.
Екі бағыттағы сенімді режим (R-режим)
Екі бағытты сенімді режим алдыңғы екі режимнен көптеген жағынан өзгеше. Ең маңызды айырмашылықтары – кері байланыс арнасын күштірек пайдалану, сондай-ақ компрессор мен декомпрессордың екеуінде де контексттік синхронизацияның жоғалуын болдырмайтын қатаң логика, өте жоғары қалдық бит қателіктерінен басқа.
Компрессордың/декомпрессордың күйі
Компрессор/декомпрессор күйлерінің ұғымы жұмыс режимдеріне перпендикуляр. Қандай режимде болмасын, компрессор және декомпрессор олардың үш күйінің бірінде жұмыс істейді. Олар, негізінен, дискретті күйдегі машиналар. Кез келген түскен пакет компрессордың/декомпрессордың ішкі күйін өзгертуге мүмкін. Әрбір күй белгілі бір мінез-құлық пен сығылу деңгейімен сипатталады. ROHC алгоритмі бейне сығылуға ұқсас, себебі IP пакет ағынын көрсету үшін негізгі кадр және содан кейін бірнеше айырмашылық кадрлар жіберіледі. Бұл ROHC-ге базалық кадрлар жоғалмаса, ең жоғары сығылу күйінде көптеген пакеттердің жоғалуын бастан кешіруге мүмкіндік береді.
Компрессордың әртүрлі күйіндегі жұмыс
Бастапқылау және жаңарту (IR) күйінде компрессор жаңадан құрылған немесе қайта орналастырылған, сондай-ақ толық пакет тақырыптары жіберіледі. Бірінші реттік (FO) күйінде компрессор қосылымның екі жағындағы статикалық өрістерді (мысалы, IP-адрестер мен порт нөмірлерін) анықтап, сақтайды. Компрессор FO күйінде динамикалық пакет өрісінің өзгешеліктерін де жібереді. Осылайша, FO күйі негізінен статикалық және жартылай динамикалық сығылу болып табылады. Екінші реттік (SO) күйінде компрессор RTP реттік нөмірлері сияқты барлық динамикалық өрістерді жоққа шығарады және тек логикалық реттік нөмір мен ішінара тексеру сомасын жібереді, бұл қарсы жаққа келесі күтілетін пакеттің тақырыптарын болжап шығарып, тексеруге мүмкіндік береді. Жалпы алғанда, FO күйі барлық статикалық өрістерді және көптеген динамикалық өрістерді сығымдайды. SO күйі реттік нөмір мен тексеру сомасын пайдаланып, барлық динамикалық өрістерді болжамды түрде сығымдайды.
Қаттылық
Реттік нөмір (SN) өрісінің мөлшері компрессорды қайта орнату қажет болғанға дейін ROHC қанша пакетті жоғалта алатынын анықтайды. SN-ді тұрақты түрде сығыстыру үшін W LSB алгоритмі қолданылады. 1 және 2 байттық ROHC пакеттеріндегі реттік нөмірдің мөлшері тиісінше 4 бит (-1 / +14 кадр сменасы) немесе 6 бит (-1 / +62 кадр сменасы) болып келеді, сондықтан ROHC 1 2 байттық тақырыппен ең көп дегенде 62 жоғалған кадрға төтеп бере алады.
Қосымша сығымдау профильдері
Жалпы қысу механизмін анықтайды. Оны белгілі бір протоколдардың тақырыптарына арналған жаңа қысу профильдерін анықтау арқылы кеңейтуге болады. Жаңа протоколдарды қысу үшін жаңа RFC жарияланды: IP тақырыптары немесе IP туннельдері үшін қысу профилін анықтайды. UDP Lite/IP және RTP/UDP Lite/IP тақырыптары үшін қысу профилін анықтайды. TCP/IP тақырыптарының қысу профилін анықтайды.
The defines a compression profile for IP headers or IP tunnels. The defines a compression profile for UDP Lite/IP and RTP/UDP Lite/IP headers. The defines a compression profile for TCP/IP headers.
ROHC RFC-тің жаңа нұсқалары
Жақында екі жаңа RFC жарияланды, олар ROHC-ты түсіндіруге және іске асыруға тырысқанда туындаған шатасуды жоюға бағытталған. Бірінші құжат ROHC аясын анықтайды, ал екіншісі белгілі ROHC профильдерінің жаңа нұсқаларын анықтайды.