مدل OSI چیست؟ کاربرد لایه های مدل OSI در شبکه
شبکه در دنیای اینترنت زیرساخت همه فعالیتها است تا وب که از کامپیوترهای متفاوت در گوشه و کار دنیا تشکیل شده بهدرستی کار کند و مردم را به هم متصل نگه دارد. شبکه انواع مختلفی دارد که ساختارهای متفاوتی هم دارند. یکی از این مدلها، OSI است که در این مقاله معرفی میکنیم.
OSI مخفف Open Systems Interconnection و به معنی اتصالات متقابل سیستمهای باز است که در سال ۱۹۸۴ توسط سازمان استانداردسازی بینالمللی ایجاد شد. این مدل یک ساختار ۷ لایه دارد که هریک کارکرد خاصی ارائه میکنند، اما با هم مشارکت میکنند تا داده از یک فرد به فرد دیگری در جهان منتقل شود.
لایه اول: لایه فیزیکی یا Physical Layer
پایینترین لایه در مدل OSI است که مسئولیت ارتباط واقعی بین دستگاهها را دارد. اطلاعات را در فرمت بیت نگهداری میکند و هر بیت را از یک نود به نود بعدی منتقل میکند. هنگام دریافت داده، سیگنال دریافتی را میگیرد و به ۰ و ۱ تبدیل میکند، سپس آنها را به لایه بعدی ارسال میکند تا دوباره فریم را سرهم کند.
کارکردهای لایه فیزیکی:
- سینک کردن بیتها: سینک بیتها را توسط ارائه یک ساعت فراهم میکند. این ساعت هم فرستنده و هم گیرنده را کنترل میکند تا سینک را در سطح بیت فراهم کند.
- کنترل سرعت بیت: تعداد بیتهای ارسالی در هر ثانیه را کنترل میکند.
- توپولوژی فیزیکال: راهی که دستگاهها و نودهای مختلف باید در شبکه چیده شوند را تعیین میکند که شامل توپولوژی باس، استار یا مش است.
- وضعیت انتقال: راه انتقال داده بین دو دستگاه متصل را هم تعیین میکند. مدلهای متفاوت انتقال داده شامل Simplex، half-duplex و full-duplex هستند.
دستگاههایی مانند Hub، Repeater، Modem و Cables در لایه فیزیکال استفاده میشوند. لایه شبکه، دیتا لینک و فیزیکال بهعنوان سطوح پایین یا سختافزاری شبکه شناخته میشوند.
لایه دوم: لایه ارتباط داده یا Data Link Layer
مسئول ارسال پیامها از یک نود به نود دیگر است. کارکرد اصلی این لایه اطمینان از انتقال داده در لایه فیزیکال بدون بروز خطاست. هنگامیکه یک بسته داده در یک شبکه از راه میرسد، باید آن را از طریق آدرس MAC به میزبان منتقل کند.
لایه دیتا لینک به دو سطح فرعی تقسیم میشود:
- لاجیکال یا Logical Link Control) LLC)
- مدیا یا Media Access Control) MAC)
بسته داده رسیده از لایه شبکه با توجه به سایز فریم NIC یا کارت شبکه به فریمهای کوچکتر تقسیم میشود. لایه دیتا لینک آدرس مک فرستنده و گیرنده را در هدر ثبت میکند. آدرس مک گیرنده با استفاده از پروتکل ARP به دست میآید که از طریق سوال «این آدرس IP متعلق به چه کسی است» بیان میشود و میزبان مقصد هم با آدرس مک پاسخ میدهد.
مقاله مرتبط: ModSecurity چیست؟ دلایل استفاده از ModSecurity در سرور/a>
کاربرد لایه ارتباط داده:
- فریمینگ: راهی برای یک فرستنده ایجاد میکند تا مجموعهای از بیتها را منتقل کند که برای گیرنده قابلدرک هستند. این کار از طریق قرار دادن بیتهای خاص در ابتدا و انتهای فریم انجام میشود.
- آدرسینگ فیزیکال: پس از ایجاد فریمها، آدرسهای مک فرستنده و گیرنده را در هدر هر فریم قرار میدهد.
- کنترل خطا: مکانیسم کنترل خطا را فراهم میکند تا فریمهای آسیبدیده را شناسایی و منتقل کند.
- کنترل انتقال داده: سرعت انتقال داده در هر دو طرف باید ثابت باشد در غیر این صورت ممکن است داده خراب شود بنابراین مقدار دادهای که قبل از دریافت تاییده ارسال میشود را هماهنگ میکند.
- کنترل دسترسی: هنگامیکه یک کانال ارتباطی در چند دستگاه به اشتراک گذاشته میشود، تعیین میکند که کدام دستگاه در هرلحظه، کنترل کانال را خواهد داشت.
در این لایه به بسته داده، فریم گفته میشود. لایه دیتا لینک توسط NIC و درایورهای دستگاه میزبان مدیریت میشود. Switch و Bridge دستگاههایش هستند.
لایه سوم: لایه شبکه یا Network Layer
برای انتقال داده از یک میزبان به یک میزبان در شبکه دیگری استفاده میشود. علاوه بر اینکه روتینگ بسته داده مانند انتخاب کوتاهترین مسیر در روتهای در دسترس را انجام میدهد. آدرس آی پی فرستنده و گیرنده توسط این لایه در هدر قرار میگیرند.
کاربرد لایه شبکه:
- روتینگ: پروتکلهایش تعیین میکنند که کدام روت از منبع به مقصد مناسب هستند. کارکرد لایه شبکه به روتینگ شناخته میشود.
- (Logical Addressing) قرار دادن آدرسهای لاجیکال: برای شناسایی هر دستگاه بهصورت منحصربهفرد، لایه شبکه یک برنامه توزیع آدرس تعریف میکند. آدرس آی پی فرستنده و گیرنده در هدر قرار میگیرند تا هر دستگاه در شبکه قابلشناسایی باشد.
لایه شبکه توسط دستگاههایی مانند روتر ایجاد میشود و در اینجا سگمنت را بسته مینامند.
لایه چهارم: لایه انتقال یا Transport Layer
لایه انتقال به لایه بعدی یعنی اپلیکیشن خدمات میدهد و از لایه شبکه خدمات دریافت میکند. مسئول ارسال کامل پیام در کل مسیر است و تاییدیه انتقال موفقیتآمیز داده را ایجاد میکند و اگر خطایی مشاهده شود، داده را مجدداً منتقل میکند.
روند کار لایه انتقال در سمت فرستنده:
داده فرمت شده را از لایههای قبلی دریافت میکند، سگمنت میکند و خطاها را کنترل میکند تا داده بهصورت مناسب منتقل شود. علاوه بر این، شماره پورت منبع و مقصد را در هدر اضافه میکند و داده سگمنت بندی شده را به لایه شبکه فوروارد میکند.
نکته: فرستنده باید شماره پورت مرتبط به اپلیکیشن را بداند. معمولاً، شماره پورت مقصد بهصورت پیشفرض یا دستی تنظیم میشود؛ مثلاً هنگامیکه یک اپلیکیشن وب یک درخواست به سرور وب ارسال میکند، از پورت ۸۰ استفاده میکند برای اینکه این پورت پیشفرض اپلیکیشنهای وب است.
روند کار در سمت گیرنده:
شماره پورت را از هدر میخواند و داده دریافتی را به اپلیکیشن مقصد ارسال میکند. علاوه بر این مرتب کردن و سرهمبندی داده سگمنت بندی شده را انجام میدهد.
کارکردهای لایه انتقال:
- سگمنتبندی و سرهم کردن: پیام را از لایه بعدی دریافت میکند و آن را به واحدهای کوچکتر تقسیم میکند. هر سگمنت ایجادشده یک هدر دارد و لایه انتقال مقصد پیام را دوباره سرهم میکند.
- آدرسینگ سرویس پوینت: برای اینکه پیام بهصورت صحیح منتقل شود، هدر لایه انتقال شامل نوعی آدرس به نام آدرس service point است.
خدمات لایه انتقال:
- خدمات مبتنی بر ارتباط (connection-oriented): یک روند ۳ مرحلهای که شامل ایجاد ارتباط، انتقال داده و قطع ارتباط است. در این نوع انتقال، دستگاه گیرنده پس از دریافت یک یا چند بسته داده، یک تاییدیه به منبع میفرستد. این نوع انتقال قابلاعتماد و امن است.
- خدمات بدون ارتباط (connectionless): یک روند تکمرحلهای و شامل انتقال داده است که فرستنده، دریافت بسته داده را تایید نمیکند. این رویکرد امکان ارتباط سریعتر بین دستگاهها را فراهم میکند؛ اما خدمات مبتنی بر ارتباط از این نوع خدمات امنتر است.
داده در اینجا، سگمنت نامیده میشود. این لایه توسط سیستمعامل اجرا میشود که درواقع بخشی از آن است. ارتباطات با لایه اپلیکیشن توسط تماسهای سیستم انجام میشوند. لایه انتقال، قلب مدل OSI نامیده میشود.
لایه پنجم: لایه نشست یا Session Layer
مسئول ایجاد ارتباط، نگهداری و امنیت ارتباط است.
کارکردهای لایه نشست:
- ایجاد، نگهداری و قطع ارتباط: اجازه میدهد تا دو طرف یک ارتباط را آغاز، استفاده و قطع کنند.
- سینک کردن: امکان افزودن checkpoints یا سینک داده را هم ایجاد میکند. این پوینتها خطا را شناسایی میکنند تا داده بهدرستی سینک شود، انتهای پیام زودتر از موعد بریده نشود و داده هم گم نشود.
- کنترل دیالوگ: به ۲ سیستم اجازه میدهد تا ارتباط را در وضعیت half-duplex یا full-duplex آغاز کنند.
در مدل TCP/IP، ۳ لایه پایینتر بهعنوان لایه اپلیکیشن یکپارچه شدهاند. اجرای این ۳ از طریق اپلیکیشن شبکه انجام میشود که بهعنوان لایههای بالایی یا نرمافزار شناخته میشوند.
برای درک بهتر سناریوی زیر را در نظر بگیرید:
فرض کنید که یک کاربر میخواهد یک پیام را از طریق اپلیکیشن یا پیامرسان در مرورگر خود ارسال کند. اپلیکیشن یه عنوان لایه اپلیکیشن عمل میکند که یک رابط کاربری را برای ایجاد داده به کاربر میدهد. این پیام یا داده فشرده میشود، رمزگذاری میشود و به بیتهای ۰ و ۱ تبدیل میشود تا امکان انتقالش فراهم شود.
لایه ششم: لایه نمایش یا Presentation Layer
لایه ترجمه هم نامیده میشود. داده از لایه کاربردی استخراج میشود و با توجه به فرمت موردنیاز تغییر میکند تا در شبکه منتقل شود.
کارکردهای لایه پرزنتیشن:
- ترجمه: مثلاً از ASCII به EBCDIC
- رمزنگاری و رمزگشایی: رمزنگاری داده را به فرمت یا کد دیگری ترجمه میکند. داده رمزنگاریشده بهعنوان متن cipher شناخته میشود و داده رمزگشایی شده، متن ساده نامیده میشود. یک مقدار عددی برای هر دو مرحله رمزنگاری و رمزگشایی استفاده میشود.
- فشردهسازی: تعداد بیتهای انتقالی را کاهش میدهد.
لایه هفتم: لایه کاربردی یا Application Layer
در بالاترین سطح مدل OSI قرار دارد که توسط اپلیکیشنهای شبکه ایجاد میشود که داده انتقالی را فراهم میکنند. علاوه بر این بهعنوان پنجره خدمات اپلیکیشن عمل میکند تا به شبکه دسترسی داشته باشد و اطلاعات دریافتی را به کاربر نمایش دهد.
کارکردهای لایه اپلیکیشن:
- ترمینال مجازی شبکه
- مدیریت و دسترسی انتقال فایل یا FTAM
- خدمات ایمیل
- خدمات دایرکتوری
اپلیکیشن شامل مواردی مانند مرورگرها و پیامرسانها است. لایه اپلیکیشن، دسکتاپ هم گفته میشود.
کلام آخر
با توجه به اینکه مدل OSI دیر اختراع شد، در اینترنت اجرا نمیشود و فقط بهعنوان یک مرجع در نظر گرفته میشود. در عوض مدل فعلی استفاده شده، TCP/IP model است.