Протоколы транспортного уровня
Задача транспортного уровня – передача данных между процессами с заданным уровнем качества. Выделяют обычно 2 типа передачи:
-
Дейтограммная (негарантированная) – Протокол UDP. Данный протокол добавляет каждому отдельному сообщению свой 8-битный заголовок, формируя из этих сообщений собственные протокольные единицы, называемые UDP-дейтаграммами, и передает их нижеследующему протоколу IP. В этом и заключаются его функции по мультиплексированию данных. Каждая дейтаграмма переносит отдельное пользовательское сообщение. Сообщения могут иметь различную длину, не превышающую однако длину поля данных протокола IP, которое, в свою очередь, ограничено размером кадра технологии нижнего уровня. Поэтому, если буфер UDP переполняется, сообщение приложения отбрасывается.
Заголовок UDP состоит из четырех 2-байтных полей:
-
Номер UDP порта отправителя
-
Номер порта получателя
-
Контрольная сумма
-
Длина дейтаграммы.
Протокол UDP не сложен, он заключается в простой передаче данных между прикладным и сетевым уровнями, а также в примитивном контроле искажений в передаваемых данных. Этот протокол только диагностирует, но не исправляет ошибки, если обнаружена ошибка, протокол просто отбрасывает поврежденную дейтаграмму.
Работая на хосте-получателе, протокол UDP принимает от протокола IP извлеченные из пакетов UDP-дейтаграммы. Полученные из IP-заголовка IP-адрес назначения и из UDP-заголовка номер порта, используются для формирования UDP-сокета, однозначно идентифицирующего приложение, которому направлены данные. Протокол UDP освобождает дейтаграмму от UDP-заголовка. Полученное в результате сообщение он передает приложению на соответствующий UDP-сокет. Т.о., протокол UDP выполняет демультиплексирование на основе сокетов.
-
Передача данных с установлением виртуального соединения (TCP). TCP — это транспортный механизм, предоставляющий поток данных, с предварительной установкой соединения, за счёт этого дающий уверенность в достоверности получаемых данных, осуществляет повторный запрос данных в случае потери данных и устраняет дублирование при получении двух копий одного пакета. Гарантирует целостность передаваемых данных и уведомление отправителя о результатах передачи.
При работе на хосте-отправителе протокол TCP рассматривает информацию, поступающую к нему от прикладных процессов, как неструктурированный поток байтов. Поступившие данные буферизуются средствами TCP. Для передачи на сетевой уровень из буфера «вырезается» некоторая непрерывная часть данных, которая называется сегментов и снабжается заголовком.
Логическое (виртуальное) соединение дает возможность участникам обмена следить за тем, чтобы данные не были потеряны, искажены или продублированы, а также чтобы они пришли к получателю в том порядке, в котором были отправлены. Протокол устанавливает логическое дуплексное соединение между двумя прикладными процессами, т.е. каждый из участников может получать и передавать данные.
Соединение устанавливается по инициативе клиентской части приложения. При необходимости выполнить обмен данными с серверной частью приложение-клиент обращается к нижеследующему протоколу TCP, который в ответ на это обращение посылает сегмент-запрос на установление соединения протоколу TCP, работающему на стороне сервера. В числе прочего в запросе содержится флаг SYN. Получив запрос, модуль TCP на стороне сервера пытается создать «инфраструктуру» для обслуживания нового клиента. Он обращается к ОС с просьбой о выделении определенных системных ресурсов для организации буферов, таймеров, счетчиков. Эти ресурсы закрепляются за соединением с момента создания и до момента разрыва. Если на стороне сервера все необходимые ресурсы были получены и все необходимые действия выполнены, то модуль TCP посылает клиенту сегмент с флагами ACK и SYN.
В ответ клиент посылает сегмент с флагом ACK и переходит в состояние установленного логического соединения. Когда сервер получает флаг ACK, он также переходит в состояние ESTABLISHED. На этом заканчивается процедура установки соединения. Соединение может быть разорвано в любой момент любой из сторон. Для этого клиент и сервер должны обменяться сегментами FIN и ACK.
- Классификация сетей, серверов и сетевых сервисов
- Архитектура клиент-сервер
- Методы доступа и их использование в сетевых архитектурах
- Архитектура Ethernet
- Структурированные кабельные системы (скс)
- Архитектура коммутируемого Ethernet
- Виртуальные локальные сети (vlan)
- Технология atm
- Сетевые протоколы. Модель osi
- Сетевые протоколы. Модель tcp/ip
- Кадры канального уровня
- Структура ip сетей и адресация в них
- Маршрутизация в ip сетях
- Протоколы транспортного уровня
- Стек протоколов spx/ipx
- Устройства для соединения сетей. Классификация.
- Повторители и мосты.
- Маршрутизаторы
- Протоколы динамической маршрутизации. Классификация.
- Протокол rip
- Межсетевые экраны
- Модемы и их протоколы
- Сети sdh и sonet
- Управление вычислительными сетями. Модели и стандарты.
- Протокол snmp и его использование
- Средства обеспечения требуемого качества обслуживания в сетях