پرش به محتوا

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

از ویکی‌پدیا، دانشنامهٔ آزاد

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

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

[ویرایش]

به‌طور کلی، بسیاری از ارتباطات را می‌توان به اتصال-محور و غیر اتصالگرا تقسیم کرد. این که آیا ارتباطات ارتباطی اتصال-محور است یا بدون اتصال، توسط پروتکل ارتباطات تعریف می شود، و نه توسط رابط‌های کاربری برنامه(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)