ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.12.2023
Просмотров: 117
Скачиваний: 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 шагов:
-
Добавляется псевдозаголовок к пользовательской дейтаграмме UDP. -
Происходит заполнение нулями поле контрольной суммы. -
Все биты разделяются на 16-битовые слова. Если полное число байтов четное - один байт заполнения (все нули). -
Это заполнение делается только с целью вычисления контрольной суммы и в дальнейшем будет удалено. -
Сложение всех 16-битовых секций с использованием арифметики с дополнением единиц. -
Дополнение результата (изменение нулей на единицы, а все единицы на нули). Это 16-битовое число вставляет в поле контрольной суммы. -
Удаление псевдозаголовока и всех дополнительных заполнений. -
Передача UDP-сегмента к IP программному обеспечению для инкапсуляции.
Source address (Адрес источника) | ||
Destination address (Адрес назначения) | ||
Zero (Нули) | Protocol (Идентификатор протокола) | UDP length (Длина UDP дейтаграммы) |
Рисунок 2.11.2 – Псевдозаголовок UDP дейтаграммы
В отличии от передатчика, вычисление контрольной суммы на стороне приёмника происходит за 6 шагов:
-
Добавляется псевдозаголовок к пользовательской дейтаграмме UDP. -
Если надо, то дополняется заполнение. -
Разделение всех битов на 16-битовые секции. -
Сложение всех 16-битовых секций с использованием арифметики с дополнением единиц. -
Дополнение результата. -
Если результат равен нулю, отбрасывается псевдозаголовок и любые заполнения и принимает 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 назначает другие важные сетевые настройки,