help-header

پروتکل UDP چیست؟

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

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

کاربردهای UDP

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

تفاوت پروتکل UDP و TCP

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

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