TCPوUDP چه تفاوتی دارند

🌐 قسمت سوم: TCP و UDP چه تفاوتی دارند؟

در قسمت قبل گفتیم Port مشخص می‌کند با کدام سرویس ارتباط داریم. حالا سؤال مهم این است:

> داده‌ها با چه روشی بین دو سیستم منتقل می‌شوند؟

اینجا با دو پروتکل معروف یعنی TCP و UDP روبه‌رو می‌شویم.

---

🔵 TCP چیست؟

TCP (Transmission Control Protocol) یک پروتکل اتصال‌گرا و قابل‌اعتماد است.

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

یک تشبیه ساده:

📦 TCP مثل ارسال یک بسته پستی با پیگیری است:

درخواست اتصال

برقراری ارتباط

ارسال داده

تأیید دریافت

در صورت نیاز → ارسال مجدد
---

🟢 UDP چیست؟

UDP (User Datagram Protocol) معمولاً بدون ایجاد یک اتصال پایدار، داده‌ها را ارسال می‌کند.

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

مثلاً:

🎮 بازی آنلاین
📺 پخش زنده
📞 تماس صوتی و تصویری
🌐 برخی کاربردهای DNS

---

⚔️ مقایسه TCP و UDP

| ویژگی | TCP | UDP |
| ----------------- | ---------------------- | ---------------------------------------- |
| نوع ارتباط | اتصال‌گرا | بدون اتصال |
| اطمینان از دریافت | دارد | تضمین نمی‌کند |
| ترتیب داده‌ها | حفظ می‌شود | تضمین نمی‌شود |
| کنترل خطا | دارد | محدودتر |
| سرعت/سربار | معمولاً سربار بیشتر | معمولاً سبک‌تر |
| کاربرد | وب، ایمیل، انتقال فایل | استریم، بازی، VoIP و برخی سرویس‌های شبکه |

---

🧩 یک مثال خیلی ساده

فرض کن می‌خواهی سه تکه اطلاعات بفرستی.

TCP:

داده 1 → دریافت شد ✅
داده 2 → دریافت نشد ❌
داده 2 → ارسال مجدد 🔄
داده 3 → دریافت شد ✅
تمرکز روی قابلیت اطمینان است.

UDP:

داده 1 ─────────→
داده 2 ────────→
داده 3 ─────────→
تمرکز بیشتر روی سرعت و سادگی انتقال است و دریافت همه بسته‌ها تضمین نمی‌شود.

---

🧠 پس کدام بهتر است؟

هیچ‌کدام همیشه «بهتر» نیستند.

اگر دقت، ترتیب و قابلیت اطمینان مهم باشد، TCP معمولاً انتخاب مناسبی است.

اگر سرعت، تأخیر پایین و سربار کمتر مهم باشد، UDP می‌تواند مناسب‌تر باشد.

انتخاب پروتکل به نوع برنامه و نیاز آن بستگی دارد.

---

🔗 ارتباط IP، Port و TCP/UDP

حالا سه مفهوم قبلی را کنار هم بگذاریم:

IP Address

کدام دستگاه؟

Port

کدام سرویس؟

TCP / UDP

داده با چه پروتکلی منتقل شود؟
مثلاً:

203.0.113.5:443

└── TCP
یعنی یک ارتباط TCP با Port شماره 443 روی آن آدرس.

> مثال‌های IP در این آموزش صرفاً برای توضیح مفاهیم هستند.

---

🛡️ نکته امنیتی

TCP و UDP خودشان «خوب» یا «بد» نیستند. هر دو بخش استاندارد ارتباطات شبکه‌اند.

در بررسی و مدیریت شبکه، شناخت این دو پروتکل کمک می‌کند بفهمیم یک سرویس چگونه با شبکه ارتباط برقرار می‌کند.

---

📝 خلاصه

TCP → قابل‌اعتمادتر، منظم‌تر، دارای کنترل بیشتر

UDP → سبک‌تر، سریع‌تر، بدون تضمین دریافت

IP → دستگاه را مشخص می‌کند
Port → سرویس را مشخص می‌کند
TCP/UDP → روش انتقال داده را مشخص می‌کند