X

پروتکل UDP چیست

UDP، مخفف User Datagram Protocol، یک پروتکل ارتباطی است که برای برنامه های حساس به زمان مانند VoD، استریم و جستجوهای DNS اینترنت استفاده می شود. UDP مانند TCP و سایر پروتکل های ارتباطی، پیام های برنامه را دریافت می کند و آنها را به بسته ها تقسیم می کند، سپس آن بسته ها را از طریق شبکه به مقصد می فرستد. این پروتکل که یکی از پرکاربردترین پروتکل های انتقال در اینترنت به شمار می رود در کنار پروتکل TCP با عدم برقراری ارتباط قبل از انتقال داده، سرعت ارتباط را به میزان قابل توجهی افزایش می دهد. این نرخ انتقال بالا دلیل استفاده از UDP برای برنامه های حساس به زمان است. البته در نظر داشته باشید که عدم برقراری ارتباط برای افزایش نرخ داده منجر به از دست رفتن بسته ها در حین انتقال می شود و این بر کیفیت تاثیر می گذارد.

 

برنامه های کاربردی UDP

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

تفاوت بین پروتکل UDP و TCP

UDP یک روش استاندارد برای انتقال داده بین دو دستگاه در یک شبکه است. این پروتکل مکانیسم انتقال را بسیار ساده می کند. زیرا بدون برقراری ارتباط و فرآیندی زمان بر مانند دست دادن، TCP شروع به انتقال اطلاعات می کند. از طرفی در UDP هیچ الزامی برای حفظ نظم بسته ها و بررسی صحت بسته های دریافتی وجود ندارد. با هم، این موارد باعث می شود که یک فایل مشابه از طریق UDP سریعتر از TCP منتقل شود. از سوی دیگر، UDP در برابر انکار سرویس توزیع شده یا حملات DDoS آسیب پذیر است. از آنجایی که UDP نیازی به دست دادن ندارد، مهاجمان می توانند سرور قربانی را با ترافیک UDP بمباران کنند. در حالی که در پروتکل TCP، از آنجایی که ابتدا باید handshake برقرار شود، سرور به راحتی می تواند به اتصالات مشکوک پاسخ ندهد و از ترافیک ناخواسته جلوگیری کند. در یک حمله DDoS مبتنی بر UDP، حجم عظیمی از ترافیک UDP به پورت‌های مختلف سرور ارسال می‌شود که منابع محاسباتی سرور را برای پاسخگویی به آنها اشغال می‌کند.

 

الزامات UDP

این سوال پیش می آید که چرا برای انتقال داده ها به یک پروتکل غیر قابل اعتماد نیاز داریم؟ ما از UDP استفاده می کنیم، جایی که بررسی های تحویل بسته پهنای باند زیادی را همراه با داده های واقعی می گیرد. به عنوان مثال، در مورد پخش ویدئو، هزاران بسته برای کاربران ارسال می شود. تأیید تحویل همه این بسته ها دشوار است و این می تواند منجر به هدر رفتن پهنای باند زیادی شود. بهترین مکانیسم تحویل پروتکل IP زیربنایی بهترین تلاش را برای تحویل بسته های خود ارائه می دهد، اما حتی اگر برخی از بسته ها در جریان پخش ویدیو از بین بروند، تأثیر آن ناچیز است و می توان به راحتی نادیده گرفت. از دست دادن بسته های متعدد در ترافیک صوتی و تصویری اغلب به هیچ وجه شناسایی نمی شود.

 

توانایی ها

UDP زمانی استفاده می شود که تایید دریافت بسته های داده بی اثر باشد.

UDP یک پروتکل خوب برای یک طرفه جریان داده است.

UDP ساده و مناسب برای ارتباط مبتنی بر درخواست است.

UDP اتصال گرا نیست.

UDP هیچ مکانیزم کنترل تراکم ندارد.

UDP تحویل خارج از دستور داده را تضمین نمی کند.

UDP بدون تابعیت است.

UDP پروتکل مناسبی برای برنامه های پخش جریانی مانند VoIP و پخش رسانه نیست.

پروتکل UDP

هدر UDP شامل چهار پارامتر اصلی است:

پورت منبع - این اطلاعات 16 بیتی برای شناسایی پورت منبع بسته استفاده می شود.

پورت مقصد - این اطلاعات 16 بیتی برای شناسایی سرویس لایه برنامه در دستگاه مورد نظر استفاده می شود.

Length - این فیلد طول کل بسته UDP (شامل هدر) را مشخص می کند. این یک فیلد 16 بیتی است و کوچکترین مقدار آن 8 بایت است که به اندازه خود هدر UDP است.

Checksum - این فیلد مقدار چک جمع تضمین شده توسط فرستنده را قبل از ارسال ذخیره می کند. در IPv4، این فیلد اختیاری است زیرا زمانی که فیلد چک جمع حاوی مقدار نباشد، روی 0 تنظیم می شود و همه بیت ها به صفر تبدیل می شوند.

کاربرد UDP

برخی از کاربردهای UDP در حین انتقال داده در زیر مورد بحث قرار گرفته است:

  • خدمات نام دامنه
  • پروتکل کنترل شبکه ساده
  • پروتکل انتقال فایل آزمایشی
  • پروتکل اطلاعات مسیریابی
  • پروتکل کربروس

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

ویژگی های UDP

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

 

مطالب کاربردی

نرم افزار (اپلیکیشن) خانه هوشمند

سیستم (کنترل) هوشمند چیست و چه کاربردی‌هایی دارد؟

انواع روش‌های هوشمندسازی ساختمان

تجهیزات هوشمندسازی (ساختمان)

پکیج هوشمندسازی ساختمان

هوشمندسازی بی سیم و تفاوت آن با هوشمندسازی سیمی

هوشمندسازی استخر

سنسور حرکتی کوچک

امکانات  و ویژگی های خانه هوشمند

پروتکل های خانه هوشمند

هوشمندسازی ساختمان

انواع تجهیزات هوشمند

قیمت هوشمندسازی خانه

خانه هوشمند چیست