آنچه در مقاله میخوانید
پروتکل UDP (مخفف User Datagram Protocol) یکی از پروتکلهای لایهٔ انتقال در مدل TCP/IP است که دادهها را بدون برقراری اتصال قبلی میان فرستنده و گیرنده جابهجا میکند. در این روش، فرستنده منتظر تأیید دریافت نمیماند، بستههای ازدسترفته را بهطور خودکار دوباره نمیفرستد و ترتیبی هم برای رسیدن دادهها در نظر نمیگیرد؛ به همین خاطر، پروتکل UDP سربار ارتباطی بسیار کمی دارد و برای برنامههایی که به تأخیر پایین نیاز دارند، انتخاب مناسبی است.
اگر بخواهیم ببینیم پروتکل UDP چیست و در عمل کجا به کار میآید، کافی است سراغ بازیهای آنلاین، تماسهای صوتی و تصویری، سرویسهای استریم و درخواستهای DNS برویم؛ یعنی تمام ارتباطات بلادرنگی که در آنها سرعت انتقال لحظهای بر هر چیز دیگری اولویت دارد. این پروتکل در فارسی با عنوان «پروتکل کاربر دیتاگرام» و در منابع انگلیسی با عبارت پروتکل UDP protocol هم شناخته میشود. در ادامه، از جایگاه این پروتکل در شبکه و نحوهٔ کارکردش شروع میکنیم و قدمبهقدم به ساختار هدر، پورتها، امنیت و کاربردهای آن در مدیریت سرور میرسیم.
UDP در مدل TCP/IP کجا قرار دارد؟
برای اینکه منطق کار UDP را بهتر درک کنیم، اول باید ببینیم در معماری شبکه دقیقاً کجا ایستاده است. این پروتکل در لایهٔ انتقال (Transport Layer) مدل TCP/IP فعالیت میکند؛ لایهای که وظیفه دارد دادهها را میان برنامههای در حال اجرا روی دستگاههای مختلف به دست هم برساند. در واقع، هر بار که برنامهای روی کامپیوتر یا سرور شما میخواهد اطلاعاتی را برای برنامهٔ دیگری بفرستد، پروتکلهای لایهٔ انتقال نحوهٔ این جابهجایی را مشخص میکنند.
در این لایه، دو پروتکل شناختهشدهٔ پروتکل TCP و UDP حضور دارند. به زبان ساده، هر پروتکل مشخص میکند که دادهها چطور میان دستگاهها ارسال و دریافت شوند و چه قواعدی بر این ارتباط حاکم باشد. هر دوی این پروتکلها برای رساندن بستهها به مقصد از پروتکل IP کمک میگیرند، اما نگاهشان به مدیریت ارتباط کاملاً متفاوت است: TCP برای مواقعی ساخته شده است که تحویل کامل، بینقص و مرتب اطلاعات اهمیت دارد، درحالیکه پروتکل UDP مراحل کنترلی را به حداقل میرساند تا دیتاگرامها را بدون معطلی بفرستد. اگر میخواهید جایگاه این پروتکلها و ارتباطشان با سایر لایههای شبکه را دقیقتر بشناسید، سری به مطلب آشنایی با انواع پروتکل اینترنت بزنید.
پروتکل UDP چگونه کار میکند؟
همانطور که اشاره شد، عملکرد پروتکل UDP بر پایهٔ «ارتباط بدون اتصال» (Connectionless) است. یعنی فرستنده برای شروع ارسال اطلاعات، نیازی به برقراری یک اتصال اولیه یا انجام فرایند دستدهی سهمرحلهای (Three-Way Handshake) ندارد و مستقیماً سراغ اصل مطلب میرود.
برای اینکه موضوع ملموستر شود، یک بازی آنلاین را در نظر بگیرید. وقتی بازیکن شخصیت خود را حرکت میدهد، برنامه بلافاصله اطلاعات موقعیت جدید را در قالب بستههایی به نام دیتاگرام (Datagram) بستهبندی میکند، آدرس مقصد و شماره پورت را روی آن میگذارد و بسته را به شبکه میفرستد. در سمت مقابل هم سرور به محض دریافت دیتاگرام، از روی اطلاعات هدر تشخیص میدهد که بسته را باید تحویل کدام برنامه بدهد. حالا اگر در این بین بستهای در مسیر شبکه گم شود، UDP بهطور ذاتی نه دوباره ارسالش میکند و نه منتظر تأیید دریافت میماند.
البته این حرف به آن معنا نیست که اطلاعات در UDP همیشه گم میشوند؛ بلکه صرفاً نشان میدهد خود پروتکل تضمینی بابت تحویل تمام بستهها نمیدهد. اگر برنامهای به چنین اطمینانی نیاز داشته باشد، برنامهنویسان باید سازوکارهایی مثل تأیید دریافت، شمارهگذاری بستهها یا ارسال مجدد را در سطح خود برنامه (Application Layer) پیادهسازی کنند. در نتیجه، این بینیازی از فرایندهای کنترلی سنگین باعث میشود UDP برای برنامههایی که زمان رسیدن اطلاعات در آنها حیاتی است، انتخاب ایدئالی باشد.
هدر UDP چه بخشهایی دارد؟
این سادگی در عملکرد، مستقیماً به ساختار بستههای UDP برمیگردد. هر دیتاگرام از دو بخش اصلی تشکیل شده است: هدر (Header) و دادهٔ اصلی (Payload). هدر همان شناسنامهٔ بسته است که اطلاعات لازم برای پیدا کردن مقصد را در اختیار سیستم گیرنده میگذارد. نکتهٔ جالب دربارهٔ هدر پروتکل UDP، اندازهٔ ثابت و بسیار کوچک آن است؛ این هدر فقط ۸ بایت حجم دارد و از چهار فیلد ۱۶ بیتی (۲ بایتی) تشکیل میشود که در جدول زیر قابل مشاهده است:
| فیلد هدر | اندازه | وظیفه |
| پورت مبدأ (Source Port) | ۲ بایت | مشخصکردن پورت برنامهٔ فرستنده |
| پورت مقصد (Destination Port) | ۲ بایت | مشخصکردن پورت برنامهٔ گیرنده |
| طول (Length) | ۲ بایت | تعیین اندازهٔ کل دیتاگرام (مجموع هدر و داده) |
| چکسام (Checksum) | ۲ بایت | بررسی صحت اطلاعات در زمان انتقال |
در ادامۀ این بخش به توضیح مختصر هر فیلد هدر میپردازیم.
- پورت مبدأ: شماره پورتی را نشان میدهد که داده از آن ارسال شده است. در ارتباطاتی که نیازی به دریافت پاسخ نیست، مقدار این فیلد میتواند صفر باشد.
- پورت مقصد: سیستم دریافتکننده از روی این عدد میفهمد که اطلاعات را باید به دست کدام برنامه برساند؛ مثلاً درخواستهای DNS معمولاً به پورت ۵۳ مقصد فرستاده میشوند.
- طول (Length): اندازهٔ کل دیتاگرام را مشخص میکند که شامل ۸ بایت هدر به اضافهٔ حجم دادهٔ قرارگرفته در کنار آن است.
- چکسام (Checksum): این بخش برای بررسی سلامت دادههای منتقلشده به کار میرود. چکسام میتواند تغییرات ناخواسته در اطلاعات را تشخیص دهد، اما کار رمزنگاری، احراز هویت یا تضمین تحویل داده را انجام نمیدهد.
بنابراین وجود فیلد Checksum به معنی تضمین صحت کامل ارتباط نیست و صرفاً برای شناسایی خطاهای انتقال طراحی شده است، نه تصحیح خطا یا ارسال دوبارهٔ بسته. در IPv4 حتی میتوان چکسام UDP را غیرفعال کرد، اما در IPv6 استفاده از آن معمولاً اجباری است.
پروتکل UDP از چه پورتهایی استفاده میکند؟
دیدیم که دو فیلد اول هدر به شماره پورتها اختصاص دارند. پورتها در واقع شناسههایی هستند که به سیستمعامل کمک میکنند ترافیک ورودی را به برنامهٔ درست تحویل دهد. چون شماره پورت در پروتکل UDP یک عدد ۱۶ بیتی است، دامنهٔ آن از صفر تا ۶۵۵۳۵ را در بر میگیرد. سازمان IANA این شمارهها را در سه بازهٔ اصلی مانند جدول زیر دستهبندی کرده است:
| محدوده پورت | نوع | کاربرد |
| ۰ تا ۱۰۲۳ | پورتهای شناختهشده (Well-Known) | سرویسهای استاندارد و شناختهشدهٔ شبکه |
| ۱۰۲۴ تا ۴۹۱۵۱ | پورتهای ثبتشده (Registered) | برنامهها و سرویسهای کاربردی مختلف |
| ۴۹۱۵۲ تا ۶۵۵۳۵ | پورتهای پویا و خصوصی (Dynamic/Private) | ارتباطات موقت و اختصاصی |
در جدول زیر، تعدادی از پرکاربردترین پورتهای این پروتکل را که در کار با شبکه و سرور زیاد با آنها روبهرو میشوید، میبینید:
| سرویس | شماره پورت UDP | کاربرد |
| DNS | ۵۳ | تبدیل نام دامنه به آدرس IP |
| DHCP Server | ۶۷ | دریافت پیام از کلاینت |
| DHCP Client | ۶۸ | دریافت پاسخ سرور DHCP |
| TFTP | ۶۹ | انتقال سادهٔ فایل |
| NTP | ۱۲۳ | هماهنگسازی ساعت سیستمها |
| SNMP | ۱۶۱ | دریافت اطلاعات مدیریتی تجهیزات شبکه |
| SNMP Trap | ۱۶۲ | دریافت پیامهای هشدار تجهیزات |
شناخت این بازهها و ارتباطشان با سرویسهای شبکه، در کنار توضیحات مطلب پورت شبکه تصویر کاملتری از شیوۀ مدیریت ارتباطات به شما میدهد. با این حال، فراموش نکنید که شمارۀ پورت بهتنهایی برای تشخیص قطعی نوع ترافیک کافی نیست؛ چون ممکن است برنامهای روی پورتی غیر از پورت مرسوم خود تنظیم شده باشد یا چند سرویس در شرایط خاص از شماره پورتهای یکسان روی پروتکلهای انتقال متفاوت استفاده کنند.
کاربردهای پروتکل UDP چیست؟
با توجه به ساختار سبک و سربار کمی که تا اینجا بررسی کردیم، طبیعی است که پروتکل UDP پای ثابت برنامههای حساس به تأخیر باشد. در ادامه، مهمترین سرویسهایی را که از این پروتکل استفاده میکنند، با یکدیگر مرور میکنیم.
۱) بازیهای آنلاین
در بازیهای چندنفره، اطلاعاتی مثل موقعیت بازیکنان، جهت حرکت و وضعیت محیط، لحظهبهلحظه بین دستگاه کاربر و سرور ردوبدل میشود. فرض کنید اطلاعات حرکت یک بازیکن چند لحظه دیرتر به سرور برسد؛ در چنین وضعیتی، رسیدن موقعیت جدید بازیکن بسیار مهمتر از تلاش برای دریافت دوبارهٔ موقعیت قبلی اوست. به همین دلیل، بیشتر بازیها برای تبادل اطلاعات بلادرنگ خود به سراغ پروتکل UDP میروند؛ هرچند بسته به طراحی بازی، ممکن است بخشهایی از ارتباط همچنان روی TCP انجام شود.
۲) استریم صوتی و تصویری
در پخشهای زنده و تماسهای تصویری هم سرعت انتقال حرف اول را میزند. وقتی مشغول تماشای یک پخش زنده هستید، اگر یک بستهٔ صوتی یا تصویری در میانهٔ راه از بین برود، سیستم ترجیح میدهد از آن بگذرد و پخش را با دادههای بعدی ادامه دهد؛ چراکه منتظر ماندن برای دریافت مجدد بستهٔ قبلی، تصویر را متوقف میکند و تأخیر را بالا میبرد. البته تمام سرویسهای استریم مستقیماً از UDP خام استفاده نمیکنند و بسیاری از پلتفرمهای پخش ویدئو، سراغ HTTP روی TCP یا پروتکل QUIC بر بستر UDP میروند.
۳) تماس اینترنتی و VoIP
در فناوری VoIP که صدا را از طریق اینترنت منتقل میکند، مکالمه زمانی طبیعی و روان پیش میرود که بستههای صوتی بدون مکث بین دو طرف جابهجا شوند. به همین خاطر، بخش انتقال رسانه در بیشتر پیادهسازیهای VoIP از پروتکلهایی مانند RTP روی بستر UDP بهره میبرد؛ چون اگر یک بستهٔ صوتی با تأخیر زیاد برسد، دیگر در گفتوگوی زنده به کار نمیآید و پخش صدای جدید اولویت دارد. جزئیات کامل این فرایند را میتوانید در مطلب VoIP چیست و نحوه انتقال صدا در شبکه بخوانید.
۴) سرویس DNS
سیستم DNS وظیفهٔ تبدیل نام دامنه به آدرس IP را بر عهده دارد. وقتی آدرس سایتی را در مرورگر تایپ میکنید، دستگاه شما یک درخواست کوتاه به پورت ۵۳ سرور DNS میفرستد تا IP سایت را بگیرد. اغلب این درخواستهای روزمره روی UDP انجام میشوند تا کمترین زمان ممکن صرف شود؛ اما DNS محدود به UDP نیست و در شرایطی که حجم پاسخ بزرگ باشد یا انتقال ناحیه (Zone Transfer) انجام شود، از TCP استفاده میکند. برای آشنایی بیشتر با این سازوکار، مطالعهٔ مطلب DNS چیست دید خوبی به شما میدهد.
۵) سرویس DHCP
زمانی که دستگاهی به شبکه وصل میشود و نیاز به دریافت خودکار تنظیماتی مثل آدرس IP دارد، پروتکل DHCP وارد عمل میشود. این سرویس برای ارتباط خود از UDP کمک میگیرد؛ به این صورت که در شبکههای IPv4، پیامهای کلاینت به پورت ۶۷ سرور و پاسخهای سرور به پورت ۶۸ کلاینت فرستاده میشوند (در نسخهٔ ۶ نیز پورتهای ۵۴۶ و ۵۴۷ این نقش را دارند). به این ترتیب، دستگاهها بدون نیاز به تنظیم دستی به شبکه متصل میشوند. شیوۀ کار این سرویس در مطلب DHCP پروتکل با جزئیات بیشتری بررسی شده است.
۶) فناوری QUIC و HTTP/3
کاربرد پروتکل UDP فقط به سرویسهای قدیمیتر خلاصه نمیشود؛ نسل جدید وب یعنی HTTP/3 نیز برای انتقال اطلاعات از پروتکل QUIC استفاده میکند که مستقیماً روی بستر UDP سوار شده است. نکتهٔ کلیدی اینجاست که QUIC قابلیتهایی مثل رمزنگاری، تحویل مطمئن دادهها، کنترل ازدحام و انتقال چند جریان همزمان را در لایهٔ خودش مدیریت میکند. بنابراین، استفاده از UDP در اینجا به معنای چشمپوشی از پایداری نیست، بلکه راهی هوشمندانه برای ترکیب سرعت UDP با سازوکارهای کنترلی پیشرفته است.
۷) شبکههای خصوصی مجازی (VPN)
بسیاری از سرویسهای VPN هم برای ایجاد تونل ارتباطی امن میان کاربر و سرور، بستر UDP را ترجیح میدهند. برای نمونه، پروتکل WireGuard بهطور اختصاصی روی UDP کار میکند و در OpenVPN هم هرچند امکان انتخاب بین TCP و UDP وجود دارد، اما اغلب به خاطر سربار کمتر و سرعت بهتر، سراغ UDP میروند. معمولاً تنها زمانی در OpenVPN از TCP استفاده میشود که شبکهٔ مقصد ارتباطات UDP را مسدود کرده باشد.
مزایا و معایب پروتکل UDP چیست؟
با مرور این کاربردها، بهخوبی دیده میشود که انتخاب پروتکل UDP یک سبکسنگین فنی است: از یک طرف با حذف مراحل کنترلی، سربار ارتباط را کم میکنید و سرعت میگیرید؛ اما از طرف دیگر، مسئولیت مدیریت انتقال داده را به دوش خود برنامهٔ کاربردی میگذارید. در جدول زیر مزایا و معایب پروتکل udo به صورت یکجا قابل مشاهده است:
| مزایا | معایب |
| هدر کوچک و ۸ بایتی | تضمیننکردن تحویل بستهها |
| عدم نیاز به دستدهی اولیه | نداشتن ارسال مجدد خودکار |
| سربار ارتباطی کمتر | تضمیننکردن ترتیب دریافت |
| مناسب برای ارتباطات بلادرنگ | نداشتن کنترل ازدحام ذاتی |
| امکان ارسال پیامهای مستقل | نیاز به مدیریت خطا در سطح برنامه (در صورت لزوم) |
در کنار نبود ارسال مجدد و مرتبسازی بستهها، یکی از محدودیتهای مهم UDP نداشتن «کنترل ازدحام» (Congestion Control) داخلی است. به همین دلیل، برنامههایی که روی اینترنت از UDP استفاده میکنند، باید خودشان نرخ ارسال داده را متناسب با ظرفیت شبکه تنظیم کنند تا باعث شلوغی مسیر و از دست رفتن بستهها نشوند.
تفاوت TCP و UDP چیست؟
همانطور که در ابتدای بحث دیدیم، TCP و UDP هر دو در لایهٔ انتقال قرار دارند، اما مسیر کاملاً متفاوتی را برای رساندن دادهها پیش میگیرند. پروتکل TCP ابتدا یک ارتباط مبتنی بر اتصال میسازد و با شمارهگذاری بستهها، گرفتن تأیید دریافت و ارسال مجدد بستههای گمشده، تحویل مرتب و کامل دادهها را تضمین میکند؛ درحالیکه پروتکل UDP بدون برقراری اتصال اولیه، دیتاگرامها را یکییکی روانهٔ مقصد میکند. تفاوت TCP و UDP براساس معیارهای کاربردی در جدول زیر میتوانید ببینید:
| معیار مقایسه | TCP | UDP |
| نوع ارتباط | مبتنی بر اتصال | بدون اتصال |
| دستدهی اولیه | دارد | ندارد |
| تضمین تحویل | دارد | ندارد |
| ارسال مجدد | دارد | بهصورت ذاتی ندارد |
| حفظ ترتیب دادهها | دارد | تضمین نمیشود |
| کنترل ازدحام | دارد | بهصورت ذاتی ندارد |
| اندازه هدر پایه | ۲۰ بایت | ۸ بایت |
| نوع انتقال | جریان بایتها | دیتاگرام |
| کاربرد رایج | انتقال فایل و وب سنتی | بازی آنلاین و رسانهٔ بلادرنگ |
اینجا بد نیست به یک تصور رایج هم اشاره کنیم: خیلیها فکر میکنند UDP در هر شرایطی از TCP سریعتر است، اما همیشه اینطور نیست. درست است که UDP به خاطر نداشتن فرایندهای کنترلی، سربار و تأخیر کمتری دارد، اما سرعت واقعی انتقال در عمل به کیفیت شبکه، میزان ترافیک مسیر، طراحی برنامه و اندازهٔ دادهها بستگی دارد. برای مثال، موقع دانلود یک فایل که رسیدن تکتک بخشها با ترتیب درست ضروری است، TCP انتخاب درستی است؛ اما در پخش زندهٔ صدا، رسیدن صدای جدید بدون معطلی برای بستههای قبلی اولویت دارد. مقایسهٔ ریزبهریز سازوکار این دو را میتوانید در مطلب تفاوت پروتکلهای TCP و UDP چیست دنبال کنید.
امنیت در پروتکل UDP چگونه تأمین میشود؟
ازآنجاکه پروتکل UDP فقط وظیفهٔ جابهجایی سریع دیتاگرامها را بر عهده دارد، هیچ سازوکار داخلی هم برای رمزنگاری اطلاعات، احراز هویت فرستنده یا جلوگیری از دسترسی غیرمجاز در آن تعبیه نشده است؛ بنابراین اگر قرار باشد اطلاعات حساسی روی این بستر منتقل شود، تأمین امنیت باید در لایههای دیگر انجام گیرد. یکی از راهکارهای شناختهشده در این زمینه پروتکل DTLS است که امکان رمزنگاری و احراز هویت ارتباطات دیتاگرامی را فراهم میکند. علاوه بر آن، پروتکل QUIC هم با تکیه بر قابلیتهای امنیتی TLS، انتقال امن دادهها روی UDP را ممکن کرده است.
از طرف دیگر، ساختار بدون اتصال UDP باعث شده است که سرورها در برابر دو نوع حملهٔ شناختهشده آسیبپذیر باشند:
- حملات UDP Flood: در این روش، مهاجم تعداد بسیار زیادی دیتاگرام UDP را به سمت سرور یا شبکهٔ هدف سرازیر میکند تا با اشغال پهنای باند و درگیر کردن منابع پردازشی، سرویس را از کار بیندازد.
- حملات Amplification (تقویت ترافیک): در این حالت، مهاجم آدرس IP مبدأ را به نام قربانی جعل میکند و درخواستهایی را به سرویسهای عمومی مثل DNS یا NTP میفرستد. در نتیجه، سرور واسطه پاسخهای بسیار حجیمتری را به سمت آدرس قربانی برمیگرداند و ترافیک سنگینی روی سرور هدف ایجاد میشود.
برای پیشگیری از این تهدیدها در مدیریت سرور و شبکه، باید جلوی اجرای DNS باز (بدون محدودیت دسترسی) را گرفت، دسترسی به سرویسهای NTP را محدود کرد، نرخ درخواستها را کنترل نگه داشت و از فایروال و سرویسهای مقابله با DDoS کمک گرفت. همچنین بستن پورتهای غیرضروری در فایروال یک اصل پایه است و باز بودن یک پورت نباید به معنی مجاز بودن هر نوع ترافیک ورودی تلقی شود. درمجموع، استفاده از UDP بهخودیخود به معنای ناامن بودن سرویس نیست و سطح امنیت به پروتکلهای مکمل و نحوهٔ پیکربندی شبکه بستگی دارد.
چه زمانی از UDP استفاده کنیم؟
با کنار هم گذاشتن تمام این موارد، تصمیمگیری میان UDP و TCP به نیاز برنامهٔ شما برمیگردد: هر زمان کاهش تأخیر و ارسال لحظهای اطلاعات از رسیدن تمام بستهها مهمتر بود، پروتکل UDP گزینهٔ بهتری است؛ اما اگر دریافت کامل، دقیق و مرتب اطلاعات خط قرمز برنامه است (مثل انتقال فایل)، باید سراغ TCP یا پروتکلهای قابلاعتماد در لایههای بالاتر بروید. البته پروتکلهای انتقال فایل مبتنی بر UDP مثل TFTP هم وجود دارند، اما در چنین مواردی خود برنامه باید کنترل خطا و ارسال مجدد را بر عهده بگیرد.
| نوع فعالیت | انتخاب متداول | دلیل |
| بازی آنلاین | UDP | کاهش تأخیر در تبادل اطلاعات بلادرنگ |
| تماس صوتی و تصویری | UDP | انتقال رسانه با تأخیر کم |
| درخواستهای معمول DNS | UDP | تبادل سریع پیامهای کوتاه |
| انتقال فایل | TCP یا پروتکل قابلاعتماد | نیاز به دریافت کامل اطلاعات |
| مرور وب با HTTP/2 | TCP | انتقال روی اتصال پایدار TCP |
| مرور وب با HTTP/3 | UDP از طریق QUIC | بهرهگیری از امکانات انتقال QUIC |
| VPN با WireGuard | UDP | انتقال بستهها در تونل رمزنگاریشده با سربار کم |
| VPN با OpenVPN | UDP یا TCP | انتخاب بر اساس شرایط شبکه و تنظیمات سرویس |
اگر از یک سرور مجازی برای راهاندازی بازی آنلاین، سرویس VoIP، VPN یا سایر برنامههای شبکه استفاده میکنید، ابتدا باید ببینید نرمافزار موردنظرتان با کدام پروتکل کار میکند و سپس پورتهای مربوط به آن را در فایروال باز کنید. برای اینکه ببینید چه پورتهای UDP روی سرور لینوکسی شما فعال هستند، میتوانید دستور زیر را در ترمینال وارد کنید:
ss -ulnp
این دستور فهرست سوکتهای UDP منتظر دریافت داده را به همراه شماره پورت و آدرس محلی نشان میدهد. اگر برای دیدن نام دقیق فرایندهای سیستمی و شناسهٔ آنها به دسترسی مدیریتی نیاز داشتید، کافی است دستور را با sudo اجرا کنید:
sudo ss -ulnp
نکتهٔ مهم در تنظیم فایروال: فراموش نکنید که باز کردن یک پورت روی TCP به معنی باز شدن همان شماره پورت روی UDP نیست. فایروال این دو را بهعنوان دو پروتکل مستقل میشناسد؛ بنابراین اگر سرویس شما مثلاً به پورت ۱۱۹۴ روی UDP نیاز دارد، باید قانون مربوط به UDP را جداگانه در فایروال تعریف کنید. همچنین در نظر داشته باشید که خروجی دستور ss فقط وضعیت سوکتهای داخلی سیستمعامل را نشان میدهد و برای مطمئن شدن از باز بودن پورت از سمت اینترنت، باید تنظیمات فایروال، مسیر شبکه و محدودیتهای دیتاسنتر را هم بررسی کنید.
کلام آخر
شناخت دقیق پروتکلهای لایهٔ انتقال، کلید انتخاب معماری درست برای سرویسهای شبکه است. پروتکل UDP با کنار گذاشتن مراحل کنترلی سنگین، راه سادهای برای ارسال دیتاگرامها باز میکند و نیاز برنامههایی را که به تأخیر پایین وابستهاند بهخوبی پوشش میدهد؛ بااینحال، پیش از انتخاب آن باید محدودیتهایش در تضمین تحویل و کنترل ازدحام را هم در کفهٔ ترازو بگذارید.
اگر قصد راهاندازی سرویسهای شبکه، اجرای نرمافزارهای بلادرنگ یا ایجاد تونل VPN را دارید، در کنار تنظیم درست پورتها و فایروال، به زیرساختی پایدار نیاز خواهید داشت. برای این منظور، میتوانید پلنهای سرور مجازی مبین هاست را بررسی کنید و متناسب با منابع موردنیاز سرویس خود، زیرساخت مناسبی را برای اجرای برنامههایتان انتخاب کنید.
سوالات متداول
UDP مخفف User Datagram Protocol و به معنای «پروتکل کاربر دیتاگرام» است. این پروتکل در لایهٔ انتقال مدل TCP/IP قرار دارد و برای ارسال دیتاگرامها بدون برقراری اتصال اولیه به کار میرود.
UDP به خاطر هدر کوچکتر و نداشتن فرایندهای کنترلی TCP، سربار کمتری دارد؛ اما نمیتوان آن را در همهٔ شرایط سریعتر دانست، چون عملکرد واقعی ارتباط به وضعیت شبکه و طراحی برنامه بستگی دارد.
UDP بهصورت ذاتی تحویل موفق، ترتیب دریافت و ارسال مجدد بستهها را تضمین نمیکند؛ اما برنامههای کاربردی یا پروتکلهای مکملی مثل QUIC میتوانند این قابلیتها را در لایهٔ خودشان به آن اضافه کنند.
این پروتکل در بازیهای آنلاین، تماسهای اینترنتی (VoIP)، استریم صوتی و تصویری، DNS، DHCP، سرویسهای VPN و فناوریهای جدیدی مثل QUIC و HTTP/3 کاربرد دارد.
UDP یک شماره پورت پیشفرض واحد ندارد، بلکه هر سرویس بر اساس استاندارد یا تنظیمات خود از پورت مشخصی روی این بستر استفاده میکند؛ مثلاً DNS معمولاً از پورت ۵۳ و NTP از پورت ۱۲۳ بهره میبرد.






