زمانی که از VPNها مانند OpenVPN یا ChitaVPN استفاده می‌کنید، به طور حتم با آپشنی که به شما اجازه می‌دهد تا مابین TCP و UDP انتخاب نمایید، برخورد داشته‌اید. شاید برایتان سوال پیش آمده باشد که این دو گزینه چه ویژگی‌و چه کاربردهایی دارند و در صورت انتخاب هر کدام از آنها چه مزایایی در اختیار شما قرار میگیرد.

اگر پاسخ شما مثبت است، بهترین جا برای یافتن پاسخ به سوالاتتان در اینجا قرار دارد.

برای خرید ویپی ان از طریق لینک اقدام کنید.

chita-Icon-buy

TCP-UDP

 

TCP و UDP چیست و چگونه کار میکنند؟

TCP یا پروتکل کنترل انتقال (Transmission Control Protocol) و UDP یا پروتکل دیتاگرام کاربر (User Datagram Protocol) پروتکل‌های شبکه هستند که هدفشان انتقال پاکت‌های دیتا (Data Packets) هستند. اگر شما مطمئن نیستید که پاکت دیتا چیست باید گفت که آنها هر نوع از دیتا هستند که از طریق وب منتقل می‌شود مانند ایمیل، پیام، درخواست اتصال و غیره.

TCP و UDP بر روی بستر پروتکل اینترنت یا همان IP کار میکنند و آنها پورت‌های متفاوتی را بر روی دستگاه شما برای انتقال پاکت‌های دیتا به روتر درست استفاده می‌نمایند. در کنار آنها همچنین پاکت‌ها را به آدرس IP گیرنده ارسال میکنند.

برخی ممکن است که به شما بگویند تی سی پی و یو دی پی تنها پروتکل‌های شبکه هستند، اما صحیح نیست. در واقع به طور مثال ICMP یا پروتکل پیام کنترل اینترنت (Internet Control Message Protocol) هم جزئی از پروتکل‌ها می‌باشد اما دو موردی که ما بررسی میکنیم بیشترین استفاده را دارند.

حال میخواهیم تا هر پروتکل را جداگانه مورد بررسی قرار بدهیم.

TCP

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

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

هر زمان که شما به یک وبسایت مراجعه می‌کنید یا بر روی یک لینک بر روی وب کلیک می‌نمایید، این پروسه تکرار می‌شود.

توجه داشته باشید تفاوت در آن است که، مرورگر پاکت‌های درخواست را می‌فرستد تا “درخواست” دیتا را از وب سرور انجام دهد. در عوض، سرور به درخواست‌ها با پاکت‌های دیتا پاسخ می‌دهد. این دو موضوع رو با یکدیگر اشتباه نگیرید چون دارای تفاوت هستند.

 

موارد دیگری که خوب است تا درباره TCP بدانید:

تمامی پاکت‌های خود را شماره‌گذاری کرده و آنها را به ترتیب ارسال می‌کند.

زمانی که یک پاکت دیتا را با موفقیت ارسال می‌نماید، گیرنده یک تصدیق (Acknowledgement) به فرستنده ارسال می‌کند. اگر تصدیق دریافت نگردد، آن پاکت دیتا گمشده در نظر گرفته می‌شود. و دوباره ارسال صورت می‌پذیرد.

تمامی پاکت‌های دیتا به دقت چک شده تا خطا (error) و خرابی (corruption) وجود نداشته باشد. همچنین، آنها را دنبال می‌کند تا اطمینان حاصل گردد که هیچ اطلاعاتی در ضمن انتقال گم نشده است. با توجه به آن، تقریبا هر فایلی که شما دانلود می‌کنید دارای دقت بالا است هر چند اگر مشکلات اتصال (connectivity issues) داشته باشید.

اگر تی سی پی نتواند یک اتصال را با وب سرور به دلیل آنکه آفلاین است، برقرار نماید، بعد از چند تلاش توقف میکند. به همین دلیل است که شما پیغام “این سایت در دسترس نمی‌باشد” یا “This site can’t be reached” را دریافت می‌کنید.

UDP

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

به هر روی، اگر گیرنده (recipient) تعدادی از پاکت‌های یو‌دی‌پی را دریافت نکند، امکان بازیابی آنها وجود نخواهد داشت. به این دلیل است که این پروتکل اغلب برای بازی کردن (gaming)، ویدیو کنفرانس (video Conferencing) و پخش زنده (broadcast) مورد استفاده قرار میگیرد.

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

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

TCP vs UDP

مقایسه TCP و UDP در یک نگاه

در اینجا نگاهی سریع به تفاوت‌های اصلی موجود مابین این دو پروتکل می‌پردازیم.

UDP TCP
سرعت (Speed) سریع آرام
قابلیت اطمینان (Reliability) کم زیاد
ارتباط (Connection) کانکشن برقرار نیست کانکشن برقرار است
روش انتقال (Transfer Method) پاکت‌های انفرادی جریان پاکت‌ها
تشخیص خطا (Error Detection) دارد دارد
تصحیح خطا (Error Correction) ندارد دارد
اندازه هدر (Header Size) کوچک بزرگ
تصدیق (Acknowledgement) ندارد نیاز به تصدیق از جانب گیرنده
ترتیب دهی (Sequencing) ندارد – نمی‌شمارد پاکت‌ها را می‌شمارد
کنترل تراکم (Congestion Control) ندارد بله – از کنترل ارتباط مناسب مطمئن میشود
موارد استفاده (Used For) بازی، پخش، ویدیو کنفرانس ایمیل، جستجو اینترنتی، انتقال فایل، استریم

 

TCP در مقابل UDP (نگاه عمیق)

بنابراین ، تفاوت بین TCP و UDP دقیقاً چیست؟ ما قبلاً نگاهی گذرا به اختلافات آنها انداختیم، اما بیایید ببینیم منظور همه آنها چیست…

اگرچه ما در مورد برنامه های یو دی پی در مقابل تی سی پی بحث نمی کنیم، زیرا آنها بسیار ساده هستند. آنچه در جدول ذکر کردیم تقریباً همه اینها را جمع می کند.

در مورد روشهای انتقال نیز چیز زیادی برای گفتن نیست. آنچه می بینید در واقع همان چیزی است که دریافت می کنید – TCP از جریان بسته های داده استفاده می کند و UDP بسته ها را به صورت جداگانه ارسال می کند.

با این کار ، بیایید شروع کنیم:

 

سرعت

UDP هیچگونه بررسی خطایی انجام نمی دهد، درخواست تأیید می کند، کنترل ازدحام دارد و بسته های شماره گذاری را به زحمت می اندازد. به همین دلیل، هدر بسیار سبک تر خواهد شد و هیچ وقت در انتظار پاسخ دریافت کنندگان یا اتصالات بررسی مجدد نخواهد بود.

بدیهی است که سرعت یو دی پی بسیار سریعتر از تی سی پی خواهد بود.

 

قابلیت اطمینان

هرچند که این سرعت های بالا هزینه ای در بر دارد – انتقال داده های غیر قابل اعتماد. وقتی از UDP استفاده می کنید ، هیچ تضمینی برای دریافت بسته های مورد نیاز ندارید. یا اینکه آنها را بدون خطا دریافت خواهید کرد.

این مشکل بزرگی در بازی های آنلاین یا هنگام محتوا نیست. اما اگر از UDP برای انتقال پرونده استفاده می کنید ، احتمالاً پرونده های خراب یا پرونده هایی را که کار نمی کنند دریافت می کنید زیرا داده های آنها کم است.

TCP ممکن است کندتر باشد ، اما سیستم خوبی در اختیار دارد تا اطمینان حاصل کند که انتقال داده قابل اعتماد است (تشخیص و اصلاح خطا ، تعیین توالی بسته ها ، دست دادن TCP ، تقدیرنامه ها و غیره).

 

اتصالات

یک تفاوت بین TCP و UDP که بسیار واضح نیست ، نحوه مدیریت اتصالات است.

TCP بسیار متمرکز بر اتصال است ، بنابراین قبل از انتقال هر داده یکی را ایجاد می کند. این فرآیند “دست دادن TCP” نامیده می شود. TCP پس از ایجاد اتصال ، انتقال بسته های درخواست و بسته های داده را آغاز می کند.

از طرف دیگر ، UDP به طور مداوم با این مسئله اذیت نمی شود. معمولاً پروتکل می تواند ارسال بسته ها را حتی بدون ایجاد ارتباط با گیرنده آغاز کند.

 

شما کدامیک را ترجیح میدهید؟ TCP یا UDP

کدامیک از پروتکل‌هایی که در این مقاله به بحث و توضیح درباره آنها پرداختیم برای شما تجربه بهتری را فراهم میکند؟ آیا برای شما پایدار بودن ارتباط دارای اهمیت است یا اینکه سرعت مهم‌ترین فاکتور انتخاب برای شماست؟

خوشحال میشیم نظرات شما رو در این باره بدونیم. همچنین اگر اطلاعاتی دارید که در این مقاله به آنها پرداخته نشده است، آنها را با ما به اشتراک بگذارید.