UDP
Материал из Википедии — свободной энциклопедии
- Прикладной уровень
- HTTP, SMTP, FTP, TFTP, DHCP, SSH, IRC, SNMP, DNS,
IMAP, NNTP, SIP, Telnet, BitTorrent, XDR, rlogin… - Транспортный уровень
- TCP, UDP, SCTP, DCCP, RTP, RUDP…
- Сетевой уровень
- IPv4, IPv6, ARP, RARP, ICMP, IGMP
- Канальный уровень
- Ethernet, 802.11 WiFi, Token ring, FDDI, PPP,
SLIP, ATM, DTM, Frame Relay, SMDS… - Физический уровень
- RS-232, EIA-422, RS-449, EIA-485…
UDP (англ. User Datagram Protocol — протокол пользовательских датаграмм) — это сетевой протокол для передачи данных в сетях IP. Он является одним из самых простых протоколов транспортного уровня модели OSI. Его IP-идентификатор — 17.
В отличие от TCP, UDP не гарантирует доставку пакета, поэтому аббревиатуру иногда расшифровывают как «Unreliable Datagram Protocol» (протокол ненадёжных датаграмм). Это позволяет ему гораздо быстрее и эффективнее доставлять данные для приложений, которым не требуется большая пропускная способность линий связи, либо требуется малое время доставки данных. В отличие от TCP, UDP используется для широковещательной и многоадресной рассылки.
Содержание |
[править] Порты
Для взаимодействия сетевых приложений протокол UDP использует 16-ти битные порты, которые могут принимать значения от 0 до 65535. Порт 0 является зарезервированным, но может использоватся как порт источника, если приложение не ожидает ответных данных.
Порты с 1 по 1023 яляются системными и фиксированными, во многих ОС привязка к ним требует повышенных привилегий приложения.
Порты с 1024 по 49151 — зарегистрированные.
Порты с 49152 по 65535 — свободно используемые и временные. Используются клиентскими приложениями для связи с серверами.
[править] Формат пакета
Заголовок UDP содержит 4 поля, 2 из которых («порт отправителя» и «контрольная сумма») опциональны. Поля «порт отправителя» и «порт получателя», по 16 бит, определяющие процесс, которому предназначен данный пакет. Поле «размер заголовка» в октетах, минимально 8. И поле «контрольная сумма» длиной 16 бит.
+ | Bits 0—15 | 16—31 | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Порт отправителя | Порт получателя | ||||||||||||||||||||||||||||||
32 | Размер | Контрольная сумма | ||||||||||||||||||||||||||||||
64 | Data |
Недостаточная надёжность протокола может выражаться как в потере отдельных пакетов, так и в их дублировании. UDP используется при передаче потокового видео, игр реального времени, а также некоторых других типов данных.
Если приложению требуется большая надёжность, то используется протокол TCP или SCTP.
[править] Использование
UDP используется в следующих протоколах:
— DNS
— VoIP
— TFTP