برنامه‌نویسی شبکه‌های رایانه‌ای

برنامه‌نویسی شبکه رایانه‌ای شامل نوشتن برنامه‌های رایانه‌ای است که پردازش‌ها را قادر می‌سازد با یکدیگر در یک شبکه رایانه ارتباط برقرار کنند.[۱]

ارتباطات اتصال-محور و بدون اتصال

[ویرایش]

به‌طور کلی، بسیاری از ارتباطات را می‌توان به اتصال-محور و غیر اتصالگرا تقسیم کرد. این که آیا ارتباطات ارتباطی اتصال-محور است یا بدون اتصال، توسط پروتکل ارتباطات تعریف می شود، و نه توسط رابط‌های کاربری برنامه(API). نمونه‌هایی از پروتکل‌های اتصال گرا شامل پروتکل انتقال کنترل شده(TCP) و تبادل ترتیبی بسته ها(SPX) هستند و نمونه‌هایی از پروتکل‌های بدون اتصال شامل پروتکل استفاده کنندهٔ دیتاگرام(UDP) , پروتکل IP خام و پروتکل تبادل بستهٔ میان شبکه ای (IPX) هستند.

مشتری و سرور

[ویرایش]

برای ارتباطات اتصال-محور، طرفین ارتباطات معمولاً نقشهای متفاوتی دارند. یک طرف معمولاً منتظر اتصالات ورودی است. به این بخش معمولاً " سرور " گفته می‌شود. طرف دیگر شروع کننده ارتباط است. به این بخش معمولاً " مشتری " گفته می‌شود.

برای ارتباطات بی‌سیم، معمولاً یک طرف ("سرور") منتظر یک بسته دریافتی است، و طرف دیگر ("مشتری") معمولاً به عنوان یک فرستنده که یک بسته را به‌صورت غیرمستقیم (هدایت نشده) به "سرور" ارسال می‌کند، شناخته می‌شود می‌شود.

پروتکل‌های معروف و APIها

[ویرایش]

برنامه‌نویسی شبکه به‌طور سنتی لایه‌های مختلف مدل OSI / ISO را در بر می‌گیرد (بیشتر برنامه‌نویسی در سطح برنامه متعلق به L4 و بالاتر است). جدول زیر شامل نمونه‌هایی از پروتکل‌های محبوب متعلق به لایه‌های مختلف OSI / ISO و APIهای محبوب برای آنها می‌باشد.

لایه OSI / ISO پروتکل API
L3 (شبکه) IP سوکت خام
L4 (حمل و نقل) TCP، UDP، SCTP سوکت‌های برکلی
L5 (جلسه) TLS OpenSSL
L7 (برنامه) HTTP مختلف

منابع

[ویرایش]
  1. "Chapter 12 - Network Programming". COMP1406 (PDF). 2017. Archived from the original on 5 March 2020. Retrieved 28 June 2020. Network Programming involves writing programs that communicate with other programs across a computer network.{{cite book}}: نگهداری یادکرد:ربات:وضعیت نامعلوم پیوند اصلی (link)