Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
сети ЭВМ / Шпора к экзамену.docx
Скачиваний:
78
Добавлен:
23.02.2015
Размер:
701.14 Кб
Скачать

Протоколы транспортного уровня

Задача транспортного уровня – передача данных между процессами с заданным уровнем качества. Выделяют обычно 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.

Соседние файлы в папке сети ЭВМ