User Datagram Protocol

Чөлөөт нэвтэрхий толь — Википедиагаас
Харайх: Удирдах, Хайлт

User Datagram Protocol буюу UDP нь компьютерийн сүлжээний тээвэрлэлтийн түвшний найдваргүй, холболтгүй нөхцөлд хэрэглэгддэг протокол юм. IP протоколын үйлчилгээг өргөжүүлж процессоос процесс руух холболт, бага зэргийн алдаа шалгалтыг гүйцэтгэдэг. UDP нь маш энгийн протокол бөгөөд процессууд хоорондоо найдваргүйгээр зурвас явуулахыг хүсвэл UDP протоколыг ихэвчлэн ашигладаг. Найдвартай байдал, байнгын холболт шаардлагатай үед TCP гэх мэт протоколыг ашигладаг.

UDP-гийн шинж чанар нь дараах хэрэглээнд зохимжтой байдаг:

  • Transaction oriented буюу Шилжүүлэг хандлагат учраас Domain Name System, Network Time Protocol гэх мэт асуулт-хариултын чанартай протоколууд хэрэглэхэд тохиромжтой
  • Datagram ашигладаг тул IP tunneling, Remote Procedure Call, Network File System гэх мэт бусад протоколын загварыг гаргахад тохиромжтой
  • Энгийн учраас протоколын бүрэн стэк байхгүй DHCP, Trivial File Transfer Protocol гэх мэт протоколд тохиромжтой
  • Stateless буюу холболтын мэдээллээ хадгалдаггүй учраас клиентийн тоо өндөртэй мультмедиа урсгалын үйлчилгээ үзүүлэгч IPTV гэх мэт протоколд тохиромжтой
  • Дахин дамжуулалт хийдэггүй учраас Voice over IP, онлайн тоглоом, Real Time Streaming Protocol ашиглаж хийсэн протоколд тохиромжтой
  • Хоёр талт дамжуулалд өндөр гүйцэтгэлтэй ажилладаг, иймээс broadcast time, Routing Information Protocol гэх мэт service discovery, мэдээлэл солилцох протоколд тохиромжтой

Пакетийн бүтэц[засварлах]

UDP пакетийн толгойн хэсэг нь 8 байт урттай.

UDP Header буюу толгой хэсэг
Offsets Октет 0 1 2 3
Октет Бит  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 Source port Destination port
4 32 Length Checksum

Source port number

Илгээгч дээр ажиллаж буй процессын портын хаяг. Урт нь 16 бит ба авах утгын хязгаар нь 0-65535 байна. Хэрвээ илгээгч нь клиент бол (клиент хүсэлт явуулахад) портын дугаар нь ихэнх тохиолдолд ephemeral port number байна. Илгээгч дээр ачаалж байгаа UDP нь энэ дугаарыг сонгосон байдаг. Хэрвээ илгээгч нь сервер бол портын дугаар нь ихэнх тохиолдолд well-known port number байна.

Destination port number

Хүлээн авагч дээр ачаалж байгаа процесын портын дугаар. Мөн 16 бит урттай. Хэрвээ хүлээн авагч нь сервер бол well-known port number, клиент бол ephemeral port number байна.

Length

Хэрэглэгчийн пакетын толгой хэсэг, өгөгдлийн хэсгийн нийлбэр. Хамгийн багадаа 8 байт (өгөгдөл байхгүй, зөвхөн толгой хэсэг).

Checksum

Checksum нь хэрэглэгчийн пакетийн (толгой хэсэг болон өгөгдлийн хэсэг хоёулангийн) алдааг илрүүлдэг.

UDP-гийн ажиллагаа[засварлах]

Холболт үүсгэдэггүй шинж[засварлах]

UDP протоколын connectionless буюу холболт үүсгэдэггүй үйлчилгээний гол санаа нь UDP-гээр илгээгдсэн пакет бүр нь бусад пакетуудаасаа үл хамаарна. Ингэхдээ илгээж буй, хүлээн авч буй талууд нь ижилхэн байсан ч хоорондоо хамааралгүй байдаг. Хэрэглэгчийн datagram-уудыг дугаарладаггүй.

Түүнчлэн холболт үүсгэх, салгах процесс байдаггүй бөгөөд пакет бүр ялгаатай замуудаар дамжиж болно. Холболт үүсгэхгүй байхын тэг сул тал нь холболтын үед дамжуулж байгаа мэдээллийг урсгал байдлаар дамжуулж болохгүй бөгөөд пакет бүрд таарах байдлаар жижиг хэсгүүдэд задлан дамжуулах ёстой.

Урсгал, алдааны удирдлага[засварлах]

UDP-д урсгалыг зохицуулах механизм байдаггүй ба хүлээн авагч нь ирж байгаа бүх зурвасыг хүлээн авч чадалгүй overflow үүсэх боломж байдаг. Checksum ашиглахаас өөр алдааны удирдлагын механизм байдаггүй. Өөрөөр хэлбэл зурвас нь дамжуулах дунд алдагдсан, эсвэл дахин дамжуулалт хийгдсэнийг илгээгч мэдэх боломжгүй. Хүлээн авагч нь checksum-г шалгаж алдаатай гэж үзвэл илгээгчид мэдэгдэхгүйгээр шууд хаядаг.

Encapsulation ба Decapsulation[засварлах]

Процесс хооронд мессеж дамжуулахын тулд IP протоколын пакет руу зурвасуудыг багцалж, задалдаг.

Queuing[засварлах]

UDP ашиглан сүлжээгээр мэдээлэл дамжуулахын тулд процесс нь UDP порттой байх ба энэхүү порттой холбогдсон орох, гарах дараалал буюу queue байдаг. UDP нь queue-г ашиглан IP протоколтой харилцаж, зурвасыг авч, хийдэг.

Хэрэглээ[засварлах]

  • Урсгал, алдааны удирдлага хэрэггүй процесст хэрэглэгдэнэ. FTP зэрэг их хэмжээний өгөгдөл дамжуулдаг протоколд хэрэглэгддэгүй.
  • Өөртөө урсгал, улдааны удирдлагатай процесст тохиромжтой. Жишээ нь TFTP-н дотоод ажиллагаанд энэ 2 удирдалаг байдаг тул UDP тохиромжтой
  • Multicasting-д тохиромжтой. UDP-д multicasting байдаг ч TCP-д байхгүй
  • SNMP зэрэг менежмэнтийн процесст хэрэглэгдэнэ.
  • RIP зэрэг протоколд хэрэглэнэ.

Мөн үзэх[засварлах]

Гадны холбоос[засварлах]

  • RFC 768 – User Datagram Protocol
  • RFC 2460 – Internet Protocol, Version 6 (IPv6) Specification
  • RFC 2675 – IPv6 Jumbograms
  • RFC 4113 – Management Information Base for the UDP
  • RFC 5405 – Unicast UDP Usage Guidelines for Application Designers