مدل OSI چیست؟ و چه کاربردی در شبکه دارد؟
مدل مرجع OSI یا مدل OSI که یک مدل مفهومی برای درک کارکرد شبکه است. Open System Interconnection که به اختصار به OSI معروف است و توسط سازمان جهانی استاندارد(ISO) چندین دهه قبل ارائه شد تا سروسامانی به مفهوم شبکه دهد. با درک این مدل سازوکار تجهیزات شبکهای (Network Device) مشخص میشود و برای ورود به شبکه یادگیری این مفهوم یک الزام و حتی یکی از سوالات اساسی در استخدام یک نیروی IT است. متاسفانه بسیاری از نیرویهای به ظاهر متخصص هنوز نمیتوانند این مکانیزم شبکه را به روشنی توضیح دهند.
کامپیوترها در شبکه برای انتقال اطلاعات از این مفهوم پیروی میکنند و با آشنایی با مدل osi میتوان مشکلات شبکه و سیستمهای کامپیوتری را بهتر درک کرد و حل کرد.
تشریح مدل OSI به زبان ساده و قابل فهم
مدل OSI یک مدل هفت لایهای است و هر لایه یک وظیفه خاصی را به عهده دارد تا یک Data از یک مبدا به یک مقصد انتقال پیدا کند، حالا این اطلاعات میتواند توسط هر نوع تجهیزات شبکهای اتفاق بیفتد؛ مانند کامپیوتر، پرینتر و … . در لایه هفتم که ما مستقیما با آن در ارتباط هستیم یک درخواست را تولید و ارسال میکنیم این درخواست میتواند باز کردن یک وبسایت یا ارسال یک پرینت در شبکه یا باز کردن یک Shared Folder باشد. در لایه بعد باید این درخواست آمادهسازی شود که وظیفه آمادهسازی و قالببندی اطلاعات بر عهده لایه ششم است و وقتی قالببندی روی اطلاعات انجام شد تحویل لایه پنجم میگردد و لایه پنجم تصمیم میگیرد که این اطلاعات را ارسال کند یا خیر؟ چه زمانی ارسال کند؟ مدت زمان ارسال چقدر باشد؟ چطوری ارسال را مدیریت کند و کی این ارسال به اتمام برسد؟ تمامی این موارد در لایه پنجم بررسی میشود و سپس تحویل لایه چهارم از مدل OSI میشود.
در لایه چهارم برای ارسال دو نوع انتخاب وجود دارد. اطلاعات با دقت و سرحوصله ارسال شود یا اطلاعات با سرعت تمام ارسال شود و دقت اهمیتی نداشته باشد. در لایه چهارم این تصمیمگیری انجام میشود و سپس اطلاعات تحویل لایه سوم میشود. در لایه سوم تصمیمگیری میشود که اطلاعاتی که باید ارسال شوند، به کجا ارسال شوند و در واقع به یک آدرس مشخص ارسال شوند و برای رسیدن به این آدرس قطعا یک مسیر خوب هم وجود دارد، پس آدرس و مسیر مقصد هم در این لایه انتخاب میشود و سپس اطلاعات تحویل لایه دوم داده میشود و در این لایه کدپستی و پلاک مقصد مشخص میشود و در واقع مسیر دقیقتر و جزئیات بیشتر تعیین میشود. نهایتا بسته اطلاعاتی تحویل لایه یک داده میشود که وظیفه حملکردن و بردن اطلاعات را دارد که نوع وسیله نقلیه و سرعت آن هم در این بخش و لایه مهم است.
نحوه دریافت اطلاعات در سمت مقصد چگونه است؟
وقتی اطلاعات ارسال شد، در مقصد توسط لایه اول دریافت میشود و سپس تحویل لایه دو میشود و آدرس دقیق مقصد خوانده میشود و به ترتیب تحویل لایههای بالاتر میگردد و به همین روال تا لایه هفتم پیش میرود تا بسته اطلاعاتی تحویل مقصد داده شود. اگر دقت کرده باشید وقتی اطلاعات ارسال میشود از لایه هفت به لایه یک ارسال میشود ولی در مقصد عکس این عمل انجام میشود و از لایه یک دریافت و تا لایه هفت پیش میرود. البته همیشه الزام نیست تا لایه هفت پیش برود و این فقط یک مثال ساده برای فهم مدل مرجع OSI بود. خب الان که متوجه شدیم چه اتفاقی میافتد بهتره که به صورت تخصصی هم بررسی کنیم. البته در تصویر زیر که از منبع اصلی دریافت شده توضیحات وجود دارد که بنده به صورت ساده بیان کردم. هر لایه یک اسم خاصی دارد که در ادامه به تفصیل تشریح میکنیم.
لایه هفتم مدل OSI : لایه اپلیکیشن یا Application Layer
زمانی که صحبت از سرویس و خدمات میشود یعنی با لایه هفتم کار داریم. مثلا وقتی مرورگر را باز میکنیم تا سایت بامادون را باز کنیم، در واقع با لایه Application کار داریم. اصطلاحا به لایه هفتم User Interface هم میگویند و تنها لایهای است که کاربر مستقیما با آن ارتباط برقرار میکند پس لایه هفت همان مرورگر ماست. وظیفه لایه هفتم مدل OSI دریافت اطلاعات برای برقراری ارتباط با کاربر است. بعد از دریافت اطلاعات توسط کاربر اطلاعات یا Data وارد پروسه میشود و تحویل لایه ششم یا لایه Presentation میگردد.
لایه ششم : لایه Presentation
اطلاعاتی که از لایه اپلیکیشن دریافت شده توسط لایه Presentation قالببندی میشود. منظور از Formatting یا قالببندی یعنی؛ فشردهسازی (Compression) ، رمزنگاری (Encryption) و ترجمه یا Translation(اطلاعات قابل فهم برای طرفین باشد) میباشد. بعد از انجام تنظیمات و قالببندی روی Data، بسته اطلاعاتی تحویل لایه پنجم یعنی لایه Session میشود.
لایه پنجم مدل OSI : لایه Session
اطلاعاتی که از لایه Presentation دریافت کرده است را لایه پنجم تصمیمگیری میکند که با مقصد ارتباط برقرار کند یا خیر؟ اگر قرار است ارتباط برقرار شود چقدر طول بکشد؟ کی شروع شود؟ کی تمام شود؟ وظیفه لایه Session ایجاد کردن، نگهداری و خاتمه دادن به یک ارتباط یا Session است. زمانی که ریموت دسکتاپ میزنیم در واقع به کامپیوتر مقصد یک Session زدهایم و این Session زمانی که برقرار شد از آن نگهداری میشود و بعد از مدتی قطع میشود، این وظیفه همان لایه Session است. وقتی که چند تا تب در مرورگر باز میکنیم یعنی چند تا Session به سایتهای مختلف زدهایم. لایه Session که نحوه برقراری ارتباط را مشخص کرد، اطلاعات را تحویل لایه چهارم یعنی لایه انتقال یا Transport میدهد.
لایه چهارم : لایه انتقال یا Transport Layer
اطلاعاتی که از لایه Presentation دریافت شده توسط لایه Transport میزان حجم و اندازه آن بررسی میشود و اگر حجم آن زیاد باشد باید قطعه قطعه شود و به قطعات کوچکتر تقسیم شود و سپس در داخل شبکه ارسال شود. به این قسمتهای قطعه قطعه شده segment میگویند و به این فرآیند تکهتکه شدن اطلاعات Segmentation میگویند. اگر اطلاعات ریز ریز شد باید در سمت مقابل یعنی مقصد به صورت درست و پشت سرهم دریافت شود تا به درستی به هم متصل شوند و قابل خواندن باشد پس به هر یک از قطعهها یک برچسب به نام Sequence number (شمارههای پشت سر هم) میزنند و به این فرآیند Sequencing میگویند. پس اگر حجم اطلاعات زیاد باشد دو تا فرآیند Segmentation و Sequencing در این لایه انجام خواهد گرفت.
وظیفه دیگر لایه Transport مشخص کردن نوع انتقال از لحاظ سرعت و دقت است. دقت یعنی به ازای ارسال هر Segment یک تاییدیه (ACK) دریافت شود که نشاندهنده این است که اطلاعات رسیده است و در اصطلاح فنی میگویند که ارتباط Connection Oriented (اتصالگرا) است و از پروتکل TCP استفاده میشود.(سرعت پایین اما دقت بالا). اما زمانی که سرعت مدنظر است ارتباط Connectionless است و نوع پروتکل UDP است یعنی کل بسته اطلاعاتی ارسال میشود و در نهایت به ازای هر Session یک ACK یا تاییدیه دریافت میکند.(سرعت بالا دقت پایین مناسب Video Streaming). در آخر Segment آماده شده تحویل لایه Network میشود.
لایه سوم مدل OSI : لایه شبکه یا Network Layer
در این لایه دو کار بسیار مهم انجام میشود. پس از دریافت اطلاعات از لایه چهارم فرآیند Addressing یا آدرسدهی و Routing یا مسیریابی در لایه Network انجام میگیرد. Addressing: آدرس منطقی (IP) مبدا و مقصد مشخص میشود و روی Packet قرار میگیرد تا وقتی پکت ارسال میشود، به آدرس مقصد ارسال شود و موقع دریافت، به آدرس مبدا ارسال شود. Routing: پیدا کردن بهترین مسیر برای رسیدن اطلاعات به مقصد توسط فرآیند روتینگ صورت میگیرد. بعد از مشخص شدن مقصد و آدرس آن Packet تحویل لایه دوم یعنی Data Link Layer میشود.
لایه دوم : Data Link Layer
پس از دریافت پکت از لایه Network روی بسته اطلاعاتی موجود Physical Addressing هم اضافه میشود که به آدرسدهی مک یا آدرس سختافزاری هم میگویند. در واقع آدرس MAC فرستنده و گیرنده روی بسته قرار میگیرد و پکت تبدیل به فریم (Frame) میشود و تحویل لایه اول میگردد. (آدرس دقیق مقصد مشخص میشود.)
لایه اول مدل OSI : لایه فیزیکی یا Physical Layer
این لایه وظیفه ارسال Frame دریافتی که توسط لایه Data Link ارسال شده را دارد. که توسط Mediaهای موجود مانند کابل یا فیبرنوری انجام میشود. تنها لایهای که با لایه متناظر خودش در آن طرف شبکه ارتباط دارد لایه فیزیکی است.
نکات تکمیلی در مورد مدل OSI
در هر لایه یکسری اطلاعات و اقدامات که روی بسته اطلاعاتی انجام میشود در قالب Header و Footer به بسته اطلاعاتی اضافه میشود و حجم بسته اطلاعاتی هم افزایش مییابد. Header اطلاعات مربوط به بسته اطلاعاتی است و Footer اطلاعات مقصد را در خود دارد. به فرآیند ایجاد کردن بسته اطلاعاتی (درسمت مبدا) Encapsulation و به فرآیند استخراج آن (در سمت مقصد) Decapsulation میگویند. در مقصد هر لایه اطلاعات مربوط به خود را باز میکند و حذف میکند تا اطلاعات اصلی به مقصد برسد. اطلاعات در هر لایه از مدل OSI یک اسم مخصوص به خود دارد. در لایههای هفتم، ششم و پنجم به نام Data یا Payload معروف است، در لایه چهارم به آن Segment، در لایه سوم به آن Packet، در لایه دوم به آن Frame و در لایه یک به آن بیت یا صفر و یک میگویند.
هر لایه به صورت مستقل کار میکند و وظایف هر لایه با لایه دیگری متفاوت است و به هم ربطی ندارند و هر لایه وظیفه خودش را انجام میدهد. هر کدام از این لایهها یکسری پروتکلهای ارتباطی دارند و در کل این پروتکلهای موجود در هر لایه به ما کمک میکنند که اطلاعاتی را از یک کامپیوتر به یک کامپیوتر دیگر ارسال کنیم و چون مجموعهای از پروتکلها این کار را برای ما انجام میدهند اصطلاحا میگوییم یک Protocol Stack داریم. یعنی مجموعهای از پروتکلها که در کنار هم قرار گرفتند که یک کاری را برای ما انجام دهند.
هرکدام از لایهها با لایه بالایی و پایینی خود ارتباط مستقیم و مستقل دارد و تصمیم یک لایه فقط متوجه لایه بالایی و پایینی میشود و کل مدل را شامل نمیشود. یک متن انگلیسی برای به خاطر سپردن هفت مدل OSI وجود دارد که حرف اول هر کلمه معرف یک لایه است از لایه هفت تا لایه یک.
All People Seem To Need Data Processing
چرا مدل مرجع OSI را باید یاد بگیریم؟ تفاوت مدل OSI با مدل TCP/IP
چون بهترین روش برای تشریح ساختار شبکه است. در محیط واقعی از مدل TCP/IP استفاده میشود که در همه سیستمعاملها وجود دارد و در این مدل نقشها و وظیفهها نسبت به مدل OSI تغییری نکرده است و فقط مدل تغییر کرده و تعداد لایهها کمتر شده است و به چهار لایه تقلیل پیدا کرده است. این فقط یک تغییرنام است و مهم این است که لایه OSI درک کنید تا شبکه را درک کنید. مدل TCP/IP قدمت بیشتری نسبت به مدل OSI دارد و توسط سازمان DoD یا سازمان دفاع امریکا ساخته شده است. تنها تفاوت فقط این است که لایهها سادهتر و تعداد آنها کمتر شده است. لایه هفتم، ششم و پنجم تبدیل به یک یک لایه به نام Application شده است. لایه چهارم ثابت است و تغییر نام هم داده نشده است. لایه سوم به اسم Internet Layer تغییر نام پیدا کرده است و در نهایت لایه اول و دوم تبدیل به یک لایه به نام Network Access شده است.
در نهایت هدف از یادگیری این مدل این است که بدانیم تجهیزات شبکه هر کدام در چه لایهای کار میکنند. هر دستگاهی که با IP کار میکند(مانند روتر) در لایه سوم و هر دستگاهی که با مک آدرس کار میکند در لایه دوم قرار میگیرد (مانند سوئیچ) و هر دستگاهی که به قول دوست خوبم آقای نصیری فاقد شعور است در لایه یک کار میکند مانند کابل و Hub. امیدوارم موردتوجه شما قرار گرفته باشد و ما را به دیگران هم معرفی کنید.
منبع: بامادون
کپی و نشر مطلب با ذکر منبع و نام نویسنده بلامانع است.
سلام و خسته نباشید.
خیلی روان و ساده توضیح دادید. در واقع به زبان آدمی زاد گفتین. قشنگ برام جا افتاد.