پروتکل UDP چیست؟ و چه مزایا و معایب دارد
بهمن 13, 1404 1405-05-26 9:24پروتکل UDP چیست؟ و چه مزایا و معایب دارد
پروتکل UDP چیست؟
پروتکل UDP یک پروتکل لایه انتقال از مجموعه پروتکل اینترنت (IP) است که ارتباط سریع، بدون اتصال و سبک را بین فرآیندها فراهم میکند. این پروتکل تحویل، ترتیب یا بررسی خطا را تضمین نمیکند، و این ویژگی آن را برای برنامههای بلادرنگ و حساس به زمان مانند پخش ویدئو (Video Streaming)، DNS، و VoIP مناسب میسازد.

هدر پروتکل UDP
هدر پروتکل UDP به اندازه ۸ بایت طول دارد و پس از آن محتوای داده (payload) قرار میگیرد. این هدر شامل تمام اطلاعات ضروری مورد نیاز برای انتقال است. هر فیلد شماره پورت ۱۶ بیتی است که محدودهای از ۰ تا ۶۵۵۳۵ را فراهم میکند، که پورت ۰ رزرو شده است. شماره پورتها برای شناسایی و تفکیک درخواستها یا فرآیندهای مختلف کاربر استفاده میشوند.

- پورت مبدأ ۱۶ بیت: شماره پورت فرستنده را مشخص میکند.
- پورت مقصد ۱۶ بیت: شماره پورت گیرنده را مشخص میکند.
- طول ۱۶ بیت: طول کل هدر UDP و داده را مشخص میکند.
- چکسام ۱۶ بیت: برای تشخیص خطا استفاده میشود (در IPv4 اختیاری، در IPv6 اجباری است).
کاربردهای پروتکل UDP
پروتکل UDP در مواردی ترجیح داده میشود که تأخیر کم بسیار حیاتی است و از دست رفتن گاه به گاه بستهها قابل قبول است:
- DNS از UDP برای جستجوهای سریع درخواست/پاسخ استفاده میکند، زیرا پرسوجوهای نام دامنه کوچک هستند و به پاسخهای سریع نیاز دارند.
- DHCP از UDP برای تخصیص پویای آدرسهای IP به دستگاهها استفاده میکند، جایی که پیامهای کنترلی کوچک مبادله میشوند.
- VoIP از UDP برای ارتباط صوتی بلادرنگ استفاده میکند، زیرا مقداری از دست رفتن بسته را تحمل میکند اما تأخیر را نه.
- RIP از UDP برای ارسال کارآمد بهروزرسانیهای دورهای مسیریابی بین روترها استفاده میکند.
- NTP از UDP برای همگامسازی ساعتهای سیستمی در سراسر شبکهها با حداقل سربار استفاده میکند.
هدر شبه پروتکل UDP
برای بهبود دقت چکسام، پروتکل UDP در طول محاسبه چکسام از یک هدر شبه (که منتقل نمیشود) استفاده میکند.

- شامل بخشهایی از هدر IP (IP مبدأ و مقصد، شماره پروتکل، و طول UDP) است.
- تضمین میکند که بسته به میزبان و پورت پروتکل صحیح تحویل داده شود.
- در سمت گیرنده، UDP با استفاده از هدر شبه، چکسام را بررسی میکند؛ اگر معتبر باشد، بسته پذیرفته میشود.
استفاده از پروتکل UDP در حملات منع سرویس توزیعشده (DDoS)
حمله سیل UDP (UDP flood) نوعی حمله منع سرویس توزیعشده (DDoS) است که در آن مهاجم با سوءاستفاده از ماهیت بدون اتصال پروتکل UDP، تعداد زیادی بسته پروتکل User Datagram (UDP) را به یک پورت هدف ارسال میکند.
فرآیند حمله:
- مهاجم بستههای پروتکل UDP عظیم را با آدرسهای IP جعلشده به پورتهای تصادفی در هدف ارسال میکند.
- هدف، وجود برنامههای فعال را در آن پورتها بررسی میکند (که معمولاً پاسخی وجود ندارد).
- هدف با پیامهای ICMP “مقصد غیرقابل دسترس” پاسخ میدهد و منابع خود را بیش از حد اشغال میکند.
کاهش خطر:
- نظارت بر افزایشهای غیرعادی ترافیک UDP.
- استفاده از محدودیت نرخ (rate limiting)، فایروالها و سیستمهای جلوگیری از نفوذ (IPS).
- استقرار خدمات حفاظتی DDoS برای حملات در مقیاس بزرگ.
نحوه تعامل پروتکل UDP با IP
پروتکل UDP بر روی پروتکل اینترنت (IP) عمل میکند تا ارتباط بین برنامهها را امکانپذیر سازد. در اینجا نحوه انتقال داده انجام میشود:
- برنامه دادهها را به همراه جزئیات مقصد به UDP ارائه میدهد.
- UDP هدر خود را که شامل پورت مبدأ، پورت مقصد، طول و چکسام است، اضافه میکند.
- دیتاگرام UDP برای آدرسدهی و مسیریابی به لایه IP ارسال میشود.
- IP هدر خود را اضافه کرده و بسته را به میزبان مقصد ارسال میکند.
- در سمت گیرنده، UDP هدر خود را حذف کرده و داده را به برنامه هدف تحویل میدهد.
آموزش کاربردی پروتکل های شبکه در دوره هلپ دسک
تفاوت UDP در مقابل TCP چیست؟
-
نوع پروتکل
هم TCP و هم UDP پروتکلهای لایه انتقال هستند. با این حال، تضاد اصلی بین آنها وجود دارد. TCP یک پروتکل مبتنی بر اتصال است. از سوی دیگر، UDP یک پروتکل بدون اتصال است. بنابراین، به سادگی TCP نیاز به برقراری اتصال قبل از ارتباط دارد، در حالی که UDP نیازی به اطمینان از برقراری اتصال بین دو دستگاه ندارد.
-
قابلیت اطمینان
TCP به دلیل این واقعیت که تحویل بستههای داده را تضمین میکند، یک پروتکل قابل اعتماد در نظر گرفته میشود. این پروتکل شامل یک مکانیزم تأیید است که در آن فرستنده تأییدیه را از گیرنده دریافت کرده و بررسی میکند که آیا مثبت است یا منفی. در صورتی که مثبت باشد، داده با موفقیت تحویل داده شده است. اگر منفی باشد، TCP دادهها را مجدداً ارسال خواهد کرد.
پروتکل UDP به دلیل این واقعیت که هیچ تضمینی برای موفقیتآمیز بودن تحویل داده ارائه نمیدهد، یک پروتکل غیرقابل اعتماد در نظر گرفته میشود.
-
کنترل جریان (Flow Control)
TCP شامل یک مکانیزم کنترل جریان است. این مکانیزم اطمینان میدهد که تعداد زیادی بسته به طور همزمان برای دستگاه هدف ارسال نشود. از سوی دیگر، UDP اصلاً این مکانیزم کنترل جریان را پیادهسازی نمیکند.
-
ترتیب (Ordering)
TCP با تکنیکهای ترتیب و توالی کار میکند. به این ترتیب، تضمین میکند که بستههای داده دقیقاً به همان ترتیبی که ارسال شدهاند تحویل داده میشوند. از سوی دیگر، UDP شامل هیچ تکنیک ترتیبی و توالی نیست. این بدان معناست که دادهها میتوانند به هر ترتیبی منتقل شوند.
-
سرعت
همانطور که اشاره کردیم، اولین قدم برای TCP ایجاد اتصال بین دو دستگاه است. علاوه بر این، بررسی خطا را انجام میدهد و از موفقیتآمیز بودن انتقال بستههای داده اطمینان حاصل میکند. از سوی دیگر، UDP اتصالی برقرار نمیکند یا انتقال را تضمین نمیکند. به همین دلیل، UDP بسیار سریعتر از TCP است.
-
جریان داده
وقتی در مورد TCP صحبت میکنیم، سرویس فول-دوبلکس (full-duplex) را ارائه میدهد. این بدان معناست که اطلاعات قادر به جریان در هر دو جهت هستند. علاوه بر این، هنگامی که به UDP نگاه میکنیم، برای جریان یکطرفه داده مناسبتر است.
آموزش کاربردی و عملی تجهیزات سیسکو در دوره CCNA
مزایای پروتکل UDP
پروتکل User Datagram مزایای متعددی را ارائه میدهد که به شرح زیر است:
- سریع: نیازی به برقراری اتصال قبل از ارسال داده ندارد، که آن را سریعتر از TCP میکند.
- کارآمدتر: پروتکل UDP یک پروتکل سبک است که نسبت به TCP سربار کمتری نیاز دارد.
مناسب برای برنامههای بلادرنگ: پروتکل User Datagram برای برنامههای بلادرنگ، - مانند بازیهای آنلاین، کنفرانسهای ویدیویی و پخش زنده، که در آنها سرعت مهمتر از قابلیت اطمینان است، ایدهآل میباشد.
معایب پروتکل UDP
معایب اصلی پروتکل User Datagram شامل موارد زیر است:
- عدم قابلیت اطمینان: تحویل بستهها یا رسیدن بستهها به ترتیب را تضمین نمیکند.
- عدم کنترل ازدحام: UDP مکانیزمهای کنترل ازدحام ندارد، به این معنی که اگر با دقت استفاده نشود، میتواند شبکه را با بستهها اشباع کند.
- موارد استفاده محدود: پروتکل User Datagram برای برنامههایی که نیاز به انتقال داده قابل اعتماد دارند، مانند انتقال فایل، ایمیل یا مرور وب، مناسب نیست.
دوره دوربین مداربسته (مهندسی نظارت تصویری)
نتیجهگیری
مطمئناً، توسعه UDP (پروتکل User Datagram) انقلابی است. این پروتکل امکان تحویل سریع را فراهم میکند که برای تعدادی از برنامهها بسیار ارزشمند است. UDP با وجود داشتن برخی معایب، جایگاه خود را در بسیاری از خدمات، به ویژه در DNS، پخش ویدیو و بازیها پیدا میکند.


