Сегментация данных и Повторная сборка - Метод Разделяй и Властвуй

Рубрика: Транспортный уровень

В предыдущих статьях объяснялось, как создаются PDU (Единицы данных протокола), а затем данные передаются из приложения вниз через стек различных протоколов, чтобы создать пакет, который затем будет передан на канал передачи данных. На конечном хосте этот процесс просходит в обратном порядке - инкапсулированные в PDU данные поднимаются по стеку протоколов снизу вверх, а затем данные передаются приложению.

Функции транспортного уровня

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

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

TCP и UDP управляют сегментацией данных по-разному.

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

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

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

Далее: TCP - Создание Надежных Диалогов

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)