مدل OSI چیست ؟
موسسه بین المللی استاندارد (ISO) در اواخر دهه 70 میلادی، مدل 7 لایه OSI يا Open Systems Interconnection ( اتصال سیستم های باز ) را پیشنهاد کرد. مدل مرجع OSI از همان ابتدا مورد استقبال قرار نگرفت و بصورت یک مدل مفهومی و برای آموزش دانشجویان باقی ماند .
مدل OSI ، یك مدل مفهومی است که بدون در نظر گرفتن ساختار و فناوری داخلی تجهیزاتی که قصد برقراری ارتباط با یکدیگر را دارند، مراحل و عملکردهای مورد نیاز جهت برقراری ارتباط بین آنها را توصیف و استاندارد می کند.
به بیان ساده تر ، مدل 7 لایه OSI استانداردی را فراهم می آورد تا سیستمهای ارتباطی مختلف ، قادر به برقراری ارتباط با یکدیگر باشند. پس مدل 7 لایه OSI را می توان به عنوان یک زبان جهانی برای برقراری ارتباط و ارسال و دریافت داده ها بر روی ماشین های مختلف ، تصور کرد .
لایه های مدل OSI
مدل OSI ، ارتباط شبکه بین مبدا و مقصد را به هفت لایه، تقسیم می کند. 7 لایه مدل OSI به ترتیب از پایین ترین لایه ( اولین لایه ) عبارتند از :
- لایه فیزیکی : Physical Layer
- لایه پیوند داده ها : Data Link Layer
- لایه شبکه : Network Layer
- لایه انتقال : Transport Layer
- لایه جلسه : Session Layer
- لایه ارائه : Presentation Layer
- لایه کاربرد : Application Layer
این لایه بندی کمک میکند تا در هنگام بروز مشکلات ، به راحتی محل وقوع مشکل را شناسایی نموده و فقط در همان بخش ، برای حل مشکل فعالیت کنیم . در نتیجه با صرف زمان و هزینه بسیار کمتر مشکل را شناسایی و رفع می نماییم. بطور کلی استفاده از مدل های چند لایه مانند مدل هفت لایه OSI ، سبب کاهش پیچیدگی های طراحی، پیاده سازی ساده تر، نگهداری آسانتر و اعمال تغییرات با هزینه کمتر می گردند .
در ادامه این مطلب بطور مختصر به بررسی هر یک از لایه های هفتگانه مدل مرجع OSI می پردازیم.
لایه 1 : لایه فیزیکی ( PHYSICAL Layer )
لایه فیزیکی ، پایین ترین لایه یا اولین لایه از مدل مرجع OSI می باشد. این لایه شامل تجهیزات فیزیکی درگیر در انتقال داده ها مانند انواع کابل ها مسی، فیبر نوری، سوئیچ ها، روترها، تجهیزات وایرلس و … می شود. همچنین در این لایه ، داده های دریافتی از لایه قبلی که در قالب یک فریم به لایه فیزیکی تحویل شده اند به یک جریان بیت ( bit stream ) تبدیل می شوند که در واقع رشته ای از 1 ها و 0 ها است.
به بیان ساده تر، لایه فیزیکی داده هایی را که قرار است از ماشین مبدا به ماشین مقصد منتقل شوند را دریافت می کند. سپس آنها را به صورت صفر و یک تبدیل نموده و بر روی بستر فیزیکی شبکه قرار می دهد و به سمت ماشین مقصد ارسال می کند. در آن طرف خط نیز ، لایه فیزیکی ماشین مقصد ، صفر ها و یک های ارسالی را دریافت نموده و آنها را از صفر و یک به فریم های قابل فهم برای لایه بالایی خود تبدیل می نماید.
واحد داده یا اطلاعات در لایه فیزیکی ، بیت یا bit می باشد .
چند نکته مهم در مورد لایه فیزیکی :
1- لایه فیزیکی هیچ گونه درکی از محتوی پیامی که قرار است بین مبدا و مقصد ارسال کند، ندارد و هر داده ای که به این لایه وارد شود (درست یا غلط، دارای خطا یا بدون خطا) بدون انجام هیچ گونه عملیات کنترلی روی محتوای پیام دریافتی، فقط آن را به 0 و 1 تبدیل نموده و به سمت ماشین مقصد ارسال میکند.
2- لایه فیزیکی مبدا و مقصد قبل از ارسال داده ها، باید بر روی یک پروتکل مشخص توافق کنند تا بتوانند به درستی عملیات انتقال اطلاعات را انجام دهند.
بطور مثال اگر مبدا و مقصد از طریق کابل شبکه مسی به یکدیگر متصل باشند، لایه فیزیکی مبدا و مقصد، از طریق پروتکل اترنت و یک کارت شبکه ، ابتدا داده ها را به سیگنال های الکتریکی قابل ارسال روی کابل شبکه مسی تبدیل کرده سپس اقدام به ارسال یا دریافت داده ها میکنند.
اگر بستر ارتباطی فیبر نوری بود، داده ها را با کمک ماژول های فیبرنوری تبدیل به سیگنال یا پالس های نوری کرده و بعد از طریق فیبر نوری به سمت مقصد ارسال می کنند.
3- محل قرارگیری لایه فیزیکی در سخت افزارهای ارتباطی مانند کارت شبکه می باشد.
لایه 2 : لایه پیوند داده ها ( Data link Layer )
لایه دوم مدل OSI ، لایه پیوند داده ها می باشد. وظیفه این لایه کنترل جریان داده ها، كشف و کنترل خطاهای حاصل از وجود نویز در بستر انتقال داده و ایجاد هماهنگی بین ماشین مبدا و مقصد هنگام ارسال داده ها می باشد. لايه پیوند داده ها با کمک بيتهاي Parity , CRC , Checksum اطمینان حاصل می کند كه مقصد بدون بروز خطا داده ها را دریافت کرده و در غیر اینصورت مجددا اطلاعات ارسال می کند.
واحد داده یا اطلاعات در لایه پیوند داده ها ، فریم یا Frame می باشد.
چند نکته مهم در مورد لایه پیوند داده ها:
1- همانطور که گفته شد یکی از وظایف اصلی لایه پیوند داده ها، کنترل جریان یا تنظیم جریان ارسال فریم ها می باشد یعنی اگر ماشین مقصد عمل دریافت فریم ها را به کندی انجام دهد ، لایه پیوند داده ها در ماشین مبدا سرعت ارسال فریم ها را به گونه ای تنظیم می کند که مقصد هیچ فریمی را به خاطر کند بودنش از دست ندهد.
2- لایه پیوند داده ها مانند لایه فیزیکی، در سخت افزار ارتباطی مانند کارت شبکه قرار دارد. در واقع وظیفه راه اندازی، سرویس گیری و کنترل سخت افزار فوق بر عهده این لایه میباشد.
3- لایه پیوند دادها برای ارسال فریم ها از آدرس فیزیکی یا MAC استفاده میکند.
4- لایه پیوند داده ها به دو زیر لایه تقسیم می شوند :
1 – LLC (Logical Link Control )
2 – MAC ( Medium Access Control )
لایه 3 : لایه شبکه ( Network Layer )
سومین لایه از مدل OSI ، لایه شبکه می باشد. اصلی ترین وظیفه لایه شبکه، مسیریابی یا Routing است. با توجه به گستردگی بستر شبکه و در نتیجه وجود مسیرهای مختلفی بین مبدا و مقصد ، لایه شبکه مسیر های موجود را بررسی نموده و بهترین مسیر ممکن برای ارسال بسته مورد نظر را انتخاب می کند تا از بروز ازدحام بسته ها در یک مسیر و یا ایجاد بن بست در مسیر که موجب گم شدن بسته یا حذف شدن بسته می گردد، جلوگیری به عمل آید. بطور کلی وظایف اصلی لایه شبکه عبارتند از : Routing , Addressing , forwarding , packetization
واحد داده یا اطلاعات در لایه شبکه، بسته یا Packet می باشد. در مدل TCP/IP، واحد اطلاعات لایه شبکه ، داده گرام یا Datagram می باشد.
چند نکته مهم در مورد لایه شبکه :
1- محل قرارگیری لایه شبکه در سیستم عامل می باشد.
2- معروفترین پروتکل لایه شبکه ، پروتکل IP می باشد.
لایه 4 : لایه انتقال ( Transport Layer )
لایه چهارم مدل مرجع OSI ، لایه انتقال می باشد. همانطور که پیش تر گفته شد، شبکه های واقعی ، عاری از خطا نیستند یعنی امکان گم شدن یا حذف بسته ها در حین عملیات انتقال وجود دارد ( بستر شبکه غیر قابل اطمینان است) . وظیفه اصلی لایه انتقال مدل OSI ، به زبان ساده آن است که بر یک بستر غیر قابل اطمینان، یک سرویس قابل اطمینان ارائه دهد. یعنی وظیفه لایه انتقال این است که از دریافت بسته های ارسالی توسط ماشین مقصد اطمینان حاصل کند.
واحد داده یا اطلاعات در لایه انتقال ، سگمنت یا Segment می باشد.
چند نکته مهم در مورد لایه انتقال :
1- پروتکل های اصلی لایه انتقال عبارتند از TCP و UDP . پروتکل TCP یک پروتکل اتصال گرا یا Connection Oriented و پروتکل UDP یک پروتکل غیر اتصال گرا یا Connection less می باشد.
2- لایه انتقال، داده های دریافتی از لایه های بالاتر را ( در صورت نیاز) به قطعات کوچکتر تقسیم بندی نموده و پس از اضافه نمودن شناسه های کنترلی لازم، آنها را جهت ارسال به لایه پایین تر ( لایه شبکه) ارسال می کند.
3- محل قرار گیری این لایه در سیستم عامل می باشد.
لایه 5 : لایه جلسه ( session Layer )
لایه جلسه یا لایه نشست ، پنجمین لایه از مدل 7 لایه OSI می باشد. وظیفه این لایه ، برقراری ، مدیریت و خاتمه یک ارتباط منطقی ( نشست یا جلسه ) بین مبدا و مقصد می باشد . بطورکلی یک نشست یا جلسه به مجموعه عملیات مورد نیاز برای برقراری ارتباط بین مبدا و مقصد ، دریافت و انتقال داده ها و خاتمه ارتباط برقرار شده، گفته می شود.
لایه جلسه پس از برقراری ارتباط، طرفین ارتباط را شناسایی کرده، اعتبار پیامها را چک می کند ، تماس ها و فعل و انفعالات همزمان را سینکرونایز می کند و در پایان جلسه را خاتمه می دهد.
واحد داده یا اطلاعات در لایه جلسه ، پیام یا message می باشد.
عمل برقراری ارتباط شامل فرآیندهای احراز هویت ( Authentication ) ، صدور مجوز ( Authorization ) ، مبادله گواهینامه های دیجیتالی ، ایجاد رکوردهای حالت می باشد.
عملیاتی مانند دسترسی به پایگاه های اطلاعاتی ، دسترسی از راه دور ( Remote Access ) به منابع سیستمی ، ورود به سیستم از راه دور ( Remote Login ) و هر کاری که مجبور به Login کردن است نیازمند ایجاد یک نشست می باشد.
لایه 6 : لایه ارائه / نمایش ( Presentation Layer )
لایه 6 از مدل مرجع OSI ، لایه ارائه یا لایه نمایش می باشد. این لایه داده ها را از لایه کاربرد گرفته و ساختار آن را به شکلی که برای ماشین مقصد قابل فهم باشد، تبدیل می کند. در این لایه تمرکز بر انجام تغییرات مورد نیاز در ساختار محتوایی و مفهومی پیام ها می باشد. برخی از این عملیات عبارتند از : فشرده سازی (Data Compression) ، رمزنگاری (Encryption) ، رمزگشایی پیامها، تبدیل قالب پیامها ، تبدیل کدها به یکدیگر مثلا تبدیل پیام های UNCODE، ASCII ، EBCDIC به یکدیگر .
واحد داده یا اطلاعات در لایه ارائه یا لایه نمایش ، پیام یا message می باشد.
لایه 7 : لایه کاربرد ( Application Layer )
لایه کاربرد یا لایه اپلیکیشن ، بالاترین لایه مدل OSI ( آخرین لایه مدل OSI ) می باشد که به عنوان لایه واسط بین کاربر ( برنامه کاربردی در حال اجرا ) و بستر شبکه ( لایه های پایین تر )، جهت برقراری ارتباط بین مبدا و مقصد و انتقال داده بین آنها ، مورد استفاده قرار می گیرد. برنامه ارسال ایمیل، برنامه مشاهده صفحات وب، برنامه های واسط جهت دسترسی به بانک های اطلاعاتی راه دور ، برنامه ارسال فایل، انواع مختلف پیام رسانها و … نمونه هایی از برنامه های کاربردی می باشند که قرار است از طریق بستر شبکه با ماشین راه دور ارتباط برقرار نموده و به تبادل داده بپردازند.
لایه کاربرد شامل پروتکل های متنوعی است که برخی از آنها حتی برای کاربران با دانش کامپیوتری اندک نیز شناخته شده می باشند، زیرا این لایه نزدیکترین لایه به کاربر است و کاربران بطور مستقیم با آن در ارتباط هستند. از جمله پروتکل های لایه اپلیکیشن می توان به HTTP , FTP , POP, SNMP , DNS , DHCP , Telnet و … اشاره نمود.
واحد داده یا اطلاعات در لایه کاربرد ، پیام یا message می باشد.
نکته مهم : لایه های 5 ، 6 و 7 مدل OSI در برنامه های کاربردی قرار دارند. مثلا در برنامه ارسال ایمیل مانند OUTLOOK یا برنامه پیام رسان مانند TELEGRAM و یا هر برنامه کاربردی دیگری که قرار است با یک ماشین دیگر در ارتباط باشد.
پروتکل های لایه های OSI
پروتکل های بسیاری در لایه های مدل OSI وجود دارند. در جدول زیر به برخی از شناخته شده ترین این پروتکل ها اشاره شده است.
پروتکل های لایه فیزیکی | Bluethooth , ISDN , CAN bus , DSL , Infrared , USB , IEEE802.11 |
---|---|
پروتکل های لایه پیوند داده ها | ARP , ATM , PPP , PAP , Frame Relay , Ethernet |
پروتکل های لایه شبکه | ICMP , IPSec , IGMP , IP , OSPF , NAT , IPX , RIP |
پروتکل های لایه انتقال | TCP , UDP , DCCP , NBF , TFTP , SPX |
پروتکل های لایه جلسه | ZIP , NetBIOS |
پروتکل های لایه نمایش | SSL , AFP , TLS |
پروتکل های لایه اپلیکیشن ( کاربرد ) | HTTP , HTTPS , BOOTP , FTP , TELNET , POP3 , DNS , SMTP , TFTP |
منابع
1- Computer Networking – A Top Down Approach, 8th, by James Kurose, Keith Ross
2- https://en.wikipedia.org/wiki/OSI_model
3- https://en.wikipedia.org/wiki/List_of_network_protocols_(OSI_model)
4- اصول مهندسی اینترنت انتشارات نص دکتر احسان ملکیان