Сквозной принцип - End-to-end principle

Принцип впритык является проектирование базы в области компьютерных сетей . В сетях, разработанных в соответствии с этим принципом, специфические для приложений функции находятся в взаимодействующих конечных узлах сети, а не в промежуточных узлах, таких как шлюзы и маршрутизаторы , которые существуют для создания сети.

Суть того, что позже будет называться принципом сквозного соединения, содержалась в работе Пола Бэрана и Дональда Дэвиса о сетях с коммутацией пакетов в 1960-х годах. Луи Пузен впервые применил сквозную стратегию в сети CYCLADES в 1970-х годах. Этот принцип был впервые четко сформулирован в 1981 году Зальцером , Ридом и Кларком . Смысл принципа непрерывности непрерывно переосмыслялся с момента его первоначальной формулировки. Кроме того, заслуживающие внимания формулировки принципа непрерывности можно найти до основополагающей работы Зальцера, Рида и Кларка 1981 года.

Основная предпосылка принципа заключается в том, что выгоды от добавления функций в простую сеть быстро уменьшаются, особенно в случаях, когда конечные хосты должны реализовывать эти функции только по причинам соответствия, то есть полноты и правильности на основе спецификации. Реализация определенной функции влечет за собой некоторые штрафы за ресурсы независимо от того, используется функция или нет, а реализация определенной функции в сети распределяет эти штрафы между всеми клиентами.

Концепция

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

Фундаментальное понятие, лежащее в основе сквозного принципа, заключается в том, что для двух процессов, взаимодействующих друг с другом через некоторые средства связи, нельзя ожидать , что надежность, полученная с помощью этих средств, будет идеально согласована с требованиями надежности процессов. В частности, выполнение или превышение требований очень высокой надежности процессов связи, разделенных сетями нетривиального размера, обходится дороже, чем получение требуемой степени надежности с помощью положительных сквозных подтверждений и повторных передач (называемых PAR или ARQ ). Иными словами, гораздо легче получить надежность сверх определенного запаса с помощью механизмов в конечных хостах сети, а не в промежуточных узлах , особенно когда последние не контролируются и не подотчетны первым. Положительные сквозные подтверждения с бесконечным числом повторных попыток могут обеспечить произвольно высокую надежность от любой сети с более высокой, чем ноль, вероятностью успешной передачи данных от одного конца к другому.

Сквозной принцип нетривиально распространяется на функции, выходящие за рамки сквозного контроля и исправления ошибок. Например, для параметров связи, таких как задержка и пропускная способность , нельзя использовать прямые сквозные аргументы . В статье 2001 года Блюменталь и Кларк отмечают: «[С самого начала] сквозные аргументы вращались вокруг требований, которые могли быть правильно реализованы на конечных точках; если реализация внутри сети является единственным способом выполнить требование , то сквозной аргумент вообще не подходит ".

Принцип непрерывности тесно связан с принципом сетевого нейтралитета и иногда рассматривается как прямой предшественник .

История

В 1960-х годах Пол Баран и Дональд Дэвис в своих разработках сетей до ARPANET сделали краткие комментарии о надежности, которые отражают суть более позднего принципа сквозного соединения. Процитируем статью Барана 1964 года: «Надежность и необработанная частота ошибок вторичны. Сеть в любом случае должна быть построена с расчетом на серьезный ущерб. Существуют мощные методы устранения ошибок». Точно так же Дэвис замечает о сквозном контроле ошибок: «Считается, что все пользователи сети обеспечат себя каким-либо средством контроля ошибок, и что без труда это может быть сделано для выявления отсутствующего пакета. Из-за этого потеря пакетов, если она достаточно редкая, допустима ».

ARPANET была первой крупномасштабной сетью с коммутацией пакетов общего назначения, в которой реализованы несколько основных понятий, ранее затронутых Бараном и Дэвисом.

Дэвис работал над моделированием сетей дейтаграмм . Основываясь на этой идее, сеть CYCLADES Луи Позена была первой, в которой хосты были ответственны за надежную доставку данных, а не являлись централизованной службой самой сети. Концепции этой сети повлияли на более позднюю архитектуру ARPANET.

Приложения

ARPANET

ARPANET продемонстрировал несколько важных аспектов принципа сквозной связи.

Коммутация пакетов подталкивает некоторые логические функции к конечным точкам связи
Если основной предпосылкой распределенной сети является коммутация пакетов, то такие функции, как переупорядочение и обнаружение дубликатов, неизбежно должны быть реализованы в логических конечных точках такой сети. Следовательно, ARPANET имеет два различных уровня функциональности:
  1. нижний уровень, связанный с транспортировкой пакетов данных между соседними сетевыми узлами (называемый процессорами интерфейсных сообщений или IMP), и
  2. более высокий уровень связан с различными аспектами сквозной передачи данных.
Дэйв Кларк, один из авторов статьи о принципах сквозного соединения, заключает: «Обнаружение пакетов не является следствием спора о сквозном соединении. конец аргумента релевантен ".
Отсутствие произвольно надежной передачи данных без механизмов сквозного подтверждения и повторной передачи.
ARPANET был разработан для обеспечения надежной передачи данных между любыми двумя конечными точками сети - во многом как простой канал ввода-вывода между компьютером и ближайшим периферийным устройством. Чтобы исправить любые потенциальные сбои при передаче пакетов, обычные сообщения ARPANET передавались от одного узла к следующему узлу с положительным подтверждением и схемой повторной передачи; после успешного хэндовера они отбрасывались, повторная передача от источника к месту назначения в случае потери пакета не выполнялась. Однако, несмотря на значительные усилия, идеальную надежность, предусмотренную в первоначальной спецификации ARPANET, оказалось невозможно обеспечить - реальность, которая становилась все более очевидной, когда ARPANET вырастала далеко за пределы своей первоначальной четырехузловой топологии. Таким образом, ARPANET является убедительным аргументом в пользу ограничений, присущих сетевым механизмам пошаговой надежности в стремлении к истинной сквозной надежности.
Компромисс между надежностью, задержкой и пропускной способностью
Стремление к безупречной надежности может повредить другим важным параметрам передачи данных, в первую очередь задержке и пропускной способности. Это особенно важно для приложений, которые ценят предсказуемую пропускную способность и низкую задержку над надежностью - классическим примером являются интерактивные голосовые приложения в реальном времени. Этот вариант использования был учтен в ARPANET за счет предоставления услуги необработанных сообщений, в которой не использовались различные меры надежности, чтобы обеспечить более быструю и меньшую задержку передачи данных для конечных хостов.

TCP / IP

Интернет-протокол (IP) - это служба дейтаграмм без установления соединения без каких-либо гарантий доставки . В Интернете IP используется почти для всех коммуникаций. Сквозное подтверждение и повторная передача - это ответственность протокола управления передачей (TCP), ориентированного на соединение, который находится поверх IP. Функциональное разделение между IP и TCP иллюстрирует правильное применение принципа сквозного соединения для проектирования транспортных протоколов.

Передача файлов

Примером сквозного принципа является принцип произвольно надежной передачи файлов между двумя конечными точками в распределенной сети переменного нетривиального размера: единственный способ, которым две конечные точки могут получить полностью надежную передачу, - это передача и подтверждение контрольной суммы. для всего потока данных; в такой настройке протоколы с меньшей контрольной суммой и подтверждением ( ACK / NACK) оправданы только с целью оптимизации производительности - они полезны для подавляющего большинства клиентов, но недостаточны для выполнения требований надежности этого конкретного приложения. Следовательно, точная контрольная сумма лучше всего выполняется на конечных точках, а сеть поддерживает относительно низкий уровень сложности и приемлемую производительность для всех клиентов.

Ограничения

Наиболее важным ограничением сквозного принципа является то, что его основная предпосылка, заключающаяся в размещении функций в конечных точках приложения, а не в промежуточных узлах, нетривиальна для реализации.

Пример ограничений сквозного принципа существует в мобильных устройствах, например, с мобильным IPv6 . Передача специфической для сервиса сложности на конечные точки может вызвать проблемы с мобильными устройствами, если устройство имеет ненадежный доступ к сетевым каналам.

Дальнейшие проблемы можно увидеть в снижении прозрачности сети из-за добавления трансляции сетевых адресов (NAT), на которую IPv4 полагается для борьбы с исчерпанием адресов . С введением IPv6 пользователи снова получают уникальные идентификаторы, обеспечивающие истинное сквозное соединение. Уникальные идентификаторы могут быть основаны на физическом адресе или могут быть произвольно сгенерированы хостом.

Смотрите также

Примечания

использованная литература