Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИСиС. РТ работы / Лекции / Глава 14 - Транспортный уровень.docx
Скачиваний:
26
Добавлен:
19.09.2023
Размер:
3.5 Mб
Скачать

14.7.5 Проверьте ваше понимание темы - Процесс связи udp

  1. Почему UDP желателен для протоколов, которые делают простые транзакции запроса и ответа?

Управление потоком передачи данных

Легковесный

Надежность

Доставка в том же порядке

  1. Какой оператор повторной сборки датаграммы UDP является истинным?

UDP не собирает данные повторно.

Протокол UDP просто собирает данные в том порядке, в котором они были получены.

UDP повторно собирает данные с помощью битов управления.

UDP повторно собирает данные, используя порядковые номера.

  1. Какое из следующих действий будет допустимым исходным и конечным портами для узла, подключаемого к DNS серверу?

Источник: 53, назначение: 49152

Источник: 1812, назначение: 49152

Источник: 49152, назначение: 53

Источник: 49152, назначение: 1812

14.8 Практика и контрольная работа модуля

14.8.1 Packet Tracer. Обмен данными с использованием tcp и udp

В этом упражнении вы можете изучить функциональные особенности протоколов TCP и UDP, а также возможности мультиплексирования и функцию номеров портов при определении локального приложения, запросившего данные или отправляющего их.

14.8.2 Что я изучил в этом модуле?

Transportation of Data

Транспортный уровень — это канал между уровнем приложений и нижними уровнями, которые отвечают за передачу данных по сети. Транспортный уровень отвечает за логические связи между приложениями, работающими на разных узлах. На транспортном уровне действуют два протокола — TCP и UDP. Протоколы транспортного уровня определяют способ передачи сообщений между узлами и отвечают за управление требованиями надежности связи. Транспортный уровень отвечает за отслеживание разговоров (сеансов), сегментирование данных и повторную сборку сегментов, добавление информации заголовка, идентификацию приложений и мультиплексирование разговоров. TCP надежен, подтверждает получение данных, повторно отправляет потерянные данные, обеспечивает доставку данных в порядке их отправки. Используйте TCP для электронной почты и Интернета. UDP характеризует высокая скорость, малый объем дополнительного трафика, не требуется подтверждение, нет повторной отправки потерянных данных, данные обрабатываются в порядке их поступления. Используйте UDP для VoIP и DNS.

Обзор протокола TCP

TCP устанавливает сеансы, обеспечивает надежность, обеспечивает доставку одной и той же доставки и поддерживает управление потоком. Сегмент TCP добавляет 20 байт (то есть 160 бит) накладных расходов при инкапсуляции данных уровня приложения. Поля заголовка TCP включают порты источника и назначения, порядковый номер, номер подтверждения, длину заголовка, управляющие биты и размер окна. Приложения, использующие протокол TCP: HTTP, FTP, SMTP и Telnet.

UPD Overview

UDP восстанавливает данные в том порядке, в котором они были получены, потерянные сегменты повторно не отправляются, не создаются сеансы, UPD не сообщает отправителю о доступности ресурсов. Заголовок UDP имеет только четыре поля: порт источника, порт назначения, длина и контрольная сумма. Приложения, использующие UDP, включают DHCP, DNS, SNMP, TFTP, VoIP и видеоконференции.

Номера портов

Протоколы транспортного уровня TCP и UDP используют номера портов для управления несколькими одновременными соединениями. Поэтому поля заголовков TCP и UDP определяют номер порта приложения источника и назначения. Номера порта источника и порта назначения записываются в сегмент. Затем эти сегменты инкапсулируются в пакете IP. В пакете IP записывается IP-адрес источника и назначения. Сочетание IP-адреса источника и номера порта источника или IP-адреса назначения и номера порта назначения называется сокетом. Сокет используется для определения сервера и служб, запрашиваемых клиентом. Существует диапазон номеров портов от 0 до 65535. Этот диапазон разделен на группы: известные порты, зарегистрированные порты, частные и/или динамические порты. Существует несколько хорошо известных номеров портов, зарезервированных для обычных приложений, таких как FTP, SSH, DNS, HTTP и другие. В некоторых случаях требуется определить, какие TCP-соединения открыты и действуют на сетевом узле. Проверить состояние этих соединений помогает важное программное средство – netstat.

Обмен данными по протоколу UDP

Каждый процесс приложения, работающий на сервере, использует номер порта. Номер порта автоматически назначается или настраивается системным администратором вручную. Процессы TCP-сервера являются следующими: клиенты, отправляющие TCP-запросы, запрашивающие порты назначения, запрашивающие порты источника, реагируя на запросы порта назначения и порта источника. Чтобы завершить один сеанс связи, поддерживаемый протоколом TCP, необходимы четыре операции обмена данными, которые завершат оба сеанса. Прекращение может инициировать клиент или сервер. Трехстороннее рукопожатие устанавливает, что конечное устройство присутствует в сети, проверяет, что конечное устройство имеет активную службу и принимает запросы на номер порта назначения, который инициирующий клиент намеревается использовать, и уведомляет устройство назначения о том, что исходный клиент намерен установить сеанс связи по этому номеру порта. Флаги шести битов управления: URG, ACK, PSH, RST, SYN и FIN.

Надежность и управление потоком передачи данных

Для того чтобы получатель смог расшифровать изначальное сообщение, данные в этих сегментах повторно собираются в исходном порядке. В заголовке каждого пакета указываются порядковые номера. Независимо от того, насколько хорошо разработана сеть, иногда происходит потеря данных. TCP предоставляет способы управления потерями сегмента. Среди них — механизм повторной передачи сегментов с данными, получение которых не было подтверждено. В настоящее время серверные операционные системы обычно используют опциональную функцию TCP, называемую выборочным подтверждением (SACK), согласованную во время трехстороннего рукопожатия. Если оба узла поддерживают SACK, приемник может явно определить, какие сегменты (байты) были получены, включая любые сегменты прерывания. Поэтому отправляющему хосту нужно будет только повторно передать недостающие данные. Управление потоком позволяет поддерживать надежность передачи по протоколу TCP, регулируя скорость потока данных между узлами источника и назначения в течение определенного сеанса. Для этого в заголовке TCP имеется 16-битное поле, которое называется размером окна. Процесс отправки подтверждений узлом назначения по мере обработки полученных байтов и непрерывная регулировка окна отправки источника называются скользящими окнами. Источник передает 1460 байт данных в каждом сегменте. Это типичный MSS, который может получить устройство назначения. Во избежание таких ситуаций и для предотвращения перегрузок сети в протоколе TCP предусмотрен ряд соответствующих механизмов, таймеров и алгоритмов. Следует отметить, что узел источника сокращает именно количество неподтвержденных байтов, которые он отправляет, а не размер окна, определенный узлом назначения.

Обмен данными по протоколу UDP

UDP — это простой протокол, обеспечивающий работу основных функций транспортного уровня. Как и в случае с сегментами TCP, когда на узел назначения отправляются датаграммы UDP, они могут использовать разные пути и прибыть в неправильном порядке. Протокол UDP не отслеживает порядковые номера, как это делает протокол TCP. Протокол UDP не может повторно скомпоновать датаграммы в том порядке, который использовался при их передаче. Таким образом, протокол UDP просто повторно собирает данные в том порядке, в котором они были приняты, и пересылает их приложению. Если последовательность данных важна для работы приложения, оно должно определить правильную последовательность и выбрать оптимальный способ обработки данных. Серверным приложениям на базе UDP назначаются широко известные или зарегистрированные номера портов. Если UDP получает датаграмму, адресованную одному из этих портов, он пересылает данные приложения соответствующему приложению, исходя из его номера порта. Процесс UDP-клиента динамически выбирает номер порта из диапазона номеров портов и использует его в качестве порта источника для сеанса связи. Как правило, порт назначения — это общеизвестный или зарегистрированный номер порта, присвоенный процессу сервера. После того как клиент выбрал порты источника и назначения, эта же пара портов будет указана в заголовке всех датаграмм, которые используются в процессе пересылки. Для того чтобы сервер мог вернуть данные клиенту, номера портов источника и назначения в заголовке датаграммы указываются в обратном порядке.