Application Layer Protocols

آشنایی با پروتکل‌های کاربردی

فهرست مطالب

پروتکل‌های کاربردی بخشی مهم از شبکه‌های کامپیوتری محسوب می‌شوند. این پروتکل‌ها امکان ارتباط و تبادل اطلاعات را میان برنامه‌ها و سیستم‌های گوناگون فراهم می‌آورند. در این مقاله به معرفی پروتکل‌های کاربردی، عملکرد آن‌ها و همینطور معرفی رایج ترین مدل‌های آن‌ها می‌پردازیم، پس با ما همراه باشید.

پروتکل‌های کاربردی چیست؟

به مجموعه‌ای از قوانین و استانداردها که چگونگی ارتباط برنامه‌ها و سیستم‌های مختلف با یکدیگر از طریق شبکه را مشخص می‌سازند، پروتکل می‌گویند. همچنین این پروتکل‌ها مواردی چون فرمت و ساختار داده‌هایی را که میان برنامه‌ها مبادله می‌شود و همینطور قوانین انتقال، دریافت و تفسیر آن داده‌ها را مشخص می‌کند.

هدف از این پروتکل‌ها اطمینان از ایمنی در انتقال داده به گونه‌ای ایمن و موثر در میان برنامه‌ها و سیستم‌ها در یک شبکه می‌باشد. برنامه‌ها با رعایت قوانین و چهارچوب‌هایی خاص می‌توانند به شکلی موثر با یکدیگر ارتباط برقرار نمایند. که این امر برای عملکرد شبکه‌های مدرن و اینترنت مسئله‌ای مهم به حساب می‌آید.

 

پروتکل‌های کاربردی چگونه کار می‌کنند؟

پروتکل‌های کاربردی با تعریف مجموعه‌ای از قوانین و استانداردها برای انتقال و دریافت داده‌ها بین برنامه‌ها کار می‌کنند. این مجموعه از قوانین مواردی چون قوانین فرمت و ساختار داده‌ها و همچنین روش‌های انتقال، دریافت و تفسیر آن داده‌ها را مشخص می‌سازد.

برای برقراری ارتباط میان دو برنامه بایستی در ابتدا از پروتکل حمل و نقل مثل TCP  یا UDP برای برقراری اتصال استفاده نمایند. در زمان برقراری این اتصال برنامه‌ها قادرند با کمک پروتکل مناسب به تبادل داده‌ها بپردازند.

برای مثال زمانی که شما می‌خواهید به صفحه ای از وب دسترسی یابید در ابتدا مرورگر با کمک پروتکل HTTP درخواستی را برای وب سرور می‌فرستد و بعد از آن نیز وب سرور با استفاده از آن پروتکل با صفحه ی وب مد نظر پاسخ می‌دهد و داده‌ها به وسیله ی پروتکل حمل و نقل (TCP) منتقل خواهند شد.

پروتکل‌های کاربردی متداول

پروتکل‌های کاربردی متفاوتی در شبکه مورد استفاده قرار می‌گیرند که هر کدام از آن‌ها هدف و قوانین خاص خود را دارند. در این بخش به معرفی بعضی از متداول ترین پروتکل‌های کاربردی می‌پردازیم :

  • HTTP

HTTP مخفف عبارت Hypertext Transfer Protocol، از پرکاربردترین پروتکل‌های کاربردی به حساب می‌آید که وظیفه ی آن انتقال صفحات وب و دیگر محتواها میان وب سرورها و دیگر مرورگرهای وب می‌باشد. این پروتکل تمامی درخواست‌های مد نظر شما را مستقل از دیگر درخواست‌ها پاسخ می‌دهد. درخواست‌های HTTP، با استفاده از یک URL که آدرس صفحه وب را به همراه هر پارامتر اضافی مشخص می‌کند، انجام می‌شود. این پروتکل مسئول نحوه نمایش صفحات وب بر روی صفحه نمایش کاربر است و برای انتقال فایل، ایمیل و سایر ارتباطات مبتنی بر وب کاربرد دارد.

http
  • FTP (File Transfer Protocol)

FTP پروتکلی است که برای انتقال فایل‌ها به وسیله ی اینترنت صورت می‌گیرد و چگونگی انتقال فایل‌ها از جمله روش‌های احراز هویت، انتقال فایل و تشخیص خطا را مشخص می‌سازد. با توجه به پیکربندی شبکه و الزامات امنیتی، FTP می‌تواند در حالت فعال یا غیرفعال عمل کند. از FTP برای آپلود و دانلود فایل‌ها از یک سرور راه دور استفاده می‌شود. به عبارتی FTP راهی امن برای انتقال فایل‌ها بین دستگاه‌های مختلف را فراهم می‌کند.

  • (SMTP (Simple Mail Transfer Protocol

SMTP پروتکلی برای ارسال و دریافت پیام‌های ایمیل به حساب می‌آید که چگونگی انتقال پیام‌ها میان سرورهای ایمیل و کلاینت‌ها را مشخص می‌سازد. این پروتکل پیام گراست، یعنی برای انتقال پیام‌های فردی به جای جریان‌های داده طراحی شده است. در اکثر مواقع سرورهای SMTP از احراز هویت و رمزگذاری برای اطمینان از امنیت پیام‌های در حال انتقال استفاده می‌کنند.

  • SSH (Secure Shell)

SSH پروتکلی است که از آن برای دسترسی از راه دور به سرورها و دیگر دستگاه‌های شبکه استفاده می‌شود. این پروتکل تونلی امن برای انتقال داده‌ها فراهم می‌آورد، پس دسترسی امنی محسوب می‌شود. SSH برای محافظت از داده‌ها به رمز گذاری می‌پردازد و در راستای جلوگیری از دسترسی‌های غیر مجاز مکانیسم‌های اهراز هویت قوی‌ای را آماده می‌سازد.

  • (Domain Name System) DNS

DNS  از جمله پروتکل‌های کاربردی برای ترجمه ی نام دامنه‌ها به آدرس IP محسوب می‌شود و توسط مرورگرهای وب برای تعیین مکان سرورهای میزبان وب سایت‌هایی که کاربران می‌خواهند به آن‌ها دسترسی داشته باشند استفاده می‌شود. 

  • SNMP (Simple Network Management Protocol)

از این پروتکل برای مدیریت و نظارت بر دستگاه‌های شبکه همچون روترها،سوئیچ‌ها و سرور‌ها استفاده می‌شود. SNMP این امکان را برای مدیران فراهم می‌آورد تا بتوانند عملکرد و وضعیت دستگاه‌های شبکه را نظارت کنند و از راه دور آن‌ها را مدیریت و پیکربندی نمایند. SNMP با بهره برداری از معماری Client Server با عوامل SNMP ارتباط برقرار می‌کند تا وضعیت و داده‌های عملکرد را بازیابی کند.

  • POP (Post Office Protocol)

از POP برای بازیابی پیام‌های ایمیل از سرور ایمیل استفاده می‌شود. که این امکان را برای کاربران فراهم می‌آورد تا بتوانند ایمیل‌های خود را دانلود و مطالعه نمایند.

  • IMAP (Internet Message Access Protocol)

پروتکلی دیگر برای بازیابی ایمیل‌ها از سرور ایمیل محسوب می‌شود. این پروتکل بر خلاف POP که پیام‌ها را در رایانه محلی خود دانلود و از سرور حذف می‌کند، این فرصت را برای شما فراهم می‌آورد تا بتوانید پیام‌های خود را به صورت مستقیم روی سرور مدیرت نمایید. یعنی اگر شما از دستگاه‌های مختلفی همچون لپ تاپ، تلفن همراه و… به ایمیل خود دسترسی دارید تغییراتی که در یک دستگاه در ایمیل خود ایجاد می‌کنید در دیگر دستگاه‌ها نیز منعکس خواهند شد.

  • DHCP (Dynamic Host Configuration Protocol)

از DHCP برای اختصاص دادن خودکار آدرس‌های IP به دستگاه‌های موجود در شبکه استفاده می‌شود و این امکان را فراهم می‌آورد تا دستگاه‌ها به یک شبکه اتصال یابند و یک آدرس IP را بدون نیاز به پیکربندی دستی دریافت نمایند.

  • Telnet

از پروتکل Telnet برای برقراری ارتباط میان دو دستگاه به وسیله ی شبکه‌ای مانند اینترنت استفاده می‌شود. که این فرصت را برای کاربر فراهم می‌آورد تا بتواند از راه دور به دیگر دستگاه‌ها همانند سرور و غیره دسترسی یابد و آن را کنترل نماید. برای استفاده از Telnet، کاربر باید یک سرویس گیرنده Telnet داشته باشد. کاربر آدرس IP یا نام دامنه دستگاهی را که می‌خواهد به آن متصل شود و همچنین یک شماره پورت در صورت لزوم وارد می‌کند و سپس یک جلسه Telnet ایجاد می‌کند. بعد از برقراری جلسه کاربر قادر خواهد بود تا با دستگاه از راه دور تعامل داشته باشد گویی به صورت فیزیکی حضور دارد.

با این حال، Telnet یک پروتکل نا امن است. زیرا تمام داده‌ها، از جمله رمز عبور و سایر اطلاعات حساس را به صورت متن ساده منتقل می‌کند. این امر آن را در برابر شنود آسیب پذیر می‌کند. به همین دلیل، Telnet اغلب با پروتکل‌های امن تر مانند جایگزین می‌شود.

  • TFTP (Trivial File Transfer Protocol)

از TFTP برای انتقال فایل‌ها از طریق شبکه استفاده می‌شود و معمولا در محیط شبکه محلی (LAN) استفاده می‌شود. این یک پروتکل سبک وزن است و به حافظه یا قدرت پردازش زیادی نیاز ندارد و برای استفاده در دستگاه‌ها و سیستم‌های کوچک تعبیه شده مناسب است. از TFTPT در کارهایی همچون به روز رسانی سیستم عامل، پشتیبان گیری پیکربندی و بازیابی، و راه اندازی ایستگاه‌های کاری بدون دیسک استفاده می‌شود.

این پروتکل در مقایسه با دیگر پروتکل های انتقال همچون FTP و SCP دارای عملکردی محدود است. چرا که از مواردی همچون احراز هویت، رمزگذاری یا فهرست دایرکتوری پشتیبانی نمی‌کند. با این حال، ساده بودن، آن را به یک ابزار مفید در شرایط خاصی تبدیل می کند که می‌توان از آن بهره مند شد.

  • NFS (Network File System)

NFS پروتکلی است که برای به اشتراک گذاری فایل‌ها و دایرکتوری‌ها از طریق شبکه، معمولاً در محیط یونیکس یا لینوکس استفاده می‌شود. و این فرصت را برای رایانه‌ها فراهم می‌آورد تا به فایل‌ها و دایرکتوری‌های یکسانی دسترسی داشته باشند. این پروتکل مزایای متعددی را نسبت به دیگر پروتکل‌ها در حیطه‌هایی همچون FTP و SMB/CIFS ارائه می‌دهد که به شرح زیر است :

  •  برای اتصالاتی با تاخیر کم و پهنای باند بالا مناسب است.
  • مناسب برای محیط‌های محاسباتی با کارایی بالا
  • پشتیبانی از قفل کردن فایل‌ها و جلوگیری از ویرایش همزمان چند کاربر بر روی یک فایل
  • دارای رمز گذاری قوی برای انتقال داده‌ها

البته راه اندازی و پیکربندی NFS نسبت به سایر پروتکل‌ها برای به اشتراک گذاری فایل دشوارتر است و اگر به درستی پیکربندی نشود، امنیت می‌تواند نگران کننده باشد. علاوه بر آن در پلتفرم‌های غیریونیکس/لینوکس به طور گسترده پشتیبانی نمی‌شود، که می‌تواند مفید بودن آن را در محیط های مختلط محدود کند.

  • LPD (Line Printer Daemon) 

از LPD برای چاپ اسناد به وسیله ی شبکه استفاده می‌شود. این پروتکل در ابتدا برای سیستم‌های یونیکش و لینوکس توسعه یافت. اما امروزه در بسیازی از پلتفرم‌های دیگر نیز پشتیبانی می‌شود. LPD از چندین گزینه کار چاپ مانند چاپ دورو، جهت گیری صفحه و اندازه صفحه پشتیبانی می‌کند. همچنین از اولویت‌بندی کارهای چاپی پشتیبانی می‌کند و اجازه می‌دهد کارهای با اولویت بالاتر قبل از کارهای با اولویت پایین‌تر چاپ شوند و در مکان‌هایی که چندین کاربر نیاز به اشتراک گذاری یک چاپگر دارند استفاده می‌شود. علاوه بر آن برای چاپ از مکان های دور مفید است. زیرا کارهای چاپی را می‌توان از طریق اینترنت به چاپگری متصل به شبکه ارسال کرد.

با این حال، LPD در مقایسه با پروتکل‌های چاپ جدیدتر مانند IPP (Internet Printing Protocol) و (Common Unix Printing System) CUPS دارای محدودیت‌های متعددی است. برای مثال از کشف چاپگر یا نظارت بر وضعیت چاپگر پشتیبانی نمی‌کند و به اندازه پروتکل‌های جدیدتر که از رمزگذاری و احراز هویت پشتیبانی می‌کنند، ایمن نیست.

  • X Window System

X Window System که با نام  X11 نیز معروف است سیستمی برای پنجره سازی گرافیکی محسوب می‌شود و در سیستم عامل‌هایی همچون یونیکس، لینوکس و دیگر سیستم عامل‌های مشابه کاربرد دارد. این پروتکل چارچوبی را برای نمایش رابط‌های گرافیکی کاربران در صفحه ی کامپیوتر فراهم می‌آورد و اجازه می‌دهد برنامه‌ها به صورت همزمان در پنجره‌هایی جدا نمایان شوند.

X11 به ارائه ی مجموعه‌ای از پروتکل‌های اصلی برای مدیریت ویندوز، گرافیک و دستگاه‌های ورودی و همچنین مجموعه‌ای از ابزارک‌ها و ابزارهای استاندارد برای ساخت رابط‌های کاربری گرافیکی می‌پردازد و به پشتیبانی از ویژگی‌هایی همچون شفافیت، ترکیب و نمایش از راه دور پشتیبانی می‌پردازد و به برنامه‌ها اجازه می‌دهد روی یک کامپیوتر راه دور از طریق اتصال شبکه نمایش داده شوند.

X11 به طور گسترده در محیط های یونیکس و لینوکس مورد استفاده قرار گرفته است و همچنان یک انتخاب محبوب برای محیط‌ها و برنامه‌های دسکتاپ است. با این حال، همچنین به دلیل پیچیدگی، استاندارد نبودن و آسیب پذیری‌های امنیتی مورد انتقاد قرار می‌گیرد که منجر به توسعه سیستم‌های جایگزینی مانند Wayland و Mir شد.

و در آخر

در این مقاله به معرفی چند نمونه از پروتکل‌های کاربردی بسیار مورد استفاده در ارتباطات شبکه هستند. هر پروتکل مجموعه‌ای از قوانین و استانداردهای خاص خود را دارد که استفاده از آن را کنترل می‌کند، اما همه آنها نقش مهمی در برقراری ارتباط بین دستگاه‌های مختلف در یک شبکه دارند. امیدواریم از خواندن این مقاله لذت ببرید جهت کسب اطلاعات بیشتر به وبلاگ پویان آی تی مراجعه نمایید.

به این مقاله امتیاز دهید!

میانگین امتیاز 0 / 5. تعداد رأی ها : 0

هنوز هیچ رأیی داده نشده. اولین نفر باشید!

اشتراک گذاری

و در ادامه بخوانید

اولین دیدگاه را اضافه کنید.

برچسب ها

پروتکل DNS FTP HTTP شبکه TCP SSH UDP