Loading…

جزیره شبکه و زیرساخت

ارسال کننده: UNITY
محمد نصیری ، بنیانگذار ITPRO ، کارشناس امنیت اطلاعات و ارتباطات و کشف جرائم رایانه ای ، هکر کلاه سفید ، تخصص در حوزه امنیت سیستم عامل و تست های نفوذسنجی ، لینوکس ، مجازی سازی ، سرویس های کاربردی سرور و ... سابقه همکاری در بیش از 40 سازمان دولتی ، خصوصی و نظامی در حوزه پروژه ، مشاوره و آموزش ، بیش از 10 هزار ساعت سابقه آموزشی در طی 12 سال فعالیت حرفه ای ...
ارسال پیام خصوصی
امتیازات این مطلب
مقاله: مبانی شبکه قسمت هفدهم - هفت لایه OSI یا مدل مرجع OSI
شاید برای شما هم این مسئله پیش آمده باشد که مدل مرجعه OSI چیست و چگونه به برقراری ارتباط نرم افزاها در شبکه کمک میکند ؟ در مقاله قبلی که در خصوص سیستم عامل ویندوز بود به شما توضیح دادیم که چگونه یک سیستم عامل میتواند با شناسایی و نصب خودکار درایورهای سخت افزارها به به برنامه نویسان قابلیت های بیشتری برای اضافه کردن امکانات هب نرم افزارهایشان را بدهد . همین مفهوم با اینکه بسیار در خصوص سیستم عامل ها مهم است در خصوص نر مافزار های تحت شبکه نیز به همین مقدار اهمیت دارد و چگونگی برقرار شدن ارتباطات و شناسایی شبکه ها توسط یکدیگر برای ما بسیار مهم است .

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

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

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

لایه های OSI

شکل الف : properties گرفتن از local area connection نشان دهنده این است که لایه های مختلفی در ویندوز برای ارتباط شبکه وجود دارد.

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

مدل مرجع OSI

شکل ب : لایه های مدل مرجع OSI

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

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


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

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


فعالیت لایه نمایش یا 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 هست تقسیم می شود . زیر لایه MAN همانطوری که از نامش پیداست شناسه سخت افزاری کامپیوتر که در واقع همان آدرس MAC کارت شبکه است را به شبکه معرفی میکند . آدری MAC آدرس سخت افزاری است که در هنگام ساخت کارت شبکه از طرف شرکت سازنده بر روی کارت شبکه قرار داده می شود و در حقیقت Hard Code می شود .این در حقیقت مهمترین فاکتوری است در آدرس دهی که کامپیوتری از طریق آن بسته های اطلاعاتی را دریافت و ارسال می کند . زیر لایه LLC وظیفه کنترل Frame Synchronization یا یکپارچه سازی فریم ها و همچنین خطایابی در لایه دوم را بر عهده دارد .

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


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

کارکرد دو طرفه


در همین مقاله اشاره کردیم که در مدل مرجع OSI یک نرم افزار کاربردی نیاز دارد که اطلاعات را در شبکه منتقل کند . اما به خاطر داشته باشیم که عکس این عمل نیز در مقابل و در کامپیوتر مقصد نیز بایستی انجام شود یعنی لایه های OSI در کامپیوتر مقصد عکس همین اعمالی را انجام میدهد که در مبدا انجام می دهند . به فرآیند ایجاد بسته های اطلاعاتی برای ارسال در شبکه Encapsulation یا کپسوله سازی و به فرآیند از بسته خارج کردن اطلاعات ار بسته های اطلاعاتی Decapsulation یا از کپسول حارج کردن هم می گویند که برخی اوقات ممکن است به عنوان Assemble و Disassemble نیز بکار برده شود . برای اینکه راحتتر بتوانید ترتیب لایه ها را حفظ کنید به دو جمله زیر توجه کنید که فرآیند Encapsulation و Decapsulation را به خوبی تشریح می کنند :

All People Seem To Need Data Processing
Please Do Not Through Sausage Pizza Away

نتیجه


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

نویسنده : محمد نصیری
منبع : انجمن تخصصی فناوری اطلاعات ایران
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد
سایر مطالب این گروه
دیدگاه ها
  • ارسال توسط:
  • زمان ارسال: 42 ماه قبل
بسیار عالی بود... من به عنوان یک تازه کار مفهوم لایه ها را از این مقاله بهتر متوجه شدم تا از روی کتاب...
این نظر توسط در تاریخ 01 دی 1394 11:05:38 حذف شده است.
دلیل: این پست حاوی محتوای تبلیغاتی است
  • ارسال توسط:
  • زمان ارسال: 10 ماه قبل
جالب بود بسیار عالی
  • ارسال توسط:
  • زمان ارسال: 6 ماه قبل
عالی بود واقعا

برای ارسال نظر وارد شوید.