زمانی که از یک وبسایت دیدن میکنید یا برنامه متصل به اینترنت را در گوشی همراه خود باز میکنید، کامیپوترها و سرورهای زیادی شروع به کار کرده و با یکدیگر همکاری میکنند تا در نهایت شما بتوانید بدون مشکل به هدف خود برسید. به عبارت بهتر، درست مانند ما انسانها، رایانهها هم هر لحظه به دنبال راه مشترکی برای برقراری ارتباط با یکدیگر هستند. امروزه اکثر کامپیوترها این کار را از طریق لایه های شبکه مدل TCP/IP انجام میدهند. مدل TCP/IP معمولاً در رایانهها ساخته شده و تا حد زیادی به صورت خودکار عمل میکند اما درک مدل TCP/IP میتواند برای شما مفید باشد، بهویژه زمانی که قصد اتصال رایانه خود به سیستمهای دیگری را دارید.
در این مقاله همراه ما باشید تا ابتدا به شما توضیح دهیم که مدل TCP/IP چیست، سپس به معرفی لایه های مدل tcp/ip بپردازیم.
مدل TCP/IP چیست؟
TCP/IP مخفف Transmission Control Protocol/Internet Protocol است. پروتکلهای اینترنت یا به اختصار TCP/IP، مجموعه پروتکلهایی هستند که لایه شبکه اینترنت را تشکیل میدهند. در واقع، این مدل مجموعهای از پروتکلهای ارتباطی است که برای انتقال دادهها در اینترنت و شبکههای کامپیوتری مشابه یا یک شبکه کامپیوتری خصوصی (اینترانت یا اکسترانت) استفاده میشود.
TCP/IP در طول جنگ سرد توسط وزارت دفاع ایالات متحده استفاده میشد. آنها از این مدل به عنوان راهی برای اتصال رایانهها به یکدیگر در شبکههای کامپیوتری درونمرزی خود استفاده میکردند. در آن زمان، محققان نیاز داشتند که به تجهیزات یکدیگر دسترسی داشته و پیامها را به سرعت و بدون ارسال مجدد آنها توسط گرههای میانی در مسیر ارسال کنند. این ضرورت منجر به توسعه پروتکل کنترل انتقال (TCP) و پروتکل اینترنت (IP) شد. این پروتکلها برای اتصالات ماشین به ماشین، مانند اتصال بین کامپیوترها از طریق شبکههای محلی یا شبکههای گسترده در نظر گرفته شده بودند.
با این اوصاف، قدمت مدل TCP/IP به اواخر دهه ۱۹۶۰ برمیگردد، زمانی که توسط دارپا به رسمیت شناخته شده و بعداً توسط سازمانهای دولتی و دانشگاهها در سراسر جهان به عنوان استاندارد مشترک شبکه پذیرفته شد.
ARPANET-1975 اولین نسخه TCP/IP بود که مخفف Advanced Research Projects Administration Network است. این نام در سال ۱۹۸۳ به TCP/IP تغییر کرد چرا که به یک استاندارد جهانی تبدیل شده و در هر شبکهای قابلاستفاده است.
مدل tcp ip به زبان ساده
بیایید مفهوم TCP/IP را به زبانی سادهتر بیان کنیم.
رابطه TCP/IP شبیه ارسال پیامی از طریق نامه است که بر روی یک پازل برای کسی نوشته شده است. پیام، روی پازل یادداشت شده و سپس تکهتکه میشود. هر قطعهی این پازل از طریق مسیر پستی متفاوتی ارسال میشود. لازم به ذکر است که زمان رسیدن پیامها به مقصد مورد نظرشان متفاوت است و رسیدن برخی از آنها به مقصدشان بیشتر از بقیه طول میکشد.
هنگامی که قطعات پازل پس از پیمودن مسیرهای مختلف خود به مقصد میرسند، احتمال از کار افتادن برخی از قطعات وجود دارد. بنابراین، IP این موضوع را بررسی کرده و اطمینان حاصل میکند که قطعات به آدرس مقصد خود رسیده باشند اما کاری به نتیجه کار و چیدن قطعات پازل کنار هم ندارد، زیرا IP یک پروتکل بدون اتصال است. این بدان معناست که هر واحد داده به طور جداگانه آدرسگذاری و مسیریابی شده و از دستگاه مبدا به دستگاه مقصد ارسال میشود ولی دستگاه هدف تأییدیهای مبنی بر دریافت به دستگاه مبدا نمیفرستد. اینجاست که TCP وارد عمل میشود.
TCP را در طرف دیگر میتوان به عنوان مونتاژ کننده پازل در نظر گرفت که قطعات را به ترتیب کنار هم میچیند تا پازل تکمیل شود. در صورتی که قطعاتی در مسیر گم شده باشند، از آنها درخواست میکند تا دوباره سفر خود را به سمت مقصد از سر بگیرند. پس از دریافت آنها به فرستنده اطلاع میدهد که کلیه قطعات پازل دریافت شد. در واقع، TCP ارتباط خود با فرستنده را پیش از ارسال اولین قطعه پازل تا بعد از ارسال قطعه نهایی حفظ میکند.

برای مثال، وقتی یک ایمیل از طریق TCP ارسال میشود، سه مرحله پیش رو دارد. در ابتدا، منبع یک بسته «درخواست اولیه» SYN را برای سرور هدف ارسال میکند تا گفتگو را شروع کند. سپس سرور هدف یک بسته SYN-ACK را برای موافقت با فرآیند ارسال میکند. در نهایت، منبع یک بسته ACK را برای تأیید فرآیند به هدف ارسال کرده و محتوای پیام ارسال میشود. پیام ایمیل قبل از ارسال به بستههای جداگانهای تقسیم شده و هر بسته مسیر متفاوتی نسبت به بقیه را برای رسیدن به هدف طی میکند. در نهایت، TCP بستههای دریافت شده را بررسی کرده و با کنار هم قرار دادن آنها محتوای اصلی ایمیل را تشکیل میدهد.
تفاوت مدل OSI و TCP/IP
برخی از افراد مدلهای OSI و TCP IP را یکسان در نظر میگیرند که ذهنیت اشتباهی است. با اینکه آنها بسیار شبیه به هم هستند، در اصل تفاوتهای عمدهای با هم دارند.
مدل OSI تعریف میکند که چگونه برنامهها میتوانند از طریق یک شبکه ارتباط برقرار کنند. در حالی که مدل TCP/IP برای حفظ و توضیح انتقال دادهها طراحی شده است. علاوه بر این، پروتکلهای TCP/IP استانداردهایی را ارائه میکنند که اینترنت بر اساس آن ایجاد شده است، در حالی که مدل OSI دستورالعملهایی را در مورد نحوه برقراری ارتباط ارائه میکند. بنابراین، TCP/IP مدل کاربردیتری است.
مدلهای TCP/IP و OSI شباهتها و تفاوتهایی دارند. شباهت اصلی آنها نحوه تمرکز آنها روی استفاده از لایههایشان است. تفاوت مهم دیگر آنها نیز این است که TCP/IP فقط ۴ لایه دارد اما مدل OSI از ۷ لایه تشکیل شده است. در زیر لایههای مدل OSI را معرفی میکنیم.
لایه های مدل osi

برای درک مدل OSI، ابتدا لازم است مفهوم لایهبندی را درک کنیم. لایهبندی تکنیکی است که در برنامهنویسی کامپیوتری برای تقسیم یک مشکل یا سیستمی پیچیده به بخشهای کوچکتر و قابلمدیریتتر استفاده میشود.
معادل فارسی عبارات تصویر:
OSI Model: مدل OSI
- Application Layer: لایه کاربرد
- Presentation Layer: لایه نمایش
- Session Layer: لایه نشست
- Transport Layer: لایه انتقال
- Network Layer: لایه شبکه
- Data Link Layer: لایه پیوند داده
- Physical Layer: لایه فیزیکی
TCP/IP Model: مدل tcp/ip
- Application Layer: لایه کاربرد
- Transport Layer: لایه انتقال
- Internet Layer: لایه اینترنت
- Network Access Layer: لایه دسترسی به شبکه
مدل OSI یک مدل هفت لایه است که پیچیدگی ارتباطات شبکه را به هفت بخش کوچکتر و قابلمدیریت تقسیم میکند که هر کدام مسئول جنبه متفاوتی از فرآیند ارتباط هستند.
- لایه فیزیکی: این لایه وظیفه انتقال دادهها در یک محیط فیزیکی مانند کابل یا بیسیم را بر عهده دارد.
- لایه پیوند داده: لایه پیوند داده وظیفه اطمینان از انتقال دقیق دادهها در یک پیوند داده را بر عهده دارد. همچنین، مشکلاتی را که در طول مدتزمان انتقال دادههای بیتی رخ میدهد، کنترل میکند.
- لایه شبکه: لایه شبکه دادهها در یک شبکه مسیریابی میکند.
- لایه انتقال: این لایه دادهها را به طور دقیق در یک شبکه منتقل کرده و مکانیزمهایی را برای بررسی خطا و کنترل جریانهای داده ارائه میدهد.
- لایه نشست: این لایه وظیفه مدیریت ارتباطات بین دو دستگاه را بر عهده دارد.
- لایه نمایش: لایه نمایش، دادهها را به فرمتی که توسط دستگاه مقصد قابل درک باشد، تبدیل میکند.
- لایه اپلیکیشن یا کاربرد: این لایه بستری را برای انسان یا نرمافزار ایجاد میکند تا از طریق آن بتوانند با شبکه یا برنامه ارتباط برقرار کرده و تعامل داشته باشند.
معرفی لایه های tcp ip

همانطور که گفتیم، لایه های شبکه مدل tcp/ip چهار نوع هستند که عبارتند از:
- لایه اپلیکیشن یا کاربرد
- لایه انتقال
- لایه اینترنت
- لایه دسترسی به شبکه
هر یک از لایه های شبکه مدل tcp/ip وظیفه خاصی را بر روی دادههایی که از طریق کانال شبکه منتقل میشوند، انجام میدهند. دادهها به ترتیب از لایه کاربرد حرکت کرده و به سمت لایه دسترسی به شبکه حرکت میکنند.
- Application Layer: لایه کاربرد
- Transport Layer: لایه انتقال
- Internet Layer: لایه اینترنت
- Network Access Layer: لایه دسترسی به شبکه
- Top To Bottom: از بالا به پایین
مدل بالا نشاندهنده جریان داده در هنگام ارسال داده از سمت فرستنده است. در صورت دریافت دادهها، لایههای مدل به صورت معکوس کار میکنند، یعنی از لایه دسترسی به شبکه به سمت بالا و لایه کاربرد میروند.
حال به هر یک از لایهها نگاه عمیقتری انداخته و در واقع آموزش لایه های شبکه را به شما ارائه دهیم.
لایه کاربرد

لایه کاربرد در tcp/ip بالاترین جایگاه را در میان لایههای آن دارد. این لایه برنامهها و اپلیکیشنهایی را نشان میدهد که از مدل TCP/IP برای ارتباط با کاربر در برنامهها استفاده کرده و وظایف مختلفی را توسط لایه انجام میدهند. برای مثال، لایه کاربرد دادهها را برای برنامههایی که توسط کاربر اجرا میشوند، نمایش داده و سپس آنها را به لایه انتقال ارسال میکند.
- User’s system: سیستم کاربر
- Interface: رابط
- Applications: برنامه ها
لایه کاربرد ارتباط روان بین برنامه و کاربر برای تبادل داده را حفظ کرده و ویژگیهای مختلفی مانند مدیریت سیستم از راه دور، خدمات ایمیل و غیره را ارائه میدهد.
برخی از پروتکلهای مورد استفاده در لایه کاربرد عبارتند از:
- HTTP: پروتکلی برای انتقال ابرمتن و دسترسی به اطلاعات موجود در اینترنت است.
- SMTP: پروتکل سادهای برای انتقال ایمیل است. به عبارت ساده، وظیفه رسیدگی به مراحل ارسال و سایر مسائل مربوط به ایمیل را بر عهده دارد.
- FTP: این پروتکل استانداردی است که بر انتقال فایلها از طریق کانال شبکه نظارت میکند.
- DNS: این لایه برای ترجمه بین نامهای دامنه و آدرسهای IP استفاده میشود.
لایه انتقال

لایه انتقال هم جزو مهمترین لایه های شبکه مدل tcp/ip است. این لایه وظیفه برقراری ارتباط بین فرستنده و دستگاه گیرنده را بر عهده دارد. همچنین دادهها را از لایه کاربرد دریافت کرده و به بستههای مختلفی تقسیم میکند. سپس آنها را به لایه اینترنت ارسال میکند. در واقع، لایه انتقال اتصال امنی میان لایه کاربرد و اینترنت ایجاد کرده و از ارسال دقیق و بدون خطای دادهها مطمئن میشود.
پروتکلهای استفاده شده در لایه انتقال عبارتند از:
- TCP: تیسیپی وظیفه انتقال صحیح قطعات از طریق کانال ارتباطی را بر عهده دارد. همچنین ارتباط شبکهای بین سیستم مبدا و مقصد را برقرار میکند.
- UDP: یودیپی (مخفف User Datagram Protocol) مسئول شناسایی خطاها و سایر وظایف در حین انتقال اطلاعات است. این پروتکل هنگام انتقال دادهها، جزئیاتی مثل آدرس پورت منبع (این پورت وظیفه طراحی اپلیکیشنی را بر عهده دارد که پیام ارسالی را تشکیل میدهد)، آدرس پورت مقصد (پیام ارسال شده از طرف فرستنده را دریافت میکند)، طول کل (تعداد کل بایتهای دیتاگرام کاربر) و Checksum (برای تشخیص خطای پیام در سمت مقصد استفاده میشود) را بررسی میکند.
لایه اینترنت

لایه اینترنت در مدل TCP/IP وظیفه کنترل انتقال دادهها را در شبکه بر عهده داشته و پروتکلهایی را برای مراحل مختلف انتقال داده در کانال اعمال میکند که به صورت بستههایی ارسال شده توسط لایه قبلی است.
لایه اینترنت عملکردهای مهمی را در مدل TCP/IP انجام میدهد. برای مثال، مسئول تعیین مسیری است که بستههای داده برای انتقال استفاده میکنند. همچنین مسئول ارائه آدرسهای IP به سیستم برای امور شناسایی از طریق کانال شبکه است.
برخی از پروتکلهای اعمال شده در لایه اینترنت به شرح زیر است:
- IP: این پروتکل آدرس منحصربهفردی را به دستگاه شما اختصاص میدهد. آدرس IP همچنین مسئول مسیریابی دادهها در کانال ارتباطی است.
- ARP: این پروتکل به پروتکل Address Resolution اشاره دارد که وظیفه یافتن آدرس فیزیکی با استفاده از آدرس IP را بر عهده دارد.
لایه دسترسی به شبکه

آخرین لایه از انواع لایه های شبکه مدل tcp/ip، دسترسی به شبکه است. وظیفه لایه دسترسی به شبکه در مدل TCP/IP، برقراری ارتباط بین دستگاههای مختلف در شبکه است. این لایه با استفاده از مکانیسمهای آدرسدهی و پروتکلهای ارتباطی، ارتباط بین دستگاههای مختلف را برقرار کرده و دسترسی به لایه فیزیکی را برای انتقال دادهها فراهم میکند.
علاوه بر این، لایه دسترسی به شبکه از آدرس فیزیکی سیستم برای ترسیم مسیر انتقال در کانال شبکه استفاده میکند. سپس دادهها را در فرمت بیت خام (باینری) انتقال میدهد.
انواع پروتکلهای TCP/IP
چهار پروتکل اصلی در لایه های شبکه مدل TCP/IP استفاده میشود: پروتکل کنترل انتقال (TCP)، پروتکل دیتاگرام کاربر (UDP)، پروتکل اینترنت (IP) و پروتکل پیام کنترل اینترنت (ICMP).
- TCP (در لایه انتقال) تضمین میکند که دادهها به طور قابل اعتماد و منظمی تحویل داده میشوند.
- UDP (در لایه انتقال) دربرنامههایی استفاده میشود که دادهها نیازی به تحویل قابل اعتماد نداشته یا نیاز به تحویل سریع بدون استفاده از TCP دارند.
- IP (در لایه اینترنت) پروتکلی است که دادهها را از یک کامپیوتر به کامپیوتر دیگری هدایت میکند.
- ICMP (در لایه اینترنت) برای بررسی خطا و مدیریت تراکم ترافیک استفاده میشود.
هر چهار مورد از این پروتکلها برای عملکرد صحیح اینترنت ضروری هستند. آنها با هم کار میکنند تا اطمینان حاصل کنند که دادهها به سرعت، به ترتیب و به صورت قابل اعتماد ارسال یا دریافت میشوند.
البته چند پروتکل رایج دیگر نیز در مدل TCP/IP استفاده میشوند که در زیر آنها را نام میبریم. توضیحات هر کدام را در لایههای مربوطه ارائه دادهایم.
- پروتکل ARP (در لایه اینترنت)
- پروتکل FTP (در لایه کاربرد)
- پروتکل HTTP (در لایه کاربرد)
- پروتکل SMTP (در لایه کاربرد)
- پروتکل DNS (در لایه کاربرد)
در صنعت تلکام غرق شوید
دنیای شبکه فقط در لایه های شبکه مدل tcp/ip خلاصه نمیشود. این دنیا بهقدری گسترده است که هر چه در آن عمیق شوید، باز هم مباحث جذاب و هیجانانگیزی برای یادگیری پیدا میکنید. کسانی که به دنیای شبکه و ارتباطات علاقهمندند، این موضوع را با تمام وجود احساس کردهاند.
صنعت تلکام نیز از جمله مباحثی است که یادگیری آن برای علاقهمندان به شبکه لازم و ضروری است. ازاینرو، آکادمی همراه اول دورهای را با عنوان آشنایی با صنعت تلکام برگزار کرده است که در آن به معرفی و تکامل حوزه مخابرات پرداخته و به طور خاص بر روی سیستمهای ارتباطی سلولی تمرکز دارد. این دوره با زبانی ساده، مفاهیم نظری و اصول ارتباط بیسیم و همچنین نسلهای مختلف مخابرات از نسل اول تا پنجم را توضیح داده است. در نهایت با توجه به پیشرفت سریع صنعت مخابرات، روندهای آینده و پیشگام آن را بررسی کرده است. اگر به دنیای شبکه و همچنین مخابرات علاقه دارید، شرکت در این دوره را به شما توصیه میکنیم.