برای حل مسائل شبکه یا توسعۀ آن، لازم است که اجزای شبکه و نحوۀ کار بخشهای مختلف را بهخوبی درک کنیم. مدل OSI شبکه را برای شما تصویرسازی میکند و با نشان دادن ۷ لایۀ مختلف و طریقۀ کار هر بخش، درک مسائل را بسیار آسان کرده است. در این مقاله به شما میگوییم که مدل OSI چیست و با ۷ لایه OSI آشنا میشوید. با این شناخت در حفظ امنیت، بهینهسازی فرآیندها و عیبیابی اختلالات موفقتر ظاهر خواهید شد. آمادهاید؟
مدل OSI چیست؟
OSI مخفف Open Systems Interconnection است. در واقع مدل OSI یک ساختار توافقی استاندارد بینالمللی برای درک شبکه و پروتکلهای آن است. در این مدل ساختار شبکههای کامپیوتری بهشکل تصویری تشریح و تفکیک میشود. این مدل هفت لایه دارد که لایه اول آن نزدیکترین لایه به درک انسانی است و هرچه به هفتمین لایه نزدیکتر شویم، مفاهیم پیچیدهتر میشوند.
اصلاً مدل OSI چه دردی از بشریت را دوا میکند؟
با کمک این مدل درک ارتباط سختافزارها و نرمافزارها و همچنین فرآیندها بسیار سادهتر میشود. در این تفکیک، هر لایه عملکرد خاص خود را دارد؛ از این رو تشخیص منشأ مشکلها و عیبیابی سادهتر است. بنابراین این معماری شبکه کمک میکند در زمان کوتاهتری پروسههای ارتباط و عیبیابی را طی کنیم.
معماری مدل مرجع osi
در مدل OSI لایههای سطوح پایین سختافزاری و لایههای سطوح بالایی نرمافزاری هستند. ارتباط میان سختافزار و نرمافزار بیش از تمام مراحل در لایهٔ انتقال صورت میگیرد.
در ارتباط بین دو شبکه یا دو دستگاه، این لایهها با پروتکلهای مخصوص خود انتقال داده را به صورت زیر انجام میدهند:
همانطور که در تصویر میبینید ارتباط میان این لایهها از طریق پروتکلهای زیر صورت میگیرد:
- APDU: واحد داده پروتکل برنامه
- PPDU: واحد داده پروتکل ارائه
- SPDU: واحد داده پروتکل نشست
- Segment: واحد پروتکل داده انتقال
- بسته یا Packet: واحد پروتکل داده شبکه
- فریم: پروتکل میزبان-روتر لایه پیوند داده.
- بیت: پروتکل روتر میزبان-لایه فیزیکی
معرفی و بررسی ۷ لایۀ osi
در این بخش میخواهیم مدل osi به زبان ساده و قابلفهم تعریف کنیم، اما پیش از شروع باید بگوییم که بهخاطر سپردن تمام جزییات در اولین مطالعه کمی دشوار است. بنابراین بهخودتان سخت نگیرید. در این بخش از لایههای پایینتر مدل که به کامپیوتر نزدیکتر است، شروع میکنیم و پلهپله به سطوحی که به درک انسانی نزدیکتر هستند خواهیم رسید. خب شروع کنیم ببینیم مدل osi چیست.
۱. لایهٔ فیزیکی (Physical layer)
لایهٔ فیزیکی اولین و پایینترین لایه مدل مرجع OSI است. در این لایه داده های خام بهصورت بیت (یعنی ۰ و ۱) به سیگنال تبدیل می شوند و با رابطهای الکترونیکی و فیزیکی روی این لایه رد و بدل میشوند. بهبیان دیگر لایهٔ فیزیکی وظیفهٔ ارسال بیتهای کامپیوتری را از یک دستگاه به دستگاه دیگر در طول شبکه بر عهده دارد. درست به همین دلیل که ارتباط میان سختافزارها شکل میگیرد. به این لایه «فیزیکی» گفته میشود.
تشخیص نوع رسانه، نوع رابط و نوع سیگنال مورد استفاده برای ارتباط نیز برعهدهٔ لایهٔ فیزیکی است. کپسولهسازی دادهها نیز در این لایه انجام میشود. انتهای فرستنده و انتهای گیرنده باید هماهنگ باشند و نرخ ارسال بهصورت بیت بر ثانیه نیز در این لایه تعیین میشود.
۲. لایه لینک داده (Data-link Layer)
خیلی خب! حالا یک پله بالاتر رفتیم و به لایهای رسیدیم که سروکارش با انتقال داده است. لایهٔ لینک داده وظیفه دارد خطاها و ترکیبهای بیت داده در فریم را تشخیص دهد. یعنی دادههای خام در بیت و بایتها را در فریم ترکیب کند و بستهٔ داده را به لایهٔ شبکه میزبان مقصد مورد نظر بفرستد. در انتهای مقصد، لایهٔ لینک داده سیگنال را دریافت میکند، آن را به فریم رمزگشایی میکند و به سختافزار تحویل میدهد.
کمی خودمانیتر بگوییم، لایه لینک داده مثل کارگر اسبابکشی است. وسایل شما را گروهبندی میکند و گروههای شبیه به هم را در پکیجهای مشخصی بستهبندی میکند. حالا این بستهها به جایی که در منزل جدید مناسب آنهاست میروند و بازگشایی میشوند. بستهٔ کتابها به قفسههای درون هال و بستهٔ چاقو چنگالها به آشپزخانه میروند، باز شده و محتویات آن سر جای خود مینشیند.
اجازه بدهید برای درک نقش لایهٔ لینک داده در دریافت و انتقال داده به لایهٔ فیزیکی، برخی عملکردها بررسی کنیم:
- مک آدرس: هر دستگاه کامپیوتری یا هریک از اجزای شبکه، یک آدرس منحصربهفرد به نام MAC Address دارد. این آدرس ۱۲ رقمی به ما اجازه میدهد هر دستگاهی در شبکه را از سایرین متمایز کنیم. لایهٔ دیتالینک بر سیستم آدرسدهی فیزیکی مکآدرس برای شبکهها نظارت میکند و دسترسی اجزای شبکه به رسانهٔ فیزیکی را کنترل میکند.
مثلاً آدرس MAC 3C-95-09-9C-21-G1 دارای ۶ بخش است که سه مورد اولی نشاندهندهٔ OUI و سه مورد بعدی نشاندهندهٔ کارت شبکه هستند. در تصویر زیر میتوانید ساختار فیلدهای مختلف و طول بیت را در مکآدرس ببینید:
- تشخیص خطا:
در لایهٔ دیتالینک تشخیص خطا انجام میشود. دقت کنید که تنها دربارهٔ «تشخیص» صحبت میکنیم نه «تصحیح»! تصحیح خطا در لایهٔ انتقال انجام میشود. گاهی سیگنال داده با برخی سیگنالهای ناخواسته به نام «بیت خطا» مواجه میشود. لایهٔ دیتالینک این خطا را با بررسی CRC (یا به فارسی سخت: افزونگی چرخهای!) و الگوریتم جمعآزمای checksum تشخیص میدهد.
- کنترل جریان داده و دسترسی چندگانه:
دادههایی که بین فرستنده و گیرنده بهصورت یک فریم روی یک رسانهٔ انتقال مییابند، بایستی با سرعت یکسانی ارسال و دریافت شوند. حالا اگر سرعت دادههای ارسالی در فریم بیش از سرعت گیرنده باشد، دادههای گرهٔ دریافت کننده به دلیل عدم تطابق سرعت از بین میروند.
لایهٔ دیتا لینک برای جلوگیری از این اتفاق، یکی از دو مکانیزم کنترل جریان را انجام میدهد.
۱. کنترل جریان دادهٔ ایست و انتظار:
در این مکانیزم، فرستنده را پس از ارسال دادهها به توقف فشار میدهد و منتظر میماند تا تأیید فریم دریافتی در انتهای گیرنده را دریافت کند. فریم داده دوم تنها پس از دریافت اولین تأییدیه از طریق رسانه ارسال میشود و روند ادامه خواهد یافت.
در این مکانیزم، فرستنده ملزم میشود پس از ارسال داده متوقف شده و در انتهای گیرنده منتظر بماند تا تأیید فریم دریافتی را بگیرد. دومین فریم داده بلافاصله پس از دریافت اولین تاییدیه از طریق رسانه ارسال میشود و این روند تا انتها ادامه مییابد.
۲. پنجره کشویی:
در این فرآیند، هم فرستنده و هم گیرنده تعیین میکنند که چه تعداد فریم بایستی پس از تأیید انتقال پیدا کنند. این فرآیند باعث صرفهجویی در زمان میشود زیرا منابع کمتری در فرآیند کنترل جریان استفاده میشود.
علاوه بر این در این لایه با استفاده از پروتکلهای CSMA/CD (دسترسی چندگانه/ قابلیت تشخیص سیگنال حامل) دسترسی به دستگاههای متعدد فراهم میشود و رسانههای مشابه میتوانند بدون برخورد ارسال را انجام بدهند.
- همگامسازی:
در این لایه، علاوه بر آنچه گفته شد، همگامسازی نیز انجام میشود. یعنی لایه دیتا لینک مطمئن میشود که دستگاهها در هر دو انتها با یکدیگر همگام هستند و انتقال داده به سادگی انجام میشود.
- سوئیچهای لایه۲:
سوئیچهای لایه ۲ دستگاههایی هستند که دادهها را بر اساس مکآدرس دستگاه به لایهٔ بعدی ارسال میکنند. به این ترتیب که ابتدا مکآدرس دستگاه را در پورتی که قرار است فریم را دریافت کند، جمعآوری میکند. سپس مکآدرس مقصد را از جدول آدرس میگیرد و فریم را به مقصد لایه بعدی ارسال میکند. اگر آدرس میزبان مقصد مشخص نشده باشد، فریم داده را به همهٔ پورتها (جز پورت آدرس منبع) پخش میکند.
- بریجها:
منظور از بریج، دستگاهی دو پورتی است که روی دیتالینک کار میکند و دو شبکه سازگار را به یکدیگر متصل میکند. یعنی این قابلیت را دارد که دو دستگاهی که از نظر سیستم عامل و پروتکل یکسان هستند را به یک دستگاه تبدیل کند. علاوه بر این، میتواند رفتاری مشابه Repeater نشان بدهد. یعنی با یادگیری مکآدرس و ارسال آن به گرهٔ مقصد، از طریق تابع اضافی دادههای ناخواسته را فیلتر کند.
۳. لایهٔ شبکه (Network Layer)
سومین لایهٔ مدل، به لایهٔ شبکه شهرت دارد. این لایه مسئول مسیریابی بستههای داده از منبع به میزبان مقصد است. فرقی هم ندارد که این مسیریابی با پروتکلهای بین شبکهای انجام شود یا درون شبکهای، در هر دو صورت در این لایه انجام میشود. حالا این نکات فنی را کنار بگذاریم و ببینیم واقعاً این لایه چهکار میکند؟
خیلی ساده است. با استفاده از پروتکلهای مسیریابی، سوئیچینگ، تشخیص خطا و تکنیکهای آدرسدهی، آسانترین و سریعترین راه بین گیرنده و فرستنده را پیدا میکند. سپس داده را از همین راه و با استفاده از آدرسدهیها منطقی شبکه و طراحیهای زیرشبکه انجام میدهد.
وظیفه این لایه هدایت بستهها از مبدا به مقصد با استفاده از آدرس دهی منطقی IP و مسیریاب ها برای ارتباط است . صرف نظر از دو شبکه مختلف که روی پروتکل یا توپولوژیهای متفاوت کار میکنند، وظیفه این لایه این است که بستهها را با استفاده از آدرسدهی منطقی IP و مسیریابها از مبدأ به مقصد برای ارتباط هدایت کند.
- لایه شبکه آدرس دهی IP
آدرس IP یک آدرس شبکه منطقی و یک عدد ۳۲ بیتی است که در سطح جهانی برای هر میزبان شبکه منحصر به فرد است. این آدرس دو بخش اصلی دارد: آدرس شبکه و آدرس میزبان شبکه. عدد IP با ۳ نقطه به ۴ بخش تقسیم میشود (مثلاً ۱۹۲.۱۶۸.۱.۱) اما معمولاً با همان بخش اول شناسایی میشود و کار میکند و باقی اعداد برای ادای احترام به سیستم ۸بیتی درج میشوند.
- روترها
روترها در لایهٔ شبکه، برای ارتباط بین شبکهای و درون شبکهای گسترده (WAN) استفاده میشوند. روترهایی که بستههای داده را بین شبکهها ارسال میکنند، آدرس دقیق مقصد میزبان بسته را نمیدانند تا بتوانند مسیریابی کنند. بلکه فقط مکان شبکهای را میدانند و اطلاعاتی که در آن ذخیره شده، استفاده میکنند.
بنابراین پس از تحویل بسته به شبکهٔ مقصد، آن بسته را به میزبان شبکه هم تحویل میدهند. برای این که این مراحل با امنیت بالا طی شود، از دوبخش آدرس آیپی استفاده میشود:
مثلاً برای آدرس IP 192.168.1.1. آدرس شبکه ۱۹۲.۱۶۸.۱.۰ و آدرس میزبان ۰.۰.۰.۱ خواهد بود.
- Subnet Mask
آدرس شبکه و آدرس میزبان تعریف شده در آدرس IP صرفاً برای تعیین اینکه میزبان مقصد از همان شبکه فرعی یا شبکه راه دور است کارآمد نیست. ماسک زیر شبکه یک آدرس منطقی ۳۲ بیتی است که همراه با آدرس IP توسط روترها برای تعیین مکان میزبان مقصد برای مسیریابی دادههای بسته استفاده میشود.
پیشنهاد خواندن: Firewall چیست؟ نحوۀ کار، مزایا و انواع فایروال
۴. لایهٔ انتقال ( Transport layer)
این لایه تضمین میکند که اتصال بین دو میزبان یا دستگاه مختلف در شبکه، بدون خطا ایجاد شود. بهاین ترتیب که دادهها را از لایهٔ برنامه دریافت میکند؛ سپس آن را به بستههای کوچکتری به نام «سگمنت» تقسیم کرده و برای تحویل بیتر به میزبان مقصد، در لایهٔ شبکه توزیع میکند.
این روش انتقال، تضمین میکند که دادهها درست به همان شکلی که دریافت میشود در مقصد تحویل داده خواهد شد. برای هر دو انتقال درون شبکهای و بینشبکهای هم از همین روش، پایان به پایان (End to End) استفاده میشود. در این روش لازم است که همهٔ دستگاههای شبکه، یک نقطهٔ دسترسی خدمات انتقال (TSAP) را داشته باشد و بهعنوان شماره پورت علامتگذاری شود.
در لایهٔ انتقال از دو نوع پروتکل استفاده میشود:
- پروتکل کنترل انتقال (TCP)
TCP پروتکل اتصالگرا و امنی است که ابتدا ارتباط بین دو میزبان را از راه دور برقرار میکند. سپس دادهها برای ارتباط از طریق شبکه ارسال میشوند. پس از ارسال اولین بستهٔ داده، گیرنده یک تأییدیه از دادههای دریافت شده و نشده ارسال میکند. این تأییدیه درست مثل رسید تحویل کالاهای سفارشی عمل میکند. پس از این که فرستنده، تأییدیه را از گیرنده دریافت کند، بستهٔ دوم داده از طریق رسانه ارسال میشود. در حین ارسال این پروتکل ترتیب دریافت دادهها را بررسی میکند و اگر مشکلی باشد تمام دادهها را دوباره ارسال میکند. TCP مکانیزم تصحیح خطا و کنترل جریان را پیادهسازی میکند و از مدل کلاینت/سرور برای ارتباط پشتیبانی میکند.
- پروتکل دیتاگرام کاربر (UDP)
میشود گفت UDP پروتکلی است درست مقابل TCP: بدون اتصال و غیر قابل اعتماد! زمانی که دادهها بین دو میزبان انتقال مییابند، میزبان گیرنده هیچ تأییدیهای مبنی بر دریافت داده ارسال نمیکند. بنابراین فرستنده هم بدون انتظار برای هیچ تأییدیهای، ارسال دادهها را ادامه میدهد. به این ترتیب پردازش درخواستهای شبکه، بسیار سادهتر میشود. چرا که هیچ زمان انتظاری وجود ندارد. میزبان نهایی هم دستگاهی مثل کامپیوتر، موبایل یا تبلت خواهد بود.
حالا اگر یک سگمنت از روی لینک به سلامت بگذرد و خطایی در کار نباشد، باز هم ممکن است زمان ذخیرهسازی یک سگمنت روی روتر خطایی پدیدار شود. لایهٔ پیوند داده نمیتواند این نوع خطا را تشخیص دهد. بنابراین هیچ تضمینی وجود ندارد که در لینکهای بین منبع و مقصد بررسی خطا انجام شود. امکان دارد یکی از لینکها از پروتکل دیتا لینک استفاده کند که خب نتیجهٔ مورد نظر را نمیدهد.
حالا همانطور که قبلتر هم اشاره کردیم، میشود برای بررسی و کنترل خطا از CRC و Checksum کمک گرفت:
- کنترل خطا به کمک CRC :CRC مبتنی بر تقسیم باینری مولفهٔ داده (Data Component) است. یعنی گیرنده مولفه داده را بر یک مقسومعلیه یکسان تقسیم میکند و اگر باقیمانده به صفر برسد؛ مولفه مجاز خواهد بود برای ارسال پروتکل عبور کند. در غیر این صورت فرض گرفته میشود که داده تغییرات ناخواستهای کرده و بسته حذف میشود.
- کنترل خطا به کمک Checksum :در Checksum Generator & Checker از مکانیزم جمعآزما یا Checksum استفاده میشود. یعنی ابتدا اجزا دادهها به بخشهای مساوی از n بیت تقسیم میشوند. سپس تمام بخشها با هم جمع میشوند تا مکمل ۱ را بسازند. سپس یک بار دیگر از آن متمم گرفته میشود تا به Checksum تبدیل شود. سپس همراه با مولفه داده ارسال میشود.
مثال: اگر قرار باشد ۱۶ بیت به گیرنده ارسال شود و بیتها ۱۰۰۰۰۰۱۰ ۰۰۱۰۱۰۱۱ باشند، آنگاه مکانیزم جمعآزما که به گیرنده ارسال میشود ۱۰۰۰۰۰۱۰ ۰۰۱۰۱۰۱۱ ۰۱۰۱۰۰۰۰ خواهد بود.
پس از دریافت واحد داده، گیرنده آن را به n بخش با اندازه مساوی تقسیم میکند. تمام بخشها با استفاده از مکمل ۱ جمعزده میشوند. از نتیجه یک بار دیگر متمم گرفته میشود و اگر نتیجه صفر باشد، داده پذیرفته میشود، در غیر این صورت دور ریخته میشود.
این روش تشخیص و کنترل خطا به گیرنده اجازه میدهد تا دادههای اصلی را هر زمان که در حین انتقال خراب شد، بازسازی کند.
۵. لایهٔ نشست (Session Layer)
لایهٔ نشست را میتوان بهعنوان منشی نشستها در شبکه معرفی کرد. چرا که مسئولیت این لایه شامل ایجاد، مدیریت و خاتمهٔ یک نشست است. در واقع این لایه به کاربران پلتفرمهای مختلف اجازه میدهد تا یک نشست ارتباط فعال را بین خود راهاندازی کنند. لایهٔ نشست در واقع در گفتگو میان دو برنامهٔ مجزا وارد میشود و همگامسازی را امکانپذیر میکند و خب میدانیم که همگامسازی برای تحویل کارآمد داده بدون اتلاف در انتهای گیرنده ضروری است.
اجازه بدهید با یک مثال مسئله را شفافتر کنیم:
فرض کنید یک فرستنده در حال ارسال یک فایل دادهٔ بزرگ با بیش از ۲۰۰۰ صفحه باشد. این لایه در حین ارسال فایل کلانداده، چند چکپوینت اضافه میکند. سپس با ارسال یک توالی کوچک از ۴۰ صفحه، تایید موفقیتآمیز دادهها را تضمین میکند. اگر توالی تایید شود، همین کار را تا انتها تکرار میکند. در غیر این صورت همگامسازی و ارسال دوباره انجام میشود. این فرآیند باعث میشود دادهها امن باقی بمانند و حتی در صورت بروز خرابی، کل میزبان داده بهطور کامل از بین نرود. علاوه بر این مدیریت توکن مانع از این میشود که دو شبکهٔ دادهٔ سنگین و همنوع، بهطور همزمان منتقل شوند.
۶. لایهٔ ارائه (Presentation Layer)
همانطور که از نام این لایه برمیآید، وظیفهاش این است که دادهها را به شکل قابل درک به کاربر نهایی ارائه کند. میتوان گفت که این لایه مثل یک مترجم خبره، میان دو سیستم ظاهر میشود و کمک میکند یکدیگر را درک کنند. چرا که ممکن است تفاوت syntaxهای گیرنده و فرستنده باعث عدم درک متقابل شود.
دادههای عددی و کاراکترها، پیش از انتقال توسط لایه ترانسفر به بیت تبدیل میشوند. این لایه، دادهها را برای شبکهها به شکلی که به آن نیاز دارند، ترجمه میکند. مثلاً دادههای دسکتاپ با موبایل متفاوت است و لازم است هر یک در قالب خاص خود ارائه شود.
مسئولیت رمزگذاری دادهها در انتهای فرستند و رمزگشایی آنها در انتهای گیرنده نیز بر عهدهٔ لایهٔ ارائه است. علاوه بر همهٔ اینها، فشردهسازی دادههای چندرسانه هم در این لایه انجام میشود. طول دادههای چندرسانهای معمولاً بسیار زیاد است و پهنای باند بسیار زیادی برای انتقال آنها روی رسانه مصرف میشود. بنابراین بهتر است این دادهها در قالب بستههای کوچک، فشرده شوند و در انتهای گیرنده از حالت فشرده خارج شده و با طول اصلی خود دریافت شوند.
۷. لایهٔ کاربرد (Application Layer)
خیلی خوش آمدید به آخرین و بالاترین لایه مدل OSI، یعنی لایه برنامه یا اپلیکیشن! لایهای که سروکارش با کاربران نهایی و برنامههای کاربردی و ارتباط برقرار کردن با آنها است.
این لایه به کاربران شبکه، دسترسی و یک رابط مستقیم میدهد. کاربران میتوانند در این لایه مستقیماً به شبکه دسترسی داشته باشند. مثلاً وقتی شما ایمیل خود را باز میکنید و فایلهای داده را به اشتراک میگذارید یا با فایل زیلا بستهٔ FTP حاوی فایلهای خود را جابهجا میکنید؛ از دسترسی که این لایه به شما میدهد استفاده میکنید.
البته این را هم بگوییم که همهٔ اطلاعات این لایه هم مبتنی بر کاربر نیست و ممکن است نرمافزار هم در این لایه اعمال شود. مثلاً نمیشود همهٔ انواع نرمافزار طراحی را در این لایه قرارداد. در حالی که وقتی از طریق مرورگر هم به ابزارهای آنلاین دسترسی پیدا میکنیم، درواقع در همین لایه هستیم. چرا که یک مرورگر شبکه از HTTP (پروتکل انتقال ابرمتن) استفاده کرده و در یک پروتکل لایه کاربرد قرار دارد.
بنابراین صرفنظر از نرمافزار مورد استفاده، این در واقع پروتکل استفاده شده توسط نرمافزار است که در لایهٔ اپلیکیشن در نظر گرفته میشود.
برنامههای تست نرمافزار هم روی این لایه کار میکنند، زیرا لایهٔ برنامه رابطی را برای کاربران نهایی خود فراهم میکند تا سرویسها و کاربردهای آنها را آزمایش کنند. پروتکل HTTP بیشتر برای آزمایش در این لایه استفاده می شود، اما FTP، DNS، TELNET نیز میتوانند بر اساس نیاز سیستم و شبکهای که در آن کار میکنند استفاده شوند.
این هم از ۷ لایه شبکه در مدل OSI! وقتش رسیده است که به سراغ سوالات و ابهاماتی که پیرامون این لایهها وجود دارند برویم.
مقایسۀ مدل osi و tcp/ip
TCP/IP و OSI هر دو از پرکاربردترین مدلهای شبکه برای ارتباطات هستند. با این وجود، مرجع OSI عملکردهای یک سیستم مخابراتی یا شبکهای و TCP/IP مجموعهای از پروتکلهای ارتباطی برای اتصال دستگاههای شبکه در اینترنت است. هر دو مدل در ساخت اصلی از لایههای شبکه استفاده میکنند و در هر دو لایهٔ بالایی، لایهٔ کاربردی است. حتی توابع و کارکرد آنها نیز در این مدلها مشابه هستند، زیرا هر کدام از یک لایه شبکه و انتقال برای کار استفاده میکنند. با این حال تفاوتهای اساسی نیز با یکدیگر دارند. اجازه بدهید کمی متمرکزتر به این تفاوتها و شباهتها بپردازیم.
شباهتهای مدلهای OSI و TCP/IP:
- هر دو مدل منطقی هستند.
- هر دو استانداردهایی را برای شبکه تعریف میکنند.
- هر کدام فرآیند ارتباط شبکه را در لایه ها تقسیم میکنند.
- هر دو چارچوبی برای ایجاد و پیادهسازی استانداردها و دستگاه های شبکه ارائه میدهند.
- آنها یک تولیدکننده را قادر میسازند تا دستگاهها و اجزای شبکهای را بسازد که بتوانند با دستگاهها و اجزای ساخته شده توسط سایر سازندگان همزیستی داشته باشند و کار کنند.
- هر دو توابع پیچیده را به اجزای سادهتری تقسیم میکنند.
شباهت دیگر این است که لایۀ بالایی برای هر مدل، لایه کاربردی است، که وظایف یکسانی را در هر مدل انجام میدهد، اما ممکن است با توجه به اطلاعات دریافتی هر مدل متفاوت باشد.
توابع انجام شده در هر مدل نیز مشابه است زیرا هر کدام از یک لایه شبکه و انتقال برای کار استفاده میکنند. مدل OSI و TCP/IP بیشتر برای انتقال بستههای داده استفاده میشود، اگرچه هر کدام از ابزارها و مسیرهای متفاوتی برای رسیدن به مقصد خود استفاده میکنند.
تفاوت بین مدل های OSI و TCP/IP:
- OSI از سه لایه – برنامه، ارائه و جلسه – برای تعریف عملکرد لایههای بالایی استفاده میکند، در حالی که TCP/IP فقط از لایه برنامه استفاده میکند.
- OSI از دو لایه جداگانه – فیزیکی و پیوند داده – برای تعریف عملکرد لایههای پایین استفاده میکند، در حالی که TCP/IP فقط از لایه پیوند استفاده میکند.
- OSI از لایه شبکه برای تعریف استانداردها و پروتکلهای مسیریابی استفاده میکند، در حالی که TCP/IP از لایه اینترنت استفاده میکند.
مزایا و معایب مدل OSI
مدل OSI مزایا و معایب خاص خودش را دارد. اجازه بدهید مهمترین آنها را بررسی کنیم:
مزایای مدل OSI
- این مدل، استاندارد بینالمللی شبکههای کامپیوتری را دارد.
- از خدمات بدون اتصال و اتصالمحور بهطور همزمان پشتیبانی میکند.
یعنی اگر کاربران به انتقال سریع داده نیاز دارند، میتوانند از خدمات اینترنتی استفاده کنند. در مقابل اگر قابلیت اطمینان برایشان مهمتر است، خدمات بدون اتصال را بهکار بگیرند. - این مدل انعطافپذیری بالایی در سازگاری با پروتکلهای مختلف دارد.
- مدل OSI سازگارتر و ایمنتر از سرویسهای یک لایه است.
معایب مدل OSI
- OSI هیچ پروتکل خاصی را تعریف نمیکند.
- لایهٔ نشست که برای مدیریت سشن استفاده میشود و لایهٔ ارائه که با تعامل کاربر سروکار دارد به اندازهٔ سایر لایهها در مدل OSI کاربرد ندارد.
- برخی از سرویسها در لایههای مختلف مثل لایههای انتقال و دیتالینک کپی میشوند.
- لایهها نمیتوانند بهصورت موازی کار کنند. یعنی هر لایه باید منتظر بماند تا دادههای لایهٔ قبلی را دریافت کند تا کارش را شروع کند.
در نهایت مدل OSI چه تأثیری در کار من خواهد داشت؟
خیالتان راحت! این که با وجود خواندن توضیح کامل مدل osi، هنوز این سوال در ذهنتان باشد که «خب حالا چه؟» کاملاً طبیعی است. رفع مشکلات شبکه، بهخودی خود گیجکننده است و ممکن است در مواجه با این مشکلات ندانید باید از کجا شروع کنید. مدل OSI به شما کمک میکند بفهمید مشکل احتمالاً از کجا ناشی میشود و پروسهٔ کوتاهتری برای حل آن طی کنید.
مثلاً اگر یکی از مشتریان نمیتواند به سایت شما دسترسی پیدا کند، میدانید که یک دستگاه از شبکه جدا شده و احتمالاً مشکل در لایهٔ برنامه است. بعد پس از انجام تست با مرورگرهای مختلف، میفهمید که مشکل هنوز سرجایش است. پس لایهٔ برنامه رد میشود و به سراغ لایهٔ ارائه میروید و راهکارهای خاص آن را تست میکنید. به این ترتیب شناخت لایهها به تصمیمات هوشمندانهتر و صرف زمان و انرژی کمتر در زندگی واقعی منجر میشود.
ممکن است بگویید که تاکنون بدون این مدل هم خیلی ساده به این سوالات پاسخ میدادید. اما یادتان باشد که بعدها حین فعالیت حرفهای در کسبوکارهای بزرگ فناوری از خودتان بابت این دانش تشکر خواهید کرد.
برای نوشتن این مقاله از منابع زیادی مثل سایت Software Testing Help کمک گرفتیم.
سوالات پرتکرار
۱. مدل osi به زبان ساده چیست؟
OSI یک مدل بصری از ۷ لایهٔ تشکیلدهندهٔ شبکه است که در آن فرآیندهای هر یک از لایههای فیزیکی، دیتالینک، شبکه، انتقال، نشست، ارائه و کاربرد بهتصویر کشیده میشود. علاوهبراین ارتباط لایهها مشخص میشود. با خواندن توضیح کامل مدل osi میتوانید منشأ مشکلات شبکه را باسرعت و دقت بالاتری تشخیص بدهید.
۲. ارتباط مدل osi و tcp/ip چیست؟
مدل OSI و TCP دو مدل مختلف برای توصیف و ارتباط با شبکه کامپیوتری هستند. این دو مدل به صورت موازی و مستقل از یکدیگر توسعه یافتهاند اما در برخی نقاط همپوشانی یا همکاری دارند. مثلاً در برخی لایههای OSI فرآیندها با کمک TCP/IP انجام میشوند.
۳. پروتکل icmp در کدام لایه مدل osi کار میکند؟
پروتکل ICMP در لایه شبکه (Network Layer) مدل OSI بهعنوان یک پروتکل ارتباطی از زیرساخت اینترنت برای ارسال پیامهای خطا و اطلاعرسانی درباره وضعیت شبکه استفاده میشود. این پروتکل میتواند در مسیریابی بستهها نیز بهعنوان ابزاری برای بررسی وضعیت دستگاههای شبکه و اتصال به آنها استفاده شود.
عالی و مفید و آموزنده
سلام آقای حقدادی عزیز
خوشحالیم که این مقاله براتون مفید بوده و ممنون که بهمون فیدبک دادید🍋
خیلی عالی بود