شاید تا به حال به این سؤال فکر کرده باشید که چطوری دو سیستم کامپیوتری در یک شبکه با یکدیگر ارتباط برقرار میکنند؟ امروز قصد دارم شما را با یکی از مهمترین مفاهیم شبکه یعنی مدل OSI آشنا کنم. بزارید اینطور شروع کنم مدل OSI یک چارچوب مفهومی برای توصیف نحوه ارتباط دو سیستم کامپیوتری در شبکه است و برای حل مسائل شبکه یا توسعۀ آن، لازمه که اجزای شبکه و نحوۀ کار بخشهای مختلف را بهخوبی درک کنیم. مدل OSI شبکه را برای شما تصویرسازی میکند و با نشان دادن ۷ لایۀ مختلف و طریقۀ کار هر بخش، درک مسائل را بسیار آسان میکند. حالا برای اینکه با نحوه کار این هفت لایه آشنا بشیم و یک دید کلی راجب این هفت لایه داشته باشید حتما تا اخر این مقاله همراه من باشید.
مدل OSI مخفف Open Systems Interconnection مدلی انتزاعی است که توسط سازمان بینالملی استانداردسازیInternational Organization for Standardization ایجاد شده و این امکان را به سیستمهای ارتباطی میدهد تا از طریق پروتکلهای مختلفی با هم ارتباط برقرار کنند. ما با کمک مدل OSI میتوانیم متوجه شویم که چگونه دادهها از یک برنامه (اپلیکیشن، نرمافزار و …) در کامپیوتری به کلاینت و یا برنامهای در کامپیوتر دیگر منتقل میشوند. این مدل در مجموع شامل ۷ لایه فیزیکی، داده-لینک، شبکه، انتقال، نشست، نمایش و اپلیکیشن میشود که در ادامه به صورت کامل راجع به تک به تک آنها و کارکردهایی که دارند، صحبت خواهیم کرد.
در اواسط دهه ۷۰میلادی، دانشمندان حوزه فناوری تحقیقاتی را در مورد اینکه چگونه سیستمهای کامپیوتری میتوانند به بهترین شکل ممکن باهم ارتباط برقرار کنند را آغاز کردند. در آن سالها مدلهای پیشنهادی مختلفی معرفی شدند تا اینکه بالاخره در سال ۱۹۸۳ سازمان بینالملی استانداردسازی با ترکیب بخشهای مختلف مدلهای پیشنهادی آن زمان، چارچوب انتزاعی OSI را ایجاد کرد که این امکان را به سیستمهای کامپیوتری میداد تا به شکلی مؤثر با هم ارتباط برقرار کنند. OSI در واقع اولین مدل استاندارد ارتباطات شبکهای بود که در اوایل دهه ۸۰میلادی توسط اکثر شرکتهای کامپیوتری و مخابراتی مورد پذیرش قرار گرفت. با این حال امروزه مدل OSI بیشتر جنبه آموزشی داشته و افراد از آن برای درک نحوه عملکرد شبکه استفاده میکنند.
کارشناسان علوم IT از OSI برای درک نحوه ارسال و دریافت دادهها در شبکههای کامپیوتری استفاده میکنند و معماری OSI یکی از مهمترین مباحث دورههای شبکه مانند CCNA و CompTIA Network+ میباشد. همانطور که گفته شد، مدل OSI دارای یک معماری ۷ لایه است که هر کدام در رابطه با انتقال دادهها در شبکههای کامپیوتری وظیفه خاصی را انجام میدهند. لایه فیزیکی پائینترین لایه مدل OSI و لایه اپلیکیشن نیز بالاترین لایه آن میباشد. در مدل OSI هر لایه دارای پروتکلها، استانداردها و فرآیندهای مختلفی میباشد و هر یک سرویسی را به لایه بالاتر از خود ارائه داده و خود نیز سرویسی را از لایه پائینی دریافت میکند و در نتیجه لایه اپلیکیشن آخرین لایهای است که سرویسی را دریافت میکند.
لایه Application در مدل OSI یک واسط کاربری است که مسئول نمایش اطلاعات ارسالی و دریافتی از یک اپلیکیشن به کاربر است. این لایه اپلیکیشن ها و فرآیندهای کاربر نهایی را پشتیبانی میکند.در این لایه است که دوطرف ارتباط (تقاضا دهنده و پاسخ دهنده) مشخص شده، احراز هویت و حریم خصوصی کاربر و هرگونه محدودیت در ترکیب و ساختار اطلاعات در نظر گرفته میشود.هرچیزی در این لایه بر مبنای خواست کاربر و اپلیکیشن مشخص میشود. این لایه سرویس های اپلیکیشن در زمینه های انتقال فایل، ایمیل و دیگر سرویس های نرم افزاری تحت شبکه را ایجاد میکند.
پس کسی که تازهوارد دنیای شبکه های کامپیوتری هستش باید و باید روی مدلOSI مانور بده و مکانیزم کاریش رو خوب درک کنه. لایه Application یاApplication Layer لایه ای هستش که ما به عنوانEnd User بهصورت کاملا عملی باهاش در ارتباط هستیم.در وهله اول منظور ما از Application اپلیکیشن های اندرویدی نیست ، بلکه Application هایی هست که میتونن تو شبکه برامون کاری که ما میخوایم رو انجام بدن. مثلا ما میخوایم تو شبکه Email بفرستیم یا مثلا میخوایم بین کلاینت ها فایل به اشتراک بزاریم یا از یه وب سایت بازدید کنیم و..
از مهم ترین پروتکل ها یا Application هایی که در لایهApplication کار می کنن میتونیم به HTTP ، FTP ، DNS ، DHCP ، SNMP ، NFS ، Telnet ، SMTP و POP3 و IMAP اشاره کنیم. بدیهی هست که هر چقدر این پروتکل ها بهینه تر نوشته شده باشن انجام کار های شبکه ای سریعتر اتفاق میوفته و کارایی سیستم بالاتر میره. در آخر به این نکته اشاره کنیم که هر لایه برای خود یک قالب بندی برای دیتا دارد که قالب بندی لایه Application بر اساسData هست.
برای مثال: کاربران از پروتکلهای HTTP ،SMTP و FTP برای تعامل با سرویسهای مبتنی بر شبکه استفاده میکنند.
این لایه اطلاعات دریافتی از لایه Application را از فرمت Application به فرمت شبکه ترجمه میکند. در طرف دیگر نیز این لایه دیتا را طوری تغییر فرم میدهد تا توسط لایه Application قابل پذیرش و فهم باشد.استاندارد کدها مثلASCII-Unicode-EBCDIC در این لایه هستند و اگر کامپیوتر ها از استاندارد کد های مختلف استفاده کنند در این لایه تبدیل و قابل استفاده خواهد شد
در قسمت قبل راجع به لایه Application که در واقع لایه هفتم از مدل مفهومی OSI است صحبت کردیم حالا در این قسمت درباره لایه ششم مدل OSI که نام آن Presentation است صحبت خواهیم کرد.لایه Presentation همانطور که مشخص است یک لایه پایین از لایهApplication است و نام دیگر آن Translation هم می باشد. درک لایه Presentation ممکن است کمی دشوار باشد. لایه Presentation مسئول ارائه و Formatting (قالب بندی) اطلاعات را برای لایه Application بر عهده دارد.
لایه Presentation همچنین وظیفه فشرده سازی یا Compression اطلاعات را بر عهده دارد.فشرده سازی اطلاعات باعث می شود که تا حدودی در پهنای باند شبکه مان صرفه جویی شود و طبیعتا سرعت انتقال اطلاعات هم تا حدی بالا می رود. پس اگر بخواهیم یک جمعبندی داشته باشیم لایه Presentation بهصورت کلی 4 وظیفه را بر عهده دارد که شامل رمزنگاری و رمزگشائی کردن اطلاعات یا Encryption و Decryption ، فشرده سازی اطلاعات یا Compression ، فرمت بندی کردن اطلاعات و Translation اطلاعات می باشد.
برای مثال: رمزنگاری و رمزگشایی وبسایتی که از HTTPS استفاده میکنند از طریق پروتکل SSL انجام میشود.
این لایه مسئول برقراری، مدیریت و پایان بخشی به ارتباطات بین اپلیکیشن هاست. در واقع این لایه صحبت ها، تبادلات و گفتگوهای صورت گرفته بین اپلیکیشن ها در دو طرف ارتباط را ایجاد و مختصات بندی کرده و در نهایت پایان میبخشد.با توجه به این که دو کامپیوتر در یک زمان تحت یک Connection میتوانند در بیش از یک موضوع ارتباط داشته باشند، باید از قبل بدانند که چه packet هایی را ارسال و یا دریافت خواهند کرد و این که داده ارسالی و یا دریافتی مربوط به کدام موضوع از ارتباط یا session ایجاد شده است. در این لایه نوع ارتباط و موضوع صحبت دو کامپیوتر با یکدیگر تعریف میشود.قبل از ایجاد ارتباط و تبادل دیتا دو کامپیوتر از طریق فرآیند 3-way hand shaking با هم به تفاهم میرسند.
لایه Session در مدل OSI به کامپیوتر های موجود در شبکه که می خواهند با هم به برقراری ارتباط بپردازند این اجازه را می دهد که ارتباط بین آنها برقرار شود.
در واقع اگر کمی منطقی به این قضیه نگاه کنیم در می یابیم که زمانیکه برای مثال دو کامپیوتر بخواهند با هم دیگر به برقراری ارتباط بپردازند ابتدا باید یکSession بین آنها ایجاد شود تا آنها بتوانند منابع خود را به اشتراک بگذارند. هدف و وظیفه اصلی لایه Session مدیریت و Synchronization هماهنگ سازی بین دو Application منظور از Application همان سرویس یا نرم افزاری است که تحت شبکه می تواند کار کند است که می خواهند با یکدیگر تبادل اطلاعات داشته باشند.
برای مثال: پروتکل ریموت دسکتاپ یا RDP (مخفف Remote Desktop Protocol) این امکان را به کاربران میدهد تا سشنهایی را ایجاد کرده و به صورت ریموت به کامپیوتر خود دسترسی داشته باشند.
این لایه تحویل بدون خطا، بترتیب و بدون هیچگونه کمبود و یا مشکل پیام ها را تضمین میکند. این لایه به پروتکل های لایه بالا دستی خود این اطمینان را میدهد که پیام بی هیچ مشکلی بین سیستم فعلی و مقصد جابجا خواهد شد.در واقع در این لایه در مورد اینکه نوع ارتباط Connection-Oriented(TCP) باشد یاConnection-less(UDP) تصمیم گیری میشود.سایز و پیچیدگی یک پروتکل در این لایه بستگی به نوع سرویسی دارد که از لایه Network خواهد گرفت. برای یک لایه network قابل اطمینان با قابلیت جریان مجازی (Virtual Circuit) یک لایه حداقلی Transport نیاز است اما در اگر لایه Network غیرقابل اطمینان باشد و یا فقط ساختار دیتاگرام ها را ساپورت کند، پروتکل Transport باید شدیدترین و سنگین ترین Error detection و Error recovery را از خود به نمایش بگذارد.
عملکرد اساسی لایه Transport دریافت داده ها از لایه بالایی اش است و این داده ها را به قسمت های کوچکتری می شکند و تحویل لایه سوم یاNetwork Layer می دهد.
برای مثال: پروتکل TCP نوعی پروتکل ارتباطی است که دستگاههای یک شبکه از آن برای برقرای ارتباط با یکدیگر و انتقال دادهها استفاده میکنند.
لایه Network از مدل OSI معادل با لایه Internet از مدلTCP/IP است و دلیل نامگذاری آن این است که در حقیقت این لایه Network است که اینترنت را برای ما فراهم کرده است و بدون لایه Network اینترنت اصلا معنایی ندارد. همانطور که گفتیم لایه Network وظیفه آدرس دهی یا Addressing و مسیریابی یاRouting را بر عهده دارد و مهم ترین دستگاهی که در این لایه کار می کندRouter نام دارد.
پروتکل هایی که در لایه Network کار می کنند نظیر OSPF ، ICMP ، IGMP ، IPSec ، ARP ، EIGRP ، RIP ، IP و ... است. در آخر به این نکته اشاره کنیم که قالب بندی اطلاعات در لایه Network یا بعبارتی Encapsulation Unit این لایه بر اساس Packet است و تجهیزاتی مثل Router ها و همچنین سوئیچ های لایه 3 در این لایه کار می کنند.و می توان گفت اکثر پروتکل های شبکه که در زیرساخت شبکه مورد استفاده قرار می گیرند در این لایه به فعالیت میپردازند. تمرکز اصلی متخصصان زیرساخت شبکه روی لایه Network و پروتکل های مربوط به آن است.
هر چقدر میزان دانش و تجربه یک مهندس شبکه از لایه Network بالاتر باشد می توان گفت که آن مهندس شبکه یک مهندس شبکه موفق است. مهمترین وظیفه لایه Network مسیریابی یاRouting بسته های اطلاعاتی یا Packet های پروتکل IP است.
برای مثال: از آدرسهای IP برای هدایت دادهها به مقصد مناسب خود در شبکه اینترنت استفاده میشود.
این لایه انتقال بدون خطای فریم های دیتا را از یک نود به نود دیگر در لایه Physical، میسر میسازد. آدرس دهی MAC در این لایه انجام میشود. هر کامپیوتر در محیط LAN مثلا در محیط شبکه ای از نوع اترنت، باید از این مدل آدرس دهی برای ارسال اطلاعات استفاده کنند.به علاوه CRC در این لایه به فریم (Trailer) اضافه میشود. سخت افزارهای موجود در این لایه عبارتند از: Switch، bridge، Access Point (اگر کار روتر را انجام دهد در لایه 3 قرار دارد) و Modem ADSL (کار سوئیچ را هم انجام میدهد).باید توجه داشت با توجه به پروتکلی که در این لایه انتخاب میشود، سختافزار مورد نیازی در این لایه بکار میرود.به PDU در این لایه Frame هم اطلاق میشود.
هر رسانه فیزیکی در شبکه (مانند کابل شبکه) دارای مشخصات و خصوصیات لایه 2 ای را دارا می باشد که این ها شامل آدرس فیزیکی ، توپولوژی شبکه ، اطلاع رسانی خطا ، ترتیب گذاری Frame ها و Flow Control در آخر به این نکته اشاره کنیم که قالب بندی اطلاعات در لایه Data Link یا بعبارتی Encapsulation Unit این لایه بر اساس Frame است و سوئیچ های شبکه در این لایه فعالیت می کنند.
برای مثال: در سوئیچهای شبکه از آدرسهای MAC برای شناسایی دستگاهها استفاده میشود.
تنها لایه ای که بصورت مستقیم به مقصد و رسانه فیزیکی ارتباط دارد و وظیفه انتقال واقعی اطلاعات در قالب سیگنال یا فرکانس یا امواج را بصورت واقعی بر عهده دارد ، لایه یکم یا Physical Layer است.
این لایه پایین ترین لایه در مدل OSI است که مرتبط با انتقال و دریافت جریانی ساختار نیافته از بیت ها تحت یک مدیای فیزیکی است. این لایه به شرح اینترفیس های الکتریکی/نوری، مکانیکی و کاربردی در مدیای فیزیکی میپردازد و سیگنال ها را برای تمام لایه های بالا دستی، حمل میکند.این لایه وظیفه انتقال سیگنال را بر عهده داشته و به محتویات هیچ کاری ندارد. سخت افزار موجود در این لایه از جنس: انواع کابل ها، کارت شبکه و هاب است.توجه داشته باشید که با توجه به نوع رسانه، داده ما میتواند تغییر کند.
وظیفه اصلی لایه فیزیکی اختصاص اتصال فیزیکی بین دو واحد در شبکه است و تضمین ایجاد و یا منقضی شدن اتصالات را فراهم می آورد. علاوه بر این، نظارت بر اتصالات را در حین انتقال داده ها تسهیل می نماید. مهمترین عناصر در این لایه بیت ها هستند که کوچکترین واحدهای اطلاعاتی هستند که منتقل می شوند.
لایه فیزیکی نیز چند عملکرد مدیریتی را بر عهده می گیرد. لایه فیزیکی همچنین اطلاعاتی در مورد نحوه نمایش فیزیکی ارقام باینری را ارائه می دهد که می تواند برای مثال الکتریکی، الکترومغناطیسی، نوری ویا صوتی باشد.
برای مثال: دستگاهها در شبکههای LAN یا WAN میتوانند با استفاده از کابلهای اترنت بههم متصل شوند.
باید بگم که مدل OSI یکی از مهمترین مدلهای استاندارد برای تشریح کارکرد شبکههای کامپیوتری است که جدای از اهداف آموزشی، برای بازه زمانی نسبتا طولانی، کاربردیترین مدل برای تشحریح عملکرد شبکههای کامپیوتری بوده است.
منابع: