برنامهنویسی شبکههای رایانهای
برنامهنویسی شبکه رایانهای شامل نوشتن برنامههای رایانهای است که پردازشها را قادر میسازد با یکدیگر در یک شبکه رایانه ارتباط برقرار کنند.[۱]
ارتباطات اتصال-محور و بدون اتصال
[ویرایش]بهطور کلی، بسیاری از ارتباطات را میتوان به اتصال-محور و غیر اتصالگرا تقسیم کرد. این که آیا ارتباطات ارتباطی اتصال-محور است یا بدون اتصال، توسط پروتکل ارتباطات تعریف می شود، و نه توسط رابطهای کاربری برنامه(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 | مختلف |
منابع
[ویرایش]- دبلیو. ریچارد استیونز: برنامهنویسی شبکه یونیکس، دوره ۱، ویرایش دوم: APIهای شبکه: سوکت و XTI، سالن Prentice، ۱۹۹۸، شابک ۰−۱۳−۴۹۰۰۱۲-X
- ↑ "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)