SCTP (англ. Stream Control Transmission Protocol — «протокол передачі з керуванням потоком») — протокол транспортного рівня в комп'ютерних мережах, створений в 2000 році в IETF. RFC 3286 містить технічний вступ до нього.
Як і будь-який інший протокол передачі даних транспортного рівня, SCTP працює аналогічно TCP або UDP. TCP і UDP працюють настільки по-різному, що проводити аналогію до них обох некоректно. Вся аналогія — в тому, що SCTP, TCP і UDP відносяться до одного і того ж рівня моделі OSI. Але насправді SCTP має в арсеналі широкий спектр приємних[] нововведень, таких як багатопоточність, захист від , а також синхронне з'єднання між двома хостами на двох і більше незалежних фізичних каналах (multi-homing).
Безпечне встановлення підключення
Створення нового підключення в протоколах TCP і SCTP відбувається за допомогою механізму підтвердження пакетів. У протоколі TCP ця процедура отримала назву триетапне підтвердження (three-way handshake). Клієнт посилає пакет SYN (скор. Synchronize). Сервер відповідає пакетом SYN-ACK (Synchronize-Acknowledge). Клієнт підтверджує прийом пакета SYN-ACK пакетом ACK. На цьому процедура встановлення з'єднання завершується.
Протокол TCP має потенційну вразливість, обумовлену тим, що порушник, встановивши фальшиву IP-адресу відправника, може послати серверу безліч пакетів SYN. При отриманні пакету SYN сервер виділяє частину своїх ресурсів для встановлення нового з'єднання. Обробка безлічі пакетів SYN рано чи пізно використає всі ресурси сервера і зробить неможливим обробку нових запитів. Така атака отримала назву «відмова в обслуговуванні» (Denial of Service, або скорочено DoS).
Протокол SCTP захищений від подібних атак за допомогою механізму чотирьохетапного підтвердження (four-way handshake) і введенням маркера (cookie). За протоколом SCTP клієнт починає процедуру встановлення з'єднання посилкою пакета INIT. У відповідь сервер посилає пакет INIT-ACK, який містить маркер (унікальний ключ, що ідентифікує нове з'єднання). Потім клієнт відповідає посилкою пакета COOKIE-ECHO, в якому міститься маркер, посланий сервером. Тільки після цього сервер виділяє свої ресурси новому підключенню і підтверджує це відправленням клієнту пакету COOKIE-ACK.
Для вирішення проблеми затримки пересилання даних при виконанні процедури чотирьохетапного підтвердження в протоколі SCTP допускається включення даних в пакети COOKIE-ECHO і COOKIE-ACK.
Поетапне завершення передачі даних
Розглянемо відмінності між процедурою закриття сокетів протоколу SCTP і процедурою часткового закриття (half-close) протоколу TCP.
У протоколі TCP можлива ситуація, коли вузол закриває у себе сокет (виконуючи посилку пакету FIN), але продовжує приймати дані. Пакет FIN вказує кореспонденту на відсутність даних для передачі, проте до тих пір, поки кореспондент не закриє свій сокет, він може продовжувати передавати дані. Стан часткового закриття використовується додатками вкрай рідко, тому розробники протоколу SCTP вважали за потрібне замінити його послідовністю повідомлень для розриву існуючої асоціації. Коли вузол закриває свій сокет (надсилає повідомлення SHUTDOWN), обидва кореспонденти повинні припинити передачу даних, при цьому дозволяється лише обмін пакетами, що підтверджують прийом раніше відправлених даних.
Потоки
TCP керує послідовністю байт: дані, послані застосунком-відправником, мають надходити до застосунку-одержувача виключно в тому ж порядку (у той час як протокол IP здатний змінити послідовність пакетів; крім того, зниклі пакети надсилаються повторно і зазвичай прибувають до одержувача з порушенням послідовності; для боротьби з цими явищами, дані накопичуються в буфері). SCTP може транспортувати дані між двома точками одночасно за кількома потоками повідомлень. На противагу до TCP, SCTP обробляє цілі повідомлення, а не звичайні байти інформації. Це означає, що якщо відправник відсилає серверу повідомлення, що складається зі 100 байт за перший крок, а за ним ще 50 байт, то одержувач за перший крок отримає саме перші 100 байт в першому повідомленні, а тільки потім і тільки 50 байт на другий операції читання з сокета.
Термін (англ. multi-streaming) означає здатність SCTP паралельно передавати по декільком незалежним потокам повідомлень. Наприклад, ми передаємо декілька фотографій через HTTP-застосунок (наприклад браузер). Можна використовувати для цього зв'язок з кількох TCP-з'єднань, однак також є допустимим SCTP-асоціація (англ. SCTP-association), що керує декількома потоками повідомлень для цієї мети.
TCP досягає правильного порядку байт в потоці, абстрактно призначаючи порядковий номер кожного відісланої одиниці, а впорядковуючи прийняті байти, використовуючи призначені порядкові номери, у міру їхнього прибування. З іншого боку, SCTP присвоює різні порядкові номери повідомленням, відісланим в конкретному потоці. Це дозволяє незалежне упорядкування повідомлень з різних потоків. Так чи інакше, є опцією в SCTP. В залежності від бажань користувацького застосунку, повідомлення можуть бути оброблені не в порядку їхнього відправлення, а в порядку їхнього надходження.
Переваги
Переваги використання SCTP включають в себе:
- Використання множинних інтерфейсів (англ. Multihoming)
Припустимо, у нас є два хоста і хоча б один з них має декілька мережевих інтерфейсів і, відповідно, кілька IP-адрес. У TCP, поняття «з'єднання» означає обмін даними між двома точками, в той час, як в SCTP має місце концепція «асоціації» (англ. association), що позначає все, що відбувається між двома хостами. - Потік
Дані приходять в точку з незалежних потоків. Це дозволяє усунути феномен en: Head-of-line blocking, яким так страждає TCP. - Пошук шляху з моніторингом
Протоколом вибирається первинний маршрут передачі даних, а також проводиться перевірка і моніторинг зв'язності шляху. - Механізми перевірки дійсності
Захист адресата від flood-атак (технологія 4-way handshake), і повідомлення про втрачені пакети і порушені ланцюжки. - Покращена система контролю помилок, що підходить для jumbo-пакетів в Ethernet.
Частина переваг випливає з того факту, що спочатку розробники SCTP проектували протокол під потреби передачі телефонії (SS7) за протоколом IP.
Причини появи
Протокол TCP надає основні засоби для передачі даних по мережі Internet по надійному шляху. Однак TCP накладає деякі обмеження на транспорт даних:
- TCP надає надійну передачу даних у суворій послідовності. Проте одні додатки вимагають передачу без управління і контролю послідовності, а інші будуть цілком задоволені частковою впорядкованістю даних. Обидва цих випадки страждають через непотрібність затримок, пов'язаних з відновленням і впорядкуванням порушених послідовностей TCP.
- Природа TCP орієнтована на потік байт, що викликає незручності. Програми змушені самостійно додавати власні маркери в пакети, щоб распаралелити передачу власних повідомлень, а також використовувати додаткові хитрування, щоб переконатися в тому, що ціле повідомлення було доставлено за певний час.
- Обмежені рамки можливостей TCP- сокетів ще більше ускладнюють завдання надання можливості паралельної передачі інформації до хоста по декількох каналах зв'язку (див.multi-homingвище).
- TCP щодо уразлививості до атак класу «Відмова в обслуговуванні» (DoS), таким як .
Всі ці обмеження наносять шкоду продуктивності роботи телефонних мереж через IP.
Безпека
SCTP був розроблений з деякими функціями дозволяють підвищити безпеку, такими як "4-х кратне рукостискання" (у порівнянні з "триразовим рукостисканням" в TCP), щоб запобігти атаки, і великих [en] для перевірки автентичності асоціації.
Надійність була одним з ключових аспектів розробки безпеки протоколу SCTP. Multi-homing дозволяє асоціації залишатися відкритою, навіть якщо деякі використовувані маршрути і інтерфейси стали недоступні. Це має особливе значення, який використовуючи SCTP, передає повідомлення та сервіси протоколів ОКС-7 поверх IP мережі, що вимагає сильної стійкості під час відключень лінків для підтримки телекомунікаційних послуг, навіть при серйозних аномаліях в мережі .
Шифрування не є частиною оригінального дизайну SCTP.
SCTP іноді є гарним кандидатом для перевірки на міцність стека TCP/IP. Деякі операційні системи поширюються з підтримкою протоколу SCTP, але зважаючи на його слабку популярність (у порівнянні з TCP або UDP), іноді забувають налаштувати в брандмауері виявлення вторгнень, що дає можливості для сканування трафіку.
Порівняння можливостей протоколів транспортного рівня
Параметр | UDP | TCP | SCTP |
---|---|---|---|
Встановлення зв'язку | Ні | Так | Так |
Надійна передача | Ні | Так | Так |
Збереження меж повідомлення | Так | Ні | Так |
Впорядкована доставка | Ні | Так | Так |
Невпорядкована доставка | Так | Ні | Так |
Контрольні суми даних | Так | Так | Так |
Розмір контрольної суми (біт) | 16 | 16 | 32 |
Шлях MTU | Ні | Так | Так |
Управління нагромадженням | Ні | Так | Так |
Багатонитевість | Ні | Ні | Так |
Підтримка декількох інтерфейсів | Ні | Ні | Так |
Поєднання потоків | Ні | Так | Так |
Формування кадрів повідомлення
При формуванні кадрів повідомлення забезпечується збереження кордонів повідомлення в тому вигляді, в якому воно передається сокетами; це означає, що якщо клієнт посилає серверу 100 байт, за якими йдуть 50 байт, то сервер сприймає 100 байт і 50 байт за дві операції читання. Точно так же функціонує протокол UDP, це є особливістю протоколів, орієнтованих на роботу з повідомленнями.
На противагу їм протокол TCP обробляє неструктурований потік байт. Якщо не використовувати процедуру формування кадрів повідомлення, то вузол мережі може отримувати дані за розміром більше або менше відправлених. Такий режим функціонування вимагає, щоб для протоколів, орієнтованих на роботу з повідомленнями і функціонуючих поверх протоколу TCP, на прикладному рівні було надано спеціальний буфер даних і виконувалася процедура формування кадрів повідомлень (що потенційно є складним завданням).
Протокол SCTP забезпечує формування кадрів при передачі даних. Коли вузол виконує запис у сокет, його кореспондент гарантовано отримує блок даних того ж розміру.
Структура пакета
|
SCTP пакети мають простішу структуру, ніж пакети TCP. Кожен пакет складається з двох основних розділів:
- Загальний заголовок, який займає перші 12 байт (виділені синім кольором)
- Блоки даних, які займають решту пакету.
Перший блок відзначений зеленим кольором, і останній з блоків N (N блок) виділено червоним.
Кожен блок має ідентифікатор типу довжиною 1 байт, що дозволяє визначити 255 різних типів блоків. RFC 4960 визначає список видів блоків, всього наразі визначено 15 типів. Інша частина блоку складається з двох байт (максимальний розмір 65535 байт) і даних. Якщо блок не утворює 4 байта, то вона неявно заповнюється нулями, які не включені в довжину блоку.
Обробка помилок
Повтор передачі
Повторна передача блоків DATA може бути обумовлена тайм-аутом, визначеним таймером повтору (retransmission timer) або отриманням SACK, що показують що блок DATA не був отриманий адресатом. Для зниження ймовірності насичення повтор передачі блоків DATA обмежується. Значення тайм-ауту для повтору (RTO) встановлюється на основі оцінки часу кругового обходу і зменшується експоненціально з ростом частоти втрати повідомлень. Для активних асоціацій з майже постійним рівнем трафіку DATA причиною повтору скоріше за все будуть повідомлення SACK, а не тайм-аут. Для зниження ймовірності непотрібних повторів використовується правило 4 SACK, відповідно до якого повтор передачі відбувається тільки по четвертому SACK, яка вказує на пропуск блоку даних. Це дозволяє запобігти повтору передачі, викликані порушенням порядку доставки.
Збій в дорозі
Підтримується лічильник для числа повторів передачі за конкретною адресою одержувача без підтвердження успішної доставки. Коли значення цього лічильника досягає заданого порогу (конфігураційний параметр), адреса оголошується неактивною і протокол SCTP починає використовувати іншу адресу для передачі блоків DATA. Крім того, по всіх невживаним (додатковим) адресами періодично передаються спеціальні блоки Heartbeat і підтримується лічильник числа блоків Heartbeat, переданих без повернення відповідного Heartbeat Ack. Коли значення лічильника досягає заданого порогу (параметр конфігурації), відповідна адреса оголошується неактивною. Блоки Heartbeat передаються по неактивним адресам до тих пір, поки не буде отримано повідомлення Ack, що говорить про відновлення активності адреси. Частота передачі блоків Heartbeat визначається значення RTO і додаткової затримкою, яка дозволяє передавати блоки Heartbeat без перешкод для користувацького трафіку.
Реалізації
Протокол SCTP реалізований в наступних операційних системах:
- Linux 2.4 і вище
- Sun Solaris 10
- Cisco IOS 12 +
- DragonFly BSD починаючи з версії 1.4
- QNX Neutrino,
- BSD UNIX (з зовнішнім доповненням від проекту KAME)
- FreeBSD починаючи з версії 7
- HP-UX
- AIX 5
Посилання
- http://www.sigtran.org [ 23 березня 2019 у Wayback Machine.]
- http://www.sctp.de [ 24 лютого 2021 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
SCTP angl Stream Control Transmission Protocol protokol peredachi z keruvannyam potokom protokol transportnogo rivnya v komp yuternih merezhah stvorenij v 2000 roci v IETF RFC 3286 mistit tehnichnij vstup do nogo Yak i bud yakij inshij protokol peredachi danih transportnogo rivnya SCTP pracyuye analogichno TCP abo UDP TCP i UDP pracyuyut nastilki po riznomu sho provoditi analogiyu do nih oboh nekorektno Vsya analogiya v tomu sho SCTP TCP i UDP vidnosyatsya do odnogo i togo zh rivnya modeli OSI Ale naspravdi SCTP maye v arsenali shirokij spektr priyemnih komu novovveden takih yak bagatopotochnist zahist vid a takozh sinhronne z yednannya mizh dvoma hostami na dvoh i bilshe nezalezhnih fizichnih kanalah multi homing Bezpechne vstanovlennya pidklyuchennyaStvorennya novogo pidklyuchennya v protokolah TCP i SCTP vidbuvayetsya za dopomogoyu mehanizmu pidtverdzhennya paketiv U protokoli TCP cya procedura otrimala nazvu trietapne pidtverdzhennya three way handshake Kliyent posilaye paket SYN skor Synchronize Server vidpovidaye paketom SYN ACK Synchronize Acknowledge Kliyent pidtverdzhuye prijom paketa SYN ACK paketom ACK Na comu procedura vstanovlennya z yednannya zavershuyetsya Protokol TCP maye potencijnu vrazlivist obumovlenu tim sho porushnik vstanovivshi falshivu IP adresu vidpravnika mozhe poslati serveru bezlich paketiv SYN Pri otrimanni paketu SYN server vidilyaye chastinu svoyih resursiv dlya vstanovlennya novogo z yednannya Obrobka bezlichi paketiv SYN rano chi pizno vikoristaye vsi resursi servera i zrobit nemozhlivim obrobku novih zapitiv Taka ataka otrimala nazvu vidmova v obslugovuvanni Denial of Service abo skorocheno DoS Protokol SCTP zahishenij vid podibnih atak za dopomogoyu mehanizmu chotirohetapnogo pidtverdzhennya four way handshake i vvedennyam markera cookie Za protokolom SCTP kliyent pochinaye proceduru vstanovlennya z yednannya posilkoyu paketa INIT U vidpovid server posilaye paket INIT ACK yakij mistit marker unikalnij klyuch sho identifikuye nove z yednannya Potim kliyent vidpovidaye posilkoyu paketa COOKIE ECHO v yakomu mistitsya marker poslanij serverom Tilki pislya cogo server vidilyaye svoyi resursi novomu pidklyuchennyu i pidtverdzhuye ce vidpravlennyam kliyentu paketu COOKIE ACK Dlya virishennya problemi zatrimki peresilannya danih pri vikonanni proceduri chotirohetapnogo pidtverdzhennya v protokoli SCTP dopuskayetsya vklyuchennya danih v paketi COOKIE ECHO i COOKIE ACK Poetapne zavershennya peredachi danihRozglyanemo vidminnosti mizh proceduroyu zakrittya soketiv protokolu SCTP i proceduroyu chastkovogo zakrittya half close protokolu TCP U protokoli TCP mozhliva situaciya koli vuzol zakrivaye u sebe soket vikonuyuchi posilku paketu FIN ale prodovzhuye prijmati dani Paket FIN vkazuye korespondentu na vidsutnist danih dlya peredachi prote do tih pir poki korespondent ne zakriye svij soket vin mozhe prodovzhuvati peredavati dani Stan chastkovogo zakrittya vikoristovuyetsya dodatkami vkraj ridko tomu rozrobniki protokolu SCTP vvazhali za potribne zaminiti jogo poslidovnistyu povidomlen dlya rozrivu isnuyuchoyi asociaciyi Koli vuzol zakrivaye svij soket nadsilaye povidomlennya SHUTDOWN obidva korespondenti povinni pripiniti peredachu danih pri comu dozvolyayetsya lishe obmin paketami sho pidtverdzhuyut prijom ranishe vidpravlenih danih PotokiTCP keruye poslidovnistyu bajt dani poslani zastosunkom vidpravnikom mayut nadhoditi do zastosunku oderzhuvacha viklyuchno v tomu zh poryadku u toj chas yak protokol IP zdatnij zminiti poslidovnist paketiv krim togo znikli paketi nadsilayutsya povtorno i zazvichaj pribuvayut do oderzhuvacha z porushennyam poslidovnosti dlya borotbi z cimi yavishami dani nakopichuyutsya v buferi SCTP mozhe transportuvati dani mizh dvoma tochkami odnochasno za kilkoma potokami povidomlen Na protivagu do TCP SCTP obroblyaye cili povidomlennya a ne zvichajni bajti informaciyi Ce oznachaye sho yaksho vidpravnik vidsilaye serveru povidomlennya sho skladayetsya zi 100 bajt za pershij krok a za nim she 50 bajt to oderzhuvach za pershij krok otrimaye same pershi 100 bajt v pershomu povidomlenni a tilki potim i tilki 50 bajt na drugij operaciyi chitannya z soketa Termin angl multi streaming oznachaye zdatnist SCTP paralelno peredavati po dekilkom nezalezhnim potokam povidomlen Napriklad mi peredayemo dekilka fotografij cherez HTTP zastosunok napriklad brauzer Mozhna vikoristovuvati dlya cogo zv yazok z kilkoh TCP z yednan odnak takozh ye dopustimim SCTP asociaciya angl SCTP association sho keruye dekilkoma potokami povidomlen dlya ciyeyi meti TCP dosyagaye pravilnogo poryadku bajt v potoci abstraktno priznachayuchi poryadkovij nomer kozhnogo vidislanoyi odinici a vporyadkovuyuchi prijnyati bajti vikoristovuyuchi priznacheni poryadkovi nomeri u miru yihnogo pribuvannya Z inshogo boku SCTP prisvoyuye rizni poryadkovi nomeri povidomlennyam vidislanim v konkretnomu potoci Ce dozvolyaye nezalezhne uporyadkuvannya povidomlen z riznih potokiv Tak chi inakshe ye opciyeyu v SCTP V zalezhnosti vid bazhan koristuvackogo zastosunku povidomlennya mozhut buti obrobleni ne v poryadku yihnogo vidpravlennya a v poryadku yihnogo nadhodzhennya PerevagiPerevagi vikoristannya SCTP vklyuchayut v sebe Vikoristannya mnozhinnih interfejsiv angl Multihoming Pripustimo u nas ye dva hosta i hocha b odin z nih maye dekilka merezhevih interfejsiv i vidpovidno kilka IP adres U TCP ponyattya z yednannya oznachaye obmin danimi mizh dvoma tochkami v toj chas yak v SCTP maye misce koncepciya asociaciyi angl association sho poznachaye vse sho vidbuvayetsya mizh dvoma hostami Potik Dani prihodyat v tochku z nezalezhnih potokiv Ce dozvolyaye usunuti fenomen en Head of line blocking yakim tak strazhdaye TCP Poshuk shlyahu z monitoringom Protokolom vibirayetsya pervinnijmarshrut peredachi danih a takozh provoditsya perevirka i monitoring zv yaznosti shlyahu Mehanizmi perevirki dijsnosti Zahist adresata vid flood atak tehnologiya 4 way handshake i povidomlennya pro vtracheni paketi i porusheni lancyuzhki Pokrashena sistema kontrolyu pomilok sho pidhodit dlya jumbo paketiv v Ethernet Chastina perevag viplivaye z togo faktu sho spochatku rozrobniki SCTP proektuvali protokol pid potrebi peredachi telefoniyi SS7 za protokolom IP Prichini poyaviProtokol TCP nadaye osnovni zasobi dlya peredachi danih po merezhi Internet po nadijnomu shlyahu Odnak TCP nakladaye deyaki obmezhennya na transport danih TCP nadaye nadijnu peredachu danih u suvorij poslidovnosti Prote odni dodatki vimagayut peredachu bez upravlinnya i kontrolyu poslidovnosti a inshi budut cilkom zadovoleni chastkovoyu vporyadkovanistyu danih Obidva cih vipadki strazhdayut cherez nepotribnist zatrimok pov yazanih z vidnovlennyam i vporyadkuvannyam porushenih poslidovnostej TCP Priroda TCP oriyentovana na potik bajt sho viklikaye nezruchnosti Programi zmusheni samostijno dodavati vlasni markeri v paketi shob rasparaleliti peredachu vlasnih povidomlen a takozh vikoristovuvati dodatkovi hitruvannya shob perekonatisya v tomu sho cile povidomlennya bulo dostavleno za pevnij chas Obmezheni ramki mozhlivostej TCP soketiv she bilshe uskladnyuyut zavdannya nadannya mozhlivosti paralelnoyi peredachi informaciyi do hosta po dekilkoh kanalah zv yazku div multi homingvishe TCP shodo urazlivivosti do atak klasu Vidmova v obslugovuvanni DoS takim yak Vsi ci obmezhennya nanosyat shkodu produktivnosti roboti telefonnih merezh cherez IP BezpekaSCTP buv rozroblenij z deyakimi funkciyami dozvolyayut pidvishiti bezpeku takimi yak 4 h kratne rukostiskannya u porivnyanni z trirazovim rukostiskannyam v TCP shob zapobigti ataki i velikih en dlya perevirki avtentichnosti asociaciyi Nadijnist bula odnim z klyuchovih aspektiv rozrobki bezpeki protokolu SCTP Multi homing dozvolyaye asociaciyi zalishatisya vidkritoyu navit yaksho deyaki vikoristovuvani marshruti i interfejsi stali nedostupni Ce maye osoblive znachennya yakij vikoristovuyuchi SCTP peredaye povidomlennya ta servisi protokoliv OKS 7 poverh IP merezhi sho vimagaye silnoyi stijkosti pid chas vidklyuchen linkiv dlya pidtrimki telekomunikacijnih poslug navit pri serjoznih anomaliyah v merezhi Shifruvannya ne ye chastinoyu originalnogo dizajnu SCTP SCTP inodi ye garnim kandidatom dlya perevirki na micnist steka TCP IP Deyaki operacijni sistemi poshiryuyutsya z pidtrimkoyu protokolu SCTP ale zvazhayuchi na jogo slabku populyarnist u porivnyanni z TCP abo UDP inodi zabuvayut nalashtuvati v brandmaueri viyavlennya vtorgnen sho daye mozhlivosti dlya skanuvannya trafiku Porivnyannya mozhlivostej protokoliv transportnogo rivnyaParametr UDP TCP SCTP Vstanovlennya zv yazku Ni Tak Tak Nadijna peredacha Ni Tak Tak Zberezhennya mezh povidomlennya Tak Ni Tak Vporyadkovana dostavka Ni Tak Tak Nevporyadkovana dostavka Tak Ni Tak Kontrolni sumi danih Tak Tak Tak Rozmir kontrolnoyi sumi bit 16 16 32 Shlyah MTU Ni Tak Tak Upravlinnya nagromadzhennyam Ni Tak Tak Bagatonitevist Ni Ni Tak Pidtrimka dekilkoh interfejsiv Ni Ni Tak Poyednannya potokiv Ni Tak TakFormuvannya kadriv povidomlennyaPri formuvanni kadriv povidomlennya zabezpechuyetsya zberezhennya kordoniv povidomlennya v tomu viglyadi v yakomu vono peredayetsya soketami ce oznachaye sho yaksho kliyent posilaye serveru 100 bajt za yakimi jdut 50 bajt to server sprijmaye 100 bajt i 50 bajt za dvi operaciyi chitannya Tochno tak zhe funkcionuye protokol UDP ce ye osoblivistyu protokoliv oriyentovanih na robotu z povidomlennyami Na protivagu yim protokol TCP obroblyaye nestrukturovanij potik bajt Yaksho ne vikoristovuvati proceduru formuvannya kadriv povidomlennya to vuzol merezhi mozhe otrimuvati dani za rozmirom bilshe abo menshe vidpravlenih Takij rezhim funkcionuvannya vimagaye shob dlya protokoliv oriyentovanih na robotu z povidomlennyami i funkcionuyuchih poverh protokolu TCP na prikladnomu rivni bulo nadano specialnij bufer danih i vikonuvalasya procedura formuvannya kadriv povidomlen sho potencijno ye skladnim zavdannyam Protokol SCTP zabezpechuye formuvannya kadriv pri peredachi danih Koli vuzol vikonuye zapis u soket jogo korespondent garantovano otrimuye blok danih togo zh rozmiru Struktura paketaBiti Biti 0 7 8 15 16 23 24 31 0 Port dzherela Port priznachennya 32 Teg perevirki 64 Kontrolna suma 96 Tip 1 bloka Praporci 1 bloka Dovzhina 1 bloka 128 Dani 1 bloka Tip N bloka Praporci N bloka Dovzhina N bloka Dani N bloka SCTP paketi mayut prostishu strukturu nizh paketi TCP Kozhen paket skladayetsya z dvoh osnovnih rozdiliv Zagalnij zagolovok yakij zajmaye pershi 12 bajt vidileni sinim kolorom Bloki danih yaki zajmayut reshtu paketu Pershij blok vidznachenij zelenim kolorom i ostannij z blokiv N N blok vidileno chervonim Kozhen blok maye identifikator tipu dovzhinoyu 1 bajt sho dozvolyaye viznachiti 255 riznih tipiv blokiv RFC 4960 viznachaye spisok vidiv blokiv vsogo narazi viznacheno 15 tipiv Insha chastina bloku skladayetsya z dvoh bajt maksimalnij rozmir 65535 bajt i danih Yaksho blok ne utvoryuye 4 bajta to vona neyavno zapovnyuyetsya nulyami yaki ne vklyucheni v dovzhinu bloku Obrobka pomilokPovtor peredachi Povtorna peredacha blokiv DATA mozhe buti obumovlena tajm autom viznachenim tajmerom povtoru retransmission timer abo otrimannyam SACK sho pokazuyut sho blok DATA ne buv otrimanij adresatom Dlya znizhennya jmovirnosti nasichennya povtor peredachi blokiv DATA obmezhuyetsya Znachennya tajm autu dlya povtoru RTO vstanovlyuyetsya na osnovi ocinki chasu krugovogo obhodu i zmenshuyetsya eksponencialno z rostom chastoti vtrati povidomlen Dlya aktivnih asociacij z majzhe postijnim rivnem trafiku DATA prichinoyu povtoru skorishe za vse budut povidomlennya SACK a ne tajm aut Dlya znizhennya jmovirnosti nepotribnih povtoriv vikoristovuyetsya pravilo 4 SACK vidpovidno do yakogo povtor peredachi vidbuvayetsya tilki po chetvertomu SACK yaka vkazuye na propusk bloku danih Ce dozvolyaye zapobigti povtoru peredachi viklikani porushennyam poryadku dostavki Zbij v dorozi Pidtrimuyetsya lichilnik dlya chisla povtoriv peredachi za konkretnoyu adresoyu oderzhuvacha bez pidtverdzhennya uspishnoyi dostavki Koli znachennya cogo lichilnika dosyagaye zadanogo porogu konfiguracijnij parametr adresa ogoloshuyetsya neaktivnoyu i protokol SCTP pochinaye vikoristovuvati inshu adresu dlya peredachi blokiv DATA Krim togo po vsih nevzhivanim dodatkovim adresami periodichno peredayutsya specialni bloki Heartbeat i pidtrimuyetsya lichilnik chisla blokiv Heartbeat peredanih bez povernennya vidpovidnogo Heartbeat Ack Koli znachennya lichilnika dosyagaye zadanogo porogu parametr konfiguraciyi vidpovidna adresa ogoloshuyetsya neaktivnoyu Bloki Heartbeat peredayutsya po neaktivnim adresam do tih pir poki ne bude otrimano povidomlennya Ack sho govorit pro vidnovlennya aktivnosti adresi Chastota peredachi blokiv Heartbeat viznachayetsya znachennya RTO i dodatkovoyi zatrimkoyu yaka dozvolyaye peredavati bloki Heartbeat bez pereshkod dlya koristuvackogo trafiku RealizaciyiProtokol SCTP realizovanij v nastupnih operacijnih sistemah Linux 2 4 i vishe Sun Solaris 10 Cisco IOS 12 DragonFly BSD pochinayuchi z versiyi 1 4 QNX Neutrino BSD UNIX z zovnishnim dopovnennyam vid proektu KAME FreeBSD pochinayuchi z versiyi 7 HP UX AIX 5Posilannyahttp www sigtran org 23 bereznya 2019 u Wayback Machine http www sctp de 24 lyutogo 2021 u Wayback Machine