یه دنیای پر از دستگاههای مختلف رو تصور کن، هر کدوم از این دستگاهها مثل آدم هایین که به زبون خودشون حرف میزنن و هیچکدوم همدیگه رو نمیفهمن. اگه یه راه مشترکی برای برقراری ارتباط بینشون نباشه، اوضاع حسابی به هم میریزه، نه؟ حالا بیا همین وضعیت رو توی شبکههای کامپیوتری تصور کنیم. دستگاهها و سیستمهای مختلفی داریم که هر کدوم از یه پروتکل خاص برای ارتباط استفاده میکنن. اگه قرار بود هر کدوم راه خودشون رو برن، شبکههای امروزی اصلاً کار نمیکردن. اینجاست که مدل OSI وارد میشه، یه استاندارد جهانی که همه دستگاهها و سیستمها رو به یه زبون مشترک میرسونه و کمک میکنه تا همه با هم در ارتباط باشن.
مدل OSI یا Open Systems Interconnection یه چارچوب استاندارده که نشون میده سیستمهای کامپیوتری چطوری از طریق یه شبکه با هم ارتباط برقرار میکنن. این مدل از هفت لایه تشکیل شده که هر کدوم وظیفه خاصی دارن. این مدل اولین استانداردی بود که برای ارتباطات شبکه ای معرفی شد و همه ی شرکتهای بزرگ کامپیوتری و مخابراتی توی اوایل دهه ۱۹۸۰ میلادی ازش استفاده کردن.
حالا، شاید بپرسی: "پس چرا اینترنت امروزی از OSI استفاده نمیکنه؟" خب، اینترنت امروزی بیشتر به یه مدل سادهتر به اسم TCP/IP متکیه. با این حال، مدل OSI هنوز هم خیلی پرکاربرده، چون به ما کمک میکنه بفهمیم شبکهها چطور کار میکنن و اگه مشکلی پیش بیاد، بتونیم راحتتر تشخیصش بدیم و برطرفش کنیم.
مدل OSI اولین بار توی سال ۱۹۸۳ توسط نمایندههای شرکتهای بزرگ کامپیوتری و مخابراتی معرفی شد و یک سال بعدش توسط سازمان استانداردهای بین المللی (ISO) به عنوان یه استاندارد جهانی پذیرفته شد.
مدل OSI اهمیت زیادی داره، چون هر نوع ارتباط شبکه ای، چه نرم افزاری چه سخت افزاری، رو پوشش میده. این مدل طوری طراحی شده که دو سیستم مستقل بتونن با استفاده از رابطها و پروتکلهای استاندارد شده با هم حرف بزنن، حتی اگه از شرکتهای مختلفی باشن.
مدل OSI یه چارچوب اساسی برای توسعه پروتکل هاست که هر لایه اش وظیفههای خاصی در شبکه رو مدیریت میکنه. بیا یکی یکی با هم بررسی کنیم که هر لایه چی کار میکنه.

این لایه، نزدیکترین لایه به کاربر نهاییه. لایه کاربرد مستقیماً به اپلیکیشنهای کاربر خدمات شبکه ای میده و ارتباط بین نقاط پایانی API و لایههای پایینتر OSI رو تسهیل میکنه. به عبارت دیگه، نرم افزارها از لایه کاربرد استفاده میکنن تا ارتباطات شبکه ای رو شروع کنن و دادهها رو به لایه نمایش ارسال کنن.
خود اپلیکیشنها جزئی از این لایه نیستن؛ بلکه لایه کاربرد پروتکل هایی مثل HTTP، FTP، DNS و SMTP رو فراهم میکنه تا نرم افزارها بتونن دادهها رو ارسال و دریافت کنن. وظایف این لایه شامل ایناست:
لایه نمایش دادهها رو به فرمت قابل قبول برای لایه کاربرد تبدیل میکنه تا برای انتقال در شبکه آماده بشه. به خاطر نقشش در تبدیل دادهها و گرافیک به فرمت قابل نمایش برای لایه کاربرد، گاهی بهش "لایه سینتکس" هم میگن.
این لایه از پروتکل هایی مثل SSL/TLS برای امنیت، پروتکلهای JPEG برای فشرده سازی تصویر و MPEG برای فشرده سازی ویدئو پشتیبانی میکنه. مسئولیتهای لایه نمایش شامل ایناست:
گاهی اوقات، فرآیند فرمت و ترجمه دادهها در جهت معکوس انجام میشه، وقتی که پیامها از لایههای پایین به بالا حرکت میکنن.
لایه نشست مسئول مدیریت نشست هاست؛ یعنی همون ارتباطاتی که بین دو یا چند کامپیوتر برقرار میشه. این لایه ارتباطات بین اپلیکیشنهای محلی و راه دور رو شروع، مدیریت و پایان میده. نشستها رو باز نگه میداره تا دادهها منتقل بشن و وقتی کار تموم شد، اونها رو میبنده تا منابع شبکه حفظ بشه.
وظایف کلیدی لایه نشست شامل ایناست:
این لایه پروتکل هایی رو برای اتصال و قطع نشستها بین جریانهای داده مرتبط مثل صوت و تصویر در کنفرانسهای وب تعیین میکنه.
لایه انتقال از پروتکل هایی مثل TCP و UDP برای مدیریت تحویل انتها به انتهای پیامها استفاده میکنه. این لایه پیامها رو از لایه نشست میگیره و اونها رو به واحدهای کوچکتری به نام "بخش ها" تقسیم میکنه، هر کدوم با یه هدر مربوطه. در مقصد، لایه انتقال این بخشها رو به ترتیب درست دوباره کنار هم میچینه تا پیام اصلی رو بازسازی کنه.
لایه انتقال همچنین این وظایف رو انجام میده:
در سمت فرستنده، لایه انتقال دادههای فرمت شده رو از لایههای بالایی دریافت، بخش بندی و کنترل جریان و خطا رو اجرا میکنه تا از انتقال درست دادهها مطمئن بشه. اون همچنین شماره پورتهای مبدا و مقصد رو به هدر اضافه میکنه و دادههای بخش بندی شده رو به لایه شبکه ارسال میکنه.
در سمت گیرنده، لایه انتقال شماره پورت رو از هدر میخونه و دادههای دریافتی رو به اپلیکیشن مناسب میفرسته. همچنین ترتیب دهی و بازچینی دادههای بخش بندی شده رو انجام میده و در صورت شناسایی خطاها، دادهها رو دوباره ارسال میکنه.
لایه انتقال دو نوع سرویس ارائه میده:
لایه شبکه مسئول تسهیل انتقال دادهها از یه گره به گره دیگه در شبکههای مختلفه. این لایه بهترین مسیر (مسیریابی) رو برای حرکت دادهها بین گرهها تعیین میکنه. اگه بخشها خیلی بزرگ باشن، لایه شبکه اونها رو به بستههای کوچکتری تقسیم میکنه و در مقصد دوباره به هم وصلشون میکنه.
یه شبکه به عنوان یه رسانه عمل میکنه که توش چندین گره (هر کدوم با یه آدرس منحصربه فرد) میتونن به هم وصل بشن. لایه شبکه اجازه میده گرهها پیامها رو به گرههای دیگه در شبکههای دیگه ارسال کنن با فراهم کردن محتوای پیام و آدرس مقصد و باقی کارها رو به شبکه واگذار میکنه تا بهترین مسیر رو برای تحویل پیدا کنه.
لایه شبکه بیشتر از پروتکلهای IPv4 و IPv6 استفاده میکنه و مسئول ایناست:
در لایه شبکه تضمینی برای اطمینان از تحویل دادهها وجود نداره؛ در حالی که بسیاری از پروتکلهای لایه شبکه پیامها رو با اطمینان تحویل میدن، برخی از این پروتکلها این کار رو نمیکنن. همچنین، گزارش خطا توی این لایه ضروری نیست، بنابراین فرستندهها ممکنه تأییدیه دریافت دادهها رو دریافت کنن یا نکنن.
وظیفه اصلی لایه پیوند داده مدیریت انتقال دادههای بدون خطا بین دستگاه هایی است که توی همون شبکه تعامل دارن.
لایه پیوند داده به دو زیرلایه تقسیم میشه:
وقتی لایه پیوند داده یه بسته از لایه شبکه دریافت میکنه، اون رو به فریمهای داده ای تقسیم میکنه و بر اساس اندازه فریم کارت شبکه (NIC) منتقلش میکنه.
وظایف لایه پیوند داده شامل ایناست:
لایه فیزیکی شامل اجزای شبکه فیزیکی هست که مسئول انتقال دادههای خام به صورت بیت ها، یعنی رشتههای 0 و 1، بین دستگاهها (مثل کانکتورها، روترها، تکرارکنندهها و کابلهای فیبر نوری) و یه رسانه فیزیکی (مثل وای فای) هستن.
لایه فیزیکی مسئول ایناست:
لایه فیزیکی همچنین تعریف میکنه که چطور کدگذاری روی سیگنال فیزیکی انجام میشه (مثل استفاده از ولتاژ الکتریکی، رادیو یا پالسهای نوری).

مدل OSI هنوز هم برای درک معماری شبکه خیلی مهمه، حتی با وجود اینکه تکنولوژیها تغییر میکنن و مدلهای جدیدی به وجود میان. چه بخوای یه شبکه محلی ساده طراحی کنی و چه بخوای یه شبکه جهانی پیچیده رو مدیریت کنی، اصول مدل OSI یه رویکرد روشن و ساختارمند برای شبکه بندی فراهم میکنه.
مدل OSI شامل هفت لایه ی مختلفه. لایههای کاربرد (لایه 7)، نمایش (لایه 6) و نشست (لایه 5) رو میشه لایههای نرم افزاری OSI دونست. اینجا جاییه که همه ی انتقالات به/از نرم افزارهای مختلف مثل سیستم عاملها و ابزارهایی مثل مرورگرهای وب و برنامههای ایمیل انجام میشه.
لایه ی انتقال (لایه 4) که بهش میگیم «قلب OSI»، وظیفه ی مدیریت همه ی ارتباطات داده ای بین شبکهها و سیستمها رو به عهده داره. در نهایت، لایههای شبکه (لایه 3)، پیوند داده (لایه 2) و فیزیکی (لایه 1) رو داریم که اینا لایههای سخت افزاری OSI هستن و دادهها از طریق اجزای فیزیکی شبکه مثل کابلها و تجهیزات شبکه ای، پردازش و منتقل میشن.
دادهها به صورت دوطرفه در مدل OSI حرکت میکنن؛ هر لایه با لایههای بالایی و پایینی خودش توی این ساختار ارتباط برقرار میکنه. همچنین، هم دستگاه فرستنده و هم دستگاه گیرنده دادهها رو از طریق این لایهها ارسال و دریافت میکنن و معمولاً نقش هاشون توی این فرآیند عوض میشه.
فرض کن میخوای یه ایمیل برای یکی دیگه بفرستی. اول ایمیلت رو مینویسی و بعد دکمه "ارسال" رو میزنی. ایمیلت اول به لایه ی کاربرد میره، که پروتکل درست (معمولاً SMTP) رو انتخاب میکنه و ایمیل رو به لایه ی نمایش میفرسته. لایه ی نمایش دادههای پیام رو فشرده سازی میکنه و به لایه ی نشست میفرسته، که یه نشست ارتباطی رو راه اندازی میکنه و دادهها رو به لایه ی انتقال برای تقسیم بندی میفرسته.
چون ایمیل داره به یه شبکه دیگه میره، دادههای ایمیل باید به لایه ی شبکه برن، جایی که به بستههای کوچکتری تقسیم میشن و بعد به لایه ی پیوند داده میرن، که توی اونجا به فریمهای حتی کوچکتری تقسیم میشن. این فریمها بعد از اون از طریق لایه ی فیزیکی (مثل وای فای گیرنده) ارسال میشن و دستگاه گیرنده جریان بیتها رو دریافت میکنه. در اینجا دادههای ایمیل به صورت معکوس از لایهها عبور میکنن و در نهایت به لایه ی کاربرد دستگاه گیرنده میرسن، جایی که ایمیل به صورت قابل خوندن برای انسان در اینباکس گیرنده نمایش داده میشه.
مدل OSI به عنوان یه چارچوب استاندارد، نه تنها به درک بهتر ارتباطات شبکه کمک میکنه، بلکه مزایای زیادی برای توسعه دهندهها و مهندسای شبکه به همراه داره. این مدل باعث میشه تا فرآیند طراحی، توسعه و نگهداری شبکهها ساده تر، سریعتر و کارآمدتر بشه. بیا نگاهی به بعضی از این مزایا بندازیم.
یکی از بزرگترین مزایای مدل OSI اینه که با روش لایه بندی عمودی خودش، طراحی پروتکلهای شبکه رو مدولار کرده. این یعنی هر لایه میتونه به صورت جداگانه توسعه داده بشه یا به روزرسانی بشه، بدون اینکه نیاز باشه کل شبکه رو از اول بسازیم.
این مدولار بودن باعث میشه که نوآوری توی توسعه پروتکلها سریعتر پیش بره، چون مهندسای نرم افزار میتونن تکنولوژیهای جدید رو بدون تغییرات بزرگ توی کل شبکه، اضافه کنن. همچنین، این مدل به توسعه دهندهها اجازه میده تا لایههای پایینتر رو ساده سازی کنن و فقط روی اون بخش هایی که نیاز دارن، تمرکز کنن.
مدل OSI کمک میکنه تا مهندسای نرم افزار لایههای مختلف شبکه رو جدا و بر اساس نقش اصلی شون توی شبکه سازماندهی کنن. این قابلیت تجزیه پذیری باعث میشه توسعه دهندهها بتونن شبکه رو بهتر درک کنن و مدلهای سادهتری رو بین تیمهای توسعه به اشتراک بذارن.
وقتی یه دستگاه توی شبکه خراب میشه یا یه برنامه اتصالش رو از دست میده، مدل OSI به تیمها کمک میکنه تا لایه ی مشکل دار رو پیدا و ایزوله کنن. اینجوری میتونن مشکلات امنیتی یا آسیب پذیریهای شبکه رو برطرف کنن، بدون اینکه کل چارچوب شبکه به هم بریزه.
مدل مرجع OSI یه پایه تئوری قدرتمند برای مهندسا و توسعه دهندهها فراهم میکنه تا بتونن پیچیدگیهای ارتباطات شبکه رو بهتر درک کنن. اما اغلب این مدل با یه مدل دیگه هم مقایسه میشه: مدل پروتکل کنترل انتقال/پروتکل اینترنت یا همون TCP/IP.
برخلاف مدل OSI، مدل TCP/IP بر اساس پروتکلهای استانداردی بنا شده که به طور گسترده ای توی شبکههای واقعی پیاده سازی میشن. این مدل به جای هفت لایه، چهار لایه داره، اما هر لایه ی TCP/IP معادل یه یا چند لایه از مدل OSI هست.
ارزش اصلی مدل OSI بیشتر در زمینه آموزشی و به عنوان یه چارچوب مفهومی برای طراحی پروتکلهای جدید هست که اطمینان حاصل کنه این پروتکلها میتونن با سیستمها و تکنولوژیهای موجود سازگار باشن.
اما مدل TCP/IP به خاطر تمرکز عملی و قابلیت پیاده سازی توی دنیای واقعی، تبدیل به ستون فقرات شبکههای مدرن شده. طراحی مقیاس پذیر و لایه بندی افقی این مدل، باعث رشد انفجاری اینترنت شده و امکان اتصال میلیاردها دستگاه و حجم عظیمی از ترافیک دادهها رو فراهم کرده.

مدل OSI یه چارچوب استاندارد برای ارتباطات شبکه ایه که از هفت لایه تشکیل شده و هر لایه وظیفه خاصی داره.
این مدل به دستگاههای مختلف اجازه میده که بدون مشکل با هم ارتباط برقرار کنن، حتی اگه از سیستمها و پروتکلهای متفاوتی استفاده کنن.
هر لایه وظیفه خاصی داره، از انتقال فیزیکی دادهها تا ارائه اطلاعات به کاربر نهایی. این لایهها با هم کار میکنن تا ارتباطات شبکه ای به درستی انجام بشه.
بله، تقریباً همه شبکهها از این مدل یا نسخههای مشابه اون استفاده میکنن تا ارتباطات به درستی انجام بشه.
اگر با شبکهها و فناوری اطلاعات سر و کار دارید، بله، آشنایی با این مدل خیلی مفیده.
مدل OSI مثل یه نقشه راه برای ارتباطات شبکه ایه. این مدل به ما کمک میکنه تا بفهمیم چطوری دادهها از یه دستگاه به دستگاه دیگه منتقل میشن و هر لایه ای از این مدل وظیفه خاص خودش رو داره. این مدل به توسعه دهندهها و مهندسای شبکه اجازه میده تا شبکههای پیچیدهتری بسازن و به راحتی مشکلاتشون رو حل کنن. با وجود اینکه امروزه بیشتر از مدل TCP/IP استفاده میشه، مدل OSI هنوز هم به عنوان یه چارچوب مفهومی و آموزشی خیلی مهمه. این مدل به ما نشون میده که حتی توی دنیای پیچیده شبکهها هم میشه با یه رویکرد ساختارمند و روشن، همه چیز رو مدیریت و بهینه سازی کرد. در نهایت، فهمیدن مدل OSI مثل داشتن یه نقشه راه برای شبکه س، نقشه ای که به ما کمک میکنه تا بهترین مسیر رو برای برقراری ارتباط پیدا کنیم.
دوره الفبای برنامه نویسی با هدف انتخاب زبان برنامه نویسی مناسب برای شما و پاسخگویی به سوالات متداول در شروع یادگیری موقتا رایگان شد: