У комп'ютерних мережах надійний () протокол — це комунікаційний протокол, який повідомляє відправника про те, чи була доставка даних передбаченим одержувачам успішною. Надійність є синонімом гарантованості (), терміна, який використовують ITU та ATM Forum, і веде до відмовостійкого передавання повідомлень.

Надійні протоколи зазвичай мають більші накладні витрати, ніж ненадійні протоколи, і, як наслідок, працюють повільніше та мають гіршу масштабованість. Для одноадресних протоколів це часто не є проблемою, але може стати проблемою для протоколів надійної багатоадресної передачі.

Transmission Control Protocol (TCP), основний протокол, що використовується в Інтернеті, є надійним одноадресним протоколом; він надає застосункам абстракцію надійного потоку байтів. User Datagram Protocol є ненадійним протоколом і часто використовується в комп'ютерних іграх, потоковому мультимедіа або в інших ситуаціях, де швидкість має значення і де деяка втрата даних може бути прийнятною через тимчасовий характер даних.

Часто надійний одноадресний протокол також є орієнтованим на з'єднання. Наприклад, TCP є орієнтованим на з'єднання, причому ідентифікатор віртуального каналу складається з IP-адрес джерела та призначення і номерів портів. Однак деякі ненадійні протоколи є орієнтованими на з'єднання, наприклад Asynchronous Transfer Mode та Frame Relay. Крім того, деякі протоколи без встановлення з'єднання, такі як IEEE 802.11, є надійними.

Історія Спираючись на концепції комутації пакетів, запропоновані Дональдом Девісом, першим протоколом зв'язку в ARPANET була процедура надійної доставки пакетів для з'єднання його вузлів через інтерфейс 1822. Комп'ютер-вузол просто організовував дані у правильному форматі пакета, вставляв адресу комп'ютера-вузла призначення та надсилав повідомлення через інтерфейс до підключеного Interface Message Processor (IMP). Після доставки повідомлення до вузла призначення вузлу-відправнику надходило підтвердження. Якщо мережа не могла доставити повідомлення, IMP надсилав вузлу-відправнику повідомлення про помилку.

Тим часом розробники CYCLADES та ALOHAnet продемонстрували, що можна побудувати ефективну комп'ютерну мережу без забезпечення надійної передачі пакетів. Пізніше цей висновок був прийнятий розробниками Ethernet.

Якщо мережа не гарантує доставку пакетів, тоді відповідальність за забезпечення надійності покладається на вузол, який має виявляти та повторно передавати втрачені пакети. Подальший досвід роботи з ARPANET показав, що сама мережа не могла надійно виявляти всі випадки невдалої доставки пакетів, і це в будь-якому разі поклало відповідальність за виявлення помилок на вузол-відправник. Це призвело до розроблення принципу end-to-end, який є одним із фундаментальних принципів проєктування Інтернету.

Властивості надійності Надійна служба — це служба, яка повідомляє користувача, якщо доставка не вдалася, тоді як ненадійна служба не повідомляє користувача про невдалу доставку. Наприклад, Internet Protocol (IP) надає ненадійну службу. Разом TCP та IP надають надійну службу, тоді як UDP та IP надають ненадійну службу.

У контексті розподілених протоколів властивості надійності визначають гарантії, які протокол надає щодо доставки повідомлень передбаченому одержувачу (одержувачам).

Прикладом властивості надійності для протоколу одноадресної передачі є «принаймні один раз», тобто гарантується доставка одержувачу принаймні однієї копії повідомлення.

Властивості надійності для протоколів багатоадресної передачі можуть бути виражені окремо для кожного одержувача (прості властивості надійності), або вони можуть стосуватися факту доставки чи порядку доставки між різними одержувачами (сильні властивості надійності). У контексті протоколів багатоадресної передачі сильні властивості надійності виражають гарантії, які протокол надає щодо доставки повідомлень різним одержувачам.

Прикладом сильної властивості надійності є відкликання останньої копії (last copy recall), що означає: доки принаймні одна копія повідомлення залишається доступною в будь-якого з одержувачів, кожен інший одержувач, який зрештою не зазнає відмови, також отримує копію. Такі сильні властивості надійності зазвичай вимагають, щоб повідомлення повторно передавалися або пересилалися між одержувачами.

Прикладом властивості надійності, сильнішої за відкликання останньої копії, є атомарність. Ця властивість стверджує, що якщо принаймні одна копія повідомлення була доставлена одному одержувачу, усі інші одержувачі зрештою отримають копію повідомлення. Іншими словами, кожне повідомлення завжди доставляється або всім одержувачам, або жодному з них.

Однією з найскладніших сильних властивостей надійності є віртуальна синхронність.

Надійне передавання повідомлень — це концепція передавання повідомлень через ненадійну інфраструктуру з можливістю забезпечити певні гарантії успішного передавання повідомлень.W3C paper on reliable messaging Наприклад, що якщо повідомлення доставлено, воно доставляється не більше одного разу, або що всі успішно доставлені повідомлення надходять у певному порядку.

Надійну доставку можна протиставити негарантовану доставку, де немає гарантії, що повідомлення будуть доставлені швидко, у правильному порядку або взагалі будуть доставлені.

Реалізації Протокол надійної доставки може бути побудований на ненадійному протоколі. Надзвичайно поширеним прикладом є накладання Transmission Control Protocol на Internet Protocol, комбінація, відома як TCP/IP.

Сильні властивості надійності надаються системами групового зв'язку (GCS), такими як IS-IS, Appia framework, JGroups або QuickSilver Scalable Multicast. QuickSilver Properties Framework — це гнучка платформа, яка дозволяє виражати сильні властивості надійності в суто декларативний спосіб за допомогою простої мови на основі правил і автоматично перетворювати їх на ієрархічний протокол.

Одним із протоколів, що реалізує надійне передавання повідомлень, є WS-ReliableMessaging, який забезпечує надійну доставку повідомлень SOAP.

Функція координації, специфічна для служби ATM, забезпечує прозору гарантовану доставку з AAL5.Young-ki Hwang, et al., Service Specific Coordination Function for Transparent Assured Delivery with AAL5 (SSCF-TADAS), Military Communications Conference Proceedings, 1999. MILCOM 1999, vol.2, pages 878–882. ATM Forum, The User Network Interface (UNI), v. 3.1, , Prentice Hall PTR, 1995.ITU-T, B-ISDN ATM Adaptation Layer specification: Type 5 AAL, Recommendation I.363.5, International Telecommunication Union, 1998.

IEEE 802.11 намагається забезпечити надійну службу для всього трафіку. Передавальна станція повторно надсилає кадр, якщо не отримує кадр ACK протягом заздалегідь визначеного періоду часу.

Системи реального часу Однак із визначенням надійності як «доставки або повідомлення про невдачу» у обчисленнях реального часу існує проблема. У таких системах нездатність доставити дані реального часу негативно впливає на продуктивність систем, а деякі системи, наприклад критично важливі для безпеки та деякі критично важливі для виконання завдання системи, мають бути формально доведені такими, що працюють на певному мінімальному рівні. Це, своєю чергою, вимагає дотримання певного мінімального рівня надійності доставки критичних даних. Тому в цих випадках має значення лише доставка; повідомлення про невдалу доставку не усуває наслідків цієї невдачі. У системах жорсткого реального часу всі дані мають бути доставлені до встановленого терміну, інакше це вважається відмовою системи. У системах твердого реального часу дані, доставлені із запізненням, все ще не мають цінності, але система може витримувати певну кількість запізнілих або відсутніх даних.S., Schneider, G., Pardo-Castellote, M., Hamilton. "Can Ethernet Be Real Time?", Real-Time Innovations, Inc., 2001Dan Rubenstein, Jim Kurose, Don Towsley, "Real-Time Reliable Multicast Using Proactive Forward Error Correction", NOSSDAV ’98

Існує низка протоколів, здатних задовольняти вимоги реального часу щодо надійної доставки та своєчасності:

MIL-STD-1553B та STANAG 3910 є добре відомими прикладами таких своєчасних і надійних протоколів для авіонних шин даних. MIL-1553 використовує спільне середовище зі швидкістю для передавання даних і керування цими передаваннями та широко використовується у федеративних військових системах авіоніки. Він використовує контролер шини (BC) для керування під'єднаними віддаленими терміналами (RT), щоб вони приймали або передавали ці дані. Таким чином, BC може гарантувати відсутність перевантаження мережі, а передавання завжди буде своєчасним. Протокол MIL-1553 також допускає автоматичні повторні спроби, які все ще можуть забезпечувати своєчасну доставку та підвищувати надійність порівняно з надійністю фізичного рівня. STANAG 3910, також відомий як EFABus у разі використання на Eurofighter Typhoon, фактично є версією MIL-1553, доповненою спільною шиною зі швидкістю для передавання даних, зі збереженням спільної шини зі швидкістю для цілей керування.

Асинхронний режим передавання (ATM), Avionics Full-Duplex Switched Ethernet (AFDX) та Time Triggered Ethernet (TTEthernet) є прикладами протоколів мереж із комутацією пакетів, у яких своєчасність і надійність передавання даних можуть бути гарантовані мережею. AFDX і TTEthernet також базуються на Ethernet IEEE 802.3, хоча й не є повністю сумісними з ним.

ATM використовує орієнтовані на з'єднання віртуальні канали (VC), які мають повністю детерміновані маршрути через мережу, а також контроль використання та мережевих параметрів (UPC/NPC), реалізований у самій мережі, для окремого обмеження трафіку на кожному VC. Це дозволяє заздалегідь, тобто на етапі проєктування системи, розрахувати використання спільних ресурсів (буферів комутаторів) у мережі за параметрами трафіку, який має передаватися. Те, що вони реалізовані мережею, означає, що ці розрахунки залишаються чинними навіть тоді, коли інші користувачі мережі поводяться непередбачуваним чином, тобто передають більше даних, ніж від них очікується. Потім розраховане використання можна порівняти з місткістю цих ресурсів, щоб показати, що за заданих обмежень на маршрути та пропускні здатності цих з'єднань ресурс, який використовується для цих передавань, ніколи не буде перевантажений. Тому ці передавання ніколи не зазнаватимуть впливу перевантаження, і втрат через цей ефект не буде. Далі, за прогнозованим максимальним використанням буферів комутаторів можна також передбачити максимальну затримку проходження через мережу. Однак для доведення надійності та своєчасності, а також для того, щоб ці докази були стійкими до відмов обладнання, під'єднаного до мережі, і зловмисних дій з його боку, розрахунки використання цих ресурсів не можуть ґрунтуватися на будь-яких параметрах, дотримання яких активно не забезпечується мережею, тобто вони не можуть ґрунтуватися на тому, що очікується від джерел трафіку, або на статистичному аналізі характеристик трафіку (див. мережеве числення).

AFDX використовує розподіл пропускної здатності в частотній області та контроль трафіку, що дозволяє обмежити трафік на кожному віртуальному каналі так, щоб можна було передбачити потреби у спільних ресурсах і застосувати запобігання перевантаженню, завдяки чому можна довести, що перевантаження не вплине на критичні дані. Однак методи прогнозування потреб у ресурсах і доведення того, що перевантаження запобігається, не є частиною стандарту AFDX.