مدل TCP/IP — Transmission Control Protocol / Internet Protocol
🎯 اهداف یادگیری
در پایان این درس، دانشجو میتواند:
- چهار لایه مدل TCP/IP را نام ببرد و توضیح دهد
- تفاوت TCP و UDP را بیان کند
- نقش هر پروتکل اصلی TCP/IP را شرح دهد
- تفاوت مدل TCP/IP و OSI را مقایسه کند
- درک کند چرا TCP/IP مدل عملی اینترنت است
پیشنیاز: درس ۰۳ — مدل OSI
۱. مقدمه
در درس قبلی با مدل OSI آشنا شدیم. OSI مدلی مفهومی و آموزشی است. اما در دنیای واقعی، اینترنت با مدل دیگری ساخته شده است: مدل TCP/IP.
TCP/IP مدلی عملی است. وقتی شما یک وبسایت را باز میکنید، دقیقاً پروتکلهای TCP/IP هستند که کار میکنند، نه OSI.
۲. مدل TCP/IP چیست؟
TCP/IP خانوادهای از پروتکلهاست که پایه و اساس اینترنت را تشکیل میدهد. مدل TCP/IP ارتباط شبکه را به ۴ لایه تقسیم میکند:
┌─────────────────────────────┐
│ 4. Application │ ← لایه برنامه
├─────────────────────────────┤
│ 3. Transport │ ← لایه انتقال
├─────────────────────────────┤
│ 2. Internet │ ← لایه اینترنت
├─────────────────────────────┤
│ 1. Network Access │ ← لایه دسترسی شبکه
└─────────────────────────────┘
نکته: برخی منابع TCP/IP را ۵ لایه مینامند (Network Access را به Data Link و Physical تقسیم میکنند). هر دو رویکرد صحیح است.
۳. توضیح هر لایه
لایه ۱ — Network Access (دسترسی شبکه)
این لایه مسئول ارسال و دریافت داده روی رسانه فیزیکی است. در مدل OSI معادل لایههای Physical و Data Link است.
| پروتکل / استاندارد | توضیح |
|---|---|
| Ethernet (IEEE 802.3) | استاندارد اصلی LAN باسیم |
| Wi-Fi (IEEE 802.11) | استاندارد اصلی LAN بیسیم |
| ARP | تبدیل IP به MAC |
| PPP | ارتباط نقطه به نقطه |
دستگاهها: Hub، Switch، NIC (کارت شبکه)
لایه ۲ — Internet (اینترنت)
این لایه مسئول آدرسدهی و مسیریابی بستهها بین شبکههای مختلف است. معادل لایه Network در مدل OSI.
| پروتکل | توضیح |
|---|---|
| IP (Internet Protocol) | پروتکل اصلی آدرسدهی و مسیریابی |
| ICMP | گزارش خطا و عیبیابی (ping) |
| IGMP | مدیریت گروههای Multicast |
دو نسخه IP:
- IPv4 — آدرسهای ۳۲ بیتی (مثلاً 192.168.1.1)
- IPv6 — آدرسهای ۱۲۸ بیتی (مثلاً 2001:db8::1)
دستگاه: Router
لایه ۳ — Transport (انتقال)
این لایه مسئول انتقال داده بین برنامهها (نه دستگاهها) است. دو پروتکل اصلی این لایه TCP و UDP هستند.
TCP — Transmission Control Protocol
TCP پروتکلی قابلاعتماد است. ویژگیها:
- اتصال مستقر (Connection-Oriented) — قبل از ارسال داده، اتصال برقرار میشود
- ترتیبدهی (Ordering) — بستهها به ترتیب صحیح میرسند
- تایید دریافت (Acknowledgment) — فرستنده مطمئن میشود داده رسیده
- کنترل جریان (Flow Control) — جلوگیری از سرریز گیرنده
- کنترل ازدحام (Congestion Control) — جلوگیری از ازدحام شبکه
کاربردها: HTTP، FTP، SMTP، SSH
UDP — User Datagram Protocol
UDP پروتکلی سبک و سریع است. ویژگیها:
- بدون اتصال (Connectionless) — هیچ handshaking وجود ندارد
- بدون تضمین (Unreliable) — داده ممکن است گم شود
- بدون ترتیب — بستهها ممکن است خارج از ترتیب برسند
- سرعت بالا — هیچ سربار اضافی ندارد
کاربردها: DNS، VoIP، ویدیوی آنلاین، بازی آنلاین
شماره پورت: هر دو پروتکل از شماره پورت برای شناسایی برنامه مقصد استفاده میکنند:
| پورت | پروتکل | سرویس |
|---|---|---|
| 80 | TCP | HTTP |
| 443 | TCP | HTTPS |
| 53 | TCP/UDP | DNS |
| 25 | TCP | SMTP |
| 22 | TCP | SSH |
| 67/68 | UDP | DHCP |
لایه ۴ — Application (برنامه)
این لایه شامل پروتکلهایی است که برنامههای کاربردی مستقیماً از آنها استفاده میکنند. در مدل OSI معادل لایههای Session، Presentation و Application است.
| پروتکل | توضیح | پورت پیشفرض |
|---|---|---|
| HTTP | انتقال صفحات وب | 80 |
| HTTPS | HTTP امن (TLS/SSL) | 443 |
| DNS | تبدیل نام دامنه به IP | 53 |
| DHCP | اختصاص خودکار آدرس IP | 67/68 |
| SMTP | ارسال ایمیل | 25 |
| POP3 | دریافت ایمیل | 110 |
| IMAP | مدیریت ایمیل | 143 |
| FTP | انتقال فایل | 20/21 |
| SSH | اتصال امن از راه دور | 22 |
| Telnet | اتصال معمولی از راه دور | 23 |
۴. مقایسه TCP و UDP
| ویژگی | TCP | UDP |
|---|---|---|
| اتصال | Connection-Oriented | Connectionless |
| تضمین تحویل | ✅ بله | ❌ خیر |
| ترتیب بستهها | ✅ حفظ میشود | ❌ تضمین نمیشود |
| سرعت | کمتر (سربار بیشتر) | بیشتر (سربار کمتر) |
| مصرف پهنای باند | بیشتر | کمتر |
| کنترل خطا | ✅ | ❌ |
| کاربرد | فایل، وب، ایمیل | استریم، DNS، VoIP |
قواعد ساده:
- اگر قابلیت اعتماد مهم است ← TCP
- اگر سرعت مهم است ← UDP
۵. مقایسه TCP/IP و OSI
| ویژگی | OSI | TCP/IP |
|---|---|---|
| تعداد لایهها | ۷ | ۴ (یا ۵) |
| نوع | مدل مفهومی | مدل عملی |
| استفاده در | آموزش و تحلیل | اینترنت واقعی |
| پروتکلها | پروتکل خاصی ندارد | TCP، IP، UDP و ... |
| سازنده | ISO | 国防部 آمریکا (DARPA) |
گراف تطابق:
OSI TCP/IP
┌────────────┐ ┌──────────────────┐
│Application │ │ │
├────────────┤ │ Application │
│Presentation│ │ │
├────────────┤ └──────────────────┘
│ Session │
├────────────┤ ┌──────────────────┐
│ Transport │ │ Transport │
├────────────┤ └──────────────────┘
│ Network │ ┌──────────────────┐
├────────────┤ │ Internet │
│ Data Link │ └──────────────────┘
├────────────┤ ┌──────────────────┐
│ Physical │ │ Network Access │
└────────────┘ └──────────────────┘
۶. مثال واقعی
وقتی شما وارد سایت wikipedia.org میشوید:
مرحله ۱ — Application:
Browser درخواست HTTP ایجاد میکند
مرحله ۲ — Transport:
TCP اتصال برقرار میکند (Three-Way Handshake)
درخواست به Segment تقسیم میشود
مرحله ۳ — Internet:
IP آدرس مقصد (IP سرور Wikipedia) را اضافه میکند
مرحله ۴ — Network Access:
Ethernet Frame ساخته میشود و به صورت سیگنال الکتریکی
روی کابل ارسال میشود
و سرور Wikipedia دقیقاً عکس این مراحل را انجام میدهد تا صفحه به شما برسد.
۷. خلاصه
- TCP/IP مدل عملی و واقعی اینترنت است (۴ لایه).
- OSI مدل مفهومی و آموزشی است (۷ لایه).
- TCP انتقال قابلاعتماد با اتصال مستقر انجام میدهد.
- UDP انتقال سریع بدون تضمین انجام میدهد.
- پورتها شمارههایی هستند که برنامهها را شناسایی میکنند.
- پروتکلهای اصلی اینترنت روی مدل TCP/IP سوار شدهاند.
⚠️ خطاهای رایج
-
فکر کردن OSI = TCP/IP: این دو مدل متفاوت هستند. OSI آموزشی، TCP/IP عملی.
-
ادغام لایه Internet و Transport: لایه Internet مسیریابی بین شبکهها انجام میدهد. لایه Transport انتقال بین برنامهها را مدیریت میکند.
-
فکر کردن TCP همیشه بهتر است: برای برنامههای Real-time مانند تماس تصویری، UDP بهتر است چون سریعتر است.
❓ سوالات مرور
- مدل TCP/IP چند لایه دارد؟ نام آنها را بگویید.
- تفاوت اصلی TCP و UDP چیست؟
- چرا در بازی آنلاین از UDP استفاده میشود نه TCP؟
- HTTP از کدام پروتکل لایه Transport استفاده میکند؟
- DNS از کدام پروتکل لایه Transport استفاده میکند؟ (پاسخ: هر دو TCP و UDP)
- شماره پورت HTTP چقدر است؟
📚 اصطلاحات مهم
| English | فارسی | توضیح |
|---|---|---|
| TCP (Transmission Control Protocol) | پروتکل کنترل انتقال | پروتکل قابلاعتماد با اتصال مستقر |
| UDP (User Datagram Protocol) | پروتکل دادگرام کاربر | پروتکل سبک بدون اتصال |
| Port | پورت | شماره شناسایی برنامه در لایه Transport |
| Segment | بخش | واحد داده TCP |
| Datagram | دادگرام | واحد داده UDP |
| Connection-Oriented | اتصال مستقر | اتصال قبل از انتقال برقرار میشود |
| Connectionless | بدون اتصال | داده بدون برقراری اتصال ارسال میشود |
| Three-Way Handshake | اتصال سهطرفه | فرآیند برقراری اتصال TCP |
| Protocol Suite | خانواده پروتکل | مجموعه پروتکلهای مرتبط با هم |
🔗 منابع
- RFC 793 — Transmission Control Protocol (TCP)
- RFC 768 — User Datagram Protocol (UDP)
- RFC 1122 — Requirements for Internet Hosts
- RFC 3439 — Some Internet Design Philosophy
درس بعدی: آدرسدهی IPv4 — چگونه به دستگاهها آدرس میدهیم