
- •Глава 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.1.2 Функции транспортного уровня
Транспортный уровень имеет несколько функций.
Нажмите каждую кнопку для получения дополнительной информации.
Отслеживание отдельных сеансов связи
На транспортном уровне каждый набор данных, передаваемый между исходным и целевым приложениями, называется сеансом связи и отслеживается по отдельности. Транспортный уровень отвечает за поддержку и отслеживание этих нескольких сеансов связи.
Как показано на рисунке, узел может иметь несколько приложений, которые одновременно обмениваются данными по сети.
В большинстве сетей существуют ограничения на объем данных, которые можно включить в один пакет. Поэтому данные должны быть разделены на управляемые части.
Сегментация данных и последующая сборка сегментов
Транспортный уровень несет ответственность за разделение данных приложения на блоки соответствующего размера. В зависимости от используемого протокола транспортного уровня блоки транспортного уровня называются сегментами или датаграммами. На рисунке показан транспортный уровень с использованием разных блоков для каждого сеанса связи.
Транспортный уровень разделяет данные на сегменты, которые проще контролировать и передавать.
Добавление информации заголовка
Протокол транспортного уровня также добавляет информацию заголовка, содержащую двоичные данные, организованные в несколько полей, к каждому блоку данных. Именно значения в этих полях позволяют различным протоколам транспортного уровня выполнять свои задачи по управлению процессом передачи данных.
Например, информация заголовка используется принимающим хостом для повторной сборки блоков данных в полный поток данных для программы уровня приложений.
Транспортный уровень гарантирует, что даже если на устройстве запущено несколько приложений, все они получат правильные данные.
Определение приложений
Транспортный уровень должен быть в состоянии разделять несколько каналов передачи данных с различными требованиями и управлять ими. Для того чтобы пересылать потоки данных в соответствующие приложения, транспортный уровень должен определить целевое приложение. Как показано на рисунке, каждому программному процессу, которому требуется доступ к сети, назначается номер порта, уникальный для этого узла.
Мультиплексирование сеансов связи
При передаче по сети данных некоторых типов (например, потокового видео) в виде одного полного потока может использоваться вся доступная пропускная способность, что в свою очередь приведет к блокированию других процессов передачи данных, выполняемых в это же время. Кроме того, это усложняет восстановление после сбоев и повторную передачу поврежденных данных.
Как показано на рисунке, транспортный уровень использует сегментацию и мультиплексирование для того, чтобы различные коммуникационные процессы были перемещены по одной и той же сети.
Проверка ошибок может быть выполнена для данных в сегменте, чтобы определить, изменился ли он в процессе передачи.
14.1.3 Протоколы транспортного уровня
Протокол IP отвечает только за структуру, адресацию и маршрутизацию пакетов. Он не определяет способ доставки или передачи пакетов.
Протоколы транспортного уровня определяют способ передачи сообщений между узлами и отвечают за управление требованиями надежности передачи. На транспортном уровне действуют два протокола — TCP и UDP.
Различные приложения предъявляют разные требования к надежности передачи данных. Таким образом, TCP/IP предоставляет два протокола транспортного уровня, как показано на рисунке.