ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.12.2023

Просмотров: 111

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


2.11.2. TCP порты

Для доставки TCP-пакета конкретному приложению, используется уникальный идентификатор - номер порта, 16-битное число от 1 до 65535, указывающее, какой программе предназначается пакет.

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

TCP программы используют зарезервированные номера портов, как показано в таблице 2.11.1.

Таблица 2.11.1 – Номера некоторых портов TCP

TCP номер порта

Описание

21

FTP

22

SSH

23

TELNET

53

DNS

80

HTTP

443

HTTPS

Каждый отдельный порт сервера TCP может предложить общий доступ к нескольким соединениям, потому что все TCP соединения идентифицируются двумя значениями: IP-адресом и TCP портом. Все номера портов TCP, которые меньше, чем 1024 – зарезервированы и зарегистрированы в Internet Assigned Numbers Authority (IANA). Номера портов UDP и TCP не пересекаются.

26 Транспортные протоколы. Протокол UDP


Протокол пользовательских дейтаграмм UDP


Протокол UDP (User Datagram Protocol протокол пользовательских дейтаграмм) определен в стандарте RFC768. UDP используется для быстрой, но ненадежной транспортировки данных между хостами.

2.12.1. Основные функции протокола UDP

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

Приложения, работающие в реальном времени, используют UDP, длина заголовка которого составляет 8 байт (рисунок 2.12.1).

Source Port

(Адрес порта источника)

Destination Port

(Адрес порта назначения)

Length

(Длина дейтаграммы)

Checksum

(Контрольная сумма)

Data octets

(Октеты данных)

Рисунок 2.12.1 – Формат UDP дейтаграммы

Source Port (Адрес порта источника) – номер порта, который используется процессом, выполняющимся в хосте сервера. Он равен 16 битам и это означает, что номер порта может быть в пределах от 0 до 65 535. Если хост источника — это клиент посылающий запрос, то номер порта, в большинстве случаев, – это кратковременный номер порта, затребованный процессом и выбранный работающим на хосте источника программным обеспечением UDP.

Destination Port (Адрес порта пункта назначения) – номер порта, который используется процессом в хосте пункта назначения. Он также имеет 16 бит длины. Если хост пункта назначения – это сервер, то номер порта, в большинстве случаев, хорошо известен. Если хост пункта назначения – это клиент (сервер, посылающий отклик), номер порта в большинстве случаев кратковременный. В этом случае сервер копирует кратковременный номер порта, который получен в пакете запроса.

Length (Длина) – поле размером 16 бит, которое определяет полную длину UDP дейтаграммы, включая заголовок.

Checksum (Контрольная сумма) – поле размером 16 бит, контрольная сумма заголовка, псевдозаголовка и данных дейтаграммы.

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



Псевдозаголовок – это часть заголовка IP-пакета, в котором дейтаграмма пользователя инкапсулирована и некоторые поля, заполненные нулями (рисунок 2.12.2).

Вычисление контрольной суммы на стороне передатчика происходит в 8 шагов:

  1. Добавляется псевдозаголовок к пользовательской дейтаграмме UDP.

  2. Происходит заполнение нулями поле контрольной суммы.

  3. Все биты разделяются на 16-битовые слова. Если полное число байтов четное - один байт заполнения (все нули).

  4. Это заполнение делается только с целью вычисления контрольной суммы и в дальнейшем будет удалено.

  5. Сложение всех 16-битовых секций с использованием арифметики с дополнением единиц.

  6. Дополнение результата (изменение нулей на единицы, а все единицы на нули). Это 16-битовое число вставляет в поле контрольной суммы.

  7. Удаление псевдозаголовока и всех дополнительных заполнений.

  8. Передача UDP-сегмента к IP программному обеспечению для инкапсуляции.



Source address

(Адрес источника)

Destination address

(Адрес назначения)

Zero

(Нули)

Protocol

(Идентификатор протокола)

UDP length

(Длина UDP дейтаграммы)

Рисунок 2.11.2 – Псевдозаголовок UDP дейтаграммы

В отличии от передатчика, вычисление контрольной суммы на стороне приёмника происходит за 6 шагов:

  1. Добавляется псевдозаголовок к пользовательской дейтаграмме UDP.

  2. Если надо, то дополняется заполнение.

  3. Разделение всех битов на 16-битовые секции.

  4. Сложение всех 16-битовых секций с использованием арифметики с дополнением единиц.

  5. Дополнение результата.

  6. Если результат равен нулю, отбрасывается псевдозаголовок и любые заполнения и принимает UDP-дейтаграмму. Если результат какой-либо другой, пользовательская дейтаграмма удаляется.

2.12.2. Порты протокола UDP

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

Все номера портов UDP, которые меньше, чем 1024 – зарезервированы и зарегистрированы в Internet Assigned Numbers Authority (IANA).

Каждый порт UDP идентифицируется под зарезервированным или известным номером порта. В таблице 2.12.1 приведен список известных номеров портов UDP, которые используют стандартные программы.

Таблица 2.12.1 – Список некоторых номеров портов UDP

UDP номер порта

Описание

53

Система доменных имен (DNS)

69

Простой протокол передачи файлов (TFTP)

137

Служба имен NetBIOS

161

Простой протокол сетевого управления (SNMP)

520

Протокол маршрутной информации (RIP)


27. Транспортные протоколы. Сравнение TCP и UDP




TCP

UDP

Состояние соединения

Требуется установленное соединение для передачи данных (соединение должно быть закрыто после завершения передачи)

Протокол без соединения, без требований к открытию, поддержанию или прерыванию соединения

Гарантия доставки

Может гарантировать доставку данных получателю

Не гарантирует доставку данных получателю

Повторная передача данных

Повторная передача нескольких кадров в случае потери одного из них

Отсутствие повторной передачи потерянных пакетов

Проверка ошибок

Полная проверка ошибок

Базовый механизм проверки ошибок. Использует вышестоящие протоколы для проверки целостности

Метод передачи

Данные считываются как поток байтов; сообщения передаются по границам сегментов

UDP-пакеты с определенными границами; отправляются по отдельности и проверяются на целостность по прибытии

Сферы применения

Используется для передачи сообщений электронной почты, HTML-страниц браузеров

Видеоконференции, потоковое вещание, DNS, VoIP, IPTV

Про сами протоколы 25,26

Разница между TCP и UDP


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

Еще одно заметное различие между TCP и UDP заключается в том, что первый обеспечивает упорядоченную доставку данных от пользователя к серверу (и наоборот). UDP, в свою очередь, не проверяет готовность получателя и может доставлять пакеты вразнобой.

TCP vs UDP


Рассмотрим разницу характеристик протоколов TCP и UDP.

Отличия TCP и UDP при использовании в VPN


Также нередко возникает вопрос, касающийся использования данных протоколов при VPN-соединениях. К примеру, в OpenVPN существует возможность выбора между TCP- и UDP-протоколами. 

Условимся, что VPN заворачивает передаваемые данные в еще один протокол (на самом деле все намного сложнее). Если ваш VPN-туннель использует в качестве транспортного протокола TCP, то передача данных по UDP-протоколу теряет свои преимущества. Как минимум на определенном участке пути. Поэтому для VPN-туннеля советуют использовать UDP-протокол, ведь TCP будет штатно работать внутри UDP-туннеля.

Итог сравнения протоколов TCP и  UDP 


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

Также серьезным отличием TCP от UDP является размер заголовков. У TCP он составляет 20-60 байт, а у UDP — всего 8 байт. Это показывает, насколько сложнее устроен протокол TCP, ведь он приоритизирует трафик и проверяет блоки данных на наличие ошибок.
28 Протоколы DHCP и ICMP. Принцип работы

Протокол DHCP (Dynamic Host Configuration Protocol) – протокол динамической конфигурации хоста, используется для назначения хостам IP-адресов в автоматическом режиме. Протокол DHCP выступает в качестве альтернативы ручной настройке сетевых параметров для компьютеров в сети. Помимо IP-адреса, протокол DHCP назначает другие важные сетевые настройки,