OSI Model
توضیح مدل OSI به زبان ساده
مدل OSI یه مفهوم توی شبکه است که برای استاندارد سازی نحوه ارتباط و انتقال دیتا طراحی شده که 7 لایه داره که هر کدوم وظایفی دارن؛ این لایه ها از لایه شماره 7 که دیتا در اونجا وارد میشه شروع میشه و به لایه 1 ختم میشه و سپس ارسال میشه به سمت مقصد و در اونجا برعکس پروسه ای که در سمت فرستنده اتفاق افتاده انجام میشه یعنی پکتی که ارسال شده از لایه 1 به سمت لایه 7 میره و سپس به دست کاربر میرسه. در ادامه لایه همراه با عملی که هر کدوم انجام میدن توضیح داده شده است.
7 – لایه اپلیکیشن (Application Layer)
لایه ای که یوزر مستقیما باهاش سروکار داره و بهش User Interface هم گفته میشه؛ این لایه بین تمام لایه ها هوشمندتره و وظیفه اش گرفتن اطلاعات از یوزر برای برقراری ارتباطه.
مثال: مرورگر، اپ های پیامرسان، ایمیل ها و تمام اپ هایی که برای ارتباط استفاده میشن توی این لایه قرار میگیرن.
6 – لایه نمایش (Presentation Layer)
اطلاعاتی که از لایه هفتم دریافت شده توی این لایه قالب بندی و آماده ارسال میشه؛ این قالب بندی شامل موارد زیر میشه:
| مورد | معنی |
|---|---|
| Compression | فشرده سازی |
| Encryption | رمزنگاری |
| Translation | ترجمه به گونه ای که دیتا برای طرفین قابل فهم باشه |
به عنوان مثال اگه فرستنده داده ها رو با ASCII بفرسته و اون یکی با EBCDIC بخونه وظیفه این لایه است که داده رو قابل فهم کنه.
اطلاعات از این لایه مستقیما وارد لایه چهارم میشه.
5 – لایه نشست (Session Layer)
وظیفه این لایه برقراری، حفظ و پایان دادن به یک ارتباطه؛ این لایه بستری برای برقراری ارتباط فراهم میکنه تا دیتا بتونه انتقال پیدا کنه.
به عنوان مثال زمانی که شما در تماس تصویری در حال مکالمه هستید، ارتباط شما توسط این لایه مدیریت میشه.
4 – لایه انتقال (Transport Layer)
اطلاعاتی که از لایه ششم دریافت شده توی این لایه بررسی میشه و اگر حجمش بیشتر از MTU باشه تکه تکه میشه.
MTU → Maximum Transmission Unit
مفهوم MTU یعنی حداکثر حجمی که یک پکت برای ارسال میتونه داشته باشه که میزانش 1500 بایت هست.
اگر حجم پکت از MTU بیشتر باشه اتفاقات زیر میفته:
- فرآیند Segmentation: دیتا به بخش هایی کوچکتر تقسیم میشه که به هر بخش یک Segment گفته میشه.
- فرآیند Sequencing: برای اینکه بخش های مختلف پکت به درستی قطعه قطعه شده و به ترتیب به سمت مقصد ارسال بشن به هر قطعه یک برچسب به نام Sequence number چسبیده میشه. در سمت مقصد هم عکس این فرآیند اتفاق میفته تا بسته به ترتیب متصل و تحویل لایه بعدی بشه.
اصلی ترین پروتوکل هایی که در این لایه استفاده میشن پروتکل های TCP و UDP هستن؛ اما تفاوت این دو کجاست؟
در زمان برقراری ارتباط، TCP اول یه SYN به سمت مقصد ارسال میکنه در صورتی که مقصد درست باشه از سمت اون یه SYN ACK ارسال میشه و ارتباط برقرار میشه و در انتها زمانی که اتصال بخواد قطع بشه FIN ارسال میشه؛ در صورتی هم که مقصد اشتباه باشه ارتباطی برقرار نمیشه. اما UDP بدون اطمینان از درست بودن مقصد پکت رو صرفا بر اساس آدرس مقصد ارسال میکنه. همین باعث شده TCP از UDP امن تر باشه و UDP سریع تر باشه.
| پروتکل | رفتار | مناسب برای |
|---|---|---|
| TCP | اول اتصال میسازد (SYN → SYN-ACK → FIN)، قابل اعتمادتر | HTTP و سرویسهای مطمئن |
| UDP | بدون اطمینان از مقصد، فقط ارسال میکند؛ سریعتر | DNS و مواردی که سرعت مهمتر است |
پروتکل هایی مثل DNS که نیاز به سرعت بیشتر دارن از UDP و پروتکل هایی مثل HTTP از TCP استفاده میکنند.
3 – لایه شبکه (Network Layer)
فرآیند Addressing و Routing توی این لایه انجام میشه.
Addressing:
آیپی مبدا و مقصد روی پکت قرار میگیره تا ارسال بشه.
Routing:
اینجا با استفاده از پروتکل های مسیریابی مثل BGP، بهترین مسیر برای ارسال پکت مشخص میشه.
2 – لایه پیوند داده (Data-Link Layer)
پس از دریافت پکت از لایه 3، توی این لایه Physical address یا آدرس مک (MAC address) فرستنده و گیرنده روی پکت قرار میگیره.
فرآیند framing هم توی این لایه انجام میشه (مربوط به network frames) و داده ها توی این لایه با نام frame شناخته میشن.
این لایه به دو زیر لایه زیر تقسیم میشه:
| زیرلایه | نام کامل |
|---|---|
| LLC | Logical Link Control |
| MAC | Media Access Control |
1 – لایه فیزیکی (Physical Layer)
این لایه هم وظیفه ارسال فریم ها به سمت مقصد رو داره. تنها لایه ای که با لایه متناظر خودش در سمت گیرنده تعامل میکنه این لایه است.
این لایه اطلاعات رو به شکل بیت های باینری، سیگنال الکتریکی، نوری یا رادیویی و به وسیله کارت شبکه، کابل و… منتقل میکنه تا به دست گیرنده برسند.
جمعبندی سریع لایهها
| لایه | نام | کار اصلی |
|---|---|---|
| ۷ | Application | تعامل با یوزر / اپ |
| ۶ | Presentation | فشردهسازی، رمزنگاری، ترجمه |
| ۵ | Session | برقراری، حفظ و پایان ارتباط |
| ۴ | Transport | TCP/UDP، Segmentation، Sequencing |
| ۳ | Network | Addressing و Routing |
| ۲ | Data-Link | MAC و Frame |
| ۱ | Physical | بیت و سیگنال فیزیکی |