مدل OSI: توضیح هفت لایه
مدل OSI ارتباط شبکه را به هفت لایه تقسیم میکند، از کابل فیزیکی (لایه 1) تا برنامه کاربردی (لایه 7). هر لایه یک وظیفه دارد و فقط با لایههای بلافاصله بالا و پایین خود صحبت میکند. این مدل ابزاری آموزشی و عیبیابی است؛ اینترنت واقعی از مدل سادهتر چهارلایه TCP/IP استفاده میکند.
هفت لایه
داده در سمت فرستنده از لایهها پایین میرود و هر لایه سرآیند (header) خود را اضافه میکند. به این کار encapsulation (کپسولهسازی) میگویند. گیرنده سرآیندها را به ترتیب عکس حذف میکند. واحد داده در هر لایه PDU (protocol data unit) نام دارد.
| لایه | نام | PDU | پروتکلهای نمونه | دستگاههای رایج |
|---|---|---|---|---|
| 7 | کاربرد (Application) | داده (Data) | HTTP, DNS, SMTP, SSH | پراکسی، فایروال برنامه |
| 6 | نمایش (Presentation) | داده (Data) | TLS (تا حدی)، کدگذاری نویسهها، MIME | - |
| 5 | نشست (Session) | داده (Data) | RPC, NetBIOS session, TLS (تا حدی) | - |
| 4 | انتقال (Transport) | سگمنت (TCP) یا دیتاگرام (UDP) | TCP, UDP | فایروال، توزیعکننده بار |
| 3 | شبکه (Network) | بسته (Packet) | IP, ICMP, OSPF | مسیریاب، سوئیچ لایه 3 |
| 2 | پیوند داده (Data link) | فریم (Frame) | Ethernet, Wi-Fi (802.11), ARP | سوئیچ، اکسس پوینت |
| 1 | فیزیکی (Physical) | بیت (Bit) | کابلکشی Ethernet، فیبر نوری، رادیو | کابل، هاب، تکرارکننده |
مقایسه OSI با TCP/IP
مدل TCP/IP چهار لایه دارد و با نحوه ساخت واقعی پروتکلها مطابقت بیشتری دارد. این نگاشت تقریبی است:
| لایه TCP/IP | لایههای OSI |
|---|---|
| کاربرد (Application) | 7, 6, 5 |
| انتقال (Transport) | 4 |
| اینترنت (Internet) | 3 |
| پیوند (دسترسی به شبکه) | 2, 1 |
بعضی کتابها TCP/IP را پنجلایه نشان میدهند و لایه پیوند را به پیوند داده و فیزیکی تقسیم میکنند. در کار روزمره هنوز از عبارتهایی مانند «سوئیچ لایه 2» یا «فایروال لایه 7» با شمارههای OSI استفاده میشود، پس دانستن هر دو مدل مفید است.
وقتی یک وبسایت را باز میکنید چه اتفاقی میافتد
فرض کنید https://example.com را در مرورگر وارد میکنید.
- لایه 7: مرورگر به یک آدرس نیاز دارد، پس یک پرسوجوی DNS برای example.com میفرستد. بعداً یک درخواست HTTP میفرستد.
- لایه 6/5: یک TLS handshake کلیدهای رمزنگاری را توافق میکند و گواهی سرور را بررسی میکند.
- لایه 4: TCP با یک دستدهی سهمرحلهای (SYN، SYN-ACK، ACK) اتصالی به پورت 443 باز میکند و داده را به سگمنتها تقسیم میکند.
- لایه 3: IP آدرسهای مبدأ و مقصد را در بستهها قرار میدهد. مسیریابها آنها را گامبهگام جلو میبرند.
- لایه 2: روی هر پیوند، بسته داخل یک فریم با آدرسهای MAC قرار میگیرد. در شبکههای IPv4، ARP آدرس MAC گام بعدی را پیدا میکند.
- لایه 1: فریم به سیگنال الکتریکی، پالس نور یا موج رادیویی تبدیل میشود.
در سمت سرور، همین مراحل به ترتیب عکس و از لایه 1 تا لایه 7 اجرا میشود.
هر ابزار کدام لایه را آزمایش میکند؟
هر بررسی شبکه ثابت میکند که لایهها تا یک نقطه مشخص سالم کار میکنند. جدول نشان میدهد ابزارهای ما کجا قرار میگیرند.
| ابزار | لایه | چه چیزی را ثابت میکند |
|---|---|---|
| Ping | 3 (ICMP) | میزبان در سطح IP در دسترس است و یک رفتوبرگشت چقدر طول میکشد |
| Traceroute | 3 | کدام مسیریابها روی مسیر هستند و تأخیر یا افت بسته از کجا شروع میشود |
| بررسی پورت | 4 (TCP) | میتوان یک اتصال TCP به پورت مشخص برقرار کرد |
| بررسی SSL | 6/5، روی 4 | TLS handshake کار میکند و گواهی معتبر است |
| هدرهای HTTP | 7 | وبسرور پاسخ میدهد و چه وضعیت و هدرهایی میفرستد |
| بررسی DNS | 7 | نیمسرورها رکوردهای مورد انتظار را برمیگردانند |
سه نکته نیاز به دقت دارند:
- TLS در یک لایه جا نمیگیرد. در مدل OSI اغلب در لایه 6 (رمزنگاری و نمایش) و گاهی در لایه 5 (نشست) قرار میگیرد. در مدل TCP/IP صرفاً بخشی از لایه کاربرد است که روی TCP اجرا میشود. برای عیبیابی همین کافی است که بدانید TLS بعد از TCP و پیش از HTTP کار میکند.
- Ping ممکن است روی میزبان سالم شکست بخورد. بسیاری از فایروالها درخواستهای ICMP echo را حذف میکنند. شکست ping همیشه به معنی از کار افتادن میزبان نیست، پس پورت را هم بررسی کنید. همچنین traceroute از فیلد TTL در بستههای IP و پاسخهای ICMP time-exceeded استفاده میکند و بعضی مسیریابها پاسخ نمیدهند که در خروجی به شکل یک شکاف دیده میشود.
- DNS در لایه 7 کار میکند با اینکه پیش از هر چیز دیگری به آن نیاز است. معمولاً از UDP پورت 53 و برای پاسخهای بزرگ و انتقال zone از TCP پورت 53 استفاده میکند.
عیبیابی از پایین به بالا
یک روش قابلاعتماد این است که از لایه 1 شروع کنید و به سمت بالا بروید. هر گام یک گروه کامل از علتهای ممکن را حذف میکند.
- لایه 1: آیا کابل وصل است، Wi-Fi روشن است و چراغ پیوند روشن است؟
- لایه 2: آیا دستگاه به سوئیچ یا اکسس پوینت پیوند دارد؟ VLAN درست است؟ آدرس MAC تکراری یا گذرواژه اشتباه Wi-Fi را بررسی کنید.
- لایه 3: آیا دستگاه آدرس IP، ماسک و gateway معتبر دارد؟ آیا میتواند gateway و سپس یک آدرس بیرونی مانند
192.0.2.1را ping کند؟ اگر مسیر در میانه قطع میشود از traceroute استفاده کنید. برای اشتباههای رایج آدرسدهی، آدرس IP چیست و زیرشبکهبندی را ببینید. - لایه 4: آیا پورت باز است و فایروال آن را مسدود نکرده است؟ پورتهای شناختهشده را ببینید.
- لایههای 5-6: آیا TLS handshake موفق است؟ به دنبال گواهی منقضیشده، نام اشتباه یا نسخه پروتکل پشتیبانینشده بگردید.
- لایه 7: آیا نام resolve میشود و برنامه پاسخ درستی برمیگرداند؟
در عمل میتوانید از بالا به پایین هم پیش بروید یا مسئله را از میانه نصف کنید: اگر بررسی پورت موفق باشد، لایههای 1 تا 4 سالم هستند و میتوانید روی برنامه تمرکز کنید.