TCP/IP Model
مدل TCP/IP چیه و چطور کار میکنه

مدل TCP/IP که بهش Internet Protocol suite هم میگن یک چارچوب لایهایه که برای طراحی و توضیح شبکههای کامپیوتری و اینترنت استفاده میشه. برخلاف مدل OSI که دارای ۷ لایه است، مدل TCP/IP سادهتره و معمولاً به ۴ یا ۵ لایه تقسیم میشه. شاید بشه گفت مدل TCP/IP نسخه خلاصه و ساده شده OSI مدل باشه. کار اصلی این مدل انتقال دیتا از یک دستگاه به دستگاه دیگره به این صورت که دیتا به پکتهایی تقسیم میشه و در طرف دیگر این پکتها دوباره به هم متصل میشن.
اینجا هم مثل OSI model پکت از یک لایه پردازش میشه به لایه بعدی میره و زمانی که به لایه آخر رسید، ارسال میشه به سمت گیرنده و اونجا پکت عکس طرف فرستنده پردازش میشه و به گیرنده تحویل داده میشه.
نکته: تفاوت مدل ۴ لایه با ۵ لایه در دو لایه آخره که دو لایه زیر تبدیل میشن به یک لایه:
Data-Link Layer+Physical Layer->Network Access Layer
شاید براتون سوال بشه تفاوت TCP و IP چیه یا چرا این دو تا کنار هم اومدن و این مدل رو شکل دادن؟ ساده بگیم TCP برای سازوکار انتقال دیتاس و IP برای آدرسدهی استفاده میشه؛ برخلاف TCP، پروتکل UDP برای انتقال دیتا به IP نیازی نداره.
لایههای مدل TCP/IP
1 – لایه اپلیکیشن (Application Layer)
این لایه که بالاترین لایه TCP/IP مدل هست مسئول تعامل مستقیم با کاربر برای گرفتن و انتقال دیتاس.
سه پروتکل اصلی توی این لایه قرار میگیرن که شامل این موارد هستن:
- HTTP / HTTPS (Hyper Text Transfer Protocol + SSL):
این پروتکل توسط تمامی وبسرورها و مرورگرها استفاده میشه تا ارتباط بین این دو رو مدیریت کنه و دیتا رو انتقال بده. - SSH (Secure Socket Shell):
برای ارتباط با سرورهای مجازی و دسترسی شل به اونها استفاده میشه اما در TCP/IP مدل، وظیفش حفظ ارتباط امن و رمزنگاری شده بین دو دستگاهه تا یک نشست امن برای انتقال دیتا وجود داشته باشه. - NTP (Network Time Protocol):
این پروتکل برای همزمانسازی ساعت فرستنده و گیرنده استفاده میشه تا ساعت هر دو یکی باشن و مشکلی نداشته باشه.
2 – لایه انتقال (Transport Layer)
وظیفه این لایه مدیریت ارتباط End-to-End و اطمینان از اینه که دیتا بدون کاستی و ارور به مقصد میرسه. اصلیترین پروتکلهای این لایه خود TCP و همچنین UDP هستند.
UDP = User Datagram Protocol
نحوه انتقال دیتا در TCP به این صورته که اول اتصال شکل میگیره، بعد دیتا به صورت بایت بایت به ترتیب و پشت سر هم منتقل میشن و در آخر اتصال بسته میشه؛ اما UDP دیتا رو مستقیم ارسال میکنه، دستگاهها زمانی که بخوان حجم پایینی از دیتا رو منتقل کنن از این پروتکل استفاده میکنند.
مقایسه پروتکلهای TCP و UDP
| ویژگی | TCP | UDP |
|---|---|---|
| نوع اتصال | Connection-Oriented (نیازمند برقراری اتصال) | Connectionless (بدون برقراری اتصال) |
| سرعت | کندتر (به دلیل تاییدیه و كنترل خطا) | بسیار سریعتر |
| امنیت و قابلیت اطمینان | بالا (تضمین تحویل دادهها به ترتیب) | پایینتر (بدون تضمین تحویل) |
| کاربردها | وب (HTTP/HTTPS)، ایمیل، SSH | DNS، استریم ویدیو، بازیهای آنلاین |
3 – لایه شبکه یا اینترنت (Network / Internet Layer)
عملکرد این لایه مشابه لایه Network در OSI هست، به این صورت که با تعریف پروتکلهایی که مسئول انتقال منطقی دیتا در سراسر شبکه هستند، داده رو ارسال میکنه.
پروتکلهای اصلی این لایه:
- IP (Internet Protocol)
- ICMP (Internet Control Message Protocol)
- ARP (Address Resolution Protocol)
IP (Internet Protocol)
مسئول رساندن پکت از مبدا به مقصد به وسیله چک کردن هدر پکتها و آدرسی که روشون گذاشته شده؛ آیپی دو ورژن متفاوت داره:
-
آیپی ورژن ۴ (IPv4):
از چهار اوکتت (بخش) تشکیل شده، هر اوکتت میتونه تا عدد ۲۵۵ مقدار داشته باشه.
مثال:192.168.1.1192: اوکتت اول168: اوکتت دوم1: اوکتت سوم1: اوکتت چهارم
هر اوکتت به وسیله یک نقطه جدا میشه. اکثر دیوایسها از این ورژن آیپی استفاده میکنند.
-
آیپی ورژن ۶ (IPv6):
از ۱۶ اوکتت تشکیل شده و هر اوکتت ۸ بیته.
مثال:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
مقایسه ساختار IPv4 و IPv6
| ویژگی | IPv4 | IPv6 |
|---|---|---|
| طول آدرس | ۳۲ بیت (۴ اوکتت) | ۱۲۸ بیت (۱۶ اوکتت) |
| فرمت نمایش | دهدهی (Decimal) جداشده با نقطه | شانزدهشانزدهی (Hexadecimal) جداشده با دو نقطه |
| تعداد آدرسها | حدود ۴.۳ میلیارد | حدود 3.4x10^38 |
ICMP (Internet Control Message Protocol)
به زبان ساده مسئول ارائه مشکلات شبکه به host هاست؛ دستور ping از این پروتکل استفاده میکنه.
ARP (Address Resolution Protocol)
مسئول پیدا کردن مک آدرس یک دستگاه با استفاده از آدرس IP اون دستگاه. ARP مدلهای مختلفی داره که بعداً راجبشون صحبت میکنیم.
در کل این لایه فرآیند روتینگ برای ارسال پکتهای دیتا از یک دستگاه به دستگاه دیگه روی یک نتوورک رو انجام میده و از اینکه پکتها به درستی به مقصد رسیدن اطمینان حاصل میکنه.
4 – لایه پیوند داده (Data-Link Layer)
نوع پروتکل پکتها برای ارسال توسط این لایه مشخص میشه؛ این لایه مسئول جلوگیری از ارور و انجام فرآیند فریمینگ هم هست که قبلاً راجع بهش صحبت کردیم.
5 – لایه فیزیکی (Physical Layer)
ارسال دیتا به صورت بیتهای باینری به وسیله تجهیزات موجود در شبکه، درست مثل لایه متناظرش در OSI.