لایه برنامه در لایه 7، بالاترین قسمت مدل ارتباطات اتصال سیستمهای باز (OSI) قرار دارد. اطمینان میدهد که یک برنامه میتواند به طور موثر با سایر برنامهها در سیستمهای کامپیوتری و شبکههای مختلف ارتباط برقرار کند.
لایه برنامه یک برنامه نیست. به جای آن، یک مؤلفه درون یک برنامه است که روش ارتباطی به سایر دستگاهها را کنترل میکند. این یک خدمات لایه انتزاعی است که بقیه برنامه را از فرآیند انتقال مخفی میکند.
لایه برنامه بر تمامی لایههای زیرین خود برای تکمیل فرآیند خود وابسته است. در این مرحله، داده یا برنامه به شکل بصری ارائه میشود که کاربر میتواند آن را درک کند.
عملکردهای لایه برنامه لایه برنامه وظایف زیر را انجام میدهد:
- اطمینان از شناسایی، قابل دسترسی بودن و آمادگی دستگاه گیرنده برای پذیرش دادهها؛
- در موارد مناسب، فعالسازی احراز هویت بین دستگاهها برای یک لایه امنیتی اضافی در شبکه؛
- اطمینان از وجود رابطهای ارتباطی ضروری، مانند اینکه آیا یک رابط اترنت یا وایفای در کامپیوتر فرستنده وجود دارد یا خیر؛
- اطمینان از توافق در هر دو سمت در مورد رویههای بازیابی خطا، یکپارچگی داده و حریم خصوصی؛
- تعیین قوانین پروتکل و سینتکس داده در سطح برنامه؛ و
- ارائه داده در سمت گیرنده به برنامه کاربر. دو نوع نرمافزار به شبکه در لایه برنامه دسترسی میدهند:
- برنامههای آگاه از شبکه، مانند ایمیل؛ و
- خدمات در سطح برنامه، مانند انتقال فایل یا انتظار چاپ.
چگونگی کارکرد مدل OSI در عمل
قبل از ایجاد مدل OSI، برنامهها بر روی سیستمهای جداگانه اجرا میشدند. از تکنولوژیهای شبکه مختلفی استفاده میکردند که نمیتوانستند با یکدیگر ارتباط برقرار کنند یا اطلاعات را مبادله کنند.
برای حل این مسئله، سازمان بینالمللی استاندارد یک رویکرد لایهای طراحی کرد تا تغییرات در تکنولوژی را جا بدهد. این مسئله ناهماهنگیهای تکنولوژی را تجزیه میکند تا تبادل اطلاعات بیشتری را تسهیل کند.
دستگاهها، مانند مسیریابها و سوئیچها، پروتکلهای OSI را در فریمور خود تعبیه کردهاند تا شبکهسازی کامپیوتری بین سیستمها و زیرساختهای شبکه را تسهیل کنند. برنامهها پروتکلها را شامل میشوند تا فرآیند انتقال داده با لایههای OSI پایینتر را تسهیل کنند.
هر یک از لایههای مدل OSI وظایف مختلف شبکه را انجام میدهد. این کار را با انتقال اطلاعات خاص بین لایههای بالا و پایین در طول پردازش داده و تبادل اطلاعات انجام میدهند.
لایههای OSI و وظایف آنها در یک شبکه ارتباطی هفت لایه OSI به شرح زیر است:
لایه فیزیکی. در لایه فیزیکی، دستگاهها مانند شبکه محلی یا مسیریاب به طور فیزیکی به یک شبکه متصل میشوند.
لایه پیوند داده. لایه پیوند داده تعریف میکند چگونه دادهها بر روی یک پیوند اتصال منتقل میشوند.
لایه شبکه. لایه شبکه تعیین میکند چگونه پیامها در یک شبکه حرکت میکنند، مانند حرکت دادهها از ابتدا تا انتها با استفاده از آدرسهای منطقی.
لایه انتقال. لایه انتقال بازیابی خطا را تسهیل میکند و بستههای دادهای که در ترتیب اشتباه هستند را مرتب میکند.
لایه جلسه. لایه جلسه تمام مراحل یک جلسه را مدیریت میکند، از جمله راهاندازی، توابع کنترل در حین فرآیند و تخریب پیام، و پشتیبانی از انتقال همزمان چندین پیام دوطرفه.
لایه ارائه. لایه ارائه پشتیبانی از قالببندی پیام و رمزگذاری را انجام میدهد.
لایه برنامه. این لایه ارتباط با برنامههای در حال اجرا بر روی سایر کامپیوترها را تسهیل میکند.
مثالهایی از پروتکلهای لایه برنامه لایه برنامه با دو زیرلایه توسعه یافته است:
عنصر خدمات برنامه مشترک (CASE) خدماتی برای لایه برنامه فراهم میکند و از لایه جلسه خدمات میطلبد. فعالیتهای آن شامل کنترل عملیات از راه دور و انتقال دادهها است. خدمات CASE برای نیازهای متنوع برنامه کاربرد دارد. عنصر خدمات برنامه خاص (SASE) خدمات خاص برنامه را فراهم میکند، مانند انتقال فایل، دسترسی از راه دور به پایگاه داده، اطلاعات مدیریت برنامه و پردازش معاملات. پروتکلهای اولیه لایه برنامه که توسط گروه مهندسی اینترنت در درخواست برای نظرات 1233 مشخص شدهاند، شامل چهار مورد زیر است - هر یک از آنها همچنان در حال استفاده است:
پروتکل انتقال فایل یا FTP، فعالیتهای انتقال فایل را انجام میدهد. پروتکل انتقال پست الکترونیکی ساده یا SMTP، حرکت ایمیل الکترونیکی را انجام میدهد. سیستم نام دامنه یا DNS، نام مورد استفاده برای یک وبسایت را به آدرس IP آن نگاشت میکند. پروتکل مدیریت شبکه ساده یا SNMP، مدیریت میزبان از راه دور را فراهم میکند. در اینجا برخی از مثالهای معروف پروتکلهای لایه برنامه که امروزه در حال استفاده هستند آورده شده است:
بیتکوین برای ارز دیجیتال؛ پروتکل انتقال هایپرتکست برای ارتباطات پیام؛ H.323 برای ارتباطات مبتنی بر بسته، مانند صدا بر IP؛ پروتکل دسترسی دایرکتوری سبک برای پرسشهای اطلاعات کاربر؛ سیستم فایل شبکه برای ذخیرهسازی و بازیابی دادهها از رسانههای مختلف؛ فراخوانی رویه از راه دور برای اجرای یک رویه یا زیربرنامه روی یک سیستم یا شبکه متفاوت؛ و پروتکل خدمات پیام X.400 که انتقال ایمیل بین سیستمهای سازگار را تسهیل میکند. تعداد زیادی از پروتکلهای ارتباطی و روشهای رابط بر اساس مدل OSI توسعه یافتهاند. امروزه، ارتباط با میزبانهای از راه دور رایج است و از یک مرورگر وب، لایه برنامه و شش لایه مکمل دیگر استفاده میکند.