TCP — پروتکل کنترل انتقال

جریان قابل اطمینان و مرتب از بایت‌ها روی شبکه‌ای که بسته گم می‌کند. TCP با دست‌دهی، شمارهٔ ترتیب، تصدیق و ارسال مجدد این اطمینان را می‌سازد.

  • لایهٔ OSI: 4 (انتقال)
  • انتقال: IP (پروتکل 6)
  • پورت: —
  • استاندارد: RFC 9293
  • سطح: مقدماتی · حدود 9 دقیقه

نکته‌های کلیدی

  • TCP اتصال‌گرا و قابل اطمینان است: ترتیب، تصدیق، ارسال مجدد و کنترل جریان.
  • دست‌دهی سه‌مرحله‌ای: SYN، سپس SYN-ACK و در پایان ACK.
  • کنترل ازدحام (مثل CUBIC و BBR) سرعت ارسال را با ظرفیت مسیر تطبیق می‌دهد.

مراحل شبیه‌سازی (9 بسته)

  1. SYN: کلاینت با پرچم SYN یک شمارهٔ ترتیب اولیهٔ تصادفی (ISN) انتخاب و قابلیت‌هایش را در گزینه‌ها اعلام می‌کند.
  2. SYN-ACK: سرور ISN خودش را انتخاب می‌کند و شمارهٔ کلاینت به‌علاوهٔ یک را تصدیق می‌کند.
  3. ACK: با این بسته دست‌دهی سه‌مرحله‌ای کامل و اتصال برقرار می‌شود.
  4. داده (PSH): کلاینت ۳۵ بایت داده می‌فرستد. شمارهٔ ترتیب به ازای هر بایت جلو می‌رود.
  5. ACK: سرور دریافت را تصدیق می‌کند: شمارهٔ تصدیق = ترتیب قبلی + ۳۵.
  6. سگمنت گم‌شده: یک سگمنت پاسخ در مسیر گم می‌شود. فرستنده چون تصدیقی دریافت نمی‌کند، پس از مهلت (RTO) یا سه ACK تکراری آن را دوباره می‌فرستد.
  7. ارسال مجدد: همان سگمنت با همان شمارهٔ ترتیب دوباره ارسال و این بار دریافت می‌شود. برنامه اصلاً متوجه گم‌شدن نمی‌شود.
  8. FIN: کلاینت کارش تمام است و با FIN نیمهٔ خودش را می‌بندد.
  9. FIN + ACK: سرور هم می‌بندد. کلاینت پس از ACK آخر مدتی در حالت TIME-WAIT می‌ماند.

درس‌های مرتبط

  • Wi‑Fi — شبکهٔ بی‌سیم 802.11
  • DHCP — پیکربندی پویای میزبان
  • ARP — پروتکل تفکیک آدرس
  • DNS — سامانهٔ نام دامنه
  • TLS 1.3 — امنیت لایهٔ انتقال
  • HTTP/2 — نسل دوم HTTP
  • UDP — پروتکل دیتاگرام کاربر
  • QUIC — انتقال سریع و امن روی UDP