بررسی مدل های شبکه کامپیوتری
یک شبکه کامپیوتری به مجموعهای از سختافزارها و نرمافزارهایی گفته میشود که به یک دستگاه امکان برقراری ارتباط با دستگاه دیگری را میدهند. این ارتباط از طریق ارسال و دریافت داده صورت میگیرد. وظیفه سختافزار انتقال و دریافت اطلاعات و اجرای دستورالعملهایی است که از طریق نرمافزار دریافت میکند، وظیفه نرمافزار نیز ایجاد دستورالعملهایی است که به وسیله آنها اطلاعات به وجود آمده و یا تغییر میکنند. یک انتقال اطلاعات اولیه مستلزم انجام مراحل متعددی در چندین سطح در یک شبکه کامپیوتری است. در این مقاله ما مدلهای شبکههای کامپیوتری را مورد بررسی قرار میدهیم تا متوجه شویم که اطلاعات چگونه منتقل و دریافت میشوند. قبل از اینکه به بررسی مدلهای شبکه کامپیوتری بپردازیم، بیایید در مورد لایههای تشکیل دهنده مدلهای کامپیوتری صحبت کنیم. زیرا باعث میشود قبل از شروع درک درستی از نحوه انتقال دادهها داشته باشیم.
لایهها و معماری لایهای شبکه
چرا شبکههای کامپیوتری لایه لایه هستند؟ دلیل این طراحی واقعا چیست؟
در معماری شبکههای کامپیوتری، هدف اصلی از داشتن چندین لایه، تقسیم فرایند انتقال و دریافت دادهها به قسمتهای کوچکتر و قابل مدیریتتر است. هر لایه زیرین به لایه بالایی خود کمک میکند. در نتیجه مجموعهای جامع و منظم به وجود میآید که مدیریت ارتباطات و اجرای برنامهها را آسانتر کرده و مشکلات احتمالی را کاهش میدهد. این لایهها به هم متصل هستند و هر لایه اطلاعات را به لایههای بالایی و پایینی خود انتقال داده و یا دریافت میکند. تقسیم یک مدل به چندین لایه باعث میشود ساختار ساده شود و در صورت بروز مشکل، دیدن آن را آسانتر میکند. یک مدل شبکه کامپیوتری از سه جزء اصلی تشکیل شده است که عبارتند از: گیرنده، فرستنده و حامل.
خاصیت ماژولار بودن این سیستم باعث افزایش کیفیت و حجم خدماتی که ارائه میدهد شده است. همچنین این معماری به زیرسیستمها اجازه میدهد تا با هم ارتباط برقرار کنند و روابط آنها را به صورت کاملا واضح و صریح ارائه میدهد. در این معماری هر لایه کاملا مستقل عمل میکند. استقلالی که یک لایه دارد، با ارائه خدماتی که از لایه پایین تر خود به بالاتر میدهد، بدون مشخص کردن نحوه پیاده سازی آنها حفظ میکند. این استقلال باعث میشود هر تغییری که در یک لایه ایجاد شود روی لایههای دیگر تاثیری نداشته باشد. از شبکهای به شبکه دیگر، تعداد لایهها، روابط آنها، ماژولهای متصل و محتویات هر لایه کاملا متفاوت است. از سوی دیگر، هدف هر لایه، ارائه یک سرویس از لایه پایینی به یک لایه بالاتر است . همچنین در تمام مراحل انجام خدمات، پنهان کردن ویژگیهای نحوه انجام خدمات از لایههای دیگر نیز صورت میگیرد.
اجزای اصلی تشکیل دهنده در معماری لایهای
در یک شبکه که معماری آن به صورت لایهای میباشد سه قسمت اصلی وجود دارد:
پروتکلها
پروتکلها مجموعه ای از قوانینی هستند که یک لایه هنگام تبادل اطلاعات با یک موجودیت همتا از آن پیروی میکند. این پروتکلها در واقع دستورالعملهایی هستند که در درجه اول به تناوب و محتویات پیامهایی که مورد استفاده است میپردازند.
رابطها
در اصل همان روشی است که لایهها با استفاده از آن با یکدیگر ارتباط برقرار میکنند و اطلاعات از یک لایه به لایههای دیگر منتقل میشود.
سرویسها
مجموعهای از فعالیتها و خدماتی است که هر لایه به لایه بالاتر خود ارائه میدهد. به عنوان مثال در معماری لایهای یک لایه در یک کامپیوتر با یک لایه در دستگاه دیگری ارتباط برقرار میکند. میدانیم که هر ارتباطی تابع قوانین خاصی میباشد. در اینجا قوانین استفاده شده در ارتباط لایهی اول با لایه دوم همان پروتکل لایهای است.
ویژگیهای معماری لایهای
معماری لایهای شبکه، ویژگیهای مهمی دارد که در ادامه هر یک را بررسی میکنیم
- هیچوقت اطلاعات از یک لایه در یک سیستم به لایه دوم در یک سیستم دیگر منتقل نمیشود.
- هر لایه اطلاعات را به لایه پایینی خود انتقال میدهد تا زمانی که پایینترین لایه برسد.
- در معماری لایهای ارتباط هر لایه با لایه زیرین خود از طریق یک رابط صورت میگیرد.
- ارتباط واقعی لایهها در اصل به صورت فیزیکی رخ میدهد و هر لایه از طریق رسانههای فیزیکی با لایه زیرین ارتباط برقرار میکند.
- در معماری لایهای اساسیترین اطلاعات بین لایهها از طریق ارتباطی صورت میگیرد که یک رابط ساده ایجاد میکند.
- فعالیتهای غیر قابل مدیریت در یک معماری لایهای به چندین قسمت کوچک و قابل مدیریت تقسیم میشوند.
- معماری لایهای تضمین میکند که پیاده سازی یک لایه جدید ممکن است به راحتی جایگزین اجرای یک لایه دیگر شود.
- اطلاعات منتقل شده جزو معماری لایهای نیست و فقط ارتباطات لایهها و قوانین بین آنها جزوی از معماری محسوب میشوند.
مزایای معماری لایهای
استفاده از معماری لایهای و تقسیمبندی شبکه به لایههای مختلف، مزایایی دارد که در ادامه هر کدام را مورد بررسی قرار میدهیم.
کاهش پیچیدگی سیستم
یکی از بزرگترین چالشها در توسعه نرمافزار، مواجهه با حجم عظیمی از منطق و کدهای درهمتنیده است. معماری لایهای با استراتژی Divide and Conquer این چالش را تا حد زیادی حل کرده است. به جای اینکه نگران کل سیستم باشید، تمرکز شما تنها بر روی یک لایه خاص معطوف میشود. این نوع از معماری باعث میشود ذهن توسعه دهنده درگیر جزئیات غیر ضروری نشود و طراحی سیستم شفافتر گردد.
ماژولار بودن و قابلیت استفاده مجدد
همانطور که اشاره کردیم، ماژولار بودن در این معماری بسیار پررنگ است. این ویژگی باعث میشود هر لایه هویت مستقل خود را داشته باشد. مثلا یک لایه از منطقی که برای برنامه خود نوشتید، میتواند همزمان به یک وبسایت، یک اپلیکیشن و یک API عمومی سرویس دهد، بدون اینکه نیاز باشد کد را کپی یا بازنویسی کنید.
استقلال تکنولوژی و انعطاف در تغییرات
تغییر در نحوه عملکرد یک لایه، نیازی به بازنویسی و یا تغییر لایههای دیگر ندارد. تصور کنید شما اتصال اینترنت خود را از کابل شبکه به وایفای تغییر میدهید. این تغییر فقط در دو لایه پایینی رخ میدهد. مرورگر وب شما و پروتکل IP هیچ تغییری نمیکنند و حتی متوجه این جابجایی نمیشوند. این ویژگی اجازه میدهد تکنولوژیهای جدید مانند فیبر نوری در کل اینترنت معرفی شوند.
سهولت در عیبیابی
برای یک مهندس شبکه، معماری لایهای نقشه راهی برای پیدا کردن مشکلات است. برای مثال زمانی که شبکه قطع میشود، مهندسان از پایین به بالا لایهها را چک میکنند. اول چراغ روی مودم، بعد تنظیمات مک آدرس یا سوئیچ، سپس آدرس IP و پینگ. این جداسازی منطقی باعث میشود سریعتر بفهمیم مشکل، سختافزاری است یا از تنظیمات ریشه میگیرد.
ایزوله سازی دادهها
این ویژگی امنیت و مدیریت دادهها را سادهتر میکند. وقتی دادهای از لایههای بالا به پایین میآید، هر لایه اطلاعات مدیریتی خود را به بسته اضافه میکند. این کار باعث میشود اطلاعات هر لایه از لایههای دیگر پنهان بماند و هر لایه فقط اطلاعات مربوط به خود را پردازش کند.
معایب معماری لایهای
معماری لایهای شبکه، علاوه بر مزایای بسیار خود، معایبی نیز دارد که دانستن آنها ضروری است:
پیچیدگی
معماری لایهای میتواند پیچیدگی نرم افزار را به دلیل لایههای اضافی و تعامل آنها افزایش دهد. همچنین میتواند درک طراحی کلی و سازماندهی برنامه را دشوارتر کند.
بار اضافی عملکرد
هر لایه در واقع سطحی از پردازش و درگیری بوده که باری را در خلاف جهت عملکرد به سیستم اضافه میکند که میتواند سربار عملکرد آن شود. ارتباط بین لایهها نیز میتواند در صورت عدم بهینهسازی مناسب، سیستم را کند کند.
هزینههای نگهداری
نگهداری از یک معماری بزرگ و پیچیده میتواند دشوار و زمان بر باشد. همچنین هزینه تعمیر و ایجاد تغییرات آن بالا است، به خصوص اگر نیاز باشد تغییراتی در چندین لایه ایجاد شود.
سختی و عدم انعطافپذیری
تفکیک دقیق مسئولیتها در معماری لایهای میتواند بر خلاف با نیازهای متغیر آن باشد و انطباق این دو کار بسیار سختی است و منجر به طراحی سفت و سختی گردیده که اصلاح آن سخت است.
مهندسی بیش از حد
امکان ایجاد لایههای بی شمار و بیش از حد لزوم وجود دارد، این میتواند منجر به مهندسی بیش از حد و به وجود آوردن پیچیدگیهای غیر ضروری شود. همچنین میتواند نگهداری و کار با نرمافزار را سختتر کند.
مدلهای شبکه کامپیوتری
به طور کلی شبکههای کامپیوتری به دو مدل کلی تقسیم میشوند:
مدل OSI
یک چارچوب هفت لایه است که برای تبادل اطلاعات بین سیستمهای مختلف شبکه استفاده میشود. هرلایه عملکرد مخصوصی دارد و مسئول مدیریت جنبههای خاصی از ارتباط است. در جدول زیر مدل را به صورت کامل بررسی کردهایم:
| لایه | نام | واحد داده (PDU) | وظیفه اصلی | پروتکلها و ابزارها |
|---|---|---|---|---|
7 |
کاربردی Application | Data | ارتباط مستقیم با کاربر و ارائه سرویسهای شبکه به نرمافزارها. | HTTP, HTTPS, FTP, SMTP, SSH |
6 |
نمایش Presentation | Data | فرمتبندی، رمزنگاری (Encryption) و فشردهسازی دادهها. | SSL/TLS, JPEG, MPEG, GIF |
5 |
جلسه Session | Data | برقراری، مدیریت و پایان دادن به ارتباط بین برنامهها. | NetBIOS, SAP, PPTP |
4 |
انتقال Transport | Segment | انتقال مطمئن داده، کنترل جریان و خطا (TCP) یا سرعت بالا (UDP). | TCP, UDP, Port Numbers |
3 |
شبکه Network | Packet | مسیریابی (Routing) و آدرسدهی منطقی (IP) بین شبکههای مختلف. | IP, ICMP, IPSec, Routers |
2 |
پیوند داده Data Link | Frame | آدرسدهی فیزیکی (MAC)، کنترل دسترسی به رسانه و تشخیص خطا. | Ethernet, Switch, VLAN, MAC Addr |
1 |
فیزیکی Physical | Bit | انتقال صفر و یک روی سیم، فیبر یا امواج رادیویی. | Cables (RJ45), Hub, Repeater |
مزایای مدل OSI
مزایای مدل OSI عبارتند از:
ماژولار بودن
این ویژگی باعث شده که ارتباطات شبکه به هفت لایه مجزا تقسیم شود که هر یک عملکرد خاصی دارند و درک و مدیریت آن را آسانتر میکند. ماژولار بودن مدل OSI کمک شایانی به عیبیابی سیستم میکند. برای مثال اگر قطعی پیش بیاید، مهندس شبکه از لایه یک شروع کرده و دلایل قطعی را به صورت مستقل بررسی میکند.
انعطافپذیری
این مدل یک چارچوب انعطافپذیر ارائه میدهد که میتواند با اندازهها و پیکربندیهای مختلف شبکه سازگار شود. این انعطافپذیری کمک میکند تا تکنولوژیهای جدید را بدون درگیر شدن لایههای دیگر توسعه دهیم. برای مثال زمانی که فیبر نوری توسعه یافت، لایههای بالاتر بدون توجه به این تغییر به کار خود ادامه دادند.
قابلیت پیشرفته عیبیابی
میتواند به تنهایی با تقسیم کردن ارتباطات به لایههای جداگانه مشکلات شبکه را شناسایی کرده و حل آنها را تسهیل میکند. برای مثال مهندسان میتوانند از سه متد مختلف برای عیب یابی استفاده کنند، متد بالا به پایین، پایین به بالا و متد تقسیم و غلبه.
امنیت
اجرای اقدامات امنیتی در لایههای مختلف، موجب افزایش امنیت کلی شبکه میشود. با توجه به اینکه هر لایه در مدل OSI مسئولیت خاص خود را بر عهده دارد، ابزارها و پروتکلهای متناسبی نیز برای حفاظت از هر لایه ارائه شدهاند.
قابلیت ارتقا
امکان ادغام سیستمها و فناوریهای مختلف شبکه را داشته و ارتقا دادن قابلیت همکاری و بهبود ارتباطات را فراهم میکند. قابلیت ارتقا به شما این امکان را میدهد که بخشهای از شبکه را بدون دستکاری بخشهای دیگر ارتقا دهید.
معایب مدل OSI
مدل OSI یک مدل استاندارد و پذیرفته شده است که قابلیتهای زیادی دارد، اما معایبی نیز در این مدل دیده میشود.
پیچیدگی
مدل OSI بسیار پیچیده بوده و فهم آن بسیار دشوار است به خصوص برای کسانی که پیشینه فنی ندارند. برای مثال لایههایی مانند لایه 5 و 6 مفاهیمی هستند که در زندگی روزمره ما معادل فیزیکی ندارند و این مورد درک لایه OSI را سختتر میکند.
سختی پیاده سازی
یکی از دلایلی که امروزه از TCP/IP استفاده میشود همین سختی پیاده سازی در مدل OSI است. پیاده سازی مدل OSI در عمل میتواند چالش برانگیز باشد، به خصوص در شبکههای بزرگ و پیچیده کار دشواری است.
عدم تطبیق پذیری
یکی از بزرگترین نقدهای وارده بر مدل OSI عدم تطبیق پذیری آن است. جداسازی دقیق توابع در لایههای جداگانه میتواند تطبیق پذیری طراحی و پیاده سازی شبکه را محدود کند. برای مثال در دنیای واقعی و در اکثر پروتکلهای مدرن، وظایف دو لایه Session و Presentation آن قدر به برنامه کاربردی نزدیک است که جدا کردن آنها عملا معنایی ندارد
بار اضافی
لایهها و فرآیندهای اضافی تعریف شده توسط مدل OSI می توانند منجر به کندی عملکرد، به ویژه در شبکههای بزرگ شود. در این مدل، چون 7 لایه داریم، داده شما باید از هفت لایه مختلف عبور کرده و Headerهای هر یک را دریافت کند که باعث سربار و کندی بیشتری نیز میشود.
ناسازگاری
پیادهسازی مدل OSI میتواند بین فروشندگان مختلف متفاوت باشد که منجر به ناسازگاریها و مشکلات سازگاری میشود. این مدل که از نظر تئوری به زیبایی طراحی شده است، در عمل با پروتکلهایی مانند HTTPS هماهنگی لازم را ندارد و این ناهماهنگی باعث شده شرکتها به همان مدل TCP/IP اکتفا کنند.
مدل TCP/IP
مدل TCP/IP نسخه فشرده از مدل OSI است اما تنها چهار لایه دارد. این مدل اولین بار در دهه 1980 توسط وزارت دفاع ایالات متحده ایجاد و مورد استفاده قرار گرفت. این مدل پروتکل استاندارد ارتباطی برای انتقال داده از طریق اینترنت است. در واقع شبکه جهانی اینترنت از این مدل شبکهای پیروی میکند. این مدل از 4 لایه تشکیل شده است: لایه پیوند، لایه اینترنت، لایه انتقال و لایه کاربردی.
لایه پیوند با انتقال دادهها از طریق اتصالات فیزیکی سروکار دارد، لایه اینترنت بستههای داده را بین شبکهها هدایت میکند، لایه حمل و نقل انتقال مطمئن دادهها را تضمین میکند، و لایه برنامه رابطهایی را برای برنامههای مختلف برای برقراری ارتباط با استفاده از پروتکلهای انتقال زیرین فراهم میکند. این لایهها با هم کار میکنند تا یک راه مطمئن و کارآمد برای ارتباط دستگاهها از طریق شبکه فراهم کنند.
| لایه | نام لایه | PDU | شرح وظیفه | معادل در OSI |
|---|---|---|---|---|
| 4 | Applicationکاربرد | Data | تمام سرویسهای نرمافزاری کاربر | لایه 5، 6 و 7 |
| 3 | Transportانتقال | Segment | کنترل جریان و ارتباط مطمئن | لایه 4 |
| 2 | Internetاینترنت | Packet | مسیریابی در شبکه جهانی | لایه 3 |
| 1 | Network Accessدسترسی شبکه | Frame | ارتباط با سختافزار و رسانه | لایه 1 و 2 |
مزایای مدل TCP/IP
از TCP/IP (پروتکل کنترل انتقال/پروتکل اینترنت) به طور گسترده برای ارتباط در اینترنت و سایر شبکههای کامپیوتری استفاده می شود. برخی از مزایای مدل TCP/IP شامل موارد زیر است:
مقبولیت عام
TCP/IP پایه و اساس اینترنت است و به طور گسترده در انواع شبکهها و سیستمهای ارتباطی استفاده میشود. بسیاری از شرکت و سازندگان تجهیزات از این مدل برای تعامل با شبکه استفاده میکنند و این مقبولیت باعث شده مدلهای دیگر مانند OSI کمتر مورد قبول واقع شوند.
سادگی
مدل TCP/IP در مقایسه با سایر مدلهای شبکه نسبتا ساده است و درک و پیادهسازی آن را آسانتر میکند. برخلاف مدل OSI که از سه لایه مختلف برای مدیریت نشستها، فرمت داده و اپلیکیشن استفاده میکرد، این مدل از یک لایه به نام Application برای این موارد استفاده میکند.
مقیاس پذیری
TCP/IP به گونهای طراحی شد که مقیاس پذیر باشد و بتواند رشد و تغییرات در اندازه و پیچیدگی شبکه را در خود جای دهد. این مقیاسپذیری زیاد در TCP/IP باعث شده تا بتوان زیرساختهای شبکه را بدون ایجاد مشکل در لایههای دیگر توسعه داد.
قابلیت همکاری
TCP/IP به گونهای طراحی شده است که انعطافپذیر و قابل تعامل باشد و به شبکهها و سیستمهای مختلف اجازه میدهد با یکدیگر ارتباط برقرار کنند.
استحکام
طراحی TCP/IP باعث شد که قوی و قابل اعتماد باشد و از تحویل دادهها حتی در صورت وجود خطاها و خرابیهای شبکه اطمینان حاصل کند. استحکام در مدل TCP/IP به این معناست که این شبکه تحت شرایط سخت، خرابی تجهیزات، یا ترافیک سنگین، باز هم به کار خود ادامه میدهد و به این راحتیها به مشکل نمیخورد.
امکان ادغام
مدل TCP/IP زمینه مناسبی را فراهم کرده و امکان ادغام فناوریها و برنامههای کاربردی جدید را در شبکههای موجود فراهم میکند. بر خلاف مدل OSI که بر جداسازی کامل و ایدئولوژی کمالگرایانه خود تاکید داشت، TCP/IP لایههایی که شبیه به یکدیگر هستند را ادغام کرده تا از پیچیدگی آنها بکاهد.
معایب مدل TCP/IP
مانند هر مدل دیگری, مدل TCP/IP نیز کامل نیست، با وجود اینکه امروزه بیشترین استفاده از این مدل صورت میگیرد و مورد پذیرش همگان است، اما معایبی نیز دارد.
امنیت
اگرچه برخی از اقدامات امنیتی را فراهم میکند، اما همچنان در برابر حملاتی مانند هک، بدافزار و حملات انکار سرویس (DoS) آسیب پذیر است. امنیت در این مدل، یک چیز الحاقی است نه مزیتی که خود مدل از ابتدا دارا بوده است. TCP/IP در آن زمان فقط برای مناطق نظامی و دانشگاهها ساخته شده بود و تصوری از حملات امروزی نداشت، بنابراین هرآنچه از امنیت در این مدل میبینید بعدها افزوده شده است.
ابهام در تفکیک لایهها
بزرگترین نقد فنی به TCP/IP این است که مرز بین مفاهیم، رابطها و پروتکلها در آن مشخص نیست. برخلاف مدل OSI که به شدت روی جداسازی وظایف تاکید دارد، در TCP/IP لایهها به شدت در هم تنیده شده هستند.
عدم تمایز بین لایه فیزیکی و پیوند داده
در لایه Network Access، مدل TCP/IP هیچ تفاوتی بین چگونگی ارسال بیتها رو کابل و سازماندهی فریمها قائل نشده است. این موضوع باعث میشود که برای تکنولوژیهای متفاوت، مدلینگ دقیقی نداشته باشیم و همه چیز را در یک سبد بریزیم، که کار عیبیابی را سختتر میکند.
پیچیدگی مدیریت در ابعاد عظیم
اگرچه به این اشاره کردیم که ساختار مدل TCP/IP انعطافپذیر است اما در ابعاد عظیم مشکلاتی مانند کمبود IP دارد. برای مثال، مدل اولیه فقط 4 میلیارد IP داشت که برای دنیای مدرن اصلا کافی نبود. بنابراین IPv6 ساخته شد اما به دلیل پیچیدگیها و ساختار نامنظم TCP/IP هنوز انتقال از IPv4 به IPv6 نهایی نشده است.
بیشتر بخوانید!
سخن نهایی
در این مقاله در مورد شبکه کامپیوتری و مدلهای آن صحبت کردیم. همچنین ساختار و معماری لایهای که یک مدل کامپیوتری را تشکیل میدهند مورد بررسی قرار دادیم. با اجزای اصلی در معماری لایهای آشنا شدیم .در مورد ویژگیها، مزایا و معایب معماری لایهای نیز صحبت کردیم. در ادامه گفتیم که شبکههای کامپیوتری به طور کلی از ۲ مدل OSI و TCP/IP تشکیل شدهاند. در پایان نیز مزایا و معایب هر مدل را مورد بررسی قرار دادیم.
سوالات متداول
اصلیترین تفاوت در تعداد لایهها و کاربرد آنهاست. مدل OSI یک مدل مرجع و آموزشی با 7 لایه است که با جزئیات دقیق تئوری طراحی شده، اما مدل TCP/IP یک مدل کاربردی و عملیاتی با 4 لایه است که اینترنت امروزی بر پایه آن بنا شده است.
دلیل اصلی، کاهش پیچیدگی است. با تقسیم فرایند پیچیده انتقال داده به لایههای مستقل، مدیریت، عیبیابی و توسعه شبکه آسانتر میشود. هر لایه وظیفه خاصی دارد و تغییر در یک لایه، تاثیری بر عملکرد لایههای بالاتر نمیگذارد.
واحد داده یا همان PDU شکلی از اطلاعات است که در هر لایه جابجا میشود. برای مثال در لایه 1، شکل جابجای اطلاعات BIT است.
منابع
- https://www.geeksforgeeks.org/computer-networks/computer-network-models/
- https://www.computernetworkingnotes.com/ccna-study-guide/what-is-a-networking-model-explained.html
به این مقاله امتیاز دهید!
میانگین امتیاز 0 / 5. تعداد رأی ها : 0
هنوز هیچ رأیی داده نشده. اولین نفر باشید!



اولین دیدگاه را اضافه کنید.