مدل OSI (کوتاه شده Open Systems Interconnection) به یک مدل مفهومی اشاره دارد که توسط سازمان بینالمللی استانداردسازی (ISO) ایجاد شده است و سیستمهای ارتباطی را قادر میسازد تا با استفاده از پروتکلهای استاندارد با یکدیگر ارتباط برقرار کنند. OSI به زبان ساده، استانداردی را برای سیستمهای مختلف کامپیوتری فراهم میکند تا بتوانند با یکدیگر ارتباط برقرار نمایند.
مدل OSI را میتوان به عنوان یک زبان جهانی برای شبکه های کامپیوتری نیز در نظر گرفت. این بر اساس مفهوم تقسیم یک سیستم ارتباطی به هفت لایه انتزاعی میباشد که هر لایه روی دیگری قرار گرفته است. در این مقاله، به تشریح لایههای مختلف مدل OSI میپردازیم و نقش هر لایه را در فرآیند ارتباط و انتقال دیتا بین دستگاهها بررسی میکنیم.
7 لایه مدل OSI
لایه 7 - اپلیکیشن (Application Layer)
لایه اپلیکیشن تنها لایه ای است که مستقیماً با دیتا کاربر در ارتباط است. برنامههای نرمافزاری مانند مرورگرهای وب و کلاینتهای ایمیل برای ایجاد ارتباطات به لایه اپلیکیشن متکی هستند. برنامه های کاربردی که سمت کلاینت هستند بخشی از لایه اپلیکیشن نیستند. یعنی لایه اپلیکیشن تنها مسئول پروتکلها و دستکاری دادهها است تا برنامه های کاربردی قادر به ارائه دادههای معنیدار به کاربر باشند.
پروتکل های لایه اپلیکیشن، FTP، DNS، HTTP و SMTP هستند.
لایه 6 - نمایش (Presentation Layer)
این لایه در درجه اول مسئول آماده سازی داده ها است تا لایه اپلیکیشن بتواند از آن ها استفاده کند. به زبان ساده، لایه 6 داده های مورد نیاز برای برنامه های کاربردی را فراهم میسازد و وظیفه ترجمه، رمزگذاری و فشرده سازی داده ها را بر عهده دارد.
اگر دو دستگاه کامپیوتری بخواهند با یکدیگر ارتباط برقرار کنند ممکن است از روشهای رمزگذاری متفاوتی استفاده کنند، بنابراین لایه 6 باید این دادههای دریافتی را به نحوی ترجمه کند تا لایه اپلیکیشن دستگاه گیرنده بتواند آن را درک نماید.
لایه نمایش همچنین مسئول فشردهسازی دادههایی است که از لایه اپلیکیشن دریافت میکند. این به بهبود سرعت و کارایی ارتباط کمک بسزایی می کند.
لایه 5 – نشست (Session Layer)
این لایه مسئول باز و بسته کردن ارتباط بین دو دستگاه است. مدت زمان بین باز و بسته شدن ارتباط به عنوان جلسه یا نشست شناخته میشود. لایه نشست تضمین میکند که هر جلسه به اندازه کافی باز خواهد ماند تا تمامی داده ها منتقل شوند و سپس به سرعت جلسه را میبندد تا از هدر رفتن منابع جلوگیری کند.
لایه نشست انتقال دادهها را با چک پوینت (checkpoint) همگام میکند. به عنوان مثال، اگر یک فایل 100 مگابایتی بین دو دستگاه در حال انتقال باشد، لایه نشست می تواند هر 5 مگابایت یک چک پوینت تعیین کند تا در صورت قطع ارتباط یا بروز مشکل، این پروسه ادامه پیدا کند.
لایه 4 – انتقال (Transport Layer)
لایه 4 وظیفه ارتباط سرتاسری بین دو دستگاه را بر عهده دارد. این شامل گرفتن داده ها از لایه نشست و تقسیم آن به سگمنت (segment) قبل از ارسال به لایه 3 است. لایه انتقال در دستگاه گیرنده مسئول مونتاژ مجدد سگمنت ها به داده هایی است که در لایه نشست می تواند مصرف کند.
لایه انتقال، وظیفه کنترل جریان و کنترل خطا را نیز بر عهده دارد:
کنترل جریان برای تنظیم سرعت انتقال ضروری است تا اگر فرستنده نسبت به گیرنده از سرعت بالاتری برخوردار بود، اتصال تحت تاثیر قرار نگیرد.
لایه انتقال نقش حیاتی در کنترل خطا در سمت گیرنده دارد. یعنی یکپارچگی دادههای دریافتی را تأیید میکند، از کامل بودن آن اطمینان حاصل میکند و در صورت مشاهده هرگونه مغایرت، درخواست ارسال مجدد مینماید.
پروتکلهای این لایه TCP و UDP میباشند.
لایه 3 – شبکه (Network Layer)
لایه شبکه وظیفه تسهیل انتقال داده بین دو شبکه مختلف را بر عهده دارد. اما اگر دو دستگاه بخواهند با یکدیگر ارتباط برقرار کنند و در یک شبکه نیز قرار گرفته باشند، لایه شبکه عملاً نقشی در این خصوص نخواهد داشت.
لایه شبکه، سگمنتها را از لایه انتقال دریافت میکند و آنها را به واحدهای کوچکتر به نام پکتها (packets) در دستگاه فرستنده تبدیل میکند. در دستگاه گیرنده، عکس این کار صورت میگیرد، یعنی پکتها مجدد مونتاژ میشوند و به سگمنتها تبدیل خواهند شد.
لایه شبکه همچنین بهترین مسیر فیزیکی را برای دادهها جهت رسیدن به مقصد پیدا میکند که به عنوان روتینگ (routing) یا مسیریابی شناخته میشود.
پروتکلهای لایه شبکه عبارتند از: IP، ICMP، IGMP و IPsec suite.
لایه 2 – دیتا لینک (Data Link Layer)
لایه دیتا لینک مشابه لایه شبکه میباشد، با این تفاوت که لایه دیتا لینک انتقال داده بین دو دستگاهی که در یک شبکه قرار گرفتهاند را تسهیل مینماید.
لایه دیتا لینک، پکتها را از لایه شبکه دریافت میکند و آنها را به واحدهای کوچکتری با نام فریم (frame) تبدیل مینماید. همانند لایه شبکه، لایه دیتا لینک نیز مسئول کنترل جریان و کنترل خطا در ارتباطات درون شبکهای است.
به خاطر داشته باشید که لایه انتقال، کنترل جریان و کنترل خطا را تنها برای ارتباطات بین شبکهای انجام میدهد.
لایه 1 – فیزیکی (Physical Layer)
این لایه به تجهیزات فیزیکی مانند کابلها و سوئیچها اشاره دارد که بطور مستقیم در انتقال دادهها نقش دارند. در لایه فیزیکی، دادهها به جریان بیت (bitstream) تبدیل میشوند که رشتهای از 0 و 1 هستند.
نحوه انتقال دادهها طریق مدل OSI
در سمت فرستنده، حرکت دادهها از بالا (لایه اپلیکیشن) به پایین (لایه فیزیکی) صورت میگیرد و به عبارتی تحت فرآیند کپسولهسازی (capsulation) قرار می گیرند، جایی که هدرهای مخصوص هر لایه اضافه می شود. اما در سمت گیرنده عکس این موضوع رخ میدهد. یعنی داده ها تحت فرآیند decapsulation قرار میگیرند، جایی که هدرها هر لایه حذف میشوند تا داده های اصلی به دست آیند.
برای مثال، اگر قصد دارید با استفاده از برنامه Outlook یا Gmail به شخصی ایمیلی ارسال کنید، دادهها از بالاترین لایه مدل OSI یعنی اپلیکیشن، به سمت پایین حرکت میکنند تا به لایه فیزیکی یا لایه 1 برسند. پس از طی کردن این مراحل، داده ها در شبکه جریان پیدا میکنند تا به دستگاه شخص گیرنده برسند. این داده ها در دستگاه گیرنده به ترتیب از لایه های فیزیکی، دیتا لینک، شبکه، انتقال، نشست و نمایش عبور میکنند تا در نهایت به لایه اپلیکیشن رسیده و دادههای مورد نظر برای گیرنده قابل خواندن باشند.