Udp что это за программа

Содержание

Отличия TCP- и UDP-протоколов — определяем разницу на примерах

Современный мир завязан на системах связи, когда различные устройства «общаются» между собой посредством «правил», или протоколов модели OSI (Open Systems Interconnection model), определяющей методы взаимодействия. В тексте рассмотрим два самых популярных протокола транспортного уровня — TCP и UDP — и сравним их.

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

TCP — протокол транспортного уровня

Первым из рассматриваемых протоколов будет TCP, или Transmission Control Protocol, который используется для транспортировки сообщений между устройствами в сети.

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

一条视频讲清楚TCP协议与UDP协议-什么是三次握手与四次挥手?

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

Сервер дробит данные, инкапсулирует их в блоки, которые передаются на уровень TCP получателя при помощи IP-протокола. Далее получатель подтверждает факт передачи.

У протокола TCP есть несколько особенностей:

  • Система нумерации сегментов. TCP отслеживает передаваемые и принимаемые сегменты, присваивая номера каждому из них. Байтам данных, которые должны быть переданы, присваивается определенный номер байта, в то время как сегментам присваиваются порядковые номера.
  • Управление потоком. Функция ограничивает скорость, с которой отправитель передает данные. Это делается для обеспечения надежности доставки, в том числе чтобы компьютер не генерировал пакетов больше, чем может принять другое устройство. Если говорить простым языком, то получатель постоянно сообщает отправителю о том, какой объем данных может быть получен.
  • Контроль ошибок. Функция реализуется для повышения надежности путем проверки байтов на целостность.
  • Контроль перегрузки сети. Протокол TCP учитывает уровень перегрузки в сети, определяемый объемом данных, отправленных узлом.

Примеры применения сетевого протокола TCP

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

  • SSH, FTP, Telnet: в данных протоколах TCP используется для обмена файлами.
  • SMTP, POP, IMAP: протоколы, где TCP отвечает за передачу сообщений электронной почты.
  • HTTP/HTTPS: протоколы, где TCP отвечает за загрузку страниц из интернета.

Эти примеры работают на уровне приложений стека TCP/IP и передают данные вниз к TCP, на транспортный уровень.

TCP и UDP | Что это такое и в чем разница?

Строение протокола TCP

пакет TCP — структура протокола

В каждый пакет данных TCP добавляет заголовок общим объемом в 20 байт (или октетов), в котором содержатся 10 обязательных полей:

  • Порт источника — порт устройства-отправителя.
  • Порт назначения — порт принимающего устройства.
  • Порядковый номер. Устройство, инициирующее TCP-соединение, должно выбрать случайный начальный порядковый номер, который затем увеличивается в соответствии с количеством переданных байтов.
  • Номер подтверждения. Принимающее устройство увеличивает этот номер с нуля в соответствии с количеством полученных байтов.
  • Сдвиг данных TCP. Данный параметр определяет размер заголовка, чтобы система могла понять, где начинаются данные.
  • Зарезервированные данные — зарезервированное поле, значение которого всегда равно нулю.
  • Флаги управления. TCP использует девять флагов для управления потоком данных в определенных ситуациях — например, при инициировании сброса сессии.
  • Размер окна — самая важная часть заголовка TCP. Это поле используется получателем для указания отправителю объема данных, которые он может принять.
  • Контрольная сумма. Отправитель генерирует контрольную сумму и передает ее в заголовке каждого пакета. Принимающее устройство может использовать контрольную сумму для проверки ошибок в полученном файле.
  • Срочный указатель — это предлагаемая протоколом возможность помечать некоторые байты данных тегом «Срочно» для их пересылки и обработки вне очереди.
  • Поле опции. Может использоваться для расширения протокола или его тестирования.

Ускоряем работу протокола TCP при хорошем соединении или выжимаем максимум

TCP используется при передаче данных в таких протоколах, как HTTP, Telnet, FTP, SMTP. При использовании протокола нужно учесть, что при увеличении потери пакетов время, затрачиваемое на доставку файла, увеличивается.

Чтобы достичь максимальной пропускной способности TCP-соединения, можно выполнить следующие шаги:

Увеличить размер окна. Размер окна, или TCP Window Size, — это количество данных, которое может быть передано в данный момент без подтверждения. Это значение устанавливается в начале соединения между устройствами. Однако это значение можно изменить заранее, введя команду regedit в поиске и перейдя по следующему пути:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesAFDParametersDefaultSendWindow

Увеличение параметра приведет к тому, что уменьшится количество проверок полученных данных и увеличится эффективность использования полосы пропускания. Также, перейдя по пути:

HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParameters

, можно добавить значение Tcp1323Opts, которое отвечает за изменение размера окна и управление временной меткой.

Изменение значения SackOpts. SACK, или селективное подтверждение, крайне важно для подключений с большим размером окна. Без этой функции проверка полученных данных выполняется только по последнему номеру последовательности полученных данных. Но с включением этой функции появляется возможность подтверждать получение отдельных блоков. Чтобы изменить данный параметр, можно перейти по пути:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters

и выбрать параметр SackOpts.

Изменение значения TcpMaxDupAcks. Данный параметр отвечает за количество полученных подтверждений о передаче. Стандартное значение состоит из одного подтверждения и двух дубликатов. Параметр можно изменить, перейдя по пути:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters

и выбрав TcpMaxDupAcks. Это позволит вам назначать количество требуемых подтверждений для запуска быстрой повторной передачи, что в результате скажется на скорости передачи данных.

Стоит отметить, что данными манипуляциями выигрываются доли секунд, поэтому сильно прироста скорости вы не увидите.

UDP — протокол транспортного уровня

Если нам очень важна скорость передачи, а вот потеря пакетов не так критична (как, например, в голосовом или видеотрафике), то лучше использовать UDP, или User Datagram Protocol. В отличие от TCP он обеспечивает передачу данных без получения подтверждения от пользователя. Проще говоря, просто отправляет пакеты и не ждет ничего в ответ. Из-за этого достигается высокая скорость в ущерб надежности.

Чаще всего UDP применяется в чувствительных ко времени службах, где потерять пакеты лучше, чем ждать. Звонки в Skype или Google Meet, стриминг видео, онлайн-трансляции используют этот протокол из-за того, что они чувствительны ко времени и рассчитаны на определенный уровень потерь. Вся голосовая связь через интернет работает по протоколу UDP. Также UDP очень часто используется в онлайн-играх. Аналогичная история с DNS-серверами, поскольку они должны быть быстрыми и эффективными.

Читайте также:
Remote service что это за программа

Примеры использования протокола UDP

Примерами протоколов, использующих UDP-протокол, являются:

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

структура протокола UDP

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

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

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

TCP vs UDP

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

TCP UDP
Состояние соединения Требуется установленное соединение для передачи данных (соединение должно быть закрыто после завершения передачи) Протокол без соединения, без требований к открытию, поддержанию или прерыванию соединения
Гарантия доставки Может гарантировать доставку данных получателю Не гарантирует доставку данных получателю
Повторная передача данных Повторная передача нескольких кадров в случае потери одного из них Отсутствие повторной передачи потерянных пакетов
Проверка ошибок Полная проверка ошибок Базовый механизм проверки ошибок. Использует вышестоящие протоколы для проверки целостности
Метод передачи Данные считываются как поток байтов; сообщения передаются по границам сегментов UDP-пакеты с определенными границами; отправляются по отдельности и проверяются на целостность по прибытии
Сферы применения Используется для передачи сообщений электронной почты, HTML-страниц браузеров Видеоконференции, потоковое вещание, DNS, VoIP, IPTV

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

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

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

Поднимите VPN на сервере Selectel

Более 100 готовых к работе конфигураций.

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

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

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

Источник: selectel.ru

TCP и UDP — что это такое? В чем разница между этими протоколами?

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

Протоколы UDP и TCP – в чем разница?

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

  1. Процесс установки соединения. В UDP в нем нет необходимости, в то время как TCP нуждается в обязательной процедуре начала сеанса, состоящей из трех этапов.
  2. Гарантия обмена трафиком. TCP отправляет запрос на предмет целостности данных – если в ответ поступает запрос о потерянных пакетах, они будут отправлены повторно. За счет этого обеспечивается абсолютная гарантия целостной передачи. Использование UDP, в свою очередь, может привести к потере некоторого количества пакетов.
  3. Управление и контроль потока. TCP осуществляет комплексный контроль и управление потоком информации, а в UDP это не нужно.
  4. Порядок доставки. Специфика TCP заключается в том, что все пакеты отправляются в формате строгой очередности. UDP доставляет сообщения в виде не упорядоченных датаграмм.
  5. Уведомление о перегрузках. Если в рамках передачи данных возникнут перегрузки, TCP отправит соответствующее уведомление. Протокол UDP не предоставляет какой-либо защиты от перегрузки.
  6. Сохранение границ переданных сообщений. Протокол TCP хоть и не может сохранить границы переданных сообщений, предоставляет гарантию их целостности. Применение протокола UDP предусматривает сохранение границ каждой пересланной датаграммы.
  7. Функция сборки и сегментации пакетов передаваемой информации. Поддерживается только в рамках протокола TCP.
  8. Процедура проверки достижимости. Является обязательной только для протокола TCP, в то время как протокол UDP физически не поддерживает ее.
  9. Взаимодействие с соединениями полуоткрытого типа. В рамках протокола TCP никогда не происходит повторная синхронизация. А вот протокол UDP устанавливает соединение методом повторной передачи запроса к конечному пользователю.

Что такое TCP?

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

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

Приложения для TCP

Протокол TCP используют следующие приложения:

Приложения для TCP

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

UDP протокол — что это такое?

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

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

Приложения для UDP

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

Читайте также:
Com Android wallpapercropper что это за программа на Андроид

Приложения для UDP

Применение TCP

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

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

Применение UDP

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

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

Выводы

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

Источник: www.internet-technologies.ru

Протокол UDP

XYZ School

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

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. Порты, которые также называют конечными точками логических соединений, разделены на три категории:

  • Хорошо известные порты — от 0 до 1023
  • Регистрируемые порты — от 1024 до 49151
  • Динамические / частные порты — от 49152 до 65535

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

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

UDP порты

Номер порта Описание
15 NETSTAT — Состояние сети
53 DNS — Сервер доменных имен
69 TFTP — Простейший протокол передачи файлов
137 Служба имен NetBIOS
138 Дейтаграммная служба NetBIOS
161 SMTP

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

IP-адреса

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

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

TTL

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

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

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

Сервер групповой рассылки

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

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

Дейтаграмма IP

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

Так, для большинства приложений по умолчанию установлена длина приблизительно 8192 байта, поскольку именно такой объем данных считывается и записывается сетевой файловой системой (NFS). Можно устанавливать размеры входного и выходного буферов.

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

Читайте также:
Phd программа что это

На следующем шаге уровень IP добавляет 20 байтов заголовка, включающего TTL, 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 потребляет меньше пропускной способности сети.

Источник: professorweb.ru

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

UDP это протокол транспортного уровня стека протоколов TCP/IP . На транспортном уровне в стеке TCP/IP используется два протокола:

  • Протокол TCP обеспечивает надежную доставку данных
  • Протокол UDP надежные доставки данных не обеспечивает

UDP расшифровывается как User Datagram Protocol — протокол дейтаграмм пользователя. Сообщение UDP называется дейтаграмма по аналогии с телеграммой — короткое сообщение, которое быстро доставляется. UDP не предоставляет дополнительного уровня надежности по сравнению с протоколом IP .

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

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

p, blockquote 6,0,0,0,0 —>

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

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

  1. Порт отправителя;
  2. Порт получателя;
  3. Длина UDP, в которой содержится длина всей дейтаграммы UDP;
  4. Контрольная сумма UDP, которая используется для корректной доставки дейтаграммы.

  • Минимум 8 байт (только заголовок)
  • Максимум 65 515 байт (максимальная длина данных IP-пакета)

Преимущества и применение 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-адреса достаточно всего две дейтаграммы.

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

Недостаток UDP

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

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

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

h2 4,0,0,0,0 —> p, blockquote 21,0,0,0,1 —>

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

Источник: zvondozvon.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru