Структура udp пакета

Структура udp пакета

Структура udp пакета

Протокол UDP и UDP-дейтаграммы



=== Скачать файл ===




















С UDP компьютерные приложения могут посылать сообщения в данном случае называемые датаграммами другим хостам по IP-сети без необходимости предварительного сообщения для установки специальных каналов передачи или путей данных. Протокол был разработан Дэвидом П. Ридом в году и официально определён в RFC Таким образом, UDP предоставляет ненадёжный сервис, и датаграммы могут прийти не по порядку, дублироваться или вовсе исчезнуть без следа. UDP подразумевает, что проверка ошибок и исправление либо не нужны, либо должны исполняться в приложении. Чувствительные ко времени приложения часто используют UDP, так как предпочтительнее сбросить пакеты, чем ждать задержавшиеся пакеты, что может оказаться невозможным в системах реального времени. При необходимости исправления ошибок на сетевом уровне интерфейса приложение может задействовать TCP или SCTP , разработанные для этой цели. Природа UDP как протокола без сохранения состояния также полезна для серверов, отвечающих на небольшие запросы от огромного числа клиентов, например DNS и потоковые мультимедийные приложения вроде IPTV , Voice over IP , протоколы туннелирования IP и многие онлайн-игры. UDP-приложения используют датаграммные сокеты для установки соединения между хостами. Приложение связывает сокет с его конечной точкой передачи данных, которая является комбинацией IP-адреса и порта службы. Порт 0 зарезервирован, хотя и является допустимым значением порта источника в случае, если процесс-отправитель не ожидает ответных сообщений. UDP не предоставляет никаких гарантий доставки сообщения для вышестоящего протокола и не сохраняет состояния отправленных сообщений. По этой причине UDP иногда называют Unreliable Datagram Protocol англ. UDP обеспечивает многоканальную передачу с помощью номеров портов и проверку целостности с помощью контрольных сумм заголовка и существенных данных. Надёжная передача в случае необходимости должна реализовываться пользовательским приложением. Заголовок UDP состоит из четырёх полей, каждое по 2 байта 16 бит. Два из них необязательны к использованию в IPv4 розовые ячейки в таблице , в то время как в IPv6 необязателен только порт отправителя. В этом поле указывается номер порта отправителя. Предполагается, что это значение задаёт порт, на который при необходимости будет посылаться ответ. В противном же случае, значение должно быть равным 0. Если хостом-источником является клиент, то номер порта будет, скорее всего, динамическим. Это поле обязательно и содержит порт получателя. Поле, задающее длину всей датаграммы заголовка и данных в байтах. На практике также следует учитывать, что если длина IPv4 пакета с UDP будет превышать MTU для Ethernet по умолчанию байт , то отправка такого пакета может вызвать его фрагментацию, что может привести к тому, что он вообще не сможет быть доставлен, если промежуточные маршрутизаторы или конечный хост не будут поддерживать фрагментированные IP пакеты. Также в RFC указывается минимальная длина IP пакета байт, которую должны поддерживать все участники, и рекомендуется отправлять IP пакеты большего размера только в том случае если вы уверены, что принимающая сторона может принять пакеты такого размера. Следовательно, чтобы избежать фрагментации UDP пакетов и возможной их потери , размер данных в UDP не должен превышать: Для того чтобы быть уверенным, что пакет будет принят любым хостом, размер данных в UDP не должен превышать: Следует заметить, что большинство современных сетевых устройств отправляют и принимают пакеты IPv4 длиной до байт без их разделения на отдельные пакеты. Поле контрольной суммы используется для проверки заголовка и данных на ошибки. Если сумма не сгенерирована передатчиком, то поле заполняется нулями. Поле не является обязательным для IPv4. Метод для вычисления контрольной суммы определён в RFC \\\\\\\\\\\\[2\\\\\\\\\\\\]. Перед расчётом контрольной суммы, если длина UDP-сообщения в байтах нечётна, то UDP-сообщение дополняется в конце нулевым байтом псевдозаголовок и добавочный нулевой байт не отправляются вместе с сообщением, они используются только при расчёте контрольной суммы. Поле контрольной суммы в UDP-заголовке во время расчёта контрольной суммы принимается нулевым. Для расчёта контрольной суммы псевдозаголовок и UDP-сообщение разбивается на двухбайтные слова. Затем рассчитывается сумма всех слов в арифметике обратного кода то есть кода, в котором отрицательное число получается из положительного инверсией всех разрядов числа и существует два нуля: Результат записывается в соответствующее поле в UDP-заголовке. В случае, если контрольная сумма вычислялась и получилась равной 0х, то в поле контрольной суммы заносят значение 0xffff -0 в обратном коде. Если сумма не сходится данные были повреждены при передаче, либо контрольная сумма неверно посчитана на передающей стороне , то решение о дальнейших действиях принимает принимающая сторона. Для примера рассчитаем контрольную сумму нескольких битных слов: Для этого можно сначала сложить попарно числа, рассматривая их как разрядные беззнаковые числа с последующим приведением к дополнительному коду путём прибавления единицы к результату, если при сложении произошёл перенос в старший й разряд то есть де-факто, этой операцией мы переводим отрицательное число из дополнительного в обратный код. Или, что равноценно, можно считать, что перенос прибавляется к младшему разряду числа. Это и есть искомая контрольная сумма. В документе RFC \\\\\\\\\\\\[2\\\\\\\\\\\\] приведены и другие способы расчёта контрольной суммы, в частности, с использованием 32х-разрядной арифметики. Если UDP работает над IPv4, контрольная сумма вычисляется при помощи псевдозаголовка, который содержит некоторую информацию из заголовка IPv4. Псевдозаголовок не является настоящим IPv4-заголовком, используемым для отправления IP-пакета. В таблице приведён псевдозаголовок, используемый только для вычисления контрольной суммы. Адреса источника и получателя берутся из IPv4-заголовка. Вычисление контрольной суммы для IPv4 необязательно, если она не используется, то значение равно 0. При работе UDP над IPv6 контрольная сумма обязательна. Метод для её вычисления был опубликован в RFC При вычислении контрольной суммы опять используется псевдозаголовок, имитирующий реальный IPv6-заголовок:. Адрес источника такой же, как и в IPv6-заголовке. Из-за недостатка надёжности приложения UDP должны быть готовы к некоторым потерям, ошибкам и дублированиям. Некоторые из них например, TFTP могут при необходимости добавить элементарные механизмы обеспечения надёжности на прикладном уровне. Но чаще такие механизмы не используются UDP-приложениями и даже мешают им. В этих конкретных приложениях потеря пакетов обычно не является большой проблемой. Если приложению необходим высокий уровень надёжности, то можно использовать другой протокол TCP или воспользоваться методами помехоустойчивого кодирования Erasure code ru en. Более серьёзной потенциальной проблемой является то, что в отличие от TCP, основанные на UDP приложения не обязательно имеют хорошие механизмы контроля и избегания перегрузок. Чувствительные к перегрузкам UDP-приложения, которые потребляют значительную часть доступной пропускной способности, могут поставить под угрозу стабильность в Интернете. Сетевые механизмы были предназначены для того, чтобы свести к минимуму возможные эффекты от перегрузок при неконтролируемых, высокоскоростных нагрузках. Такие сетевые элементы, как маршрутизаторы, использующие пакетные очереди и техники сброса, часто являются единственным доступным инструментом для замедления избыточного UDP-трафика. Голосовой и видеотрафик обычно передается с помощью UDP. Протоколы потокового видео в реальном времени и аудио разработаны для обработки случайных потерь пакетов так, что качество лишь незначительно уменьшается вместо больших задержек при повторной передаче потерянных пакетов. Поскольку и TCP, и UDP работают с одной и той же сетью, многие компании замечают, что недавнее увеличение UDP-трафика из-за этих приложений реального времени мешает производительности TCP-приложений вроде систем баз данных или бухгалтерского учёта. Так как и бизнес-приложения, и приложения в реальном времени важны для компаний, развитие качества решений проблемы некоторыми рассматривается в качестве важнейшего приоритета. Как только соединение установлено, пользователи могут отправлять данные в обоих направлениях. Протоколы такого типа не устанавливают выделенного соединения между двумя хостами. Связь достигается путём передачи информации в одном направлении от источника к получателю без проверки готовности или состояния получателя. В VoIP считается, что конечные пользователи в реальном времени предоставят любое необходимое подтверждение о получении сообщения. Материал из Википедии — свободной энциклопедии. У этого термина существуют и другие значения, см. Does your network support Jumbo Frames and should you enable it? RFC — Расчет контрольных сумм в Internet Сентябрь Ethernet RS EIA RS RS Ethernet PPPoE PPP L2F IPv4 IPv6 IPsec ICMP IGMP ARP RARP RIP2 OSPF EIGRP GRE. BGP HTTP S DHCP IRC Gopher SNMP DNS SEC NNTP XMPP SIP IPP NTP SNTP Электронная почта SMTP POP3 IMAP 4 Передача файлов FTP TFTP SFTP FTPS WebDAV SMB Удалённый доступ rlogin Telnet SSH RDP. Bitcoin OSCAR CDDB Multicast FTP Multisource FTP BitTorrent Gnutella Skype. Список портов TCP и UDP. Интернет-протоколы Протоколы транспортного уровня. Страницы, использующие волшебные ссылки RFC Страницы, использующие волшебные ссылки ISBN. Навигация Персональные инструменты Вы не представились системе Обсуждение Вклад Создать учётную запись Войти. Пространства имён Статья Обсуждение. Просмотры Читать Править Править вики-текст История. Эта страница последний раз была отредактирована 15 мая в Текст доступен по лицензии Creative Commons Attribution-ShareAlike ; в отдельных случаях могут действовать дополнительные условия. Свяжитесь с нами Политика конфиденциальности Описание Википедии Отказ от ответственности Разработчики Соглашение о cookie Мобильная версия.

Расписание сериала викинги

Модель тренд состав

Доверенность на управление машиной образец

Гайморит не проходит после антибиотиков что делать

Нет звука на ноутбуке асус что делать

Стих про узбекистан на русском языке

Расписание поездов караганда омск 345

Доходный дом 1 мая

Почему апатияи ничегоне хочется делать

Report Page