← همه سؤال‌ها
تفاوت اصلی بین پروتکل های TCP و UDP چیست؟
متوسطمبتدیDevOps

تفاوت اصلی بین پروتکل های TCP و UDP چیست؟

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

TCP و UDP دو پروتکل لایه انتقال اصلی هستند که در بالای IP اجرا می شوند. تمایز اصلی: TCP اتصال گرا و قابل اعتماد است، در حالی که UDP بدون اتصال است و بر اساس "آتش و فراموش کردن" کار می کند.

TCP (RFC 9293)

  • ارتباط گرا. قبل از ارسال داده، نقاط پایانی یک دست دادن سه طرفه (3WHS) انجام می دهند: SYN → SYN-ACK → ACK، همگام سازی شماره های دنباله اولیه.
  • قابل اعتماد و سفارش داده شده. هر بایت یک شماره دنباله دریافت می کند. گیرنده تأییدیه ها (ACK) را ارسال می کند، بخش های از دست رفته مجددا ارسال می شوند و داده ها به ترتیب اصلی دوباره جمع می شوند. یکپارچگی با یک چک‌سام تأیید می‌شود. RFC 9293 بیان می کند که TCP "یک سرویس جریان بایت قابل اعتماد و منظم ارائه می دهد."
  • جریان بایت، بدون مرز پیام. TCP یک جریان بایت بدون ساختار ارائه می دهد: مرزهای پیام حفظ نمی شوند (برنامه باید پیام های خود را قاب بندی کند). UDP، در مقابل، پیام گرا است - هر دیتاگرام به عنوان یک واحد مجزا، کامل یا اصلا تحویل داده می شود (یک ارسال به = یک recvfrom).
  • کنترل جریان و تراکم. TCP نرخ ارسال خود را کاهش می دهد بنابراین نه گیرنده و نه شبکه را تحت تأثیر قرار می دهد.
  • تعویض: سربار و تأخیر بیشتر، و هدر بزرگتر - 20 تا 60 بایت (20 بایت بدون گزینه، قابل تمدید از طریق گزینه هایی مانند MSS، مقیاس پنجره، SACK).

UDP (RFC 768)

  • بدون اتصال. دست دادن وجود ندارد. هر دیتاگرام مستقل است.
  • تضمینی وجود ندارد. RFC به صراحت می گوید "تحویل و محافظت تکراری تضمین نمی شود" - UDP بسته های گم شده، تکراری یا خارج از سفارش را بازیابی نمی کند.
  • هدر 8 بایتی ثابت فقط با چهار فیلد: پورت منبع، پورت مقصد، طول، چک جمع.
  • مزایا: تاخیر کم و سربار، به علاوه پشتیبانی از پخش/چندپست.

زمان استفاده از کدام

  • TCP: وب (HTTP/HTTPS از طریق TCP)، ایمیل، انتقال فایل، SSH - در هر جایی که یکپارچگی داده اهمیت دارد.
  • UDP: جستجوی DNS، بازی آنلاین، VoIP، پخش زنده ویدیو - که در آن سرعت بیش از یک بسته گم شده اهمیت دارد.

نکات متداول پیگیری

  • UDP به خودی خود داده ها را سفارش نمی دهد، اما یک برنامه کاربردی می تواند منطق خود را در بالا لایه بندی کند (QUIC این کار را از طریق UDP انجام می دهد).
  • HTTP/3 روی QUIC از طریق UDP اجرا می شود، در حالی که HTTP/1.1 و HTTP/2 روی TCP اجرا می شوند.
  • جمع کنترل UDP از نظر فنی در IPv4 اختیاری است (مقدار صفر به معنای "محاسبه نشده" است) اما در IPv6 اجباری است.
TCPUDPشبکه‌سازی

همین حالا دانلود کنید و برای کارهای خود رایگان امتحان کنید!

دانلود برای Windows
10 15 اعتبار رایگان • بدون نیاز به کارت اعتبارینسخه: در حال بارگذاری…

بدون نصب - دانلود و اجرا کن. بدون ثبت‌نام - ورود با Google.