هفت لایه OSI یا مدل مرجع OSI
هفت لایه OSI یا مدل مرجع OSI

هفت لایه OSI یا مدل مرجع OSI

هفت لایه OSI یا مدل مرجع OSI: شاید برای شما هم این مسئله پیش آمده باشد که مدل مرجعه OSI چیست و چگونه به برقراری ارتباط نرم افزاها در شبکه کمک میکند؟ در مقاله قبلی که در خصوص سیستم عامل ویندوز بود به شما توضیح دادیم که چگونه یک سیستم عامل میتواند با شناسایی و نصب خودکار درایورهای سخت افزارها به برنامه نویسان قابلیت های بیشتری برای اضافه کردن امکانات نرم افزارهایشان را بدهد. همین مفهوم با اینکه بسیار در خصوص سیستم عامل ها مهم است در خصوص نرم افزار های تحت شبکه نیز به همین مقدار اهمیت دارد و چگونگی برقرار شدن ارتباطات و شناسایی شبکه ها توسط یکدیگر برای ما بسیار مهم است.

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

البته این یک پیش زمینه در این خصوص است و طبیعتا نمیتوان درک کاملی از موضوع را با این روش بیان کرد. همه چیز تا حدی در زمینه ارسال اطلاعات در شبکه پیچیده است. به یاد داشته باشید که کارت شبکه یا همان NIC فقط برای ارسال و دریافت داده ها ساخته شده است. این کارت هیچ چیز در مورد ویندوز و نرم افزار های کاربردی آن نمیداند و حتی در مورد پروتکل ها هم هیچ تصوری ندارد، در اصل یک دستگاه کاملا Passive محسوب می شود. در مثالی که برایتان گفتم، در واقع سه لایه کاری را برایتان عنوان کردیم، لایه نرم افزارهای کاربردی (Application)، لایه سیستم عامل (Operating System) و لایه فیزیکی سخت افزار. تمامی این لایه های وجود دارند اما نه دقیقا با همین عنوان، هر کدام از این لایه ها به خودی خود به یک سری زیر لایه تقسیم می شوند.

قبل از اینکه وارد مبحث هفت لایه OSI یا مدل مرجع OSI شویم و عملکرد هر کدام از این لایه ها را بررسی کنیم باید به این نکته توجه کنید که مفاهیمی که من در مورد آنها به شما در این مقاله آموزش می دهم بسیار خلاصه شده است. شما وقتی بر روی local area connection راست کلیک کنید همانطوری که در شکل الف مشاهده می کنید، این قسمت از اجزای مختلفی تشکیل شده است، اجزایی مانند network client ،network adapter driver و protocol ها و … هر یک از این اجزاء وابسته به یک یا چند لایه از همان هفت لایه OSI یا مدل مرجع OSI که عنوان کردیم، هستند.هفت لایه OSI یا مدل مرجع OSI

مدل شبکه ای که ویندوز و بسیاری دیگر از سیستم عامل های دیگر از آن استفاده می کنند به نام مدل مرجع OSI شناخته می شود. واژه OSI مخفف کلمه Open System Interconnection است. مدل OSI شامل هفت لایه مختلف است که هر کدام از لایه های موجود در این مدل مرجع وظیفه خاصی را بر عهده دارند و کار خاصی بر عهده هر کدام از این لایه ها می باشد. این لایه ها بین لایه بالاتر و پایینتر قرار گرفته و به آنها سرویس می دهند. در واقع هر لایه با لایه پایینتر و بالاتر خود وابسته است. شکل فرضی لایه های OSI همانند شکل پایین است که در زیر مشاهده می کنید.

هفت لایه OSI یا مدل مرجع OSI

پشت سر هم بودن و نظم بسته های اطلاعاتی یا packet ها در شبکه بسیار مهم است به دلیل اینکه هر پروتکلی برای خود حداکثر اندازه ای برای بسته اطلاعاتی تعیین کرده است. برخی اوقات اندازه بسته اطلاعاتی از اندازه تعیین شده آن بیشتر می شود و به همنی دلیل داده ها به بسته های کوچکتری تقسیم می شوند و هر یک تشکیل یک بست را می دهند به اینکار به اصطلاح Fragment کردن می گویند.

لایه کاربردی یا Application Layer

بالاترین لایه در مدل هفت لایه OSI یا مدل مرجع OSI، لایه کاربرد یا Application است. اولین نکته ای که در خصوص لایه کاربرد یا Application باید بدانید این است که به هیچ عنوان این لایه با نرم افزارهای کاربردی ارتباطی ندارد و صرفا یک تشابه اسمی است. در عوض این لایه محیطی را ایجاد میکند که نرم افزارهای کاربردی بتوانند از طریق آن با شبکه ارتباط برقرار کنند. برای اینکه درک بهتری از لایه کاربرد داشته باشید فرض کنید که یک کاربر با استفاده از نرم افزار Internet Explorer قصد دارد از طریق پروتکل FTP یک فایل را در شبکه منتقل کند. در این مورد لایه کاربرد به وظیفه برقراری ارتباط با پروتکل FTP برای انتقال فایل را بر عهده دارد. این پروتکل بصورت مستقیم برای کاربران قابل دسترسی نیست، کاربر بایستی با استفاده از یک نرم افزار رابط مانند Internet Explorer برای برقراری ارتباط با پروتکل مورد نظر استفاده کند. بصورت خلاصه در تعریف کارایی این لایه می توان گفت که این لایه رابط بین کاربر و شبکه است و تنها قسمتی از این مدل هفت لایه ای است که کاربر تا حدی می تواند با آن ارتباط برقرار کند.

لایه نمایش یا Presentation

لایه بعدی از میان هفت لایه OSI یا مدل مرجع OSI لاینه نمایش می باشد. فعالیت لایه نمایش یا Presentation تا حدی پیچیده است اما همه کارهایی که این لایه انجام می دهد را میتوان در یک جمله خلاصه کرد، لایه نمایش اطلاعات را از لایه کاربرد دریافت میکند و در قالبی در می آورد که برای لایه های پایینتر قابل درک باشد. همچنین برعکس این عمل را نیز انجام میدهد یعنی زمانی که اطلاعاتی از لایه نشست یا Session به این لایه وارد می شود، این اطلاعات را به گونه ای تبدیل می کند که لایه کاربرد بتواند آنها را درک کرده و متوجه شود. دلیل اهمیت این لایه این است که نرم افزارهای اطلاعات را به شیوه ها و اشکال مختلفی نسبت به یکدیگر بر روی شبکه ارسال می کنند. برای اینکه ارتباطات در سطح شبکه ها بتوانند برقرار شوند و به درستی برقرار شوند شما بایستی اطلاعات را به گونه ای ساختاردهی کنید که برای همه انواع شبکه ها استاندارد و قابل فهم باشد. بطور خلاصه وظیفه اصلی این لایه قالب بندی اطلاعات یا Formatting اطلاعات است. معمولا فعالیت هایی نظیر رمزنگاری و فشرده سازی از وظایف اصلی این لایه محصوب می شود.

لایه نشست یا جلسه یا Session

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

لایه انتقال یا Transport

لایه انتقال وظیفه نگهداری و کنترل ریزش اطلاعات یا Flow Control را بر عهده دارد. اگر به خاطر داشته باشید سیستم عامل ویندوز به شما این اجازه را میدهد که همزمان از چنیدن نرم افزار استفاده کنید. خوب همین کار در شبکه نیز ممکن است رخ بدهد، چندین نرم افزار بر روی سیستم عامل تصمیم میگیرند که بصورت همزمان بر روی شبکه اطلاعات خود را منتقل کنند. لایه انتقال اطلاعات مربوط به هر نرم افزار در سیستم عامل را دریافت و آنها را در قالب یک رشته تکی در می آورد. همچنین این لایه وظیفه کنترل خطا و همچنین تصحیح خطا در هنگام ارسال اطلاعات بر روی شبکه را نیز بر عهده دارد. بصورت خلاصه وظیفه لایه انتقال این است که از رسیدن درست اطلاعات از مبدا به مقصد اطمینان حاصل کند، انواع پروتکل های اتصال گرا یا Connection Oriented و غیر اتصال گرا Connection Less در این لایه فعالیت میکنند.

لایه شبکه یا Network

وظیفه لایه شبکه این است که چگونگی رسیدن داده ها به مقصد را تعیین کند. این لایه وظایفی از قبیل آدرس دهی، مسیریابی و پروتکل های منطقی را عهده دار است. بیشتر مخاطبین این مقاله افراد تازه وارد به دنیای شبکه هستند پس من هم وارد جزئیات فنی این لایه نمی شوم، اما به شما می گویم که لایه شبکه مسیرهای منطقی یا Logical Path بین مبدا و مقصد ایجاد میکند که به اصطلاح مدارهای مجازی یا Virtual Circuits نامگذاری می شوند، این مدارها باعث میشن که هر بسته اطلاعاتی بتواند راهی برای رسیدن به مقصدش پیدا کند. لایه شبکه همچنین وظیفه مدیریت خطا در لایه خود، ترتیب دهی بسته های اطلاعاتی و کنترل ازدهام را نیز بر عهده دارد .ترتیب بسته های اطلاعاتی بسیار مهم است زیرا هر پروتکلی برای خود یک حداکثر اندازه بسته اطلاعاتی تعریف کرده است. برخی اوقات پیش می آید که بسته های اطلاعاتی از این حجم تعریف شده بیشتر می شوند و به ناچار اینگونه بسته های به بسته های کوچکتری تقسیم می شوند و برای هر کدام از این بسته های اطلاعاتی یک نوبت یا Sequence داده می شود که معلوم شود کدام بسته اول است و کدام بسته دوم و …. به این عدد به اصطلاح Sequence Number هم گفته می شود.

وقتی بسته های اطلاعاتی در مقصد دریافت شدند، در لایه شبکه این Sequence Number ها چک می شود و به وسیله همین Sequence Number است که اطلاعات به حالت اولیه باز میگردند و تبدیل به اطلاعات اولیه می شوند. در صورتیکه یکی از این بسته های به درستی دریافت نشود در همان لایه شبکه از طریق چک کردن این عدد مشخص می شود که کدام بسته اطلاعاتی دریافت نشده است و طبیعتا مجددا در خواست داده می شود.

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

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

لایه پیوند داده به خودی خود به دو زیر لایه به نام های MAC که مخفف Media Access Control و LLC که مخفف Logical Link Control هست تقسیم می شود . زیر لایه MAC همانطوری که از نامش پیداست شناسه سخت افزاری کامپیوتر که در واقع همان آدرس MAC کارت شبکه است را به شبکه معرفی میکند. آدرس MAC آدرس سخت افزاری است که در هنگام ساخت کارت شبکه از طرف شرکت سازنده بر روی کارت شبکه قرار داده می شود و در حقیقت Hard Code می شود. این در حقیقت مهمترین فاکتوری است در آدرس دهی که کامپیوتری از طریق آن بسته های اطلاعاتی را دریافت و ارسال می کند. زیر لایه LLC وظیفه کنترل Frame Synchronization یا یکپارچه سازی فریم ها و همچنین خطایابی در لایه دوم را بر عهده دارد.

لایه فیزیکی یا Physical Layer

لایه فیزیکی در هفت لایه OSI یا مدل مرجع OSI در حقیقت به ویژگیهای سخت افزاری کارت شبکه اشاره می کند. لایه فیزیکی به مواردی از قبیل زمانبندی و ولتاژ برقی که قرار است در رسانه منتقل شود اشاره می کند. این لایه در واقع تعیین میکند که ما به چه شکل قرار است اطلاعات خود را و از طریق چه رسانه ای انتقال دهیم، برای مثال رسانه ما کابل فلزی است یا تجهیزات بی سیم؟ برای راحت کردن درک این لایه بهتر است بگوییم لایه فیزیکی تعیین میکند که اطلاعات چگونه در سطح رسانه دریافت و ارسال شوند. عملیات Coding نیز که به معنای تعیین کردن صفر و یک در رسانه است نیز در این لایه انجام می شود.

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

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

تهیه وتنظیم

  • تهیه و تنظیم از کیهان سرور
  • عنوان مقاله: هفت لایه OSI یا مدل مرجع OSI
  • نویسنده: محمد نصیری
  • منبع: انجمن تخصصی فناوری اطلاعات ایران