TCP/IPچیست؟
TCP/IP مخفف "Transmission Control Protocol/Internet Protocol" است و مجموعهای از پروتکلهای ارتباطی است که برای اتصال دستگاههای شبکه به اینترنت استفاده میشود. TCP/IP همچنین به عنوان یک پروتکل ارتباطی در شبکهی رایانهای خصوصی (یک اینترانت یا اکسترانت) استفاده میشود.
کل مجموعه IP - یک سری از قوانین و رویهها - به طور متداول به نام TCP/IP شناخته میشود. TCP و IP دو پروتکل اصلی هستند، اگرچه پروتکلهای دیگری نیز در این مجموعه قرار دارند. مجموعه پروتکل TCP/IP به عنوان یک لایه مجازی بین برنامههای اینترنت و بافت مسیریابی و سوئیچینگ عمل میکند.
TCP/IP تعیین میکند که چگونه دادهها بر روی اینترنت منتقل میشوند با ارائه ارتباطات از آغاز تا پایان که نشاندهنده این است که چگونه دادهها باید به بستههای کوچک شکسته شده، نشانی گذاری شوند، منتقل شوند، مسیریابی و در مقصد دریافت شوند. TCP/IP نیاز به مدیریت مرکزی کمی دارد و طوری طراحی شده است که شبکهها را قابل اتکاء سازد با توانایی بازیابی خودکار از شکست هر دستگاهی در شبکه.
دو پروتکل اصلی در مجموعه IP وظایف خاص خود را دارند. TCP تعریف میکند که چگونه برنامهها میتوانند کانالهای ارتباطی را در یک شبکه ایجاد کنند. همچنین مدیریت میکند که چگونه یک پیام به بستههای کوچکتر تجزیه شده، سپس بر روی اینترنت منتقل شده و در آدرس مقصد به ترتیب صحیح مجدداً مرتب شوند.
IP تعیین میکند چگونه به هر بسته نشانی داده شود و چگونه آن را مسیریابی کند تا مطمئن شود که به مقصد صحیح میرسد. هر کامپیوتر دروازه در شبکه این آدرس IP را بررسی میکند تا تصمیم بگیرد کجا پیام را ارسال کند.
یک ماسک زیرشبکه به یک کامپیوتر یا دستگاه دیگر شبکه میگوید که چه قسمتی از آدرس IP برای نمایاندن شبکه استفاده میشود و چه بخشی برای نمایاندن میزبانها یا کامپیوترهای دیگر در شبکه استفاده میشود.
ترجمه آدرس شبکه (NAT) مجازیسازی آدرسهای IP است. NAT به بهبود امنیت کمک میکند و تعداد آدرسهای IP مورد نیاز یک سازمان را کاهش میدهد.
پروتکلهای رایج TCP/IP شامل موارد زیر است:
- پروتکل انتقال هایپرتکست (HTTP) ارتباط میان یک وبسرور و یک مرورگر وب را مدیریت میکند.
- HTTP امن ارتباط امن بین یک وبسرور و یک مرورگر وب را کنترل میکند.
- پروتکل انتقال فایل منتقل کردن فایلها بین کامپیوترها را انجام میدهد.
مزایا و معایب TCP/IP
مزایای استفاده از مدل TCP/IP به شرح زیر است:
- کمک به برقراری ارتباط بین انواع مختلف کامپیوترها؛
- به طور مستقل از سیستم عامل کار میکند؛
- از پروتکلهای مسیریابی متنوع پشتیبانی میکند؛
- از معماری مشتری-سرور استفاده میکند که قابل مقیاسسازی بالایی دارد؛
- میتواند به طور مستقل عمل کند؛
- از چندین پروتکل مسیریابی پشتیبانی میکند؛ و
- سبک وزن است و فشار غیرضروری را بر شبکه یا کامپیوتر قرار نمیدهد.
معایب TCP/IP به شرح زیر است:
- پیچیده است و راهاندازی و مدیریت آن دشوار است؛
- لایه انتقال تضمین تحویل بستهها را ارائه نمیدهد؛
- جایگزینی پروتکلها در TCP/IP آسان نیست؛
- مفاهیم خدمات، رابطها و پروتکلها را به طور واضح جدا نمیکند، بنابراین برای توصیف فناوریهای جدید در شبکههای جدید مناسب نیست؛ و
- به خصوص در معرض حملات همزمانسازی است، که یک نوع حمله انکار سرویس است که در آن یک فاعل بدخواه از TCP/IP استفاده میکند.
چطور TCP/IP و IP از یکدیگر متفاوتاند؟
تفاوتهای زیادی بین TCP/IP و IP وجود دارد. به عنوان مثال، IP یک پروتکل اینترنت سطح پایین است که ارتباط دادهها را در اینترنت ممکن میسازد. هدف آن ارسال بستههای داده است که شامل یک سرآیند (هدر) میشود که حاوی اطلاعات مسیریابی، مانند منبع و مقصد دادهها و بار داده (payload) خود است.
IP توسط مقدار دادهای که میتواند ارسال کند، محدود است. حداکثر اندازه یک بسته داده IP، که شامل هر دو سرآیند و داده است، بین 20 تا 24 بایت است. این به این معناست که رشتههای طولانیتر از داده باید به چند بسته داده تقسیم شوند که باید به صورت مستقل ارسال و سپس پس از ارسال، در ترتیب صحیح مرتب شوند.
از آنجا که IP صرفاً یک پروتکل ارسال/دریافت داده است، هیچ بررسی درونیای وجود ندارد که تأیید کند بستههای دادهای که ارسال شدهاند واقعاً دریافت شدهاند یا خیر.
در مقایسه با IP، TCP/IP یک پروتکل ارتباطی هوشمند سطح بالاتر است که میتواند کارهای بیشتری انجام دهد. TCP/IP همچنان از IP به عنوان وسیلهای برای حمل و نقل بستههای داده استفاده میکند، اما همچنین کامپیوترها، برنامهها، صفحات وب و سرورهای وب را به یکدیگر متصل میکند. TCP به طور جامع تمام جریانهای دادهای را میفهمد که این داراییها برای کار کردن نیاز دارند و مطمئن میشود که تمام حجم دادههای مورد نیاز اولین بار ارسال شده است. TCP همچنین بررسیهایی انجام میدهد که تضمین کند دادهها تحویل داده شدهاند.
در حین انجام کار خود، TCP همچنین میتواند اندازه و نرخ جریان داده را کنترل کند. اطمینان میدهد که شبکهها از هر گونه ازدحامی که میتواند دریافت داده را مسدود کند، خالی باشند.
یک مثال از یک برنامه است که میخواهد مقدار زیادی از داده را در اینترنت ارسال کند. اگر برنامه فقط از IP استفاده کند، دادهها باید به چند بسته IP تقسیم شوند. این نیاز به درخواستهای متعدد برای ارسال و دریافت داده دارد، زیرا درخواستهای IP بر اساس بسته صادر میشوند.
با TCP، فقط یک درخواست برای ارسال کل جریان داده لازم است؛ TCP مابقی کار را انجام میدهد. به خلاف IP، TCP میتواند مشکلاتی که در IP به وجود میآید را تشخیص دهد و درخواست ارسال مجدد هر بستهای که از دست رفته است را ارسال کند. TCP همچنین میتواند بستهها را مرتب کند تا در ترتیب صحیح منتقل شوند - و همچنین میتواند ازدحام شبکه را به حداقل برساند. TCP/IP انتقال دادهها را در اینترنت آسانتر میکند.
مدل TCP/IP نسبت به مدل OSI
TCP/IP و OSI پروتکلهای ارتباطی شبکهای هستند که بیشترین استفاده را دارند. اصلیترین تفاوت این است که OSI یک مدل مفهومی است که در عمل برای ارتباط استفاده نمیشود. به جای آن، تعریف میکند که چگونه برنامهها میتوانند بر روی یک شبکه با یکدیگر ارتباط برقرار کنند. از سوی دیگر، TCP/IP به طور گستردهای برای برقراری ارتباطات و تعامل شبکه استفاده میشود.
پروتکلهای TCP/IP استانداردهایی را ارائه میدهند که بر اساس آن اینترنت ایجاد شدهاست، در حالی که مدل OSI رهنمودهایی را برای چگونگی ارتباط میدهد. بنابراین، TCP/IP یک مدل عملیتر است.
مدلهای TCP/IP و OSI شباهتها و تفاوتهایی با یکدیگر دارند. اصلیترین شباهت در ساختار آنها است؛ هر دو از لایهها استفاده میکنند، اگرچه TCP/IP فقط از چهار لایه تشکیل شده است، در حالی که مدل OSI شامل هفت لایه زیر است:
لایه 7، لایه برنامه، به کاربر - نرمافزار یا انسان - امکان میدهد که با برنامه یا شبکه تعامل کند، زمانی که کاربر میخواهد پیامها را بخواند، فایلها را منتقل کند یا در فعالیتهای دیگر مرتبط با شبکه شرکت کند.
لایه 6، لایه ارائه، دادهها را برای لایه برنامه بر اساس گرامر یا سینتکس که برنامه قبول میکند، ترجمه یا قالببندی میکند.
لایه 5، لایه جلسه، مکالمات را بین برنامهها راهاندازی، هماهنگ و پایان میدهد.
لایه 4، لایه حمل و نقل، انتقال داده در سراسر شبکه و فراهم آوردن مکانیزمهای بررسی خطا و کنترل جریان داده را انجام میدهد.
لایه 3، لایه شبکه، داده را به داخل و از طریق دیگر شبکهها جابهجا میکند.
لایه 2، لایه پیوند داده، با مشکلاتی که به عنوان نتیجه خطاهای انتقال بیت به وجود میآید، روبرو میشود.
لایه 1، لایه فیزیکی، داده را با استفاده از واسطهای الکتریکی، مکانیکی یا روندهایی منتقل میکند.
لایههای بالایی برای هر دو مدل TCP/IP و OSI، لایه برنامه است. اگرچه این لایه در هر دو مدل وظایف یکسانی انجام میدهد، این وظایف ممکن است بسته به دادههایی که هر کدام دریافت میکند، متفاوت باشد.
توابع انجام شده در هر مدل نیز مشابه هستند چرا که هر دو از یک لایه شبکه و لایه حمل و نقل برای عملکرد استفاده میکنند. مدلهای TCP/IP و OSI عمدتاً برای انتقال بستههای داده استفاده میشوند. اگرچه آنها این کار را با وسایل و مسیرهای متفاوتی انجام میدهند، اما همچنان به مقصدهای خود میرسند.
شباهتهای بین مدل TCP/IP و مدل OSI به شرح زیر است:
- هر دو مدل منطقی هستند.
- استانداردهای شبکهای را تعریف میکنند.
- فرآیند ارتباط شبکه را در لایهها تقسیم میکنند.
- چارچوبهایی برای ایجاد و پیادهسازی استانداردهای شبکه و دستگاهها فراهم میکنند.
- به تولیدکنندهها امکان میدهد تا دستگاهها و مؤلفههای شبکهای را بسازند که بتوانند با دستگاهها و مؤلفههای ساخته شده توسط سایر تولیدکنندگان همزیستی و کار کنند.
تفاوتهای بین مدل TCP/IP و مدل OSI به شرح زیر است:
- TCP/IP فقط از یک لایه (برنامه) برای تعریف کردن قابلیتهای لایههای بالایی استفاده میکند، در حالی که OSI از سه لایه (برنامه، ارائه و جلسه) استفاده میکند.
- TCP/IP از یک لایه (فیزیکی) برای تعریف کردن قابلیتهای لایههای پایین استفاده میکند، در حالی که OSI از دو لایه (فیزیکی و پیوند داده) استفاده میکند.
- اندازه هدر TCP/IP 20 بایت است، در حالی که هدر OSI 5 بایت است.
- TCP/IP یک استاندارد مبتنی بر پروتکل است، در حالی که OSI یک مدل عمومی است که بر اساس قابلیتهای هر لایه است.
- TCP/IP یک رویکرد افقی دنبال میکند، در حالی که OSI یک رویکرد عمودی را دنبال میکند.
- در TCP/IP، پروتکلها ابتدا توسعه یافتند و سپس مدل توسعه یافت. در OSI، ابتدا مدل توسعه یافت و سپس پروتکلهای هر لایه توسعه یافتند.
- TCP/IP کمک میکند تا ارتباط بین انواع مختلف کامپیوترها برقرار شود، در حالی که OSI کمک میکند تا روترها، سوئیچها، مادربردها و سایر سختافزارها را استاندارد کند.
تاریخچه TCP/IP
آژانس پژوهشهای پیشرفته دفاعی، شاخهی پژوهشی وزارت دفاع ایالات متحده، مدل TCP/IP را در دهه 1970 برای استفاده در ARPANET، یک شبکه وسیع منطقهای که پیش از اینترنت بود، ایجاد کرد. ابتدا TCP/IP برای سیستمعامل یونیکس طراحی شد و سپس در تمام سیستمعاملهایی که پس از آن آمد، جای گرفت.
مدل TCP/IP و پروتکلهای مرتبط با آن اکنون توسط نیروی مهندسی اینترنت نگهداری میشوند.