مدل OSI

مدلOSI  (Open System Interconnection)  یک مدل مرجع است که برای ساده سازی و تفهیم بهتر عملکرد شبکه ها طراحی شده. این مدل مثل یه نقشه ساختمانی برای معمارهاست، برنامه نویسا هم برای طراحی برنامه های مبتنی بر شبکه از این مدل استفاده می‌کنند.
توی این مدل پروتکل ها و عملکردهای مشابه باهم دسته بندی میشن و به صورت پشته ای از پروتکل ها در هفت لایه قرار میگیرن.هر کدوم از این لایه ها وظایف مشخصی دارند و به نوعی در فرآیندانتقال دیتا اثر میذارن.
دیتای تولید شده توسط کامپیوتر از لایه هفت که بالاترین لایه است شروع به حرکت میکنه، درهر لایه header متناسب با اون لایه به دیتا اضافه میشه و دیتا به لایه پایینی تحویل داده میشه.در سمت مقصد هم دیتا از لایه یک به سمت بالا حرکت میکنه، در هر لایه هدر مربوطه خونده میشه و سپس از دیتا جدا میشه و به لایه بالاتر تحویل داده میشه.

توی برخی از منابع، لایه ها رو از جهت شباهت عملکرد به دو دسته ی بالایی و پایینی تقسیم میکنند.لایه های بالایی شامل لایه های 7،6،5 و لایه های پایینی شامل لایه های 3،2،1  میشه. لایه 4 نیز عملکردی مابین این دوقسمت داره اما چون خدمات انتقال رو برای لایه های پایینی فراهم میکنه،ما هم این لایه رو در دسته پایینی قرار میدیم.
حالا بریم یه نگاهی به شرح وظایف هر کدوم از این لایه ها بندازیم.

لایه کاربرد (Application Layer)

 هفتمین و بالاترین لایه از مدل OSI لایه کاربرد یا Application هست. این لایه نزدیکترین لایه به کاربره و کاربر به وسیله اپلیکیشن ها (مثل مرورگر وب یا کلاینت های ایمیل) با اون در ارتباطه. این لایه سرویس های مورد نیاز برای اپلیکیشن ها رو فراهم میکنه. در واقع پروتکل های برنامه های کاربردی توی این لایه قرار دارن، نه خود برنامه ها. برای مثال پروتکل HTTP که به برنامه هایی مثل Firefox وChrome و… سرویس میده.

لایه ارائه (Presentation Layer)

اولین وظیفه این لایه Encoding و Decoding است. یعنی دیتای دریافت شده از لایه کاربرد رو به کدهای قابل نمایش برای دستگاه های مختلف درون شبکه تبدیل میکنه. توافقات Encoding و فرمت فایل های مختلف توی این لایه انجام میشه و در صورتی که این توافقات به درستی انجام نشه، برنامه ها دچار مشکل میشن و ممکنه کاراکترهای نامفهوم رو نمایش بدن.
وظیفه دیگه این لایه Compression و (Decompression) است. یعنی برای انتقال بهتر دیتا ممکنه حجم دیتا بوسیله ی یک الگوریتم ریاضی فشرده بشه و در سمت مقصد دوباره به اندازه اصلی برگردونده بشه.
همچنین رمزنگاری (Encryption) دیتا از کارهای دیگه این لایه است که فقط روی دیتاهایی انجام میشه که امنیت برای اونها اهمیت داره. برای مثال http به صورت متن باز (plain text) کار میکنه اما https از رمزنگاری برای ارسال داده های خودش استفاده میکنه.

لایه نشست (Session Layer)

تمرکز فعالیت های این لایه روی کانال ارتباطی بین دو اپلیکیشنه. این لایه با بررسی ویژگی های مورد نیاز برای ایجاد یک نشست، مثل سرویس های مورد نیاز، بررسی اعتبار کاربر، دستگاه شروع کننده ارسال و… کانال ارتباطی سالمی رو برقرار میکنه. همچنین با انجام وظایفی مثل دریافت Ack برای دیتای ارسالی، برقراری دوباره ارتباط قطع شده و… به مدیریت کانال میپردازه و در نهایت با اتمام ارسال دیتا کانال رو میبنده.

لایه انتقال (Transport Layer)

چهارمین لایه از مدل osi، لایه انتقاله که مثل یک رابط بین لایه های عملیاتی پایین و لایه های منطقی بالا عمل میکنه. اولین وظیفه این لایه قطعه قطعه کردن دیتای ورودی از لایه بالایی (segmentation) و سرهم کردن دوباره این دیتاهای خورد شده در سمت مقصده (Reassembly) که به هریک از این دیتاهای خورد شده segment میگن.
همچنین برای جداسازی دیتاها و مشخص کردن این که هر دیتا درسمت مقصد باید به کدام برنامه تحویل داده بشه، به دیتای دریافتی از هر برنامه یک شماره پورت اختصاص میده. با استفاده از این شماره پورت ها، کامپیوتر مقصد که بسته های مختلفی از کامپیوتر ها و برنامه های متفاوت دریافت میکنه، میتونه بسته های ورودی رو جداسازی کنه و به برنامه های درست تحویل بده. 
توی این لایه دوپروتکل مهم TCP و UDP مطرح میشن که وظیفه های مهمی برعهده دارن. UDP یک پروتکل غیراتصال گراست (Connectionless) .به این معنی که برای ارسال دیتا نیازی به برقراری ارتباط اولیه با مقصد نداره و فقط شروع به ارسال داده های خودش میکنه، بدون اینکه از رسیدن بسته ها به مقصد مطمئن بشه. توی این پروتکل سرعت ارسال داده از سلامت ارسال داده مهمتره. به همین دلیل درصورتی که بسته ها درمیان راه از بین بره، اقدام به ارسال مجدد اونها نمیکنه. مثال استفاده از UDP رادیو است که در صورت قطع چند لحظه ای صدا، صدای قطع شده رو نمیتونیم دوباره دریافت کنیم.
اما TCP به گونه ای متفاوت عمل میکنه و از دو مکانیزم Acknowledgement و Retransmission timer برای مطمئن شدن از رسیدن بسته ها به مقصد استفاده میکنه. این پروتکل قبل از ازسال بسته ها به روش Three-way handshake اتصال با مقصد را برقرار میکنه و پس از انجام توافقات، اقدام به ارسال داده ها میکنه. بسته ها در تعدادمشخصی (که در فرآیند three-way handshake توافق شده) ارسال میشن و گیرنده در صورت دریافت کامل بسته ها پیغام Ack ، مبنی بر دریافت بسته ها رو به فرستنده ارسال میکنه و فرستنده هم اقدام به ارسال ادامه ی بسته ها میکنه. در صورتی که فرستنده Ack بسته های ارسالی خود را درزمانی که مشخص شده (Retransmission timer) دریافت نکنه، اقدام به ارسال مجدد بسته ها میکنه و به همین ترتیب از دریافت بسته ها درسمت مقصد مطمئن میشه. همچنین پروتکل TCP با توجه به ترافیک عبوری از شبکه میتونه میزان بسته های ارسالی رو تغییر بده و جریان عبوری از شبکه رو کنترل کنه تا از سرریز و از دست رفتن بسته ها جلوگیری کنه(Flow Control).

 

لایه شبکه (Network Layer)

لایه شبکه نحوه عملکرد شبکه ها و اینکه چگونه دیتا از یک دستگاه به دستگاه دیگه منتقل میشه رو توضیح میده. همانطور که میدونیم هر دستگاه درون شبکه دارای یک آدرس هست که دستگاه ها رو صرف نظر از محل قرار گیریشون مشخص میکنه و مسیریابی با استفاده از این آدرس انجام میشه. از معروف ترین پروتکل های آدرس دهی که امروزه کاربرد دارد IP (Internet Protocol) است.
مسیریابی(Routing) :از مسئولیت های مهم این لایه مسیریابیه. دستگاه های مسیریاب(Router) که توی این لایه کار میکنن، با ذخیره کردن آدرس شبکه های مختلف توی جدولی به نام Routing table ،بسته های دریافتی از منابع مختلف رو به سمت مقصد ارسال میکنن؛ ویا بسته ها رو به روتری هدایت میکنند که از طریق اون، بسته ها بتونن به مقصد مورد نظر خودشون برسند.
Fragmentation:لایه شبکه باید دیتای کپسوله شده ی خودش رو به لایه پایینی یعنی Data link بده. اما بعضی از تکنولوژی های مورد استفاده توی لایه 2، دارای محدودیت در سایز بسته دریافتی هستن. به خاطر همین لایه شبکه مسئوله تا قبل از ارسال دیتا درصورت لزوم اون رو قطعه قطعه کنه که به این عمل در لایه 3 Fragmentation میگن و به هر قطعه از دیتا در این لایه packet گفته میشه.

لایه پیوند داده (Data Link)

لایه پیوند داده مسئولیت مشخص کردن تکنولوژی و متد انتقال رو در شبکه به عهده داره تا همه ی دستگاه های درون شبکه بتونند هماهنگ باهم کار کنند. بعضی از تکنولوژی های مورد استفاده توی این لایه عبارت اند از:802.11(Wi-Fi),DSL,3G,Ethernet …
آدرس دهی فیزیکی(Physical Addressing) :لایه پیوند داده برای آدرس دهی به دستگاه های درون شبکه داخلی که به یکدیگر وصل هستند از آدرس دهی فیزیکی استفاده میکنه که این آدرس بسته به تکنولوژی مورد استفاده متفاوت میشه. برای مثال تکنولوژی Ethernet از mac که یک آدرس 48 بیتی در مبنای هگزا دسیماله و به صورت فیزیکی روی کارت شبکه نوشته شده استفاده میکنه.
تفاوتی که این لایه با لایه های دیگه  مدل OSI داره اینه که این لایه علاوه بر چسباندن header به ابتدای دیتا، یک فوتر (trailer) هم در انتهای فریم اضافه میکنه که وظیفه تشخیص خطا رو برعده داره و با نام FCS (Frame Check Sequence) شناخته میشه.

لایه فیزیکی (Physical Layer)

پایین ترین لایه و به نوعی سخت افزاری ترین لایه در مدل OSI ، لایه فیزیکیه. این لایه بیت های دریافتی از لایه های بالاتر رو به سیگنال های مناسب با استاندارد های شبکه تبدیل میکنه و روی کابل های انتقال برای ارسال قرار میده.
یک نکته رو در مورد این لایه باید در نظر داشت که این لایه نمیتونه مستقل از لایه 2 عمل کنه و سخت افزار های مورد استفاده در اون وابسته به نوع تکنولوژی انتخاب شده توی لایه 2 است. مثل Ethernet که کابل، سوکت و… خاص خودش رو میطلبه.

ایجاد کامنت

سبد خرید
زمینه‌های نمایش داده شده را انتخاب نمایید. بقیه مخفی خواهند شد. برای تنظیم مجدد ترتیب، بکشید و رها کنید.
  • تصویر
  • شناسۀ محصول
  • امتیاز
  • قيمت
  • موجودی
  • دسترسی
  • افزودن به سبد خرید
  • توضیح
  • محتوا
  • وزن
  • اندازه
  • اطلاعات اضافی
برای مخفی‌کردن نوار مقایسه، بیرون را کلیک نمایید
مقایسه