در این درس، توضیح میدهیم که مدل OSI به زبان ساده و قابل فهم چیست. این مدل یکی از مهمترین مفاهیم در شبکه است، بنابراین آن را به بخشهای کوچکتر تقسیم میکنیم تا به شما کمک کنیم دقیقاً هدف آن را درک کنید.
برای درک مدل OSI، ابتدا باید بفهمید که کپسولهسازی داده چیست. بیایید مثال زیر را بررسی کنیم. فرض کنید میخواهید نامهای برای دوستی که در شهر دیگری زندگی میکند ارسال کنید تا او را به عروسی خود دعوت کنید. اگر نامه را بدون پاکت، بدون هیچ اطلاعاتی مانند نام فرستنده و گیرنده، آدرس و کد پستی ارسال کنید، چه میشود؟ اگر فقط نامه را بنویسید و آن را در صندوق پستی اداره پست بیندازید، چه میشود؟

شکل ۱. مثال کپسولهسازی داده با یک نامه.
بیشتر خوانندگان این دوره CCNA آنقدر جوان هستند که هرگز در زندگی خود یک نامه فیزیکی ارسال نکردهاند. آنها در عصر دیجیتال زندگی میکنند و با ایمیلها و پیامهای متنی فوری بزرگ شدهاند. با این حال، با کمال تعجب، همه مفهوم خدمات پستی و ارسال نامه را درک میکنند.
بیایید دو مثال زیر را بررسی کنیم: یک نامه بدون پاکت (سمت چپ) و نامهای که داخل پاکت با تمام اطلاعات لازم در روی آن قرار داده شده است (سمت راست). اگر این دو را در صندوق پستی خود قرار دهید، کدام یک به گیرنده مورد نظر خود میرسد و کدام یک نمیرسد؟

شکل ۲. دو نامه، با و بدون پاکت.
بسیار واضح است، درست است؟ اگر نامهای را بدون پاکت و بدون اطلاعات اضافی مانند جزئیات فرستنده و گیرنده ارسال کنید، سرویس پستی نمیداند آن را کجا تحویل دهد. نامه به دست هیچکس نخواهد رسید. دوست شما به عروسی شما نخواهد آمد.
برای اطمینان از اینکه اطلاعات (نامه) به گیرنده صحیح تحویل داده میشود، باید اطلاعات اضافی را در کنار نامه قرار دهیم تا سرویس پستی بداند چگونه آن را مدیریت کند (ما دادهها را کپسولهسازی میکنیم).

شکل ۳. مثال کپسولهسازی داده، نامهای با پاکت.
پاکتی که نامه را کپسولهسازی میکند، حاوی اطلاعات زیر است که به سرویس پستی کمک میکند نامه را به درستی تحویل دهد:
تمبر و کارت پستال
نام فرستنده
آدرس فرستنده
کد پستی فرستنده
نام گیرنده
آدرس گیرنده
کد پستی گیرنده
به صورت اختیاری، پاکت ممکن است شامل موارد زیر باشد:
آدرس بازگشت (در صورت متفاوت بودن با آدرس فرستنده)
مهر تاریخ و زمان
عنوان یا خط ارجاع در داخل نامه (در نامههای رسمی)
ایده اصلی این است که ارسال نامه برابر است با ارسال اطلاعات با استفاده از خدمات پستی به عنوان واسطه. ارسال ایمیل نیز به همین صورت است—این همچنان یک فرایند ارسال اطلاعات است، اما از طریق شبکه کامپیوتری. نکته کلیدی این است که در هر دو مورد، شما نمیتوانید فقط اطلاعات را به تنهایی ارسال کنید؛ باید جزئیات اضافی را اضافه کنید که به واسطه حمل و نقل بگوید چگونه اطلاعات را تحویل دهد.
شبکههای کامپیوتری عملکردی شبیه به خدمات پستی دارند. تفاوت در این است که آنها اطلاعات دیجیتال را به جای نامههای کاغذی جابهجا میکنند. با این حال، شما نمیتوانید فقط دادههای خام را به شبکه بفرستید و انتظار داشته باشید به مقصد برسد، درست همانطور که نمیتوانید یک نامه ساده را در صندوق پستی بیندازید و انتظار تحویل داشته باشید. دادهها ابتدا باید با اطلاعات اضافی کپسولهسازی شوند، همانطور که در نمودار زیر نشان داده شده است.

شکل ۴. دادههای کپسولهشده قبل از ارسال در شبکه.
تصور کنید دستگاهی (مانند لپتاپ شما) میخواهد دادهها را به شبکه بفرستد. فرض کنید در حال ارسال یک پیام فیسبوک به یک دوست هستید. هنگامی که پیام را تایپ میکنید و دکمه Enter را میزنید، دادهها از مرورگر وب (جایی که فیسبوک را باز کردهاید)، به سیستم عامل (OS)، به کارت رابط شبکه (NIC)، و سپس به شبکه خارج میشوند. بسیاری از فرآیندها اطلاعات اضافی خود را به نام هدرها اضافه میکنند. این هدرها حاوی جزئیات مهمی هستند، مانند:
این دادهها برای چه کسی است.
از کجا آمده است.
چگونه باید تحویل داده شود.
چه نوع دادهای است.
در پایان، پیام ساده فیسبوک "سلام! چه خبر؟" شبیه یک بسته شبکه (network packet) میشود که با چندین هدر کپسولهسازی شده است، همانطور که در نمودار زیر نشان داده شده است.

شکل ۵. کپسولهسازی داده یک پیام ساده.
این اطلاعات اضافه شده به دستگاههای شبکه (مانند روترها و سوئیچها) کمک میکند تا نحوه مدیریت و ارسال صحیح دادهها را به گیرنده درست - یکی از سرورهای فیسبوک - درک کنند.
کپسولهسازی فرایند افزودن اطلاعات اضافی به داده (payload) است تا دستگاههای شبکه بدانند پیام را کجا تحویل دهند.
در مقصد، دادهها تحت فرآیند معکوس حذف هدرها قرار میگیرند، قبل از اینکه به برنامه کاربردی (اپلیکیشن) صحیح ارائه شوند.
فرایند کپسولهسازی داده ساده نیست. این شامل بسیاری از پروتکلها، هدرها و مراحل مختلف است. هر بخش از یک شبکه - مانند برنامههای کاربردی، دستگاههای شبکه و واسطهای فیزیکی - باید بداند با دادهها چه کار کند و چگونه آنها را به درستی مدیریت کند.
در روزهای اولیه شبکهسازی، شرکتهای مختلف سیستمهای خود را با استفاده از روشهای کپسولهسازی خاص خود ساختند. این سیستمها اغلب نمیتوانستند با هم کار کنند زیرا از قوانین یکسانی پیروی نمیکردند. به عنوان مثال، ممکن بود یک تولیدکننده، هدرهای خاصی را با ترتیبی منحصربهفرد اضافه کند که دستگاه تولیدکننده دیگری قادر به درک آن نباشد. این امر ارسال داده بین شبکههای مختلف یا حتی بین دستگاههای یک شرکت را دشوار میکرد.
علاوه بر این، برای دستیابی به سرعتهای فوقالعاده بالا در شبکههای امروزی، دستگاههای شبکه باید اطلاعات مورد نیاز خود را به طور دقیق پیدا کنند، بدون اینکه هدرهایی که نامرتبط هستند را بررسی کنند، همانطور که در نمودار زیر نشان داده شده است.

شکل ۶. چرا به مدل OSI نیاز داریم؟
برای حل این مشکل، مهندسان متوجه شدند که این صنعت به یک چارچوب استاندارد نیاز دارد. آنها به یک روش مشترک برای توصیف نحوه آمادهسازی، ارسال و دریافت دادهها نیاز داشتند. اینجا جایی است که مدل OSI وارد عمل میشود.
مدل OSI یک ساختار گامبهگام برای نحوه عملکرد کپسولهسازی داده ارائه میدهد:
هر لایه یک وظیفه مشخص دارد، مانند افزودن آدرسهای مبدأ و مقصد یا بررسی خطاها.
هر لایه از پروتکلهای مشخصی استفاده میکند که از قوانین توافق شده پیروی میکنند.
هر لایه هدر (و گاهی اوقات تریلر) خود را به پیام اضافه میکند، به طوری که سیستم گیرنده میداند چگونه آن را پردازش کند.
به طور خلاصه، مدل OSI با ارائه یک روش واضح و استاندارد که هر کسی در شبکه میتواند از آن استفاده کند، به مدیریت پیچیدگی کپسولهسازی داده کمک میکند. این امر قابلیت همکاری متقابل (Interoperability)، سازگاری و عیبیابی آسانتر را تضمین میکند.
مدل OSI به ما کمک میکند تا بفهمیم و توضیح دهیم که چگونه دادهها لایه به لایه بستهبندی میشوند (کپسولهسازی)، و چگونه در انتهای دیگر باز میشوند (برونکپسولهسازی یا De-encapsulation).
مدل OSI، یا مدل اتصال سیستمهای باز (Open Systems Interconnection model)، یک چارچوب است که فرایند کپسولهسازی را به هفت لایه تقسیم میکند. هر لایه نقش خاصی دارد و بخشی از کپسولهسازی را مدیریت میکند، مانند قالببندی دادهها، آدرسدهی منطقی، مسیریابی، آدرسدهی فیزیکی، یا بررسی خطا.
مثال زیر نشان میدهد که چگونه دادهها از طریق لایههای OSI حرکت میکنند و قبل از ارسال در شبکه به دستگاه بعدی، در هر مرحله بستهبندی میشوند. توجه کنید که هر لایه هدر خاص خود را با اطلاعات مرتبط برای عملکرد شبکه اضافه میکند.

شکل ۷. مدل OSI چیست؟
هدف اصلی مدل OSI ایجاد یک چارچوب کپسولهسازی داده استاندارد و مستقل از تولیدکننده (vendor-agnostic) است. این مدل به دستگاهها و سیستمهای مختلف کمک میکند تا با پیروی از یک مجموعه قوانین و استانداردها، با یکدیگر همکاری کنند.
نمودار زیر هر لایه را با یک توضیح مختصر و پروتکلهایی که در آن لایه کار میکنند، نشان میدهد. توجه کنید که به طور کلی، دستگاههای شبکه مختلف در لایههای مختلف مدل OSI کار میکنند. این بدان معناست که یک دستگاه شبکه فقط به هدرهای تا یک لایه خاص اهمیت میدهد و به بقیه هدرهای موجود در پیام توجه نمیکند. به عنوان مثال، یک سوئیچ فقط به هدر لایه پیوند داده (لایه ۲) اهمیت میدهد، که شامل آدرسهای MAC مبدأ و مقصد است. یک روتر فقط به هدرهای لایه ۲ و لایه ۳ اهمیت میدهد و غیره.

شکل ۸. ۷ لایه مدل OSI.
همچنین توجه داشته باشید که ما به دادهها در هر لایه از مدل OSI با اصطلاح متفاوتی اشاره میکنیم. به عنوان مثال، در لایه ۴، یک پیام TCP را به عنوان یک سگمنت (segment) میشناسیم. در لایه ۳، آن را به عنوان یک بسته (packet) میشناسیم. در لایه ۲، آن را به عنوان یک قاب (frame) میشناسیم.
مدل OSI، با هفت لایه خود، روشی خوشساختار و مفیدی برای درک نحوه عملکرد کپسولهسازی داده است. با این حال، مهندسان شبکه به سرعت متوجه میشوند که لایههای ۵، ۶ و ۷ مستقیماً به اکثر وظایف شبکهسازی مربوط نمیشوند. این لایهها بیشتر بر نحوه مدیریت دادهها توسط برنامههای نرمافزاری تمرکز دارند، که معمولاً خارج از حوزه شبکهسازی است.
در نتیجه، متخصصان شبکه، از طریق عمل و تجربه در دنیای واقعی، شروع به استفاده از یک مدل سادهتر کردند که بر جنبههایی تمرکز دارد که برای شبکهسازی اهمیت بیشتری دارند—لایههای ۱ تا ۴. این امر منجر به توسعه مدل TCP/IP شد که لایههای کمتری دارد و بیشتر با نحوه عملکرد واقعی شبکهها هماهنگ است.
نمودار زیر مقایسهای از مدل OSI (با ۷ لایه)، اولین نسخه TCP/IP (که ۴ لایه داشت)، و نسخه مدرن مدل TCP/IP (با ۵ لایه) را نشان میدهد.

شکل ۹. مدلهای OSI در برابر TCP/IP.
مدل ۵ لایه مدرن TCP/IP از نامهای مشابه مدل OSI برای لایههای پایینتر استفاده میکند و وظایف آنها بسیار شبیه به هم هستند. بنابراین، هنگام مطالعه در مورد شبکهها یا صحبت با دیگران در این زمینه، میتوانید چهار لایه پایینتر را در هر دو مدل - OSI و TCP/IP - یکسان در نظر بگیرید.
برای این دوره، مطمئن شوید که درک کردهاید چگونه مدل ۵ لایه TCP/IP با مدل ۷ لایه OSI مطابقت دارد (همانطور که در هر دو طرف نمودار بالا نشان داده شده است). همچنین، به یاد داشته باشید که وقتی مردم به «لایه ۷» اشاره میکنند، معمولاً منظورشان لایه بالایی در هر دو مدل است که برنامههای کاربردی را مدیریت میکند.
نکته کلیدی: آزمون CCNA دیگر بر روی مدلهای OSI و TCP/IP تمرکز نمیکند؛ با این حال، درک آنها همچنان مهم است. مهندسان شبکه اغلب با استفاده از لایههای مدل OSI در مورد شبکهسازی بحث میکنند.
به عنوان مثال، اغلب یکی از عبارات زیر را خواهید شنید که باید آنها را درک کنید:
"آیا به یک پورت لایه ۲ یا لایه ۳ نیاز دارید؟"
"آیا این یک سوئیچ لایه ۲ است یا لایه ۳؟"
"مشکل در لایه ۲ است."
اگرچه شبکههای امروزی از TCP/IP استفاده میکنند، بسیاری از افراد هنوز به شماره لایههای OSI اشاره میکنند. به عنوان مثال، مردم یک پروتکل کاربردی را «پروتکل لایه ۷» مینامند، حتی با وجود اینکه TCP/IP برخی از آن لایههای OSI (کاربرد، نمایش و نشست) را در یک لایه ترکیب میکند.
مدل OSI یک چارچوب نظری است که فرایند کپسولهسازی داده را به هفت لایه تقسیم میکند.
هر لایه اطلاعات گنجانده شده در پیام را به عنوان یک هدر توصیف میکند.
مدل OSI همچنان برای آموزش شبکهسازی و توضیح نحوه عملکرد پروتکلها به طور گسترده استفاده میشود.
با این حال، در حالی که سیسکو مدل OSI را در آزمونهای CCNA/CCNP گنجانده است، دانستن بیش از اصول اولیه در شبکهسازی دنیای واقعی امروزی چندان مفید نیست.
دانستن چهار لایه اول ضروری است زیرا آنها مواردی هستند که بیشتر مورد توجه مهندسان شبکه قرار میگیرند.
**حمید رضا اسفندیاری _ کارشناس شبکه و فناوری اطلاعات**