پروتکل کاربر دیتاگرام (UDP) چیست؟

پروتکل دیتاگرام کاربر (UDP) یک پروتکل ارتباطی است که عمدتاً برای ایجاد ارتباطات با زمان تاخیر کم و تلرانس پایین بین برنامه های کاربردی در اینترنت استفاده می شود.

UDP با فعال کردن انتقال داده ها قبل از ارائه توافق توسط طرف گیرنده، سرعت انتقال را افزایش می دهد. در نتیجه، UDP در ارتباطات حساس به زمان، از جمله صدا از طریق IP (VoIP)، جستجوی سیستم نام دامنه (DNS) و پخش ویدیو یا صدا سودمند است.

UDP جایگزینی برای پروتکل کنترل انتقال (TCP) است. هر دو پروتکل UDP و TCP در بالای IP اجرا می شوند و گاها UDP/IP و یا TCP/IP نیز نامیده می شوند. با این حال، تفاوت های مهمی بین این دو وجود دارد. به عنوان مثال، UDP ارتباط فرآیند به فرآیند را فعال می کند، در حالی که TCP از ارتباط میزبان به میزبان پشتیبانی می کند.

TCP بسته های جداگانه را می فرستد و یک وسیله انتقال قابل اعتماد در نظر گرفته می شود. از سوی دیگر، UDP پیام هایی را ارسال می کند که دیتاگرام نامیده می شود و بهترین روش ارتباطی محسوب می شود.

این بدان معناست که UDP هیچ تضمینی برای تحویل داده ها یا ارائه قابلیت های ویژه برای ارسال مجدد پیام های گم شده یا خراب ارائه نمی دهد.

UDP دو سرویس ارائه می دهد که توسط لایه IP ارائه نمی شود. UDP شماره پورت ها را برای کمک به تشخیص درخواست های مختلف کاربر نمایش می دهد. همچنین یک قابلیت جمع کنترلی اختیاری برای تأیید اینکه داده ها دست نخورده رسیده اند را فراهم می کند.

ویژگی های پروتکل دیتاگرام کاربر

در زیر چند نمونه از قابلیت های پروتکل دیتاگرام کاربر آورده شده است:

  • اجازه می دهد تا بسته ها با ترتیبی متفاوت از ترتیبی که ارسال شده اند فرستاده و دریافت شوند و آن را برای برنامه های بلادرنگ که تاخیر می تواند نگران کننده باشد، مناسب می کند.
  • می توان از آن برای پروتکل های مبتنی بر تراکنش، مانند DNS یا پروتکل زمان شبکه (NTP) استفاده کرد.
  • می توان از آن در جاهایی که تعداد زیادی مشتری متصل هستند و اصلاح خطای بلادرنگ نیاز نیست، مانند بازی، کنفرانس صوتی یا ویدیویی و پخش رسانه استفاده کرد.

ترکیب هدر UDP

UDP هنگام بسته بندی داده پیام برای انتقال از طریق اتصالات شبکه از هدرها استفاده می کند. هدرهای UDP شامل مجموعه ای از پارامترها  به نام فیلد هستند که توسط مشخصات فنی پروتکل تعریف شده اند.

هدر User Datagram Protocol چهار فیلد دارد که هر کدام 2 بایت و به شرح زیر هستند:

  • شماره پورت منبع، که شماره فرستنده است.
  • شماره پورت مقصد، پورتی که دیتاگرام به آن آدرس داده می شود.
  • طول، طول هدر UDP بر حسب بایت و هر داده کپسوله شده.
  • checksum که در بررسی خطا استفاده می شود و استفاده از آن در IPv6 الزامی و در IPv4 اختیاری است.
udp

UDP چگونه کار می کند ؟

UDP از IP برای دریافت دیتاگرام از یک کامپیوتر به کامپیوتر دیگر استفاده می کند. UDP با جمع آوری داده ها در یک بسته UDP و افزودن اطلاعات هدر به بسته کار می کند.

این داده ها شامل پورت های مبدأ و مقصد ، طول بسته و جمع کنترلی می باشد. پس از اینکه بسته های UDP در یک بسته IP گذاشته شدند، به مقصد ارسال می شوند.

UDP تضمین نمی کند که بسته ها به مقصد مناسب برسند. بدین معنی که UDP مستقیماً به رایانه گیرنده متصل نمی شود . UDP، داده‌ها را با اتکاء به دستگاه‌های بین کامپیوتر‌ فرستنده و گیرنده به بیرون ارسال می‌کند .



اکثر برنامه ها منتظر دریافت پاسخ مشخصی هستند که به معنی دریافت بسته های ارسال شده با استفاده از UDP می باشد. اگر یک برنامه در بازه زمانی مشخص پاسخی دریافت نکند، برنامه مجدداً بسته را ارسال و یا تلاش را متوقف می‌کند.

UDP از یک مدل انتقال ساده استفاده می‌کند که شامل دیالوگ‌های مشخص برای ارائه قابلیت اطمینان، مرتب سازی و یا یکپارچگی داده ، نمی‌شود. در نتیجه، سرویس UDP غیرقابل اعتماد است. بسته ها ممکن است بی نظم ، تکراری باشند و یا بدون هشدار ناپدید شوند.

اگرچه این روش انتقال تضمین نمی‌کند که داده‌های ارسال شده به مقصد برسند، اما سربار کمی دارد و برای سرویس‌هایی که قطعاً لازم نیست بار اول کار کنند، مناسب است.

کاربردهای UDP

انتقال داده بدون تلفات

امکان استفاده UDP در برنامه هایی که به انتقال داده بدون تلفات نیاز دارند، می باشد. مانند برنامه‌ای که برای مدیریت فرآیند ارسال مجدد بسته‌های گمشده و ترتیب صحیح بسته‌های دریافتی پیکربندی شده است، می تواند از UDP استفاده کند. این رویکرد می تواند به بهبود سرعت انتقال داده فایل های حجیم در مقایسه با TCP کمک کند.

در مدل ارتباطی بین سیستم های باز (OSI)، پروتکلUDP در لایه 4، لایه انتقال است. UDP در ارتباط با پروتکل های سطح بالاتر برای کمک به مدیریت خدمات انتقال داده، از جمله پروتکل انتقال فایل بی اهمیت (TFTP)، پروتکل جریان بیدرنگ (RTSP) و پروتکل مدیریت شبکه ساده (SNMP) کار می کند.



بازی، صدا و ویدئو

UDP یک پروتکل ایده آل برای برنامه های شبکه هایی که در آنها تأخیرات بسیار مهم است، مانند ارتباطات صوتی، صوتی و تصویری می باشد. این نمونه‌ها می‌توانند برخی از داده‌ها را بدون تأثیر منفی بر کیفیت دریافتی از دست بدهند. با این حال، در برخی موارد، تکنیک های تصحیح خطای ارسال علاوه بر UDP برای بهبود کیفیت صدا و تصویر، باوجود مقداری از دست دادن، استفاده می شود.

خدماتی که نیازی به انتقال بسته ثابت ندارند

UDP همچنین می تواند برای برنامه هایی استفاده شود که به تبادل مطمئن اطلاعات وابسته هستند اما باید روش های خاص خود را برای پاسخگویی به بسته ها داشته باشند. این خدمات سودمند هستند زیرا آنها به الگوهای ثابتی برای تضمین کامل بودن و صحت بسته های ارسالی دادهها ملزم نیستند. کاربران می توانند تصمیم بگیرند که چگونه و در چه زمانی به اطلاعاتی که صحیح یا مرتب نشده اند پاسخ دهند.

پروتکل های به روز رسانی چندپخشی و مسیریابی

علاوه براینها UDP می تواند برای پخش چندگانه استفاده شود ، زیرا از سوئیچینگ بسته پشتیبانی می کند. همچنین ، UDP برای برخی از پروتکل های به روز رسانی مسیریابی، مانند پروتکل اطلاعات مسیریابی (RIP) استفاده می شود.

برنامه های سریع

UDP را می توان در برنامه هایی استفاده کرد که سرعت به جای قابلیت اطمینان بسیار مهم است. برای مثال، شاید گاهی به صلاح باشد که در جایی که از دست دادن برخی از نقاط داده ایرادی ندارد ، از UDP در برنامه‌ای که داده‌ها را از یک منبع تامین سریع ارسال می‌کند، استفاده کنیم.