Надежность (компьютерные сети) - Reliability (computer networking)
В компьютерная сеть, а надежный протокол - это протокол связи который уведомляет отправителя об успешной доставке данных предполагаемым получателям. Надежность - синоним гарантия, это термин, используемый ITU и Форум банкоматов.
Надежные протоколы обычно несут больше накладных расходов, чем ненадежные, и в результате работают медленнее и с меньшей масштабируемостью. Часто это не проблема для одноадресная передача протоколы, но это может стать проблемой для надежная многоадресная передача протоколы.
Протокол управления передачей (TCP), основной протокол, используемый на Интернет, это надежный одноадресный протокол. UDP является ненадежным протоколом и часто используется в компьютерные игры, потоковое мультимедиа или в других ситуациях, когда скорость является проблемой, и некоторые потери данных могут быть допустимы из-за временного характера данных.
Часто надежный протокол одноадресной рассылки также ориентированный на соединение. Например, TCP ориентирован на соединение, а виртуальный канал ID, состоящий из источника и назначения IP-адреса и номера портов. Однако некоторые ненадежные протоколы ориентированы на подключение, например асинхронный режим передачи и Ретрансляция кадров. Кроме того, некоторые протоколы без установления соединения, такие как IEEE 802.11, надежны.
История
Опираясь на коммутация пакетов концепции, предложенные Дональд Дэвис, первый протокол связи на ARPANET была надежной процедурой доставки пакетов для подключения своих хостов через 1822 интерфейс.[1][2] Главный компьютер просто упорядочил данные в правильном формате пакета, вставил адрес целевого хост-компьютера и отправил сообщение через интерфейс на подключенный Интерфейсный процессор сообщений (IMP). Как только сообщение было доставлено на хост назначения, на хост-отправитель было доставлено подтверждение. Если сеть не может доставить сообщение, IMP отправит сообщение об ошибке обратно на хост-отправитель.
Между тем разработчики ЦИКЛАДЫ и из АЛОХАНЕТ продемонстрировали, что можно построить эффективную компьютерную сеть без обеспечения надежной передачи пакетов. Позже этот урок усвоили дизайнеры Ethernet.
Если сеть не гарантирует доставку пакетов, то ответственность за обеспечение надежности путем обнаружения и повторной передачи потерянных пакетов ложится на хост. Последующий опыт использования ARPANET показал, что сама сеть не может надежно обнаруживать все сбои доставки пакетов, и в любом случае это возлагает ответственность за обнаружение ошибок на хост-отправитель. Это привело к развитию сквозной принцип, который является одним из Интернет основные принципы дизайна.
Свойства надежности
Надежный сервис - это сервис, который уведомляет пользователя в случае сбоя доставки, а ненадежный никто не уведомляет пользователя, если доставка не удалась.[нужна цитата ] Например, протокол Интернета (IP) предоставляет ненадежный сервис. Вместе, Протокол управления передачей (TCP) и IP обеспечивают надежный сервис, тогда как Протокол пользовательских датаграмм (UDP) и IP дают ненадежный.
В контексте распределенных протоколов свойства надежности определяют гарантии, которые протокол предоставляет в отношении доставки сообщений предполагаемому получателю (ям).
Пример свойства надежности для одноадресная передача протокол - «хотя бы один раз», то есть как минимум одна копия сообщения гарантированно будет доставлена получателю.
Свойства надежности для многоадресная передача протоколы могут быть выражены для каждого получателя (простые свойства надежности), или они могут связывать факт доставки или порядок доставки между разными получателями (сильные свойства надежности). В контексте многоадресных протоколов сильные свойства надежности выражают гарантии, которые протокол предоставляет в отношении доставки сообщений различным получателям.
Примером сильного свойства надежности является отзыв последней копии, что означает, что пока хотя бы одна копия сообщения остается доступной у любого из получателей, каждый другой получатель, который не отказал, в конечном итоге также получает копию. Свойства высокой надежности, такие как это, обычно требуют, чтобы сообщения повторно передавались или пересылались между получателями.
Пример свойства надежности сильнее, чем отзыв последней копии является атомарность. В свойстве указано, что если получателю была доставлена хотя бы одна копия сообщения, все остальные получатели в конечном итоге получат копию сообщения. Другими словами, каждое сообщение всегда доставляется либо всем, либо никому из получателей.
Одним из наиболее сложных свойств высокой надежности является виртуальная синхронность.
Надежный обмен сообщениями - это концепция передача сообщений через ненадежную инфраструктуру, имея при этом определенные гарантии успешной передачи сообщений.[3] Например, если сообщение доставлено, оно доставляется не более одного раза или что все успешно доставленные сообщения прибывают в определенном порядке.
Надежной доставке можно противопоставить наилучшая доставка, где нет гарантии, что сообщения будут доставлены быстро, по порядку или вообще.
Реализации
Надежный протокол доставки может быть построен на ненадежном протоколе. Чрезвычайно распространенный пример - наслоение Протокол управления передачей на протокол Интернета, комбинация, известная как TCP / IP.
Сильные свойства надежности предлагают системы групповой связи (GCS), такие как IS-IS, Фреймворк Appia, Распространять, JGroups или же Масштабируемая многоадресная передача QuickSilver. В Каркас свойств QuickSilver представляет собой гибкую платформу, которая позволяет выражать сильные свойства надежности чисто декларативным образом, используя простой язык, основанный на правилах, и автоматически переводить в иерархический протокол.
Одним из протоколов, реализующих надежный обмен сообщениями, является WS-ReliableMessaging, который обеспечивает надежную доставку МЫЛО Сообщения.[4]
В Банкомат Функция координации для конкретных услуг обеспечивает прозрачную гарантированную доставку с AAL5.[5][6][7]
IEEE 802.11 пытается обеспечить надежное обслуживание всего трафика. Отправляющая станция повторно отправит кадр, если отправляющая станция не получит кадр ACK в течение заранее определенного периода времени.
Системы реального времени
Однако существует проблема с определением надежности как "доставки или уведомления об отказе" в вычисления в реальном времени. В таких системах невозможность доставки данных в реальном времени отрицательно скажется на производительности систем, а также некоторых систем, например критически важный для безопасности, связанный с безопасностью, и некоторые безопасные критически важный системы, должны быть доказано выполнять на определенном минимальном уровне. Это, в свою очередь, требует соблюдения установленной минимальной надежности доставки критически важных данных. Следовательно, в этих случаях имеет значение только доставка; Уведомление об отказе в доставке улучшает ситуацию. В системы жесткого реального времени, все данные должны быть доставлены к установленному сроку, иначе это будет считаться системным отказом. В фирменные системы реального времени, поздние данные по-прежнему не имеют значения, но система может допускать некоторое количество запоздалых или отсутствующих данных.[8][9]
Существует ряд протоколов, которые способны удовлетворить требования в реальном времени для надежной доставки и своевременности:
MIL-STD-1553B и STANAG 3910 являются хорошо известными примерами таких своевременных и надежных протоколов для авиационные шины данных. MIL-1553 использует общую среду передачи данных 1 Мбит / с для передачи данных и управления этими передачами и широко используется в федеративных вооруженных силах. авионика системы.[10] Он использует контроллер шины (BC) для управления подключенными удаленными терминалами (RT) для приема или передачи этих данных. Таким образом, BC может гарантировать отсутствие перегрузок и своевременность передачи. Протокол MIL-1553 также допускает автоматические повторные попытки, которые по-прежнему могут гарантировать своевременную доставку и повысить надежность по сравнению с физическим уровнем. STANAG 3910, также известный как EFABus при использовании на Еврофайтер Тайфун, по сути, является версией MIL-1553, дополненной общей шиной передачи данных 20 Мбит / с для передачи данных, сохраняя общую шину передачи данных 1 Мбит / с для целей управления.
В асинхронный режим передачи (Банкомат), Полнодуплексный коммутируемый Ethernet для авионики (AFDX) и Ethernet с синхронизацией по времени (TTEthernet) являются примерами сетевых протоколов с коммутацией пакетов, в которых своевременность и надежность передачи данных может быть обеспечена сетью. AFDX и TTEthernet также основаны на IEEE 802.3 Ethernet, хотя и не полностью совместимы с ним.
ATM использует ориентированный на соединение виртуальные каналы (VC), которые имеют полностью детерминированные пути через сеть, и использование и контроль параметров сети (UPC / NPC), которые реализованы в сети, чтобы ограничить трафик на каждом виртуальном канале отдельно. Это позволяет рассчитывать использование совместно используемых ресурсов (буферов коммутатора) в сети на основе параметров передаваемого трафика заранее, то есть во время разработки системы. То, что они реализуются сетью, означает, что эти вычисления остаются действительными даже тогда, когда другие пользователи сети ведут себя неожиданным образом, то есть передают больше данных, чем они ожидают. Рассчитанные значения использования затем можно сравнить с емкостью этих ресурсов, чтобы показать, что, учитывая ограничения на маршруты и пропускную способность этих соединений, ресурс, используемый для этих передач, никогда не будет превышен. Таким образом, на эти переводы никогда не повлияет перегрузка, и из-за этого не будет никаких потерь. Затем, исходя из прогнозируемого максимального использования буферов коммутатора, можно также спрогнозировать максимальную задержку в сети. Однако для подтверждения надежности и своевременности, а также для устойчивости доказательств к сбоям и злонамеренным действиям оборудования, подключенного к сети, расчеты использования этих ресурсов не могут быть основаны на каких-либо параметрах, которые активно не применяются сети, т. е. они не могут основываться на ожидаемых действиях источников трафика или на статистическом анализе характеристик трафика (см. сетевое исчисление ).[11]
AFDX использует распределение полосы пропускания в частотной области и контроль дорожного движения, который позволяет ограничить трафик по каждому виртуальному каналу (VL), чтобы можно было спрогнозировать требования к общим ресурсам и предотвращена перегрузка так что можно доказать, что это не влияет на важные данные.[12] Однако методы прогнозирования требований к ресурсам и доказательства предотвращения перегрузки не являются частью стандарта AFDX.
TTEthernet обеспечивает минимально возможную задержку при передаче данных по сети за счет использования методов управления во временной области - каждый раз инициируемая передача планируется в определенное время, так что конкуренция за общие ресурсы контролируется и, таким образом, исключается возможность перегрузки. Коммутаторы в сети обеспечивают соблюдение этой синхронизации, чтобы обеспечить устойчивость к сбоям и злонамеренным действиям со стороны другого подключенного оборудования. Однако «синхронизированные локальные часы являются фундаментальной предпосылкой для связи с синхронизацией по времени».[13] Это связано с тем, что источники критических данных должны иметь такое же представление времени, что и коммутатор, чтобы они могли передавать в правильное время, и коммутатор будет считать это правильным. Это также требует, чтобы последовательность, с которой планируется критическая передача, была предсказуемой как для источника, так и для коммутатора. Это, в свою очередь, ограничит график передачи до строго детерминированного, например в циклический исполнитель.
Однако низкая задержка при передаче данных по шине или сети не обязательно приводит к низким транспортным задержкам между процессами приложений, которые являются источником и приемником этих данных. Это особенно верно, когда передачи по шине или сети планируются циклически (как это обычно бывает с MIL-STD-1553B и STANAG 3910 и обязательно так с AFDX и TTEthernet), но прикладные процессы асинхронный, например заранее запланированный, или только плезиосинхронный с этим графиком. В этом случае максимальная задержка и дрожание будут вдвое превышать частоту обновления для циклической передачи (передачи ждут до интервала обновления между выпуском и передачей и снова ждут до интервала обновления между доставкой и использованием).
И для AFDX, и для TTEthernet требуются дополнительные функции интерфейсов сети для передачи критических данных и т. Д., Которые затрудняют использование стандартных интерфейсов Ethernet, например Контроль разрыва распределения полосы пропускания AFDX и требование TTEthernet для очень точной синхронизации источников данных, запускаемых по времени. Другие методы управления трафиком в сети, которые позволят использовать такие стандартные сетевые интерфейсы IEEE 802.3, являются предметом текущих исследований.[14]
Рекомендации
- ^ Gillies, J .; Кайо Р. (2000). Как зародилась сеть: история всемирной паутины. Oxford University Press. С. 23–25. ISBN 0192862073.
- ^ Робертс, доктор Лоуренс Г. (ноябрь 1978 г.). «Эволюция коммутации пакетов» (PDF). Приглашенный доклад IEEE. Получено 10 сентября, 2017.
Почти во всех отношениях первоначальное предложение Дэвиса, разработанное в конце 1965 года, было похоже на существующие сети, которые строятся сегодня.
- ^ Документ W3C о надежном обмене сообщениями
- ^ Спецификация WS-ReliableMessaging (PDF)
- ^ Янг-ки Хван и др., Специальная функция координации для прозрачной гарантированной доставки с AAL5 (SSCF-TADAS), Материалы конференции по военной связи, 1999. MILCOM 1999, том 2, страницы 878–882. Дои:10.1109 / MILCOM.1999.821329
- ^ ATM Forum, Пользовательский сетевой интерфейс (UNI), версия 3.1, ISBN 0-13-393828-X, Prentice Hall PTR, 1995.
- ^ МСЭ-Т, Спецификация уровня адаптации ATM B-ISDN: AAL типа 5, Рекомендация I.363.5, Международный союз электросвязи, 1998 г.
- ^ С., Шнайдер, Г., Пардо-Кастеллот, М., Гамильтон. «Может ли Ethernet быть в режиме реального времени?», Real-Time Innovations, Inc., 2001 г.
- ^ Дэн Рубинштейн, Джим Курос, Дон Таусли, «Надежная многоадресная передача в реальном времени с использованием упреждающего прямого исправления ошибок», NOSSDAV ’98
- ^ Матс Экман, Тенденции и проблемы авионических архитектур (PDF), заархивировано из оригинал (PDF) 2015-02-03,
В каждой системе есть свои компьютеры, выполняющие свои функции.
- ^ Kim, Y.J .; Chang, S.C .; Un, C.K .; Шин, Б.С. (март 1996 г.). «Алгоритм UPC / NPC для гарантированного QoS в сетях ATM». Компьютерные коммуникации. Амстердам, Нидерланды: Издательство Elsevier Science. 19 (3): 216–225. Дои:10.1016/0140-3664(96)01063-8.
- ^ AFDX Учебник, «Архивная копия» (PDF). Архивировано из оригинал (PDF) на 2015-06-18. Получено 2015-02-03.CS1 maint: заархивированная копия как заголовок (связь)
- ^ Вильфрид Штайнер и Бруно Дутертре, Формальная проверка на основе SMT TTEthernet Функция синхронизации, С. Ковалевски и М. Ровери (редакторы), FMICS 2010, LNCS 6371, стр. 148–163, 2010.
- ^ Д. У. Чарльтон и др., «АВИОНИЧЕСКАЯ ГИГАБИТНАЯ СЕТЬ ETHERNET», Конференция по авионике, волоконной оптике и фотонике (AVFOP), 2013 IEEE, 2013, страницы 17–18. Дои:10.1109 / AVFOP.2013.6661601