موسسه بین المللی استاندارد (ISO) در اواخر دهه 70 میلادی ، مدل 7 لایه OSI يا Open Systems Interconnection ( اتصال سیستم های باز ) را پیشنهاد کرد. این مدل از همان ابتدا مورد استقبال قرار نگرفت و بصورت یک مدل مفهومی و برای آموزش دانشجویان باقی ماند . در این مقاله هدف معرفی اجمالی مدل OSI و مقایسه آن با مدل کاربردی TCP/IP می باشد.
در این استاندارد کل وظایف و خدمات یک شبکه در هفت لایه تعریف شده است.
طراحی لایه ای شبکه را می توان با برنامه نویسی ماجولار مقایسه کرد، بدین نحو که روالهای حل یک مسئله به اجرای کوچکتری شکسته می شود و برای آن زیر برنامه نوشته می شود. در توابع صدازننده ی این زیر برنامه ها جزئیات درونی آنها اهمیت ندارد و بلکه فقط نحوه صدازدن آنها و پارامترهای مورد نیاز ورودی به زیر برنامه و چگونگی برگشت نتیجه به صدازننده ، مهم است.
از لایه های پایین به بالا ، سرویس های ارائه شده (با تکیه بر سرویسی که لایه های زیرین ارائه می کنند.) پیشرفته تر می شود.
یاین مدل به منظور تعریف یک استاندارد جهانی و فراگیر ارائه شد و گمان می رفت که تمام شبکه ها بر اساس این مدل در هفت لایه طراحی شوند ، به گونه ای که در دهه هشتاد سازمان ملی علوم در آمریکا عنوان کرد که در آینده فقط از این استاندارد حمایت کرد ، ولی در عمل ، طراحان شبکه به این مدل وفادار نماندند. مثلا شرکت ناول مدل پنج لایه ای خودش را بکار گرفت و در اینترنت مدل TCP/IP فراگیر شد. در اینجا به دلایل شکست مدل OSI نخواهیم پرداخت زیرا پاره ای از این عوامل از مسائل غیر عملی (همانند انتشار رایگان اصل برنامه های TCP/IP توسط دانشگاه برکلی ) نشأت می گیرد و محل بحث و مناقشه است. در مجموع این مدل ، مرجع بسیار کامل و مناسبی برای بحث در دروس دانشگاهی است.
در ادامه به اختصار وظایف هر لایه در مدل OSI را تعریف خواهیم کرد.
وظیفه اصلی در لایه ی فیزیکی، انتقال بیتها بصورت سیگنال الکتریکی و ارسال آن بر روزی کانال می باشد. واحد اطلاعات در این لایه بیت است و بنابراین این لایه هیچ اطلاعاتی از محتوای پیام ندارد و تنها بیتهای ۰و ۱را ارسال یا دریافت می کند. پارامترهایی که باید در این لایه مورد نظر باشند عبارتند از:
ظرفیت کانال فیزیکی و نرخ ارسال
نوع مدولاسیون
چگونگی کوپلاژ با خط انتقال
مسائل مکانیکی و الکتریکی مانند نوع کابل، باند فرکانسی و نوع رابط ( کانکتور) کابل.
در این لایه که تماماً سخت افزاری است، مسائل مخابراتی در مقایسه بیتها، تجربه و تحلیل شده و طراحی های لازم انجام می شود. طرح شبکه می تواند برای طراحی این لایه ، از استاندارد های شناخته شده انتقال همانند RS-232و RS-422 و RS -423و… که سخا افزار آنها موجود است. استفاده کند.
این لایه هیچ وظیفه ای در مورد تشخیص و ترمیم خطا ندارد.
وظیفه این لایه آن است که با استفاده از مکانیزمهای کشف و کنترل خطا، داده ها را روی یک کانال انتقال که ذاتأ دارای خطا است بدون خطا و مطمئن به مقصد برساند. در حقیقت می توان وظیفه این لایه را بیمه ی اطلاعات در مقابل خطاهای احتمای دانست؛ زیرا ماهیت خطا به گونه ای است که قابل رفع نیست ولی می توان تدابیری اتحاذ کرد که فرسنده از رسیدن یا نرسیدن صحیح اطلاعات به مقصد مطلع شده و در صورت بروز خطا مجددأ اقدام به ارسال اطلاعات کند؛ با چنین مکانیزمی یک کانال دارای خطا به یک خط مطمئن و بدون خطا تبدیل خواهد شد.
یکی دیگر از وظایف لایه ی پیوند داده ها آن است که اطلاعات ارسالی از لایه بالاتر را به واحد های استاندارد و کوچک تری شکسته و ابتدا و انتهای آن از طریق نشانه های خاصی که Delimiter نامیده می شود ، مشخص نماید. این قالب استاندارد که ابتدا و انتهای ان دقیقأ مشخص شده، فریم نامیده می شود؛ یعنی واحد اطلاعات در لایه ی دوم فریم است.
کشف خطا که از وظایف این لایه می باشد می تواند از طریق اضافه کردن بیتهای کنترل خطا مثل بیتهای Parity chock و checksum و CRC انجام شود.
یکی دیگر از وظایف لایه ی دوم کنترل جریان یا به عبارت دیگر تنظیم جریان ارسال فریم ها به گونه ای است که یک دستگاه کند هیچ گونه فریمی را به خاطر آهسته بودن از دست ندهد.
یکی دیگر از وظایف این لایه آن است که وصول داده ها یا عدم رسید داده ها را به فرستنده اعلام کند.
در بخش های قبل اشاره کردیم که بسیاری از شبکه ها از کانال اشتراکی استفاده می کنند و ارسال همزمان دو ایستگاه منجر به تصادم ( اختلاط سیگنال انتقال ) و خرابی داده ها خواهد شد. یکی دیگر از وظایف این لایه آن است که قراردادهایی را برای جلوگیری از تصادم سیگنال ایستگاه هایی که از کانال اشتراکی استفاده می کنند ، وضع کنند چرا که فرمان ارسال داده بر روی کانال مشترک از لایه ی دوم صادر می شود این قراردادها در زیر لایه ای به نام MAS تعریف شده است.
وقتی یک واحد اطلاعاتی تحویل یک ماشین متصل به کانال فیزیکی در شبکه شد، وظیفه ی این لایه پایان می یابد از دیدگاه این لایه ، ماشینهائی که به کانال فیزیکی در شبکه متصل نمی باشند ، در دسترس نیستند.
کنترل سخت افزار لایه ی فیزیکی به عهده این لایه است .
فراموش نکنید که وظایف این لایه نیز با استفاده از سخت افزارهای دیجیتال انجام می شود.
در این لایه اطلاعات به صورت بسته هایی سازماندهی می شود و برای انتقال مطمئن تحویل لایه ی دوم می شود. با توجه به آنکه ممکن است بین دو ماشین در شبکه مسیرهای گوناگونی وجود داشته باشد، لذا این لایه وظیفه دارد هر بسته اطلاعاتی را پس از دریافت به مسیری هدایت مند تا آن بسته بتواند به مقصد برسد. در این لایه باید تدابیری اندیشیده شود تا ازدحام (یعنی ترافیک بیش از اندازه ی بسته ها در یک مسیریاب یا مرکز سوئیچ ) جلوگیری شده و از ایجاد بن بست ممانعت بعمل بیاورد.
هر مسیریاب می تواند به صورت ایستا و غیر هوشمند بسته ها را مسیریابی مند. همچنین می تواند به صورت پویا و هوشمند برای بسته ها مسیر انتخاب نماید. در این لایه تمام ماشینهای شبکه دارای یک آدرس جهانی و منحصر به فرد خواهند بود که هر ماشین بر اساس این آدرس ها اقدام به هدایت بسته ها به سمت مقصد خواهد رفت.
این لایه ذاتا « بدون اتصال» است یعنی پس از تولید یک بسته ی اطلاعاتی در مبدأ، بدون هیچ تضمینی در رسیدن آن بسته به مقصد، بسته شروع به طی مسیر در شبکه می کند. وظایف این لایه به سیستم نامه رسانی تشبیه شده است؛ یک پاکت محتوی نامه پس از آنکه مشخصات لازم بر روی آن درج شد، به صندوق پست انداخته می شود، بدون آنکه بتوان زمان دقیق رسیدن نامه و وجود گیرنده ی نامه را در مقصد ، از قبل حدس زد در ضمن ممکن است نامه به هر دلیلی گم شود یا به اشتباه در راهی بیفتد که مدتها در مسیر بماند و زمانی به گیرنده ی آن برسد که هیچ ارزشی نداشته باشد.
در این لایه تضمینی وجود ندارد وقتی بسته ای برای یک ماشین مقصد ارسال می شود آن ماشین آماده ی دریافت آن بسته باشد و بتواند آنرا دریافت کند. در ضمن هیچ تضمینی وجود ندارد وقتی چند بسته متوالی برای یک ماشین ارسال می شود به همان ترتیبی که بر روی شبکه ارسال شده، در مقصد دریافت شوند همچنین ممکن است که وقتی بسنه ای برای یک مقصد ارسال می گردد، به دلیل دیر رسیدن از اعتبار ساقط شده و مجدداً ارسال شود و هر دو بسته ( جدید و قدیم ) باهم برسند این مسائل در لایه ی باالاتر قابل حل خواهد بود.
هر چند وظایف این لایه می تواند بصورت نرم افزاری پیاده شود ولی برای بالاتر رفتن سرعت عمل شبکه، می توان برای این لایه یک کامپیوتر خاص طراحی نمود تا در کنار سخت افزار لایه های زیرین ، بسته ها را روی شبکه ردو بدل کند.
در این لایه بر اساس خدمات لایه ی زیرین، یک سرویس انتقال بسیار مطمئن و « اتصال گرا » ارائه می شود.
تمام مشکلاتی که در لایه ی شبکه عنوان شد در این لایه حل و فصل می شود.
قبل از ارسال بسته ها، نرم افزار این لایه اقدام به ارسال یک بسته ی ویژه می نماید تا مطمئن شود که ماشین گیرنده آماده ی دریافت اطلاعات است.
جریان ارسال اطلاعات شماره گذاری شده تا هیچ بسته ای گم نشود یا دو بار دریافت نشود.
ترتیب جریان بسته ها حفظ می شود.
در این لایه پروسه های مختلفی که بر روی یک ماشین واحد اجرا شده اند، آدرس دهی می شوند به نحوی که هر پروسه بر روی یک ماشین واحد، به عنوان یک هویت مستقل داده های خود را ارسال یا دریافت نماید.
واحد اطلاعات در ایت لایه قطعه است. از وظایف دیگر این لایه می توان به موارد زیر اشاره کرد:
تقسیم پیامهای بزرگ به بسته های اطلاعاتی کوچک تر
بازسازی بسته های اطلاعاتی و تشکیل یک پیام کامل
شماره گذاری بسته های کوچکتر جهت باز سازی
تعیین و تبیین مکانیزم و نامگذاری ایستگاه هایی که در شبکه اند.
وظایف این لایه (و لایه های بعدی) با استفاده از نرم افزار پیاده سازی می شود و فقط بر روی ماشینهای نهایی (ماشینهای کاربران) وجود دارد و مراکز سوئیچ به وظایف این لایه احتیاجی ندارند (مگر در موارد خاص) این لایه در فصلی مجزا بررسی خواهد شد.
وظیفه این لایه فراهم آوردن شرایط یک جلسه (نشست) همانند ورود به سیستم از راه دور احراز هویت طرفین ، نگداری این نشست و توانایی از سرگیری یک نشست در هنگام قطع ارتباط می باشد.
در این لایه نیز واحد اطلاعات پیام است. وظایف این لایه را می توان در موارد زیر خلاصه کرد:
بر قراری و مدیریت یک جلسه
شناسایی طرفین
مشخص نمودن اعتبار پیامها
اتمام جلسه
حسابداری مشتری ها
۶لایه ی ارائه نمایش
در این لایه معمولاً کارهایی صورت می گیرد که اگرچه بنیادی و اساسی نیستند ولیکن به عنوان نیاز های عمومی تلقی می شوند. مثلا:
فشرده سازی فایل
رمز نگاری برای ارسال داده های محرمانه
رمز گشایی
تبدیل کد ها به یکدیگر که دو ماشین از استانداردهای مختلفی برای متن استفاده می کنند
مثل تبدیل متون EBCDIC به ASCII و بالعکس
در این لایه، استاندارد مبادله ی پیام بین نرم افزارهائی که در اختیار کاربر بوده و به نحوی با شبکه در ارتباطند، تعریف می شود. لایه کاربرد شامل تعریف استانداردهایی نظیر انتقال نامه های الکترونیکی، انتقال مطمئن فایل، دسترسی به بانکهای اطلاعاتی راه دور، مدیریت شبکه و انتقال صفحات وب است.
در مدل لایه ای شبکه، وقتی یک برنامه کاربردی در لایه ی آخر اقدام به ارسال یک واحد اطلاعات می نماید. سرآیند لازم به آن اضافه شده و از طریق صدا زدن توابع سیستمی استاندارد به لایه ی زیرین تحویل داده می شود. لایه ی زیر نیز پس از اضافه کردن سر آیند لازم، آنرا به لایه ی پایین تحویل میدهید و این روند تکرار می شود تا آن واحد اطلاعات روی کانال فیزیکی ارسال شود. در مقصد پس از دریافت یک واحد اطلاعات از روی خط فیزیکی، تحویل لایه ی بالاتر شده و در هر لایه پس از تحلیل و پردازش لازم، سرآیند اضافه شده را حذف و به لایه ی بالاتر تحویل می دهد.