UDP

پروتکل داده نگار کاربر و یا UDP یکی از اعضای محموعه پروتکل های اینترنتی است. این پروتکل توسط دیوید پی.‌رید در سال ۱۹۸۰ طراحی و در RFC 768 معرفی شد. این پروتکل ارتباطی جایگزینی برای TCP است. این پروتکل نیز مانند TCP تکمیل‌کننده پروتکل اینترنت است و به همراه آن UDP/IP نامیده می‌شود. این پروتکل بدون دست‌دهی است و از یک مدل انتقال ساده استفاده می‌‌کند. این پروتکل هیچگونه تضمینی برای تحویل پیام به پروتکل‌ لایه بالاتر را نمی‌دهد و پروتکل‌هایی هم که از UDP استفاده می‌کنند هیچ حالتی از پیامی را که می‌فرستند نگه نمی‌دارند. به همین خاطر پروتکل UDP غیرمطمئن خوانده می‌شود.

ساختار بسته ی UDP

پروتکل داده‌نگار کاربر داده‌ها را در قالب قطعاتی شامل ۸ بایت سربرگ و همچنین داده‌ی مدنظر برای ارسال است. سربرگ قطعات ارسالی توسط UDP به شرح زیر خواهند بود.
سربرگ UDP شامل چهار پارامتر اصلی است:
• پورت مبدا:‌ این اطلاعات 16 بیتی برای شناسایی پورت مبدا بسته استفاده می‌شود.
• پورت مقصد: این اطلاعات 16 بیتی برای شناسایی سرویس سطح اپلیکیشن روی دستگاه مقصد استفاده می‌شود.
• طول UDP:‌ این پارامتر فیلدی است که طول بسته داده (با در نظر گرفتن اندازه سربرگ) را بر حسب بایت نشان می‌دهد. حداقل مقدار این فیلد ۸ بایت است که متعلق به طول سربرگ به تنهایی است. اندازه فیلد به صورت نظری ۶۵۵۳۵ بایت (۸ بایت برای سربرگ به علاوه‌ی ۶۵۵۲۷ بایت برای داده) برای یک بسته‌ی UDP است. اما حداکثر اندازه‌ی عملی برای IPv4 عبارت است از ۶۵۵۰۷ بایت. عدم استفاده از این فیلد زمانی مشکلی ایجاد نمی‌کند که کیفیت داده‌ها چندان مهم نباشد.
• Checksum: در این فیلد 16 بیتی کد کشف خطا درج می‌شود. تنها تفاوت آن با همین فیلد در پروتکل TCP آن است که به کارگیری این فیلد اختیاری است و در صورت عدم نیاز به آن، تمام بیت‌های آن به صفر تنظیم می‌شود.

ساختار بسته UDP

ویژگی‌های UDP

فقدان قابلیت اطمینان بدین معناست که برنامه‌هایی که از UDP استفاده می‌کنند، می‌توانند مقداری خطا یا افزونگی را بپذیرند. با اتکا بر همین ویژگی UDP‌ می‌تواند برای کاربردهایی که در آن از دست رفتن داده تحمل‌پذیر است مورد استفاده قرار گیرد. این پروتکل اجازه می‌دهد تا بسته ها به ترتیب دیگری از آنچه منتقل شده‌اند دریافت شوند، و این امر را برای برنامه‌هایی که در آن‌ها تاخیر ایجاد مشکل می‌کند مهم است. این پروتکل می‌تواند برای پروتکل‌های مبتنی بر معامله مانند DNS یا پروتکل زمان شبکه (NTP) استفاده شود. می‌توان از UDP در شبکه‌هایی که در آن تعداد زیادی کاربر همزمان به شبکه متصلند و تصحیح خطای واقعی برای آن لازم نیست (مانند بازی‌های آنلاین و یا کنفرانس‌های صوتی) استفاده کرد.
در مورد UDP بر خلاف TCP مورد مهم و قابل توجهی وجود دارد که برنامه‌های مبتنی بر این پروتکل قابلیت جلوگیری از ازدحام و مکانیزم کنترلی خوبی نیستند. برنامه‌های UDP که به مسئله ازدحام توجهی نمی‌کنند و میزان قابل توجهی از پهنای باند را نیز اشغال می‌کنند، می‌توانند ثبات اینترنت را به مخاطره بیندازند.

کاربردهای UDP

پروتکل داده‌نگار کاربر برای کاربردهای زیر مناسب است:
• این پروتکل مناسب برای ارتباطات یک‌سویه مورد استفاده است.
• برای راه‌اندازی خودکار و یا اهداف دیگر بدون استفاده از پشته کامل استفاده از این پروتکل مناسب است.
• در سرویس‌های نام دامنه در زمان انتقال داده از UDP استفاده می‌شود.
• در پروتکل‌های مدیریت شبکه ساده می‌توان از UDP استفاده کرد.