آشنایی با مدل OSI یا 7 لایه شبکه
شبکههای کامپیوتری همیشه از اهمیت بسیاری برخوردار بودهاند و امروزه، تقریباً در هر بخش از زندگی ما حضور دارند. از ارسال ایمیلها و مرور وب گرفته تا استفاده از شبکههای اجتماعی و انجام تراکنشهای بانکی، شبکهها بستری را فراهم میکنند که امکان ارتباط و تبادل اطلاعات را بین دستگاهها و کاربران فراهم میکند. اما برای این که بتوانیم درک بهتری از نحوه کار شبکه ها داشته باشیم، باید روش های خاصی در نظر بگیریم. در شبکه، مدل OSI یا همان مدل 7 لایه شبکه، به عنوان یک روش استاندارد برای توصیف عملکرد شبکههای کامپیوتری مورد استفاده قرار میگیرد.
این مدل، تمامی عملکردهای شبکه را به 7 لایه مستقل تقسیم میکند، که هر یک وظایف و اجزای خاص خود را دارند. این تقسیمبندی به ما امکان میدهد تا عملکرد شبکه را به صورت مستقل در نظر بگیریم و به راحتی آن را مورد بررسی قرار دهیم.
در این مقاله، به طور کامل با مدل OSI و 7 لایه آن آشنا خواهیم شد. ابتدا به معرفی هر یک از لایهها میپردازیم و وظایف آنها را بررسی می کنیم. سپس به بررسی ارتباط و تعامل بین این لایهها میپردازیم و نحوه عملکرد کلی شبکه را توضیح میدهیم.
با آشنایی با مدل OSI، شما قادر خواهید بود تا بهتر درک کنید که چگونه اطلاعات در شبکهها جابجا میشوند و چگونه این عملکرد به بهبود عملکرد و امنیت شبکه کمک میکند. پس در ادامه این مقاله با ما همراه شوید تا به بررسی دقیق تر مدل OSI و 7 لایه شبکه بپردازیم.
فهرست مطالب
- مدل OSI چیست؟
- چرا مدل OSI مهم است؟
- مزایای مدل OSI
- هفت لایه مدل OSI چیست؟
- ارتباط در مدل OSI چگونه اتفاق می افتد؟
- جایگزین های مدل OSI چیست؟
- نتیجه گیری
مدل OSI چیست؟
OSI که مختصر شده عبارت (Open Systems Interconnection)، به معنای اتصال سیستمهای باز است، یک چارچوب مفهومی است که عملکردهای ارتباطات شبکه را به هفت لایه تقسیم میکند. ارسال دادهها از طریق یک شبکه، در واقع یک فرآیند پیچیده است زیرا فناوریهای سختافزاری و نرمافزاری مختلف در آن، باید به طور منسجم در سراسر مرزهای جغرافیایی و سیاسی کار کنند.
مدل داده OSI یک زبان جهانی برای شبکههای کامپیوتری فراهم میکند، در نتیجه فناوریهای مختلف میتوانند با استفاده از پروتکلهای استاندارد و قوانین مربوطه، به راحتی با یکدیگر ارتباط برقرار کنند. هر فناوری در یک لایه خاص باید قابلیتهای خاصی را ارائه دهد و عملکردهای خاصی را داشتهباشد تا در شبکه مفید باشد. معمولا فناوریهای لایههای بالاتر انتزاعیاند و میتوانند از فناوریهای سطح پایینتر بدون نگرانی در مورد جزئیات پیادهسازی استفاده کنند.
چرا مدل OSI مهم است؟
لایههای مدل OSI هر نوع ارتباط شبکه را هم در بخش نرمافزار و هم سختافزار محصور میکند. این مدل به گونهای طراحی شده است که به دو سیستم مستقل اجازه میدهد از طریق رابطهای استاندارد یا پروتکلهای مبتنی بر لایه عملیات مورد استفاده در لحظه، با هم ارتباط برقرار کنند.
مزایای مدل OSI
درک مشترک از سیستم های پیچیده
مهندسان میتوانند از مدل OSI برای سازماندهی و مدل سازی معماری های پیچیده سیستمهای شبکهای استفاده کنند. آنها میتوانند لایه عامل هر جزء سیستم را با توجه به عملکرد اصلی آن جدا کنند. توانایی تجزیه یک سیستم به بخشهای کوچکتر و قابل مدیریت از طریق انتزاع، درک آن را به عنوان یک کل برای افراد آسانتر میکند.
تحقیق و توسعه سریعتر
با مدل مرجع OSI، مهندسان میتوانند پروژه خود را بهتر درک کنند. آنها میدانند که برای کدام لایه (یا لایههای) شبکه، در حال ایجاد سیستمهای جدید هستند که باید با یکدیگر ارتباط برقرار کنند. مهندسان میتوانند سیستمهای شبکه ای را توسعه دهند و از یک سری فرآیندها و پروتکل های قابل تکرار استفاده کنند.
استاندارد سازی انعطاف پذیر
مدل OSI پروتکلهایی را برای استفاده در بین سطوح مشخص نمیکند، بلکه وظایفی را که پروتکلها انجام میدهند مشخص میکند. این کار، توسعه ارتباطات شبکه را استاندارد سازی میکند تا کاربران بتوانند به سرعت سیستمهای بسیار پیچیده را درک کنند، بسازند و تجزیه کنند، حتی بدون داشتن دانش قبلی از سیستم و شبکه.
این مدل همچنین جزئیات را انتزاعی میکند، بنابراین مهندسان نیازی به درک همه جنبههای مدل ندارند. در برنامههای مدرن، سطوح پایین شبکه و پروتکلهاT برای سادهسازی طراحی و توسعه سیستم انتزاع میشوند. تصویر زیر نحوه استفاده از مدل OSI در توسعه اپلیکیشنهای مدرن را نشان میدهد.
هفت لایه مدل OSI چیست؟
مدل OSI توسط سازمان بین المللی استاندارد و سایرین در اواخر دهه 1970 توسعه یافت. اولین شکل آن در سال 1984 با عنوان ISO 7498 منتشر شد که نسخه فعلی آن ISO/IEC 7498-1:1994 است. هفت لایه مدل در ادامه آورده شده است.
لایه فیزیکی (Physical layer)
لایه فیزیکی به بخشی از رسانه ارتباطی اشاره دارد که برای انتقال دادهها در آن استفاده میشود. در این لایه، اطلاعات از طریق کانالهای فیزیکی مختلف مانند کابلهای فیبر نوری، کابلهای مسی و حتی امواج به صورت سیگنالهای دیجیتال و الکترونیکی منتقل میشوند.
لایه فیزیکی نیز حاوی استانداردها و معیارهایی است که با فناوریها و کانالهای مرتبط در ارتباط است. به عنوان مثال، بلوتوث و NFC از جمله فناوریهایی هستند که با لایه فیزیکی مرتبط هستند و سرعت انتقال داده نیز یکی از معیارهای مهم در این لایه است.
لایه پیوند داده (Data link layer)
لایه پیوند داده به فناوریهایی اشاره میکند که برای ارتباط و اتصال دو ماشین در یک شبکه، که در آن لایه فیزیکی قبلاً تعریف شده است، استفاده میشود. این لایه مسئول مدیریت فریمهای داده است که حاوی سیگنالهای دیجیتالی اند و به صورت بستههای داده (packet) محصور شدهاند.
کنترل جریان و کنترل خطا از جمله وظایف اصلی لایه پیوند داده هستند. به عنوان مثال استاندارد اترنت در این لایه بررسی میشود. لایه پیوند داده معمولاً به دو زیرلایه تقسیم میشود: لایه کنترل دسترسی رسانه (MAC) و لایه کنترل پیوند منطقی (LLC).
لایه شبکه (Network layer)
لایه شبکه با مفاهیمی مانند مسیریابی، ارسال و آدرسدهی در یک شبکه پراکنده یا شبکههای متصل به یکدیگر از طریق گرهها (Nodes) یا دستگاهها سر و کار دارد. همچنین، لایه شبکه ممکن است وظیفه کنترل جریان را نیز بر عهده داشته باشد. در سراسر اینترنت، برای لایه شبکه از پروتکلهای IPv4 و IPv6 به عنوان پروتکلهای اصلی استفاده میشود.
لایه انتقال (Transport layer)
تمرکز اصلی لایه انتقال در این شبکه، تضمین این است که بستههای داده به ترتیب صحیح، بدون تلفات یا خطا به مقصد میرسند و در صورت لزوم، قابلیت بازیابی یکپارچه را دارند. کنترل جریان و کنترل خطا از جمله نقاط تمرکز در این لایه میباشند. در این لایه، دو پروتکل رایج استفاده میشود.
پروتکل کنترل انتقال (TCP)، که یک پروتکل مبتنی بر اتصال است که تقریباً بدون تلفات عمل میکند و پروتکل دادهنگار کاربر (UDP)، که یک پروتکل غیر متصل با امکان وقوع تلفات است. از پروتکل TCP معمولاً در جاهایی که تمامی دادهها نیاز به حفظ شدن دارند و عدم خطا اهمیت بسیار دارد، (مانند اشتراک فایل) استفاده میشود، در حالی که پروتکل UDP زمانی استفاده میشود که حفظ تمامی بستهها اهمیت کمتری دارد (مانند پخش ویدیو).
لایه Session
لایه Session، مسئول هماهنگی بین دو برنامه مجزا در یک نشست است. این نشست، شروع و پایان اتصال بین برنامههای مختلف را کنترل میکند و تضادهای همگامسازی را مدیریت مینماید. در لایه نشست، معمولاً از پروتکلهایی مانند سیستم فایل شبکه (NFS) و بلاک پیام سرور (SMB) استفاده میشود.
لایه نمایش (Presentation layer)
لایه نمایش در اصل به روشی که دادهها برای ارسال و استفاده در برنامهها تدارک دیده میشوند، مربوط میشود. به عنوان مثال، زبان نشانه گذاری (HTML)، جاوا اسکریپت (JSON) و CSV، همه اینها زبانهای مدلسازی هستند که برای توصیف ساختار دادهها در لایه ارائه استفاده میشوند.
لایه اپلیکیشن(Application layer)
این لایه به نوع اپلیکیشن و روشهای ارتباطی استاندارد آن مرتبط است. به عنوان مثال در این لایه، مرورگرها میتوانند از پروتکل HTTPS و HTTP امن برای انتقال ابرمتن استفاده کنند و کلاینتهای ایمیل میتوانند با استفاده از پروتکل POP3 (پست آفیس نسخه 3) و SMTP (انتقال ایمیل ساده) ارتباط برقرار کنند.
توجه داشته باشید که همه سیستمهایی که از مدل OSI استفاده میکنند هر لایه را پیادهسازی نمیکنند.
ارتباط در مدل OSI چگونه اتفاق می افتد؟
لایههای مدل OSI به گونهای طراحی شدهاند که یک برنامه کاربردی میتواند از طریق یک شبکه با برنامهای دیگر در دستگاهی متفاوت، بدون توجه به پیچیدگی برنامه و سیستمهای زیربنایی، با سرورهای مربوطه ارتباط برقرار کند. برای این کار از استانداردها و پروتکل های مختلفی برای ارتباط با لایه بالاتر یا پایینتر استفاده میشود. هر یک از لایه ها مستقل هستند و فقط از طریق رابط هابا لایههای دیگر ارتباط برقرار میکنند. با زنجیر کردن تمام این لایهها و پروتکلها، ارتباطات داده پیچیده را میتوان از یک برنامه سطح بالا به برنامههای دیگر ارسال کرد. این فرآیند به صورت زیر عمل می کند:
لایه اپلیکیشن ارتباطات داده را به لایه پایینی خود منتقل میکند و در این مسیر، هر لایه هدرها و آدرس دهی مربوط به خود را به داده اضافه میکند. این دادهها به صورت تدریجی و از هر لایه به لایه بعد، به سمت پایین حرکت میکنند تا در نهایت از طریق رسانه فیزیکی منتقل شوند. در انتهای دیگر رسانه، هر لایه دادهها را بر اساس هدرهای مربوطه در آن سطح پردازش میکند. سپس در سمت گیرنده، دادهها به لایه بالاتر منتقل میشوند و به تدریج باز میشوند تا زمانی که برنامه در سمت دیگر(فرستنده) پیام تایید ارسال را دریافت کند.
جایگزین های مدل OSI چیست؟
در گذشته از مدلهای شبکهای مختلفی مانند تبادل بستههای متوالی/مبادله بستههای اینترنتی (SPX/IPX) و سیستم خروجی ورودی پایه شبکه (NetBIOS) استفاده میشد. امروزه جایگزین اصلی برای مدل OSI مدل TCP/IP است.
مدل TCP/IP
مدل TCP/IP از پنج لایه مختلف تشکیل شده است:
- لایه فیزیکی
- لایه پیوند داده
- لایه شبکه
- لایه انتقال
- لایه اپلیکیشن
در حالی که به نظر میرسد لایههای این مدل نیز مانند مدل OSI شامل لایه فیزیکی، لایه شبکه و لایه اپلیکیشن هستند، این موضوع دقیقا اینگونه نیست، این لایه ها کاملاً مشابه نیستند. در واقع، مدل TCP/IP با دقت خیلی بیشتری به ساختار و پروتکلهای اینترنت نگاشت میشود.
مدل OSI یک مدل شبکه محبوب برای توصیف نحوه عملکرد شبکه از دیدگاه کلی، برای اهداف آموزشی است. با این حال، مدل TCP/IP در حال حاضر بیشتر در عمل استفاده می شود.
نکته: همه سیستمها و برنامههای مبتنی بر اینترنت از مدل TCP/IP یا مدل OSI پیروی نمیکنند. همانطور که همه سیستمها و برنامههای کاربردی شبکهای آفلاین از مدل OSI یا هر مدل دیگری استفاده نمیکنند.
هر دو مدل OSI و TCP/IP دارای استانداردهای باز هستند. آنها به گونهای طراحی شده اند که هر کسی بتواند از آنها استفاده کند، یا آنها را گسترش دهد تا نیازهای خاص خود را برآورده کند.
معمولاً سازمانها همچنین استانداردهای داخلی و اختصاصی خود را طراحی میکنند، از جمله پروتکلها و مدلهای شبکه، که منبع بسته است و فقط برای استفاده در سیستمهای خودشان است. البته گاهی اوقات، آنها ممکن است متعاقباً این موارد را برای قابلیت همکاری و توسعه بیشتر، در اختیار عموم قرار دهند. به عنوان مثال s2n-tls، یک پروتکل TLS است که در ابتدا یک پروتکل اختصاصی خدمات وب آمازون (AWS) بود، اما اکنون منبع باز است.
نتیجه گیری
در این مقاله، با مدل OSI یا 7 لایه شبکه آشنا شدیم و به طور کامل به هر یک از لایهها پرداختیم. این مدل به ما امکان میدهد تا عملکرد شبکه را به صورت مستقل در نظر بگیریم و با تمرکز بر هر لایه، تعاملات و تبادل اطلاعات در شبکه را بهتر درک کنیم.
از لایه فیزیکی که به ارتباط فیزیکی بین دستگاهها میپردازد، تا لایه اپلیکیشن که بر رابطه کاربران و برنامهها با شبکه تأکید دارد، هر یک از این لایهها نقش و وظایف مشخص خود را دارند و با همکاری در تبادل اطلاعات، امکان ارسال و دریافت دادهها را برای کاربران فراهم میکنند.
از تقسیمبندی لایهای مدل OSI نتیجه میگیریم که شبکههای کامپیوتری پیچیده، با تعداد زیادی دستگاه و پروتکل، بدون این تقسیمبندی، به سختی قابل مدیریت خواهند بود. با استفاده از مدل OSI، میتوانیم بهبود عملکرد و امنیت شبکه را بررسی کرده و نقاط ضعف را شناسایی و بهبود دهیم.
با آشنایی با مدل OSI، شما به عنوان یک فعال در زمینه شبکههای کامپیوتری قادر خواهید بود تا بهتر درک کنید که چگونه دادهها در شبکه جابجا میشوند و چگونه این عملکرد به بهبود عملکرد و امنیت شبکه کمک میکند.
به طور خلاصه، مدل OSI یا 7 لایه شبکه یک روش استاندارد برای توصیف عملکرد شبکههای کامپیوتری است که با تقسیمبندی وظایف به لایههای مستقل، به ما امکان میدهد تا بهترین عملکرد و امنیت را در شبکهها داشته باشیم. با این مدل، شما میتوانید به عنوان یک متخصص شبکه، مشکلات شبکه را سریعتر تشخیص داده و راهحلهای مناسب را به کار ببرید.