Network switch and ethernet cables,Data Center Concept.

تفاوت بین TCP و UDP چیست؟

🕓 زمان مطالعه: 5 دقیقه

احتمالاً هنگام تنظیم پورت فورواردینگ در روتر یا هنگام پیکربندی نرم افزار فایروال، ارجاعاتی به TCP و UDP دیده اید. این دو پروتکل برای انواع مختلف داده­ ها استفاده می شود.

TCP/IP مجموعه ای از پروتکل هایی است که توسط دستگاه­ها برای برقراری ارتباط از طریق اینترنت و اکثر شبکه های محلی استفاده می شود. این نام از دو پروتکل اصلی آن گرفته شده است – پروتکل کنترل انتقال (TCP) و پروتکل اینترنت (IP). TCP راهی را برای ارائه (و دریافت) جریان بسته های اطلاعاتی ترتیب دار و بررسی شده از لحاظ خطا، در شبکه به اپ­ها ارائه می دهد. پروتکل دیتاگرام کاربر (UDP) توسط اپ‌ها برای ارائه جریان سریع‌تری از اطلاعات با حذف بررسی خطا استفاده می‌شود. هنگام پیکربندی برخی از سخت افزارها یا نرم افزارهای شبکه، ممکن است لازم باشد تفاوت را بدانید.

آنچه در آنها مشترک است

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

تفاوت بین TCP و UDP

تفاوت بین TCP و UDP

TCP و UDP تنها پروتکل هایی نیستند که در بالای IP کار می کنند. با این حال، آنها بیشترین استفاده را دارند.

نحوه کار TCP

TCP رایج ترین پروتکل مورد استفاده در اینترنت است.

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

در TCP همه چیز در مورد اطمینان است – بسته های ارسال شده با TCP ردیابی می شوند تا هیچ داده ای در حین انتقال از بین نرود یا خراب شود. به همین دلیل است که دانلود فایل‌ها خراب نمی‌شود، حتی اگر مشکل شبکه وجود داشته باشد. البته، اگر سیستم دیگر کاملاً آفلاین باشد، کامپیوتر شما تسلیم می‌شود و پیام خطایی خواهید دید که نمی‌تواند با میزبان راه دور ارتباط برقرار کند.

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

Process Explorer و سایر ابزارهای سیستمی می‌توانند نوع ارتباطات یک پروسس را نشان دهند—در اینجا می‌توانیم مرورگر کروم را با ارتباطات TCP باز به سرورهای مختلف وب مشاهده کنیم.

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

پروتکل UDP مشابه TCP کار می کند، اما تمام موارد بررسی خطا را حذف می کند. تمام ارتباطات رفت و برگشتی باعث ایجاد تأخیر می شود و سرعت را کاهش می دهد.

هنگامی که یک اپ از UDP استفاده می کند، بسته ها فقط برای گیرنده ارسال می شوند. فرستنده منتظر نمی ماند تا مطمئن شود گیرنده بسته را دریافت کرده است – فقط به ارسال بسته های بعدی ادامه می دهد. اگر گیرنده چند بسته UDP را اینجا و آنجا از دست بدهد، آنها فقط گم شده­اند – فرستنده آنها را دوباره ارسال نمی کند. از دست دادن این همه هزینه به این معنی است که دستگاه‌ها می‌توانند سریع‌تر با هم ارتباط برقرار کنند.

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

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

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

Team Fortress 2 Using UDP

Team Fortress 2 Using UDP

خب که چی؟

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

ابزار آنالیز شبکه وایرشارک

ابزار آنالیز شبکه وایرشارک

مگر اینکه مدیر شبکه یا توسعه‌دهنده نرم‌افزار باشید، این نباید خیلی روی شما تأثیر بگذارد. اگر روتر یا نرم‌افزار فایروال خود را پیکربندی می‌کنید و مطمئن نیستید که یک اپلیکیشن از TCP یا UDP استفاده می‌کند، به طور کلی می‌توانید گزینه “هر دو” را انتخاب کنید تا روتر یا فایروال شما قوانین یکسانی را برای ترافیک TCP و UDP اعمال کند.

دیدگاه ها بسته شده اند.