
- •Глава 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.5.5 Видеоролик. Трехэтапное квитирование tcp
Нажмите «Воспроизведение», чтобы посмотреть видео о трехстороннем квитировании TCP в программе Wireshark.
14.5.6 Проверьте ваше понимание темы - Процесс связи tcp
Какое из следующих действий будет допустимым исходным и конечным портами для узла, подключаемого к почтовому серверу?
Источник: 25, назначение: 49152
Источник: 80, назначение: 49152
Источник: 49152, назначение: 25
Источник: 49152, назначение: 80
Какие флаги управления используются во время трехстороннего рукопожатия?
ACK и FIN
FIN и RESET
RESET и SYN
SYN и ACK
Сколько сеансов связи необходимо для завершения обоих сеансов между двумя хостами?
один сеанс
два сеанса
три сеанса
четыре сеанса
пять сеансов
14.6 Надежность и управление потоком передачи данных
14.6.1 Надежность tcp - гарантированная и упорядоченная доставка
Причина, по которой TCP является лучшим протоколом для некоторых приложений, заключается в том, что, в отличие от UDP, он повторно отправляет отброшенные пакеты и нумерует пакеты, чтобы указать их правильный порядок перед доставкой. TCP также может помочь поддерживать поток пакетов, чтобы устройства не перегружались. В этом разделе подробно рассматриваются эти особенности TCP.
Могут быть случаи, когда сегменты TCP не приходят к месту назначения. В других случаях сегменты TCP могут поступать в неправильном порядке. Для того чтобы получатель смог расшифровать изначальное сообщение, данные в этих сегментах повторно собираются в исходном порядке. Для этого в заголовке каждого пакета указываются порядковые номера. Порядковый номер соответствует порядковому номеру первого байта данных сегмента TCP.
Во время настройки сеанса связи задается начальный порядковый номер сеанса (ISN). Этот номер ISN представляет собой стартовое значение счётчика байт, переданных удалённому приложению. По мере передачи данных во время сеанса порядковый номер увеличивается на число переданных байтов. Такое отслеживание байтов данных позволяет однозначно определять и подтверждать каждый сегмент. Можно выяснить, какие сегменты отсутствуют.
Номер ISN не обязательно должен начинаться с «1», фактически это случайное число. Это позволяет предотвратить определенный тип вредоносных атак. Для удобства в примерах в этой главе в качестве номера ISN используется число 1.
Порядковые номера сегментов указывают порядок повторной сборки и упорядочения полученных сегментов, как показано на рисунке.
показывает, что, несмотря на то, что сегменты могут использовать разные маршруты и прибывать на место не в том порядке, TCP имеет возможность изменить порядок сегментов
Восстановление порядка сегментов TCP на узле назначения
Получающий TCP-процесс помещает данные из сегмента в получающий буфер. Сегменты располагаются в соответствии с порядковыми номерами и после повторной сборки передаются на уровень приложений. Все сегменты, которые поступают с несоответствующими порядковыми номерами, сохраняются для последующей обработки. Затем, когда поступают сегменты с отсутствующими байтами, такие сегменты обрабатываются по порядку.
14.6.2 Видеоролик. Надежность tcp: порядковые номера и подтверждения
Одной из функций протокола TCP является гарантированная доставка каждого из сегментов получателю. Службы TCP на узле назначения подтверждают данные, полученные им от приложения источника.
Нажмите кнопку Play (Воспроизведение) на рисунке, чтобы ознакомиться с учебным материалом, посвященным порядковым номерам и подтверждениям TCP.