Clarity tracking code
setakit.com
setakit.com

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

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

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

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

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

به عنوان مثال، UDP ارتباط فرآیند به فرآیند را فعال می کند، در حالی که TCP از ارتباط میزبان به میزبان پشتیبانی می کند.

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

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

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

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

UDP دارای ویژگی هایی است که آن را برای استفاده با برنامه هایی که می توانند داده های از دست رفته را تحمل کنند مفید می سازد. در زیر چند نمونه آورده شده است:

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

ترکیب هدر UDP

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

هدر پروتکل دیتاگرام کاربر دارای چهار فیلد است که هر کدام ۲ بایت هستند و به صورت زیر می باشند:

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

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

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

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

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

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

UDP از یک مدل انتقال ساده استفاده می کند که شامل مکالمات دست تکانی برای داشتن قابلیت اطمینان، مرتب سازی یا یکپارچگی داده نمی شود.

در نتیجه سرویس UDP غیرقابل اعتماد است. بسته‌ها ممکن است نامنظم دریافت شوند، تکراری باشند یا بدون هشدار گم شوند.

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

کاربردهای UDP

۱- انتقال داده بدون از دست رفتن

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

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

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

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

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

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

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

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

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

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

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

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

مقایسه TCP و UDP

TCP و UDP بخشی از مجموعه پروتکل TCP/IP هستند که شامل پروتکل هایی برای انجام ارتباطات شبکه می باشند.

اینجا بخوانید: تفاوت TCP و UDP چیست؟

TCP به دلیل توانایی آن در تفکیک مجموعه داده های بزرگ به بسته های مجزا، بررسی و ارسال مجدد بسته های گم شده و جمع آوری مجدد بسته ها به ترتیب صحیح؛ به عنوان پروتکل رایج برای بخش عمده ای از اتصالات اینترنتی مورد استفاده قرار می گیرد. اما این خدمات اضافی از نظر سربار داده اضافی و تأخیر، هزینه بر هستند.

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

با UDP، بسته ها ممکن است مسیرهای مختلفی را بین فرستنده و گیرنده طی کنند. در نتیجه، ممکن است برخی از بسته ها گم شوند و یا نامنظم دریافت شوند.

ویژگی های UDP عبارتند از:
  • یک پروتکل بدون اتصال است.
  • برای VoIP، پخش ویدئو، بازی و پخش زنده استفاده می شود.
  • سریعتر است و به منابع کمتری نیاز دارد.
  • بسته ها الزاماً به ترتیب دریافت نمی شوند.
  • بسته های گم شده مجاز هستند. فرستنده نمی تواند بداند بسته ای دریافت شده است یا خیر.
  • برای برنامه هایی که نیاز به انتقال سریع و کارآمد دارند، مانند بازی ها، بهتر است.
ویژگی های TCP عبارتند از:
  • یک پروتکل اتصال گرا است.
  • پرکاربردترین پروتکل در اینترنت است.
  • تضمین می کند که هیچ بسته ای گم نمی شود و تمام داده های ارسال شده آن را به دست گیرنده مورد نظر می رساند.
  • بسته ها را به ترتیب می فرستد تا به راحتی به هم وصل شوند.
  • کندتر است و به منابع بیشتری نیاز دارد.
  • هدر بزرگتری نسبت به UDP دارد.
  • برای برنامه هایی که به قابلیت اطمینان بالایی نیاز دارند، مناسب است، و زمان انتقال نسبتاً حیاتی تر است.

TCP و UDP بخشی از مجموعه پروتکل TCP/IP هستند که شامل تعدادی پروتکل برای انجام ارتباطات شبکه است.

 

 

سایر مطالب مرتبط


پروتکل شبکه (Protocol) چیست

منظور از پروتکل اینترنت (Internet Protocol) چیست

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

پروتکل نقطه به نقطه روی اترنت (PPPoE) چیست؟

پروتکل ARP یا address resolution protocol چیست

Border Gateway Protocol (BGP) چیست