زمان تخمینی مطالعه: 15 دقیقه
مدل مرجع OSI سرنام Open Systems Interconnection یک مدل مرجع استاندارد برای توصیف عملکرد شبکههای کامپیوتری است. این مدل توسط سازمان بینالمللی استانداردسازی (ISO) تعریف شده است و به عنوان یک راهنمای کلی برای طراحی، پیادهسازی و ارتباط بین دستگاههای مختلف در یک شبکه استفاده میشود. در این مقاله مقصد داریم به طور اجمالی با مدل فوق و هر یک از لایههای آن آشنا شویم.
چرا مدل OSI مدل پایه است؟
مدل OSI بهعنوان یک مدل پایه شناخته میشود، زیرا یک چارچوب کلی و استاندارد برای توصیف عملکرد شبکههای کامپیوتری ارائه میدهد. این مدل به طور جامع و سازمانیافته، لایهبندی شده و واضح، وظایف و مسئولیتهای هر لایه را تعریف میکند. دلایلی که باعث شدهاند تا مدل OSI به عنوان مدل پایه شناخته شود به شرح زیر هستند:
- استانداردسازی: مدل OSI توسط سازمان بینالمللی استانداردسازی (ISO) تعریف شده است و به عنوان یک استاندارد بینالمللی شناخته میشود. این استانداردسازی باعث ایجاد یک زبان مشترک بین تولیدکنندگان و استفادهکنندگان تجهیزات شبکهها شده است.
- قابلیت تعمیم: مدل OSI به دلیل لایهبندی و جداسازی وظایف، قابلیت تعمیم و اعمال بر روی شبکههای مختلف را دارد. این حرف به معنای این است که میتوان از مدل OSI برای توصیف و طراحی شبکههای مختلف با استفاده از پروتکلهای متفاوت استفاده کرد.
- ارتباط و هماهنگی: با استفاده از مدل OSI، ارتباط و هماهنگی بین تجهیزات و سیستمهای مختلف در یک شبکه بهبود مییابد. این مدل به تعریف وظایف و مسئولیتهای هر لایه کمک میکند و ارتباط سازماندهی شده بین لایهها را فراهم میکند.
- آموزش و یادگیری: مدل OSI به عنوان یک مدل آموزشی و یادگیری استفاده میشود. این مدل به دانشجویان و متخصصان شبکه کمک میکند تا مفاهیم و اصول اساسی شبکهها را درک کنند و به بهبود دانش و مهارتهای خود در زمینه شبکهها بپردازند.
به طور کلی، مدل OSI به عنوان یک مدل پایه شناخته میشود، زیرا به استانداردسازی، قابلیت تعمیم، ارتباط و هماهنگی و آموزش و یادگیری در حوزه شبکههای کامپیوتری کمک میکند.
لایههای مدل مرجع OSI
مدل OSI شامل هفت لایه است که هر لایه مسئولیتهای خاصی در ارتباطات شبکه دارد. این لایهها به شرح زیر هستند:
لایه فیزیکی (Physical Layer)
لایه فیزیکی (Physical Layer) در مدل OSI مسئولیتهای مربوط به ارتباطات فیزیکی بین دستگاهها را بر عهده دارد. این لایه به انتقال بیتها از طریق کابلها، رسانههای ارتباطی و سیستمهای فیزیکی میپردازد. وظایف اصلی لایه فیزیکی به شرح زیر است:
- ارسال و دریافت بیتها: لایه فیزیکی مسئول ارسال و دریافت بیتها (صفر و یک) بین دستگاهها است. این لایه برای انتقال بیتها از یک دستگاه به دستگاه دیگر از روشهای مختلفی مانند کابلهای شبکه سیمی و فیبرنوری، تجهیزات بیسیم و غیره استفاده میکند.
- کنترل جریان (Flow Control): لایه فیزیکی مسئول کنترل جریان دادهها بین دستگاهها است. این کنترل به دستگاهها اجازه میدهد تا با سرعت مناسب دادهها را ارسال و دریافت کنند تا مشکل تداخل و از دست رفتن دادهها به وجود نیاید.
- همگامسازی ساعت (Clock Synchronization): لایه فیزیکی مسئول هماهنگی ساعت بین دستگاهها است. این هماهنگی ساعت برای اطمینان از ارسال و دریافت صحیح بیتها بین دستگاهها بسیار مهم است.
- توپولوژی یا همبندی فیزیکی (Physical Topology): لایه فیزیکی مسئول تعیین نحوه اتصال دستگاهها به یکدیگر است. این موضوع شامل تعیین نوع کابلها، رسانههای ارتباطی و نحوه اتصال فیزیکی دستگاهها میشود.
لایه فیزیکی در مدل OSI تنها به ارتباطات فیزیکی بین دستگاهها میپردازد و به تفاوتهای سختافزاری و فیزیکی بین دستگاهها توجه میکند.
لایه پیوند داده (Data Link Layer)
لایه پیوند داده (Data Link Layer) در مدل OSI مسئولیتهای مربوط به ارتباطات بین دستگاههای مجاور را بر عهده دارد. این لایه به ارسال صحیح و کامل دادهها از طریق کانال ارتباطی بین دستگاهها میپردازد. وظایف اصلی لایه پیوند داده عبارتند از:
- فریمبندی (Framing): لایه پیوند داده مسئول تقسیم دادههای ورودی به قطعات کوچکتر به نام فریمها است. هر فریم شامل بیتهای اطلاعاتی و بیتهای کنترلی مانند بیتهای تایید دریافت (ACK) یا عدم تایید ارسال (NACK) است.
- کنترل خطا (Error Control): لایه پیوند داده مسئول تشخیص و تصحیح خطاهای احتمالی در ارسال دادهها است. این لایه از تکنیکهایی مانند بررسی جمع (Checksum) و کدگذاری همزمان (Hamming Code) استفاده میکند تا خطاها را تشخیص داده و در صورت امکان، آنها را تصحیح کند.
- کنترل جریان (Flow Control): لایه پیوند داده مسئول کنترل جریان دادهها بین دستگاههای مجاور است. این کنترل به دستگاهها اجازه میدهد با سرعت مناسب دادهها را ارسال و دریافت کنند تا از ایجاد تداخل و از دست رفتن دادهها جلوگیری شود.
- تایید دریافت (Acknowledgment): لایه پیوند داده مسئول دریافت تاییدیهها (ACK) از دستگاه مقابل است. این تاییدیهها نشان میدهند که یک فریم به درستی دریافت شده است و دستگاه مقابل میتواند به ارسال فریم بعدی بپردازد.
- آدرسدهی (Addressing): لایه پیوند داده مسئول تعیین آدرسهای فیزیکی (مانند مک آدرس در شبکههای اترنت) برای دستگاهها است. این آدرسها برای شناسایی دستگاهها در یک شبکه استفاده میشوند.
لایه پیوند داده در مدل OSI بهعنوان واسط بین لایه فیزیکی و لایه شبکه عمل میکند و اطمینان از ارسال صحیح و کامل دادهها را فراهم میکند.
لایه شبکه (Network Layer)
لایه شبکه (Network Layer) در مدل OSI مسئولیتهای مربوط به مسیریابی بستهها در شبکه را بر عهده دارد. این لایه به ارتباطات بین شبکههای مختلف و مدیریت ترافیک شبکه میپردازد. وظایف اصلی لایه شبکه به شرح زیر است:
- مسیریابی (Routing): لایه شبکه مسئول تعیین مسیر مناسب برای ارسال بستهها از دستگاه مبدا به مقصد است. این مسیریابی میتواند بر اساس الگوریتمهای مختلفی مانند الگوریتمهای مسیریابی مبتنی بر بردارهای فاصله (Distance Vector) یا الگوریتمهای مسیریابی مبتنی بر جدول مسیریابی (Routing Table) صورت گیرد.
- تجزیهوتحلیل بستهها (Packet Fragmentation): لایه شبکه مسئول تجزیه بستههای بزرگتر به بستههای کوچکتر و قابل انتقال است. این عملیات میتواند در صورتی که بستهها بزرگتر از حداکثر اندازه قابل انتقال در شبکه باشند، انجام شود.
- تعیین خدمات کیفیت خدمات (Quality of Service – QoS): لایه شبکه مسئول تعیین و اعمال سطوح مختلفی از خدمات برای بستهها است. این سطوح میتوانند شامل پهنای باند، تاخیر، اولویت بستهها و سایر ویژگیهای مرتبط با کیفیت خدمات باشند.
- تجمیع بستهها (Packet Aggregation): لایه شبکه مسئول تجمیع بستههای کوچکتر به بستههای بزرگتر است. این عملیات میتواند در صورتی که بستهها کوچکتر از حداقل اندازه قابل انتقال در شبکه باشند، انجام شود.
- آدرسدهی (Addressing): لایه شبکه مسئول تعیین نشانیهای شبکه (مانند آدرس IP) برای دستگاهها است. این نشانیها برای شناسایی دستگاهها در شبکه استفاده میشوند.
بهطور کلی، لایه شبکه در مدل OSI مسئول مدیریت ترافیک شبکه و ارسال بستهها از یک شبکه به شبکه دیگر است.
لایه انتقال یا حمل (Transport Layer)
لایه انتقال (Transport Layer) در مدل OSI مسئولیتهای مربوط به ارتباطات انتها به انتها را بر عهده دارد. این لایه به ارسال صحیح و کامل دادهها بین برنامهها و سرویسهای کاربردی در دستگاههای مبدا و مقصد میپردازد. وظایف اصلی لایه حمل عبارتند از:
- تجزیه و ترکیب دادهها (Segmentation and Reassembly): لایه حمل مسئول تجزیه دادههای بزرگتر به بخشهای کوچکتر به نام سگمنتها است. هر سگمنت شامل بیتهای اطلاعاتی و بیتهای کنترلی مانند شماره توالی (Sequence Number) و بیتهای تایید دریافت (ACK) است. همچنین، لایه حمل مسئول ترکیب سگمنتها در دستگاه مقصد است.
- کنترل جریان (Flow Control): لایه حمل مسئول کنترل جریان دادهها بین دستگاههای مبدا و مقصد است. این کنترل به دستگاهها اجازه میدهد تا با سرعت مناسب دادهها را ارسال و دریافت کنند تا از ایجاد تداخل و از دست رفتن دادهها جلوگیری شود.
- تایید دریافت (Acknowledgment): لایه حمل مسئول دریافت تاییدیهها (ACK) از دستگاه مقابل است. این تاییدیهها نشان میدهند که یک سگمنت به درستی دریافت شده است و دستگاه مقابل میتواند به ارسال سگمنت بعدی بپردازد.
- کنترل خطا (Error Control): لایه حمل مسئول تشخیص و تصحیح خطاهای احتمالی در ارسال دادهها است. این لایه از تکنیکهایی مانند بررسی مجموعهای (Checksum) و کدگذاری همزمان (Hamming Code) استفاده میکند تا خطاها را تشخیص داده و در صورت امکان، آنها را تصحیح کند.
- تجزیه و ترکیب پورتها (Port Multiplexing and Demultiplexing): لایه حمل مسئول تجزیه و ترکیب پورتها در دستگاههای مبدا و مقصد است. این عملیات به برنامهها و سرویسهای کاربردی اجازه میدهد با استفاده از پورتهای مختلف، بهصورت همزمان از شبکه استفاده کنند.
در مجموع لایه حمل در مدل OSI مسئول ارسال صحیح و کامل دادهها بین برنامهها و سرویسهای کاربردی است و اطمینان از انتقال صحیح دادهها را فراهم میکند.
لایه نشست یا جلسه (Session Layer)
لایه جلسه (Session Layer) در مدل OSI مسئولیتهای مربوط به مدیریت جلسات بین دستگاهها را بر عهده دارد. بهطور کلی، لایه فوق مسئول برقراری، حفظ و پایان دادن به جلسات بین دستگاهها در شبکه است. این لایه سعی میکند ارتباطات قابل اعتماد و پایداری را در شبکهها بهوجود آورد. وظایف اصلی لایه جلسه عبارتند از:
- برقراری و پایان دادن به جلسات (Session Establishment and Termination): لایه نشست مسئول برقراری ارتباطات پایدار (Persistent Connections) است. این لایه نه تنها وظیفه برقراری ارتباطات پایدار بین دستگاهها را دارد، بلکه بر روند تعیین نقطه شروع و پایان جلسه و مدیریت ترتیب ارسال و دریافت پیامها نظارت میکند.
- همگامسازی (Synchronization): لایه جلسه مسئول همگامسازی دستگاهها در جریان جلسه است. این لایه از مکانیزمهایی مانند تاییدیهها (Acknowledgments) و توقف و ادامه (Pause and Resume) برای برقراری ارتباط تجهیزات استفاده میکند.
- مدیریت خطا: لایه جلسه میتواند مکانیزمهایی برای تشخیص و مدیریت خطاها در جلسات فراهم کند. این موضوع شامل ارسال پیامهای تایید، بازیابی خطاها و مدیریت خطاهای مرتبط با جلسهها است.
لایه جلسه در مدل OSI بهعنوان واسطی بین لایههای بالاتر (مانند لایه کاربرد) و لایههای پایینتر (مانند لایه حمل) عمل میکند. این لایه ارتباطات پایدار و پایداری جلسات را در شبکهها فراهم میکند و به برنامهها و سرویسهای کاربردی امکان میدهد با یکدیگر ارتباط برقرار کنند و اطلاعات را به صورت مرتب و هماهنگ منتقل کنند. در مجموع لایه جلسه در مدل OSI مسئول مدیریت جلسات بین دستگاهها و ارتباطات پایدار بین آنها است.
لایه ارتباط یا لایه ارائه (Presentation Layer)
لایه ارتباط (Presentation Layer) در مدل OSI مسئولیتهای مربوط به تبدیل و رمزگشایی دادهها را بر عهده دارد تا دستگاهها با یکدیگر سازگاری داشته باشند. این لایه مسئولیت تبدیل دادهها به یک فرمت قابل فهم و قابل استفاده برای دستگاههای مقصد را دارد. وظایف اصلی لایه ارتباط عبارتند از:
- رمزگشایی (Decryption): لایه ارتباط مسئول رمزگشایی دادهها است. اگر دادهها در لایه شبکه یا لایه حمل رمزنگاری شده باشند، لایه ارتباط مسئول رمزگشایی آنها است تا دستگاه مقصد بتواند آنها را درک کند.
- فشردهسازی (Compression): لایه ارتباط میتواند دادهها را فشرده کند تا حجم آنها را کاهش دهد و همچنین بهینهسازی استفاده از پهنای باند شبکه را بر عهده دارد.
- تبدیل فرمت (Data Formatting): لایه ارتباط میتواند دادهها را به فرمت قابل فهم و قابل استفاده برای دستگاه مقصد تبدیل کند. این موضوع شامل تبدیل اعداد، متن، تصاویر و سایر اطلاعات به فرمت قابل استفاده است.
- رمزنگاری (Encryption): لایه ارتباط میتواند دادهها را رمزنگاری کند تا امنیت ارتباط را تضمین کند. این موضوع شامل استفاده از الگوریتمهای رمزنگاری برای محافظت از حریم خصوصی و امنیت دادهها است.
در مجموع لایه ارتباط در مدل OSI به عنوان واسطی بین لایههای بالاتر (مانند لایه جلسه) و لایههای پایینتر (مانند لایه حمل) عمل میکند. این لایه تبدیل و رمزگشایی دادهها را بر عهده دارد تا دستگاهها بتوانند با یکدیگر سازگاری داشته باشند و ارتباط امن و قابل فهمی برقرار کنند.
لایه کاربرد (Application Layer)
لایه کاربرد (Application Layer) در مدل OSI مسئولیتهای مربوط به ارائه خدمات شبکه به برنامهها و کاربران را بر عهده دارد. این لایه برای برقراری ارتباط بین کاربران و سرویسهای شبکه، ارسال و دریافت درخواستها و پاسخها، و ارائه خدمات شبکه مانند ارسال ایمیل، مرور وب، فایلسرور و غیره استفاده میشود. وظایف اصلی لایه کاربرد عبارتند از:
- ارائه خدمات شبکه: لایه کاربرد مسئول ارائه خدمات شبکه به برنامهها و کاربران است. این خدمات میتوانند شامل ارسال و دریافت ایمیل، مرور وب، انتقال فایل، تلفنگویا و سایر خدمات شبکه باشند.
- ارسال و دریافت درخواستها و پاسخها: لایه کاربرد مسئول ارسال درخواستها و دریافت پاسخها بین برنامهها و سرویسهای شبکه است. این درخواستها و پاسخها میتوانند بر اساس پروتکلهای مختلفی مانند HTTP، FTP، SMTP و غیره باشند.
- مدیریت هویت و امنیت: لایه کاربرد مسئولیت مدیریت هویت کاربران و احراز هویت آنها در شبکه را بر عهده دارد. همچنین، امنیت ارتباطات و رمزنگاری اطلاعات نیز در این لایه مدیریت میشود.
لایه کاربرد در مدل OSI بهعنوان بالاترین لایه قرار دارد و با برنامهها و کاربران در تعامل است. این لایه ارتباط بین برنامهها و سرویسهای شبکه را فراهم میکند و به آنها امکان ارسال و دریافت دادهها را میدهد.
چگونه لایههای در مدل OSI با یکدیگر ارتباط برقرار میکنند؟
لایههای مدل OSI با استفاده از فریمها با یکدیگر ارتباط برقرار میکنند. فریم یک واحد داده است که شامل یک پیام است و توسط یک لایه به لایه دیگر منتقل میشود. فریم شامل اطلاعاتی است که توسط هر لایه برای انجام وظیفه خود استفاده میشود، مانند آدرسهای منبع و مقصد، نوع پیام و کنترل خطا. نحوه ارتباط لایهها در مدل OSI به شرح زیر است:
- لایه کاربرد یک پیام را ایجاد میکند.
- لایه کاربرد پیام را به لایه ارائه میدهد.
- لایه ارائه فریم را در اطراف پیام ایجاد میکند و آن را به لایه انتقال میدهد.
- لایه انتقال فریم را به لایه شبکه میدهد.
- لایه شبکه فریم را به لایه پیوند داده میدهد.
- لایه پیوند داده فریم را به لایه فیزیکی میدهد.
- لایه فیزیکی فریم را به رسانه فیزیکی شبکه منتقل میکند.
فریم در طول شبکه از یک گره به گره دیگر منتقل میشود. هر گره فقط لایه خود را در مدل OSI پردازش میکند و لایههای دیگر را نادیده میگیرند. بهعنوان مثال، لایه شبکه فقط آدرس شبکه فریم را پردازش میکند و لایههای دیگر را نادیده میگیرند.
هنگامی که فریم به مقصد برسد، از لایه فیزیکی به لایه پیوند داده، از لایه پیوند داده به لایه شبکه و غیره منتقل میشود تا به لایه کاربرد برسد. در ادامه، لایه کاربرد پیام را از فریم استخراج میکند و آن را به برنامه کاربردی در مقصد تحویل میدهد.
بهطور کلی باید بگوییم که مدل OSI یک چارچوب مفید برای درک نحوه ارتباط لایههای مختلف در یک شبکه است. این مدل میتواند برای عیبیابی مشکلات شبکه استفاده شود، زیرا میتواند به شما کمک کند تا بفهمید مشکل در کدام لایه رخ داده است.
نکات تکمیلی در مورد مدل OSI
مدل OSI بهعنوان یک مرجع استاندارد در طراحی و پیادهسازی شبکههای کامپیوتری استفاده میشود و به توصیف و تفسیر عملکرد شبکهها کمک میکند. در مورد مدل OSI، میتوان به چند نکته تکمیلی زیر باید اشاره کنیم:
1. لایهبندی: مدل OSI به صورت لایهبندی شده است، به این معنی که عملکرد شبکه به لایههای مجزا تقسیم شده است. این لایهبندی کمک میکند تا وظایف و مسئولیتهای مختلف در شبکه به شکلی سازمانیافته و قابل مدیریت باشند.
2. انتزاع: مدل OSI از انتزاع استفاده میکند، به این معنی که هر لایه از لایههای پایینتر استفاده میکند و خدماتی را به لایههای بالاتر ارائه میدهد. این انتزاع متخصصان را از جزییات پیادهسازی و مباحث فنی آزاد میکند و امکان تغییر یا بهبود هر لایه را بدون تاثیرگذاری بر سایر لایهها فراهم میکند.
3. تعامل بین لایهها: هر لایه در مدل OSI با لایههای مجاور خود تعامل دارد. این تعامل شامل ارسال و دریافت پیامها، تاییدیهها، و کنترل خطاها است. این تعامل ارتباطات بین دستگاهها را ممکن میسازد و اطمینان از انتقال صحیح و کامل دادهها را تضمین میکند.
4. انعطافپذیری: مدل OSI انعطافپذیری بالایی دارد و به راحتی قابل تعمیم و تطبیق به شبکههای مختلف است. این موضوع به شما اجازه میدهد از پروتکلها و تکنولوژیهای متفاوت در هر لایه استفاده کنیم و شبکههای مختلف را با توجه به نیازها و محیطهای خاص پیادهسازی کنید.
بخوانید: مرکزداده میکرو چیست؟
بدون دیدگاه