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

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

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

Отличия сегментации, выполняемой протоколом TCP и протоколом UDP

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

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

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