
- •Глава 14 – Транспортный уровень.
- •14.0 Введение.
- •14.0.1 Почему я должен выполнить этот модуль?
- •14.0.2 Что я буду изучать в этом модуле?
- •14.1 Передача данных
- •14.1.1 Роль транспортного уровня
- •14.1.2 Функции транспортного уровня
- •14.1.3 Протоколы транспортного уровня
- •14.1.4 Протокол управления передачей (tcp)
- •14.1.5 Протокол пользовательских датаграмм (udp)
- •14.1.6 Соответствующий протокол транспортного уровня для соответствующего приложенияНачало формы
- •14.1.7 Проверьте ваше понимание темы - Передача данныхНачало формы
- •14.2 Обзор протокола tcp
- •14.2.1 Функции протокола tcp
- •14.2.2 Заголовок протокола tcp
- •14.2.3 Поля заголовка tcp
- •14.2.4 Приложения, использующие протокол tcp
- •14.2.5 Проверьте свое понимание темы - Обзор tcp
- •14.3 Обзор протокола udp
- •14.3.1 Функции протокола udp
- •14.3.2 Заголовок протокола udp
- •14.3.3 Поля заголовка udp
- •14.3.4 Приложения, использующие протокол udp
- •14.3.5 Проверьте свое понимание темы - Обзор udp
- •14.4 Номера портов
- •14.4.1 Несколько отдельных сеансов передачи данных
- •14.4.2 Пары сокетов
- •14.4.3 Группы номеров портов
- •14.4.4 Команда netstat
- •14.4.5 Проверить ваше понимание темы - Номера портов
- •14.5 Обмен данными по протоколу tcp
- •14.5.1 Процессы tcp-сервера
- •14.5.2 Установление tcp-соединения
- •14.5.3 Прекращение tcp-соединения
- •14.5.4 Анализ трехстороннего квитирования tcp
- •14.5.5 Видеоролик. Трехэтапное квитирование tcp
- •14.5.6 Проверьте ваше понимание темы - Процесс связи tcp
- •14.6 Надежность и управление потоком передачи данных
- •14.6.1 Надежность tcp - гарантированная и упорядоченная доставка
- •14.6.2 Видеоролик. Надежность tcp: порядковые номера и подтверждения
- •14.6.3 Надежность tcp: потеря данных и повторная передача
- •14.6.4 Видеоролик. Надежность tcp: потеря данных и повторная передача
- •14.6.5 Управление потоком tcp. Размер окна и подтверждения
- •14.6.6 Управление потоком tcp - максимальный размер сегмента (mss)
- •14.6.7 Управление потоком tcp. Предотвращение перегрузок
- •14.6.8 Проверьте свое понимание темы — надежность и управление потоком
- •14.7 Обмен данными по протоколу udp
- •14.7.1 Udp: низкие накладные расходы или надежность?
- •14.7.2 Сборка датаграмм udp
- •14.7.3 Процессы и запросы udp-сервера
- •14.7.4 Процессы udp-клиента
- •14.7.5 Проверьте ваше понимание темы - Процесс связи udp
- •14.8 Практика и контрольная работа модуля
- •14.8.1 Packet Tracer. Обмен данными с использованием tcp и udp
- •14.8.2 Что я изучил в этом модуле?
- •14.8.3 Контрольная по модулю - Транспортный уровень
14.3 Обзор протокола udp
14.3.1 Функции протокола udp
В этом разделе будет рассмотрен UDP, что он делает, и когда лучше использовать его вместо TCP. UDP — это транспортный протокол с негарантированной доставкой. UDP — это облегченный транспортный протокол, который предлагает такую же сегментацию и повторную сборку данных, как и протокол TCP, но при этом не обеспечивает надежность и управление потоком, присущие TCP.
UDP является настолько простым протоколом, что обычно описывается с точки зрения того, чего он не предоставляет по сравнению с протоколом TCP.
UDP имеет следующие функции:
Данные восстанавливаются в том порядке, в котором получены.
Потерянные сегменты повторно не отправляются.
Без установления сеанса связи.
Без уведомления отправителя о доступности ресурса.
Для получения дополнительных сведений о UDP найдите RFC 793 в Интернете.
14.3.2 Заголовок протокола udp
UDP — это протокол без отслеживания состояния (stateless), а это значит, что ни клиент, ни сервер не обязан отслеживать состояние сеанса связи. Если при использовании UDP в качестве транспортного протокола требуется надежность передачи данных, ее должно обеспечивать само приложение.
Одним из основных требований для передачи видео и голоса по сети в режиме реального времени является наличие постоянного высокоскоростного потока. Приложения для передачи видео и голоса допускают потери некоторого количества данных, которые будут едва заметны или незаметны вовсе, и отлично подходят для использования протокола UDP.
Единицы информации, передаваемые по протоколу UDP, называются датаграммами или сегментами. Эти датаграммы отправляются без гарантии доставки протоколом транспортного уровня.
Заголовок UDP намного проще, чем заголовок TCP, потому что он имеет только четыре поля и требует 8 байт (т.е. 64 бита). На рисунке показан заголовок TCP.
14.3.3 Поля заголовка udp
Таблица идентифицирует и описывает четыре поля в заголовке UDP.
Поля заголовка UDP |
Описание |
Порт источника |
16-битное поле, используемое для идентификации исходного приложения по номеру порта. |
Порт назначения |
16-битное поле, используемое для идентификации приложения назначения по номеру порта. |
Длина |
16-битное поле, указывающее длину заголовка датаграммы UDP. |
Контрольная сумма |
16-битное поле, используемое для проверки ошибок заголовка и данных датаграммы. |
14.3.4 Приложения, использующие протокол udp
Существуют три типа приложений, которые лучше всего подходят для работы с протоколом UDP:
Мультимедийные приложения и передача видео в режиме реального времени. Такие приложения могут допускать небольшие потери данных, но не допускают задержки (либо минимальные). Примерами могут служить VoIP и потоковое видео.
Простые приложения запросов и ответов. Приложения с простыми операциями, где хост отправляет запрос и может получить или не получить ответ. В качестве примера можно указать DNS и DHCP.
Приложения, самостоятельно обеспечивающие надежность передачи данных, — ненаправленный обмен данными, при котором управление потоком, обнаружение ошибок, отправка подтверждений и восстановление после сбоев не требуются или выполняются самим приложением (например, SNMP и TFTP).
На рисунке указаны приложения, требующие UDP.
И хотя DNS и SNMP по умолчанию используют протокол UDP, они также могут использовать и TCP. DNS использует протокол TCP в случае, когда размер DNS-запроса или DNS-ответа превышает 512 байт (например, когда в DNS-ответе содержится большое количество разрешений имен). Аналогичным образом при определенных обстоятельствах администратор сети может настроить SNMP на использование протокола TCP.