مدل OSI در شبکه چیست؟ و چه کاربردی دارد؟
در این مطلب (مدل OSI در شبکه چیست؟ و چه کاربردی دارد؟) با ما همراه باشید. تا با ساختار مدل OSI آشنا شده و کاربرد هریک از لایه های آن را توضیح دهیم.
دوستانی که علاقه مند به یادگیری دوره های آموزش شبکه در برنامه سیسکو پکت تریسر هستند می بایست که با مفاهیم و زیرساخت های شبکه آشنا شده و سپس به یادگیری دوره مذکور بپردازند.
مدل OSI یا Open System Interconnection یک استاندارد ISO برای شبکههای ارتباطی در سراسر جهان است. این مدل چارچوب شبکهسازی را برای اجرای پروتکلها در شبکه تعریف میکند. هر چند امروزه تغییراتی در آن به وجود آمده اما هنوز هم کاربردهای فراوانی در معماری پایهی شبکه دارد.
تاریخچه مدل OSI و دلیل نامگذاری این مدل
دلیل نام گذاری این مدل به Open System Interconnection ارتباط باز و آسان است. زیرا این مدل به دو سیستم مختلف که میخواهند با هم ارتباط برقرار کنند اجازه میدهد بدون در نظر گرفتن معماری اساسی خود به راحتی با یکدیگر در ارتباط باشند.
در سال ۱۹۸۴ مدل OSI توسط ISO (سازمانی که برای تعریف ارتباطات جهانی و استانداردها اختصاص داده شده است) با هدف ارائهی استانداردی به تولید کنندگان محصولات شبکهای جهت تولید محصولاتی سازگار با سایر تولیدکنندگان ارائه شد تا تمامی کامپیوترهای مختلف در جهان بدون نیاز به تغییر اساسی در نرمافزار و سختافزار با هم ارتباط برقرار کنند.
نتیجهی این تلاش مدل موفق OSI شد تا ارتباطات شبکهای را به طور منطقی گروهبندی کرده و قوانینی به نام پروتکلها را برای ایجاد و برقراری ارتباط بین دو یا چند طرف لازم تنظیم کند. مدل OSI شامل هفت عملکرد است که اغلب به آنها Layer یا لایه گفته میشود. هر لایه Header مخصوص خود را از لایه قبلی به بسته اضافه میکند.
مدل OSI یا Open System Interconnection یک مدل مرجع برای ارتباط بین دو کامپیوتر می باشد. هر چند امروزه تغییراتی درآن به وجود آمده اما هنوز هم کاربردهای فراوانی در اینترنت و به خصوص در معماری پایه شبکه دارد. هدف عمده این مدل، ارائه استانداردی به تولید کنندگان محصولات شبکه ای به منظور تولید محصولاتی سازگار با سایر تولید کنندگان است (جهت امکان کار با یکدیگر). این مدل بر اساس لایه بندی قراردادهای برقراری ارتباط که همزمان روی دو سیستم مرتبط اجرا شده اند پایه ریزی شده است که این امر بسیار سرعت و دقت ارتباط را افزایش می دهد.
برای درک بهتر مفهوم، بهتر است مدل OSI را در ذهن خود تصویر سازی کنید. مدل OSI یک نماد تئوری برای درک بهتر از نحوه ارتباط و روشهایی است که برای این ارتباط بین دو گره در شبکه انجام میشود.
روند کلی مدل OSI
در تصویر بالا، هفت لایهی اصلی را در این مدل مشاهده میکنید. روند کلی ارتباط در دو کامپیوتر بالا بدین صورت است که ابتدا یک کاربر یا دستگاه اطلاعات یا دادهی خود را بر روی لایه Application قرار میدهد (برای مثال یک نامه اداری در مایکروسافت ورد) این لایه آن دادهها را به واحدهایی تقسیم میکند و به لایه زیرین انتقال میدهد.
برای عدم ایجاد مشکل ارتباطی در مقصد در هر لایه اطلاعاتی به این دادهها اضافه شده تا به رسانهی انتقال میرسد و به سمت کامپیوتر مقصد حرکت میکند. زمانی که داده به کامپیوتر مقصد رسید از پایینترین لایه، دادههای اضافه شده به هر لایه برداشته میشود و به لایهی بالا انتقال مییابد تا به آخرین لایه برسد و در برنامهی مربوطه نمایش داده شود.
معرفی لایههای مدل OSI
این مدل برای تجزیهی عملکردهای بخشهای مختلف و ایزولهسازی عملکردها، آنها را به بهترین نحو به ۷ لایه تقسیم کرده است. درست مانند گرایشهای مختلف در یک رشته (برای مثال کامپیوتر) که هر کدام در حوزه خاصی فعالیت و تخصص دارند. همانطور که هر چه تقسیمبندی در رشتههای تخصصی ایزولهتر باشد به دلیل تمرکز بیشتری روی بخش مرتبط در آن زمینه خطای کمتر و کارایی بهتری از کارشناسان خواهیم داشت؛ در ارتباطات شبکهای نیز تقسیمبندی ایزوله و صحیح بسیار حائز اهمیت است.
لایهی کاربرد (Application)
لایه هفتم : Application layer یا لایه کاربردی : این لایه رابط بین کاربر و سیستم عامل محسوب می شود و همانطور که از اسمش پیداست ، شما بوسیله این لایه با نرم افزارهای کاربردی ارتباط برقرار می کنید برای مثال شما وقتی از نرم افزار Internet Explorer یا IE برای ارسال درخواست باز کردن صفحه وبی مانند گوگل استفاده می کنید در حقیقت ار پروتکل HTTP برای ارسال درخواست خود توسط این نرم افزار اسفاده کرده اید که همه اینها در لایه هفتم از مدل OSI فعالیت می کنند . این لایه تنها لایه ای است که کاربر می تواند آن را بصورت ملموس حس کند و با آن ارتباط برقرار کند. از نمونه پروتکلهایی که در این لایه فعالیت می کنند می توان به HTTP ، FTP ، TELNET ، SNMP ، POP3 و مشابه آنها اشاره کرد .
برای مثال وقتی یک صفحه وب را در مرورگر باز میکنید پروتکل HTTP که مربوط به لایه APP یا Application است، درخواست شما را فرمتبندی کرده و به سرور ارسال میکند. همچنین همین پروتکل پاسخ را از سرور به مرورگر شما انتقال میدهد.
لایهی ارائه (Presentation)
لایه ششم : Presentation layer یا لایه نمایش : همانطور که از اسم این لایه پیداست نحوه نمایش اطلاعات را به ما نشان می دهد . بعنوان مثال در این لایه تعیین می شود که اطلاعات چگونه رمز نگاری شود یا چگونه فشرده سازی شود . در این لایه قالب بندی داده ها انجام می شود و همچنین کپسوله سازی اطلاعات جهت ارسال در شبکه و هماهنگی با سیستم عامل جهت شیوه یا نوع ارسال اطلاعات تعین می شود .
به عبارتی ساده تر، این لایه به صورت یک مترجم عمل میکند. دادههای لایه ۷ یا همان APP را میگیرد و طوری آنها را فرمت بندی میکند که شناسایی آن در کامپیوتر مقصد ممکن باشد.
برای مثال زمانی که یک فایل از نرم افزار مایکروسافت ورد از لایه APP دریافت میکند، طوری آن را فرمتبندی میکند که کامپیوتر مقصد نوع فایل آن را تشخیص دهد و بفهمد که این یک سند متنی است نه یک فایل صوتی.
لایهی نشست یا جلسه (Session)
لایه پنجم : Session layer یا لایه نشست : در هنگام برقراری یک ارتباط بین دو کامپیوتر اصطلاحا یک جلسه یا نشست برقرار می شود .همانطور که در یک جلسه یک منشی جلسه وجود دارد که زمان شروع ، اطلاعاتی که در جلسه قرار است مطرح شود ، مدت زمان جلسه و زمان پایان آن را تعین می کند در کامپیوتر نیز این لایه وظیفه مدیریت این نشست بین کامپیوترها را بر عهده دارد . در حقیقت این لایه ۳ وطیفه بر عهده دارد که به ترتیب
- make : یا ایجاد کردن جلسه
- maintain : یا مدیریت جلسه
- terminate : یا پایان دادن به جلسه را بر عهده دارد
وظیفه این لایه برقراری ارتباط، حفظ ارتباط و قطع آن بین مبدا و مقصد است. همچنین این لایه فقط به گرههایی اجازه ورود به Session یا جلسه را میدهد که مجوز حضور دارند. در واقع یکی از مهمترین وظایف این لایه برقراری امنیت در ارتباطات است.
برای مثال زمانی که شما قصد ارسال یک نامه از طریق Gmail را دارید و ارتباط شما با اینترنت قطع میشود این لایه دستوری به ویندوز ارسال کرده و برای اتصال دوباره و ارسال داده تلاش می کند؛ به همین دلیل زمانی که اینترنت قطع میشود کنار آیکون شبکه نماد Loading میبینید.
لایهی انتقال (Transport)
لایه چهارم : Transport layer یا لایه انتقال : این لایه یک اتصال منطقی ( و نه فیزیکی ) نقطه به نقطه بین دو پایانه ارتباط مثلا بین دو دستگاه کامپیوتر ایجاد می کند . در این لایه دو روش برای این کار وجود دارد :
اتصال گرا ( connection-oriented ) : که مربوط به ارسال در پروتکل تی سی پی ( TCP ) است . در این پروتکل که اتصال گرا میباشد وظیفه کنترل جریان با قابلیت اعتماد بالا را دارد.
غیر اتصال گرا ( connectionless ) : که مربوط به ارسال در پروتکل یو دی پی ( UDP ) است . (این پروتکل غیر متصل میباشد و برخلاف TCP از سرعت بالا تری برخوردار است، اما قابلیت اعتماد آن کمتر است.)
این لایه، وظیفه انتقال بستهها به مقصد را بر عهده دارد. مهمترین پروتکل در این لایه TCP یا Transmission Control Protocol است که نحوه انتقال و دریافت بسته را در مقصد بررسی میکند. این لایه از طریق پروتکل TCP می تواند بفهمد بسته به مقصد رسیده است یا خیر.
یکی از مهمترین وظایف این لایه تقسیم دادههای بزرگی است که از لایه جلسه یا Session به این لایه رسیدهاند. در این مرحله، لایهی انتقال این دادههای بزرگ را به واحدهای کوچکتری به نام Segment تقسیم میکند. به این عملیات تقسیم بندی یا Segmentation گفته میشود.
برای مثال نوعی از شبکه Ethernet بستههای با حجم بیشتر از ۱۵۰۰ بایت را نمیتواند ارسال کند. بنابراین لایه انتقال باید برای انتقال دادهی بیشتر در این نوع از شبکه، بستهها را به قطعاتی با حجم کمتر از ۱۵۰۰ بایت تقسیم کند.
تقسیمبندی (Segmentation) در لایهی انتقال چیست؟
اگر بخواهیم قطعه بندی یا Segmentation را تصویرسازی کنیم باید گفت که Segmentation چیزی شبیه تبدیل کلمه به حروف است. فرض کنید در یک شبکه در آن واحد بیشتر از ۲ حرف نمیتوان داده ارسال کرد و ما میخواهیم متنی با شروع کلمهی “سلام” را ارسال کنیم، در این حالت قطعا به تقسیم بندی نیاز خواهیم داشت. اما اگر حروف (سل) و (ام) را ارسال کنیم و بستهها به ترتیب نرسند یا زمانی که یکی ارسال شد اینترنت برای مدتی قطع شود و بخش دوم این کلمه با کلمات دیگر برسد چه اتفاقی خواهد افتاد؟
وظیفه مهم دیگر لایه انتقال در مبحث Segmentation شماره گذاری سگمنتهاست تا مشخص شود هر قطعه ادامهی کدام قطعه است.
لایهی شبکه (Network)
لایه سوم : Network layer یا لایه شبکه یا Router layer یا IP address layer : پروتکل معروف IP در این لایه کار می کند . روتینگ هم در این لایه انجام می شود . روتینگ را می توان با یک عملیات ۲ سوالی تصور نمود :
برای مقصد داده شده از روتر محلی چند مسیر معتبر وجود دارد ؟
“بهترین” مسیر برای رسیدن به آن مقصد کدامیک است ؟
مهمترین وظیفه لایهی شبکه، مسیریابی یا Routing است. در این لایه Segment به Packet یا بسته تبدیل میشود که از طریق پیوست کردن آدرس مبدا و مقصد به هر بسته انجام میشود.
لایهی پیوند داده (Data Link)
لایه دوم : Data link layer یا لایه ارتباط داده یا MAC address layer یا Hardware address layer یا Physical layer، سوئیچها و پلها ( bridges ) و ایستگاههای اتصال بی سیم ( Wireless Access Points یا WAPs ) نیز در این لایه فعالیت می کنند و همچنین داشت یادم می رفت ؛ مودم محبوب ای دی اس ال شما و مودم عادی هم در این لایه جا می گیرند .چهار اصطلاح مهمی که در این لایه هست می گیرند عبارت اند از :
Ethernet یا اترنت
کنترل ارتباط داده های سطح بالا یا High Data Link Control یا HDLC
پروتکل نقطه به نقطه یا Point-to-point protocol یا PPP
بازپخش ساختار یا Frame relay
در نظر داشته باشید اصطلاح خطایابی یا error detection در این لایه صورت می پذیرد و از طریق فرایندی بنام Frame check sequence .اگر سوئیچ یا پلی در این لایه کار کنند دیگر “سوئیچ کردن” یا “پل زدن” انجام نمیدهند بلکه “مسیر یابی یا routing” می کنند .
وظیفه این لایه دریافت بستهها از لایه Network و فریم بندی آنهاست. مهمترین وظیفه این لایه بررسی رسیدن دادهها به درستی در مقصد است. که به این کار در اصطلاح Error checking گفته میشود.
هر فریم شامل دادهی اولیه، آدرس فرستنده، آدرس گیرنده و کد خطایابی یا Error checking است.
لایهی فیزیکی (Physical)
لایه اول : Physical layer یا لایه فیزیکی : جایی که اطلاعات به اجزای سازنده خود، یعنی ۰ و ۱ تبدیل می شوند و رهسپار کابل میشوند …
لایه فیزیکی یا Physical Layer ابتدا دادهها را به صفر و یک و سپس به سیگنال تبدیل میکند. پروتکلهای این لایه اطلاعات گرفته شده از لایه پیوند داده را به ولتاژهای مختلف تبدیل کرده تا سیگنال تولید شود و از طریق رسانهی انتقال قابل ارسال باشد.
چگونه ترتیب لایهها را حفظ کنیم؟
شبکهکارها برای حفظ کردن نام لایهها، یک جمله را حفظ میکنند که حروف اول کلمات آن با نام این لایهها هماهنگ است. به طور مثال به جملهی زیر دقت کنید:
All People Seems To Need Data Processing
اگر بتوانید این جملهی ساده را حفظ کنید، ترتیب لایهها را به راحتی حفظ کردهاید. معنی جمله این است: به نظر میرسد همه مردم به پردازش داده نیاز داشته باشند.
چگونه کاربرد هر لایه را در مدل OSI بهیاد داشته باشیم؟
مدل ارتباطی OSI شباهتهای بسیار زیادی به ارتباطات در دنیای واقعی دارد. برای اینکه وظیفهی هر لایه را به ذهن بسپارید، به این مثال توجه کنید (دقت داشته باشید که بسیاری از قوانین دنیای تکنولوژی از روی رفتار انسانها وضع شده است)
فرض کنید میخواهید در یک دانشگاه در کشور آلمان پذیرش بگیرید و دانشگاه مربوطه تنها از طریق بررسی مدارک به صورت فیزیکی حاضر به بررسی درخواست شماست.
به دلیل یکسان نبودن زبان و ندانستن آدرس و رعایت نکردن اصول نامهنگاری ممکن است ارسال درخواست شما بیفایده باشد. بنابراین نمیتوانید این کار را به طور مستقیم انجام دهید و باید یک روال منظم طی شود.
بسیاری از کارشناسان معتقدند که هدف اصلی در یک شبکه، تبادل افکار است، برای این که بتوانیم افکارمان را تبادل کنیم ابتدا باید آنها را در برنامهای مانند Word تایپ کنیم. (لایهی Application یا برنامههای کاربردی)
در مرحلهی بعد باید قبل از اینکه نامه به دست دانشگاه برسد، ترجمه شود. به چه زبانی ترجمه شود؟ طبیعتا به زبان مشترک دنیا یعنی انگلیسی. به آنجا که رسید، مترجم آن را به اتریشی ترجمه میکند. پس برای این کار، نامه به مرکز ترجمه در سازمان تحویل داده میشود. (لایهی Presentation یا ارائه)
سپس نامهی ترجمه شده تحویل مرکز داده میشود که مسئول برقراری ارتباط است، برای مثال روابط عمومی دانشگاه. این شخص میداند چطور (طبق قوانین خاص برای پذیرش و اقامت شما) با شما ارتباط برقرار کند. برای مثال دریافت ترجمه و تاییدیه مدارک شما از بخشهای دیگر جهت ارتباط بهتر. (لایه Session یا جلسه)
در قدم بعد، پاسخ نامه از روابط عمومی دانشگاه، با یکی از روشهای مورد استفاده دانشگاه که از قبل برنامهریزی شده است به شما ارسال میشود. برای مثال تماس ویدئویی برای دریافت اطلاعات بیشتر، ایمیل و یا حتی بازگشت مدارک ارسالی شما از طریق انواع پست (در همه این موارد اهمیت پاسخ نامه و زمان جهت ارسال پاسخ میزان امنیت را تعیین میکند. برای مثال پست ساده که مدت زمان بیشتر و امنیت کمتری دارد ممکن است در مواردی که مدارک ارسالی نیاز به امنیت بالایی نداشته باشند، استفاده شود) این اتفاق در اینترنت و در بحث شبکه نیز حاکم است. که در شبکه نیز مانند دانشگاه این شیوه توسط مرکز برقراری ارتباط تعیین می شود. (لایهی Transport یا انتقال)
در مرحلهی بعد، در بخش ارسال مدارک با پست، آدرس دقیق مبدا و مقصد مشخص و در فیلدهای مختص بر روی نامه درج میگردد و تمبر به آن میچسبد. (لایه Network یا شبکه)
در گام بعدی، تمامی بستههای ارسالی به کشور ما در یک جعبه یا قاب نهایی قرار میگیرند و آدرس اداره پست که باید این نامهها را دریافت کند، روی این قاب درج میگردد. (لایه Data link یا پیوند دادهای)
در نهایت وقتی آن قاب آماده ارسال شد، به ابزار انتقال، مثلا یک ماشین حمل نامه یا هر وسیله انتقال دیگری سپرده میشود و این رسانه آن را تا مقصد بعدی حمل میکند. (لایه Physical یا فیزیکی)
در مرکز پستی، آدرس روی جعبه یا قاب ممکن است تغییر کند. مثلا نامههایی که قرار است از تهران به مشهد ارسال شوند ابتدا از سازمان ما به اداره پست تهران، سپس از پست تهران به شهر بعد و در نهایت به مشهد که مقصد ماست میرسد. پس هر بار مقصد بعدی روی این قاب نوشته میشود تا در هر لحظه مشخص باشد که مقصد بعدی کجاست.
در مدل OSI دقیقا همین روال دنبال می شود. تمامی این مراحل در مقصد به صورت عکس انجام خواهد شد. یعنی نامهی پاسخ از زبان اتریشی به زبان بینالمللی ترجمه و بستهبندی شده و ارسال میشود.
زمانی که بسته وارد کشور ما شد بسته مدارک و نامه از جعبه تمام بستهها و نامههای پستی به ایران خارج شده (آدرس مبدا قبلی با استخراج از جعبه حذف میشود) و مبدا قبلی و مقصد جدید مجددا روی آن نوشته شده و با انتخاب نوع پست (پیشتاز، ویژه یا تیپاکس) به مامور پست تحویل داده میشود.
سپس نامه به شما تحویل داده میشود شما نیز باید نامه را جهت ترجمه به فارسی به مترجم بسپرید پس از ترجمه و رسیدن نامهی نهایی به زبان فارسی به دست شما عملیات انتقال و ارتباط به اتمام میرسد.
امیدواریم با مطالعهی این آموزش، به خوبی با مفهوم OSI و لایههای شبکههای کامپیوتری آشنا شده باشید، دیدگاهها و تجربیات خود را در مورد این مدل با ما و سایر کاربران به اشتراک بگذارید.