Что характерно для протокола udp

Что характерно для протокола udp

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

Например, сервер snmp всегда ожидает сообщения, адресованного в порт 161. Если клиент snmp желает получить услугу, он посылает запрос в UDP-порт 161 на машину, где работает сервер. На каждой машине может быть только один агент SNMP, т.к. существует только один порт 161. Данный номер порта является общеизвестным, т.е. фиксированным номером, официально выделенным в сети Internet для услуг SNMP. Общеизвестные номера портов определяются стандартами Internet (см. табл. 4.4.2.1).

Данные, отправляемые прикладным процессом через модуль UDP, достигают места назначения как единое целое. Например, если процесс-отправитель производит 5 записей в порт, то процесс-получатель должен будет сделать 5 чтений. Размер каждого записанного сообщения будет совпадать с размером каждого прочитанного. Протокол UDP сохраняет границы сообщений, определяемые прикладным процессом. Он никогда не объединяет несколько сообщений в одно и не делит одно сообщение на части. Формат UDP-сообщений представлен ниже на рис. 4.4.2.1: Что характерно для протокола udp. Смотреть фото Что характерно для протокола udp. Смотреть картинку Что характерно для протокола udp. Картинка про Что характерно для протокола udp. Фото Что характерно для протокола udpРис. 4.4.2.1 Формат UDP-дейтограмм

в Unix0——Зарезервировано1TCPmux—tcp Мультиплексор2Compressnet—Программа управления3Compressnet—Процесс сжатия5RJE—Вход в удаленную задачу7EchoechoЭхо9DiscarddiscardСброс11UserssystatАктивные пользователи13DaytimedaytimeВремя дня15—NetstatКто работает или netstat19ChargenchargenГенератор символов20FTP-dataftp-dataFTP (данные)21FTPftpПротокол пересылки файлов (управление)23telnettelnetПодключение терминала24——Любая частная почтовая система25SMTPsmtpПротокол передачи почтовых сообщений31MSG-authРаспознавание сообщения (аутентификация)35——Любой частный принт-сервер37TimetimeВремя39RLP—Протокол поиска ресурсов41GraphicsГрафика42nameservernameСервер имен43NicnamewhoisКто это? (whois-сервис)45MPM—Блок обработки входных сообщений46MPM-snd—Блок обработки выходных сообщений48Auditd—Демон цифрового аудита49login—Протокол входа в ЭВМ50RE-mail-ck—Протокол удаленного контроля почтовым обменом53DomainnameserverСервер имен доменов (dns)57——Любой частный терминальный доступ59——Любой частный файл-сервер64covia—Коммуникационный интегратор (ci)66SQL*net—Oracle SQL*net67BootpsBootpsПротокол загрузки сервера68BootpcbootpcПротокол загрузки клиента69TFTPtftpУпрощенная пересылка файлов70Gopher—Gopher (поисковая система)71—Netrjs-1Сервис удаленных услуг77—rjeЛюбой частный RJE-сервис79Fingerfingerfinger80WWW-HTTPWorld Wide Web HTTP81Hosts2-NS—Сервер имен 287——Любая частная терминальная связь88KerberosKerberos92NPP—Протокол сетевой печати93DCP—Протокол управления приборами95SupdupsupdupSupdup протокол97Swift-rvf—swift-протокол удаленных виртуальных файлов101HostnamehostnamesСервер имен ЭВМ для сетевого информационного центра102ISO-Tsapiso-tsapISO-Tsap103GPPitnpСети точка-точка104ACR-nemaACR-nema digital IMAG. & comm. 300108Snagassna-сервер доступа109POP2—Почтовый протокол pop2110POP3—Почтовый протокол POP3111SUNRPCsunrpcSUN microsystem RPC113AuthauthСлужба распознавания114AudionewsАудио-новости115SFTPПростой протокол передачи файлов117UUCP-pathuucp-pathСлужба паролей uucp118SQLservSQL-сервер119NNTPNNTPПротокол передачи новостей123NTPNTPСетевой протокол синхронизации129PWDgenПротокол генерации паролей130-132Cisco133StatsrvСервер статистики134Ingres-netIngres-net-сервис135LOC-srvПоисковый сервис137Netbios-SSN—Служба имен Netbios138Netbios-DGMСлужба дейтограмм netbios139Netbios-SSNСлужба сессий Netbios147ISO-IPISO-IP150SQL-netSQL net152BFTPПротокол фоновой пересылки файлов156SQLsrvSQL-сервер158PCmail-srvPC почтовый сервер161—SNMPСетевой монитор SNMP162—SNMP-trapSNMP-ловушки170Print-srvpostscript сетевой сервер печати179BGPДинамический протокол внешней маршрутизации191ProsperoСлужба каталогов Prospero194IRCПротокол Интернет для удаленных переговоров201-206Протоколы сетей Apple talk213IPXipx348CSI-SGWPПротокол управления cabletron396Netware-IPNovell-Netware через IP398KryptolanKryptolan414InfoseekInfoseek (информационный поиск)418Hyper-gHyper-g444SNPPПростой протокол работы со страницами512—biff (exec)Unix Comsat (удаленное исполнение)513—WhoUnix Rwho daemon514—syslogДневник системы515PrinterРабота с буфером печати (spooler)525—TimedДрайвер времени

Зарегистрировано ряд портов для стандартного применения и в диапазоне 1024-65535. Например:

Номер портаОбозначениеНазначение
1397Аudio-activmailАктивная звуковая почта
1398Video-activmailАктивная видео-почта
5002RFEРадио-Ethernet
6000-6063X11Система X Windows
7008AFS3-updateСервер-сервер актуализация

Модуль IP передает поступающий IP-пакет модулю UDP, если в заголовке этого пакета указан код протокола UDP. Когда модуль UDP получает дейтограмму от модуля IP, он проверяет контрольную сумму, содержащуюся в ее заголовке. Если контрольная сумма равна нулю, это означает, что отправитель ее не подсчитал. ICMP, IGMP, UDP и TCP протоколы имеют один и тот же алгоритм вычисления контрольной суммы (RFC-1071). Но вычисление контрольной суммы для UDP имеет некоторые особенности. Во-первых, длина UDP-дейтограммы может содержать нечетное число байт, в этом случае к ней добавляется нулевой байт, который служит лишь для унификации алгоритма и никуда не пересылается. Во-вторых, при расчете контрольной суммы для UDP и TCP добавляются 12-байтные псевдо-заголовки, содержащие IP-адреса отправителя и получателя, код протокола и длину дейтограммы (см. рис. 4.4.2.2). Как и в случае IP-дейтограммы, если вычисленная контрольная сумма равна нулю, в соответствующее поле будет записан код 65535.

Что характерно для протокола udp. Смотреть фото Что характерно для протокола udp. Смотреть картинку Что характерно для протокола udp. Картинка про Что характерно для протокола udp. Фото Что характерно для протокола udpРис. 4.4.2.2. Псевдозаголовок, используемый при расчете контрольной суммы

Если контрольная сумма правильная (или равна 0), то проверяется порт назначения, указанный в заголовке дейтограммы. Если прикладной процесс подключен к этому порту, то прикладное сообщение, содержащиеся в дейтограмме, становится в очередь к прикладному процессу для прочтения. В остальных случаях дейтограмма отбрасывается. Если дейтограммы поступают быстрее, чем их успевает обрабатывать прикладной процесс, то при переполнении очереди сообщений поступающие дейтограммы отбрасываются модулем UDP. Следует учитывать, что во многих посылках контрольное суммирование не охватывает адреса отправителя и места назначения. При некоторых схемах маршрутизации это приводит к зацикливанию пакетов в случае повреждения его адресной части (адресат не признает его «своим»).

Так как максимальная длина IP-дейтограммы равна 65535 байтам, максимальная протяженность информационного поля UDP-дейтограммы составляет 65507 байт. На практике большинство систем работает с UDP-дейтограммами с длиной 8192 байта или менее. Детальное описание форматов, полей пакетов и пр. читатель может найти в RFC-768.

Источник

Протокол UDP — преимущества, недостатки и применение

Что характерно для протокола udp. Смотреть фото Что характерно для протокола udp. Смотреть картинку Что характерно для протокола udp. Картинка про Что характерно для протокола udp. Фото Что характерно для протокола udp

Что характерно для протокола udp. Смотреть фото Что характерно для протокола udp. Смотреть картинку Что характерно для протокола udp. Картинка про Что характерно для протокола udp. Фото Что характерно для протокола udp

А зачем протокол транспортного уровня, если он не обеспечивает надежность доставки выше чем IP, почему нельзя использовать просто IP для передачи данных?

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

Формат заголовка

Формат заголовка udp состоит из 4-х полей:

Что характерно для протокола udp. Смотреть фото Что характерно для протокола udp. Смотреть картинку Что характерно для протокола udp. Картинка про Что характерно для протокола udp. Фото Что характерно для протокола udp

Преимущества и применение UDP

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

Ошибки в современных сетях происходят достаточно редко и сетевые приложения способны самостоятельно исправлять такие, редко возникающие ошибки.

Область применения UDP — это системы, которые работают в режиме запрос-ответ и обмениваются между собой короткими сообщениями.

Применение UDP: DNS

В качестве применения UDP рассмотрим систему доменных имен DNS. DNS позволяют определить по доменному имени соответствующий ему IP-адрес. Например к доменному имени www.cisco.com соответствует вот такой IP адрес 184.86.0.170. Система DNS использует протокол UDP, порт 53.

Рассмотрим пример сетевого взаимодействия в DNS. В системе DNS есть сервер, который знает какие IP-адреса соответствуют доменным именам и клиент, который хочет получить такую информацию. Клиент DNS направляет запрос серверу, какой IP у доменного имени www.cisco.com? Сервер DNS получает такой запрос, находит соответствующий IP-адрес и отправляет ответ (184.86.0.170) взаимодействие происходит с использованием протокола UDP и для получения IP-адреса достаточно всего две дейтаграммы.

Что характерно для протокола udp. Смотреть фото Что характерно для протокола udp. Смотреть картинку Что характерно для протокола udp. Картинка про Что характерно для протокола udp. Фото Что характерно для протокола udp

Если бы для запроса IP-адреса использовался протокол TCP, то необходимо было бы передать гораздо больше сообщений. Перед тем как запрашивать IP-адрес необходимо было бы установить соединение TCP. Для этого нужно 3 сообщения, затем запросить IP-адрес, получить ответ (еще 2 сообщения) и после того, как ответ получен нужно разорвать соединение, для этого нужно 3 или 4 сообщения.

Что характерно для протокола udp. Смотреть фото Что характерно для протокола udp. Смотреть картинку Что характерно для протокола udp. Картинка про Что характерно для протокола udp. Фото Что характерно для протокола udp

Недостаток UDP

Недостаток UDP в том, что он не обеспечивает надежности передачи данных, поэтому ошибки должно обрабатывать приложение. Рассмотрим, что произойдет, если запрос потерялся. Приложение клиента DNS при отправке запроса (www.cisco.com?) запускает таймер, если в течении какого-то времени ответ не приходит, таймер срабатывает и тот же самый запрос отправляется еще раз.

Что характерно для протокола udp. Смотреть фото Что характерно для протокола udp. Смотреть картинку Что характерно для протокола udp. Картинка про Что характерно для протокола udp. Фото Что характерно для протокола udp

В этот раз запрос дошел (www.cisco.com) и DNS сервер в ответ отправил нам IP-адрес, который был необходим (184.86.0.170). Даже с учетом того, что произошла потеря данных ip-адрес все равно получен быстрее, чем если бы использовался протокол TCP. Однако существенным недостатком использования UDP является то, что приложение само должно обрабатывать ошибочные ситуации.

Выводы по протоколу UDP

Источник

Протокол UDP

— это простой, ориентированный на дейтаграммы протокол без организации соединения, предоставляющий быстрое, но необязательно надежное транспортное обслуживание. Он поддерживает взаимодействия «один со многими» и поэтому часто применяется для широковещательной и групповой передачи дейтаграмм.

Internet Protocol (IP) является основным протоколом Интернета. Transmission Control Protocol (TCP) и UDP — это протоколы транспортного уровня, построенные поверх лежащего в основе протокола.

TCP/IP — это набор протоколов, называемый также «пакетом протоколов Интернета» (Internet Protocol Suite), состоящий из четырех уровней. Запомните, что TCP/IP не просто один протокол, а семейство или набор протоколов, который состоит из других низкоуровневых протоколов, таких, как IP, TCP и UDP. UDP располагается на транспортном уровне поверх IP (протокола сетевого уровня). Транспортный уровень обеспечивает взаимодействие между сетями через шлюзы. В нем используются IP-адреса для отправки пакетов данных через Интернет или другую сеть с помощью разнообразных драйверов устройств.

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

Пакеты

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

Дейтаграммы

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

MTU (Maximum Transmission Unit)

MTU характеризует канальный уровень и соответствует максимальному числу байтов, которое можно передать в одном пакете. Другими словами MTU — это самый большой пакет, который может переносить данная сетевая среда. Например, Ethernet имеет фиксированный MTU, равный 1500 байтам. В UDP, если размер дейтаграммы больше MTU, протокол IP выполняет фрагментацию, разбивая дейтаграмму на более мелкие части (фрагменты) так, чтобы каждый фрагмент был меньше MTU.

Порты

Чтобы поставить в соответствие входящим данным конкретный процесс, выполняемый в компьютере, UDP использует порты. UDP направляет пакет в соответствующее место, используя номер порта, указанный в UDP-заголовке дейтаграммы. Порты представлены 16-битными номерами и, следовательно, принимает значения в диапазоне от 0 до 65 535. Порты, которые также называют конечными точками логических соединений, разделены на три категории:

Регистрируемые порты — от 1024 до 49151

Динамические / частные порты — от 49152 до 65535

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

UDP использует следующие известные порты:

Перечень портов UDP и TCP поддерживается агентством IANA (Internet Assigned Numbers Authority).

IP-адреса

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

Однонаправленный IP-адрес уникально определяет хост в сети, тогда как групповой IP-адрес определяет конкретную группу адресов в сети. Широковещательные IP-адреса получаются и обрабатываются всеми хостами локальной сети или конкретной подсети.

Значение времени жизни, или TTL (time-to-live), позволяет установить верхний предел числа маршрутизаторов, через которые может пройти дейтаграмма. Значение TTL не дает пакетам попасть в бесконечные циклы. Оно инициализируется отправителем и уменьшается на единицу каждым маршрутизатором, обрабатывающим дейтаграмму. Когда значение TTL становится нулевым, дейтаграмма отбрасывается.

Групповая рассылка

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

Что характерно для протокола udp. Смотреть фото Что характерно для протокола udp. Смотреть картинку Что характерно для протокола udp. Картинка про Что характерно для протокола udp. Фото Что характерно для протокола udp

Принцип работы UDP

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

Что характерно для протокола udp. Смотреть фото Что характерно для протокола udp. Смотреть картинку Что характерно для протокола udp. Картинка про Что характерно для протокола udp. Фото Что характерно для протокола udp

На предыдущем рисунке указано, что общая длина заголовка UDP составляет восемь байтов. Теоретически максимальный размер дейтаграммы IP равен 65 535 байтам. С учетом 20 байтов заголовка IP и 8 байтов заголовка UDP длина данных пользователя может достигать 65 507 байтов. Однако большинство программ работают с данными меньшего размера. Так, для большинства приложений по умолчанию установлена длина приблизительно 8192 байта, поскольку именно такой объем данных считывается и записывается сетевой файловой системой (NFS). Можно устанавливать размеры входного и выходного буферов.

Контрольная сумма нужна, чтобы проверить были ли данные доставлены в пункт назначения правильно или были искажены. Она охватывает как заголовок UDP, так и данные. Байт-заполнитель используется, если общее число октетов дейтаграммы нечетно. Если полученная контрольная сумма равна нулю, получатель фиксирует ошибку контрольной суммы и отбрасывает дейтаграмму. Хотя контрольная сумма является необязательным средством, ее всегда рекомендуется включать.

На следующем шаге уровень IP добавляет 20 байтов заголовка, включающего TTL, IP-адреса источника и получателя и другую информацию. Это действие называют IP-инкапсуляцией.

Как упоминалось ранее, максимальный размер пакета равен 65 507 байтам. Если пакет превышает установленный по умолчанию размер MTU, то уровень IP разбивает пакет на сегменты. Эти сегменты называются фрагментами, а процесс разбиения данных на сегменты — фрагментацией. Заголовок IP содержит всю информацию о фрагментах.

Когда приложение-отправитель «выбрасывает» дейтаграмму в сеть, она направляется по IP-адресу назначения, указанному в заголовке IP. При проходе через маршрутизатор значение времени жизни (TTL) в заголовке IP уменьшается на единицу.

Когда дейтаграмма прибывает к заданному назначению и порту, уровень IP по своему заголовку проверяет, фрагментирована ли дейтаграмма. Если это так, дейтаграмма собирается в соответствии с информацией, имеющейся в заголовке. Наконец прикладной уровень извлекает отфильтрованные данные, удаляя заголовок.

Недостатки UDP

По сравнению с TCP UDP имеет следующие недостатки:

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

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

Использование сессий. Ориентированность TCP на соединения поддерживается сеансами между хостами. TCP использует идентификатор сеанса, позволяющий отслеживать соединения между двумя хостами. UDP не имеет поддержки сеансов из-за своей природы, не ориентированной на соединения.

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

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

Управление потоком. В UDP управление потоком отсутствует, в результате плохо спроектированное UDP-приложение может захватить значительную часть пропускной способности сети.

Преимущества UDP

По сравнению с TCP UDP имеет следующие преимущества:

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

Скорость. UDP работает быстрее TCP. По этой причине многие приложения предпочитают не TCP, a UDP. Те же средства, которые делают TCP более устойчивым (например сигналы квитирования), замедляют его работу.

Топологическое разнообразие. UDP поддерживает взаимодействия «один с одним» и «один с многими», в то время как TCP поддерживает лишь взаимодействие «один с одним».

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

Размер заголовка. Для каждого пакета заголовок UDP имеет длину всего лишь восемь байтов, в то время как TCP имеет 20-байтовые заголовки, и поэтому UDP потребляет меньше пропускной способности сети.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *