مدل مرجع OSI و مدل مرجع TCP/IP نقاط مشترک زیادی دارند. هر دوی آنها مبتنی بر مجموعه‌ای از پروتکل های مستقل هستند، و عملکرد لایه‌ها نیز تا حدی شبیه یکدیگر است. مدل OSI ثابت کرده که بهترین ابزار برای توصیف شبکه‌های کامپیوتری است. اما پروتکل های TCP/IP در مقیاس وسیعی مورد استفاده قرار می‌گیرد. این دو مدل تفاوت هایی با هم دارند که در زیر به برخی از آنها اشاره می کنم:

  • در مدل TCP/IP تفاوت سرویس ها، واسط ها و پروتکل ها واضح و مشخص نمی‌باشد.
  • پروتکلهای OSI بهتر از TCP/IP مخفی شده است.
  • قبل از ایجاد مدل OSI پروتکلهای آن طراحی و ابداع شد. در نتیجه این مدل وابستگی و تعامل خاصی با هیچ مجموعه پروتکلی ندارد. اما در TCP/IP مسئله برعکس بود و این خود باعث شده که مدل TCP/IP تنها برای شبکه‌های تحت خود مناسب باشد.
  • مدل OSI دارای هفت لایه است اما مدل TCP/IP، چهار لایه دارد و از لایه ارائه و لایه نشست خبری نیست.
  • لایه شبکه در مدل OSI اتصال گرا و غیر مستقیم است و لایه انتقال آن تنها اتصال گرا است اما در TCP/IP لایه شبکه الزاما غیر متصل و لایه انتقال آن اتصال گرا(TCP) یا غیر متصل(UDP) است.

مدل OSI

مدل OSI یا Open System Interconnectionیک مدل مرجع برای ارتباط بین دو کامپیوتر می باشد که در سال ۱۹۸۰ طراحی گردیده است. هر چند امروزه تغییراتی درآن به وجود آمده اما هنوز هم کاربردهای فراوانی در اینترنت و به خصوص در معماری پایه شبکه دارد. این مدل بر اساس لایه بندی قراردادهای برقراری ارتباط که همزمان روی دو سیستم مرتبط اجرا شده اند پایه ریزی شده است که این امر بسیار سرعت و دقت ارتباط را افزایش می دهد و این قراردادها بصورت طبقه طبقه در هفت لایه تنظیم شده اند که در زیر بررسی خواهند شد.

بررسی هفت لایه مدل OSI

لایه فیزیکی

Physical

این لایه که تنها تشکیل شده از سخت افزار می باشد و قراردادهای سخت افزاری در آن اجرا می شود وظیفه انتقال نهایی اطلاعات را دارد که این انتقال یصورت سیگنال و به صورت صفرو یک می باشد.

لایه پیوند داده ها

Data Link

در این لایه اطلاعات، کشف خطا و اصلاح می شوند و بدون خطا و به صورت مطمئن به سوی مقصد ارسال می شوند.وظیفه دیگر این لایه مطمئن شدن از رسیدن اطلاعات به مقصد است که این کار توسط بیتهای (Parity check , checksum ,crc ) انجام می پذیرد.که در صورت بروز خطا مجددا اطلاعات ارسال خواهند شد.

لایه شبکه

Network

و اما پیچیده ترین لایه یعنی لایه شبکه که در آن قراردادهای شبکه بندی تعریف شده است. وظیفه این لایه انتقال تکنولوژی برقراری ارتباط برای دیگر شبکه های مستقل است که این امر این امکان را به osi می دهد که بتواند در زیر شبکه های مختلف فعالیت کند.

لایه انتقال

Transport

در این لایه قبل از ارسال اطلاعات یک بسته به سمت مقصد فرستاده می شود تا مقصد را برای دریافت اطلاعات آماده کند. همچنین این لایه وظیفه تکه تکه کردن بسته ها، شماره گذاری آنها و ترتیب و نظم دهی آنها را بر عهده دارد. که البته بسته ها در طرف گیرنده دوباره در همین لایه نظم دهی و قابل استفاده برای لایه های بالاتر خواهند شد.

لایه جلسه

Session

در این لایه بر کارهایی از قبیل زمان ارسال و دریافت بسته ها مقدار رسیده و مقدار مانده از بسته ها نظارت می شود که به مدیرت بسته ها بسیار کمک می کند.

لایه ارائه

Presentation

در این لایه استانداردهای رمز نگاری و فشرده سازی اطلاعات تعریف شده است که این لایه در امنیت بسیار مهم می باشد.

لایه کاربرد

Application

استانداردهای ارتباط بین نرم افزارهای شبکه در این لایه قرار دارد که می توان از: FTAM, CMIP, MHS VT نام برد.

مدل TCP/IP یا Internet protocol /Transmission Control Protocol

مفهوم TCP/IP

TCP/IP مجموعه قراردادهایی هستند که در جهت اتصال کامپیوتر ها در شبکه مورد استفاده قرار می گیرند. وبه تعریف دیگر قرارداد کنترل انتقال اطلاعات می باشد. مدل چهار لایه TCP/IP از لایه های زیر تشکیل شده است.
لایه کاربرد
لایه انتقال
لایه شبکه
لایه واسطه شبکه

لایه واسط شبکه

NETWORK ACCESS

در این لایه تمام استانداردهای سخت افزاری و انواع پروتکل شبکه تعریف شده که خاصیت بزرگ این لایه این موضوع می باشد که در آن می توان بین نرم افزار و سخت افزار شبکه ارتباط برقرار کرد.

لایه شبکه

INTERNET

در این لایه پروتکل IP آدرس دهی و تنظیم می شود.(توضیحات در قسمت IP ) و همچنین دیگر پروتکل ها مانند ARP,ICMP,BOOTP که در این میان نقش هیچکدام به اندازه IP , ICMP مهم نیست در کل وظیفه این لایه دادن اطلاعات در مورد شبکه و آدرس دهی در آن می باشد که مسیر یابها از آن بسیار استفاده می کنند.

لایه انتقال

TRANSPORT

ابتدایی ترین وظیف این لایه آگاهی از وضعیت بسته ها می باشد که بسیار مهم نیز هست. و در مرحله بعد وظیفه این لایه انتقال اطلاعاتی می باشد که نیاز به امنیت ندارند و سرعت برای آنها مهم تر است.

لایه کاربرد

APPLICATION

این لایه دارای امکانات زیادی برای هنر نمایی متخصصان می باشد. در این لایه برنامه های کاربردی قرار دارند و در کل این لایه لایه ی نرم افزارهای شبکه می باشد و همچنین لایه پروتکل های نرم افزاری نیز می باشد. از مهم ترین نکات در خصوص این لایه قرارداشتن: انتقال فایل (FTP) و مدیریت پست (SMTP) و بقیه برنامه های کاربردی می باشد.

مقایسه مدلهای OSI و TCP/IP

شاید بزرگترین دستاورد مدل OSI روشن ساختن مفاهیم فوق (و تفکیک آنها) باشد.هر لایه سرویس هایی در اختیار لایه های بالاتر از خود قرار می دهد.تعریف این سرویس ها فقط می گوید که یک لایه چه کاری انجام می دهد، و هیچ حرفی در مورد نحوه انجام آنها و چگونگی استفاده از سرویس ها نمی زند.

تعریف چگونگی دسترسی به سرویس های یک لایه بر عهده واسط است.واسط پارامتر های ورودی لازم ، و نتیجه ای را که باید منتظر آن باشید، تعریف می کند.حتی واسط هم نمی گوید که یک لایه کار خود را چگونه انجام می دهد. و بالاخره، کاری را که یک لایه انجام می دهد را پروتکل های آن لایه تعریف می کنند.یک لایه مادامی که کار خود را درست انجام دهد، می تواند از هر پروتکلی استفاده کند.تغییر پروتکل های یک لایه هیچ تاثیری روی ارتباط آن با لایه های بالاتر نخواهد گذاشت.

ایده های فوق بسیار شبیه به مفاهیم مدرن برنامه نویسی شئ گرا هستند.هر شئ، مانند یک لایه، متدها (عملکردها) یی دارد که اشیا دیگر از آن استفاده می کنند.نحوه استفاده از این متدها در واقع همان سرویس هایی است که این شئ در اختیار دیگران می گذارد.ورودی ها و خروجی های شئ واسط آن با دنیای خارج هستند. کد اجرایی شئ نیز شبیه همان پروتکل است، که نحوه عملکرد آن از دید دیگران مخفی است.

در مدل اولیه TCP/IP تمایز بین سرویس ها، واسطها و پروتکل ها واضح و مشخص نبود، اگر چه افرادی (با توجه به تجربه موفق OSI ) سعی کرده بودند آن را هر چه بیشتر شبیه OSI کنند.برای مثال لایه اینترنت فقط دو سرویس واقعی به نامهای SEND IP PACKET و RECEIVE IP PACKET داشت.با توجه به این وضع، پروتکل های OSI نهتر از TCP/IP مخفی شده اند، و امکان تغییر آنها به راحتی وجود دارد، چیزی که هدف غایی طراحی لایه ای محسوب می شود. مدل OSI قبل از اختراع پروتکل های آن طراحی و ابداع شد.این بدان معناست که مدل OSI وابستگی و تمایل خاصی به هیچ مجموعه پروتکلی ندارد، چیزی که در سایر مدل ها بسیار دیده می شود. البته این وضعیت یک نقطه ضعف نیز داردو آن این است که طراحان تجربه چندانی در زمینه موضوع کار ندارند، و واقعا نمی دانند کدام عملکرد را باید در کدام لایه قرار دهند.برای مثال ،لایه پیوند داده در ابتدا فقط برای شبکه های نقطه-به-نقطه طراحی شده بود، وقتی شبکه های بخشی وارد بازار شد، مجبور شدند یک زیر لایه به آن اضافه کنند.

وقتی که افراد شروع به طراحی شبکه با استفاده از مدل OSI و پروتکل های موجود کردند، به زودی دریافتند که این شبکه ها با سرویس های مورد نیاز انطباق ندارند.بنابر این مجبور شدند زیر لایه های زیادی به آن وصله پینه کنند.بالاخره، کمیته استاندارد مقرر کرد که هر کشور برای خود یک مدل منطبق با مدل OSI (تحت نظارت دولت) داشته باشد،شبکه ای که به هیچ عنوان آینده (اینترنت) در آن دیده نشده بود.خلاصه، کارها آنطوری که انتظار داشتند از آب در نیامد. در مورد TCP/IP وضع بر عکس بود:اول پروتکل ها اختراع و توسعه داده شدند، و سپس مدلی برای توصیف آنها ساخته شد.هیچ مشکلی در زمینه انطباق پروتکل ها با مدل وجود نداشت.همه چیز جفت و جور بود،تنها مشکل این بود که این مدل با هیچ مجموعه پروتکل دیگری جور در نمی آمد.

این بدان معنا بود که مدل TCP/IP به درد توصیف شبکه های غیر TCP/IP نمی خورد. جدای از مسایل فلسفی قضیه، تفاوت دیگر در تعداد لایه های این دو مدل است: مدل OSI هفت لایه دارد و مدل TCP/IP چهار لایه.لایه های شبکه، انتقال و کاربرد در هر دو مشترک اند، ولی لایه های دیگر فرق دارند. تفاوت دیگر در زمینه اطلاعات اتصال-گرا و غیر متصل است.مدلOSI از هر دو نوع ارتباط اتصال-گرا و متصل در لایه شبکه پشتیبانی می کند، ولی در لایه انتقال فقط سرویس اتصال-گرا دارد (چون این سرویس در معرض دید کاربران است). مدل TCP/IP در لایه شبکه فقط سرویس غیر متصل دارد، ولی درلایه انتقال از هر دو نوع ارتباط پشتیبانی می کند، و دست کاربر را برای انتخاب باز می گذارد ( که به ویژه برای پروتکل های ساده درخواست – پاسخ بسیار مهم است).

نقد مدل OSI و پروتکل های آن

مدل OSI و TCP/IP ( و پروتکل هایشان) هیچکدام کامل نیستند و جا دارد برخی از نقاط ضعف آنها را برشماریم.در این قسمت، برخی از نقاط ضعف مدل های OSI و TCP/IP را برسی خواهیم کرد.با مدل OSI شروع می کنیم. در سال ۱۹۸۹، بسیاری متخصصان برجسته شبکه بر این باور بودند که آینده در بست متعلق به مدل OSI و پروتکل های آن است، و هیچ چیز نمی تواند در مقابل پیشرفت آن مقاومت کند.اما این اتفاق نیفتاد.چرا؟ نگاهی به گذشته درسهای بسیاری را برای چشمان عبرت بین دارد،که می توان آنها را چنین خلاصه کرد: ۱. زمان نا مناسب ۲. تکنولوژی نامناسب ۳. پیاده سازی نامناسب ۴. سیاست های نامناسب

زمان نامناسب

اولین عامل شکست مدل OSI زمان نامناسب بود.زمانی که یک استاندارد وضع می شود، اهمیت حیاتی در موفقیت و عدم موفقیت آن دارد.دیوید کلارک از دانشگاه M.I.T فرضیه ای در زمینه استانداردها دارد که ملاقات فیل ها معروف استد. این نظریه میزان فعالیت های حول یک موضوع جدید را نشان می دهد.وقتی موضوعی برای اولین بار کشف می شود، گرداگرد آن سیلی از فعالیت های تحقیقی ( به شکل بحث، مقاله و سخنرانی) فرا می گیرد.بعد از مدتی این فروکش می کند و بعد از اینکه صنعت به این موضوع علاقه مند شد، موج سرمایه گذاری ها از پی می آید. بسیار مهم است که در محل تلاقی این دو فیل ( موج تحقیق و موج سرمایه گذری) استانداردها به طور کامل وضع شوند.اگر استاندارد زودتر از موعد( قبل از پایان تحقیقات) نوشته شود، خطر آن هست که موضوع به درستی درک نشده باشد و استاندارد ضعیف از آب در آید.اگر استاندارد دیرتر از موعد(بعد از شروع موج سرمایه گذاری) نوشته شود، شرکتهای بسیاری قبلا –از مسیرهای مختلف- در آن سرمایه گذاری کرده اند،و این خطر هست که استانداردهای آنها را نادیده بگیرد. اگر فاصله این دو فیل خیلی کم باشد (همه عجله داشته باشند که کار را زودتر شروع کنند)، خطر آن هست که استاندارد نویسان بین آنها له شوند. اکنون معلوم شده است که پروتکل های استاندارد OSI بین فیل ها له شده اند.وقتی که پروتکل های OSI پا به عرصه وجود گذاشتند، پروتکل های رقیب (TCP/IP ) مدت ها بود که در مراکز تحقیقاتی و دانشگاه ها پذیرفته شده بودند.با اینکه هنوز موج سرمایه گذاری صنعتی در TCP/IP شروع نشده بود.اما بازار آکادمیک آنقدر بزرگ بود که شرکتهای بسیاری را تشویق به تولید محصولات TCP/IP کند.و وقتی OSI بالاخره از راه رسید،کسی نبود که داوطلبانه از آن پشتیبانی کند.همه منتظر بودند دیگری قدم اول را بر دارد.، قدمی که هرگز برداشته نشد د OSIدر نطفه خفه شد.

تـکنولوژی نامناسب

دلیل دیگری که OSI هرگز پا نگرفت آن بود که، این مدل و پروتکل های آن هر دو ناقص و معیوب بودند.انتخاب هفت لایه برای این مدل بیشتر یک انتخاب سیاسی بود تا فنی، و در حالی که دو لایه آن (نشست و نمایش) تقریبا خالی بودند،در لایه های دیگر (لینک داده و شبکه) جای نفس کشیدن نبود. مدل OSI (و سرویس ها و پروتکل های آن) به طور باور نکردی پیچیده است.اگر کاغذهای چاپی این استاندارد را روی هم بچینید.ارتفاع آن از نیم متر هم بیشتر خواهد شد.پیاده سازی پروتکل های OSI بسیار دشوار، و عملکرد آنها ناقص است.در این رابطه، نقل جمله جالبی از پاول موکاپتریس (۱۹۹۳،Rose ) خالی از لطف نیست: سوال: از ترکیب یک گانگستر با یک استاندارد بین المللی چه چیزی بدست می آید؟ جواب: کسی پیشنهادی به شما می کند که از آن سر در نمی آورید. مشکل دیگر مدل OSI ،علاوه بر غیر قابل فهم بودن آن، این است که برخی از عملکرد های آن ( مانند آدرس دهی، کنترل جریان داده ها و کنترل خطا)در تمام لایه ها تکرار می شود.برای مثال، سالتزر و همکارانش (۱۹۸۴) نشان دادند که کنترل خطا باید در بالاترین لایه انجام شود تا بیشترین تاثیر را داشته باشد،بنابراین تکرار آن در لایه های پائین تر نه تنها غیر ضروری است، بلکه باعث افت کارایی هم خواهد شد.