مدل OSI (Open Systems Interconnection)، نشان‌دهنده‌ی یکی از معماری‌های مورد استفاده در شبکه‌های کامپیوتری است. پیش از به وجود آمدن این مدل، هر ارایه‌کننده‌ی ابزارهای شبکه‌ای، مدل شبکه‌ای متناسب با محصولات خود ارایه می‌کرد. برای نمونه، کامپیوترهای تولید شده به‌وسیله‌ی شرکت IBM تنها قادر بودند با سایر کامپیوترهایی که ساخته‌ شده به‌وسیله‌ی این شرکت بودند، ارتباط برقرار کنند. به این ترتیب، ایراد اصلی این ساختار آن بود که بسته‌های یک شبکه، نمی‌توانستند در شبکه‌های دیگر جابه‌جا یا فهمیده شوند و هر شبکه با هر اندازه‌ای، باز هم یک شبکه‌ی ایزوله (isolated) محسوب می‌شد.


مدل OSI به عنوان اولین استاندارد تعریف شده در شبکه، سبب شد تا همه‌ی سازندگان دستگاه‌های شبکه مجبور به استفاده از استانداردهای مشترک شوند و از این رو دستگاه‌های متصل به شبکه‌ی اینترنت، فارغ از این‌که از چه سازنده‌ای باشند، بتوانند با یک‌دیگر به تبادل اطلاعات بپردازند.

مدل OSI بر پایه‌ی معماری لایه‌ای و از ۷ لایه‌ی مختلف ساخته شده است. اساس کار این معماری به این شکل است که هر لایه، بدون آن‌که از جزییات کار لایه‌ی پایین‌تر خود آگاه باشد، از نتیجه‌ی عملکرد آن استفاده می‌کند و به لایه‌ی بالا‌تر خود سرویس می‌دهد.

هر لایه، پروتکل‌های مخصوص به خود را دارد که اطلاعات را طبق استاندارد‌های آن پروتکل، درون بسته‌هایی قرار می‌دهد و هدر‌‌هایی را برای هر بسته مشخص می‌کند که اطلاعات لازم برای رسیدن بسته به مقصد را در خود دارند. هر یک از این بسته‌ها وقتی به مقصد می‌رسند، در همان لایه‌هایی که ایجاد شده‌اند، باز می‌شوند و محتویات‌ آن‌ها به لایه‌ی بعدی تحویل داده می‌شود.


لایه‌های مدل OSI

همان‌طور که بیان شد، این معماری از ۷ لایه تشکیل شده است. لایه‌های اول، لایه‌هایی مربوط به تبادل فیزیکی بسته‌ها هستند و لایه‌های بالاتر، بسته‌ها را به شیوه‌ی نرم‌افزاری انتقال می‌دهند. لایه‌های مدل OSI عبارت‌اند از:‌

۱- لایه فیزیکی (physical layer) وظیفه‌ی اصلی این لایه، انتقال بیت‌های داده است. این کار می‌تواند در طول یک سیم مسی یا با کمک فیبر نوری انجام شود. این لایه سیگنا‌ل‌های دریافتی را به‌شکل بیت‌های صفر و یک که برای کامپیوتر قابل فهم هستند، در می‌آورد و به لایه‌ی بالاتر خود می‌دهد.

۲- لایه‌ی پیوند داده (data link layer) کار اصلی این لایه، رساندن پیام‌‌های لایه‌ی فیزیکی به دست گیرنده است. از آن‌‌جایی که احتمال بروز خطا در لایه‌ی فیزیکی وجود دارد، این لایه بررسی می‌کند که آیا پیام رسیده همان پیام مدنظر فرستنده بوده ‌است یا نه. رساندن پیام‌ها به دست گیرنده، با mac address انجام می‌شود (در‌واقع هر دستگاه فیزیکی که در شبکه وجود دارد، آدرس MAC منحصر به فردی دارد که به کمک آن‌ می‌توان مقصد پیام‌ها را در این لایه تشخیص داد و پیام‌ها را به مقصد رساند). بسته‌های این لایه frame نام دارند و از رایج‌ترین پروتکل‌های این لایه، می‌توان پروتکل PPP را نام برد.

۳- لایه‌ی شبکه (network layer) مسیریابی در شبکه به کمک پروتکل معروف این لایه یعنی IP انجام می‌شود. بسته‌های این لایه، packet نام دارند و هدر‌های این packetها، آدرس‌های IP مبدا و مقصد را مشخص می‌کنند. یک مسیریاب یا router در شبکه، یک دستگاه لایه‌ی ۳ است که پس از آن‌که بسته‌‌ای را دریافت می‌کند، براساس مقصد تصمیم می‌گیرد که بهترین راه برای رسیدن این بسته به مقصد، کدام راه است و بسته را به روتر بعدی در این مسیر ارسال می‌کند. این کار تا زمانی که بسته به مقصد برسد، ادامه می‌یابد. مانند MAC address، هر دستگاه در شبکه آدرس IP منحصر به فرد خود را دارد.

۴- لایه‌ی انتقال (transport layer) وظیفه‌ی این لایه، ایجاد ارتباطی end-to-end بین مبدا و مقصد، هم‌چنین کنترل جریان و کنترل خطا است. ارتباط بین دو دستگاه در این لایه، مانند برقراری یک تونل مجازی بین این دو دستگاه است. پروتکل‌های این لایه درگیر مسیریابی نمی‌شوند. لازمه‌ی ایجاد هر ارتباط، وجود IP و پورت‌های مبدا و مقصد است. وجود IP‌ها برای عمل مسیریابی در لایه‌ی پایین‌تر ضروری است و به کمک پورت‌ها می‌توان مشخص کرد که چه برنامه‌هایی در لایه‌‌های بالاتر، این بسته را ارسال کرده‌اند. بسته‌های این لایه datagram نام دارند و پروتکل‌های اصلی این لایه، TCP و UDP هستند.

۵- لایه‌ی نشست (session layer) این لایه، سبب حفظ ارتباط بین ارسال‌کننده و دریافت‌کننده می‌شود و اگر این ارتباط قطع شود، شیوه‌ی شروع مجدد آن را تعیین می‌کند. هم‌چنین به کمک این لایه‌ می‌توان تا حدی امنیت ارتباط بین دو طرف را تامین کرد و کار‌هایی مانند authentication و authorization را بین گیرنده و فرستنده انجام داد.

۶- لایه‌ی نمایش (presentation layer) این لایه، اطلاعات دریافت شده از لایه‌ی بالایی خود را به زبانی قابل فهم برای لایه‌ی پایین‌تر خود ترجمه می‌کند. هم‌چنین، اگر اطلاعات به‌شکل رمزنگاری شده دریافت شوند، این لایه وظیفه‌ی رمز‌گشایی را برعهده دارد. از آن‌جایی که عملکرد این لایه را می‌توان به کمک لایه‌های دیگر پیاده‌سازی کرد، استفاده از این لایه خیلی رایج نیست.

۷- لایه‌ی کاربرد (application layer) بیش‌تر پیام‌هایی که در شبکه‌ی اینترنت مبادله می‌شوند، در این لایه تولید می‌شوند. درواقع قرار است برنامه‌های مختلف روی سیستم‌های مختلف، تبادل اطلاعات انجام بدهند که این تبادل به کمک همه‌ی لایه‌های قبلی نام‌ برده شده انجام می‌شود. پروتکل‌های آشنایی مانند HTTP و FTP (file transfer protocol) متعلق به این لایه هستند.

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

لایه‌های مدل TCP/IP عبارت‌اند از: 


۱- لایه‌ی واسط شبکه (network interface layer) این لایه، معادل لایه‌های اول و دوم در مدل OSI، یعنی لایه‌های physical و datalink است و بنابراین عملکردی مشابه با این دولایه دارد. به این معنا که آدرس‌های MAC، مسیر‌یابی مربوط به آن‌ها و ارسال و دریافت فیزیکی بیت‌ها، مربوط به این لایه هستند.

۲- لایه‌ی اینترنت (internet layer) به دلیل اهمیت بالای کار لایه‌ی ۳ یعنی لایه‌ی شبکه (network layer) در مدل OSI و این‌که کار این لایه نمی‌تواند در لایه‌ی دیگری انجام شود، در مدل TCP/IP هم مانند OSI لایه‌ی جداگانه‌ای برای آدرس‌دهی (IP) و مسیریابی در نظر گرفته شده که لایه‌ی اینترنت نام دارد. مهم‌ترین پروتکل در این لایه، پروتکل اینترنت (internet protocol) یا IP است.

۳- لایه‌ی انتقال (transport layer) دقیقا مشابه با لایه‌ی انتقال در مدل OSI، وظیفه‌ی این لایه نیز برقراری ارتباط بین دو host با استفاده از لایه‌ی‌های زیرین خود است تا از این راه بتواند اطلاعات لایه‌ی بالا‌تر خود را تا حد امکان بدون خطا به مقصد برساند. پروتکل‌های اصلی این لایه‌، پروتکل‌های TCP و UDP هستند.




۴- لایه‌ی کاربرد (application layer): این لایه، ترکیب لایه‌های application،  session و presentation در مدل OSI است. با کمک این لایه کاربر با کامپیوتر تعامل دارد و می‌تواند از آن برای ارسال و دریافت داده استفاده کند. هر بسته‌ی ایجاد شده در این لایه برای ارسال به لایه‌ی transport داده می‌شود تا به دست مقصد برسد. تمام پروتکل‌هایی که مربوط به سه لایه‌ی آخر مدل OSI  هستند، مانند HTTP، SSH، FTP و ...، در این دسته قرار می‌گیرند.

 

تفاوت مدل‌های TCP/IP و OSI

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


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