سوکت شبکه یکی از نقاط پایانی یک ارتباط دو طرفه بین دو برنامه در حال اجرا در شبکه است. یک سوکت به شماره درگاه متصل است تا لایه TCP بتواند برنامه ای را که قرار است داده به آن ارسال شود شناسایی کند. نقطه پایانی ترکیبی از آدرس IP و شماره پورت است. این تعریف سوکت شبکه را با اصطلاحات اساسی توضیح میدهد اما برای بi دست آوردن یک تصویر واضح از آن، بیایید این تعریف را با کمک یک تشبیه درک کنیم.
فکر کنید به دلیل قفل بودن در خانه خود هستید و از خانه بیرون رفتن ممنوع است، بیایید این را بنویسیم. یک روز از اینکه خیلی خسته شده اید تصمیم گرفتید با همسایه خود گپ بزنید، تصور خواهیم کرد که خانه شما پنجره ای دارد. (نه! از آن نمیپرید). به منظور داشتن یک گفتگو با همسایه خود به جلو پنجره رفته و سلام میکنید. خوشبختانه همسایه شما درست جلو پنجره ایستاده و پنجره اش را باز کرده است. او سلام میکند و شما دوستانه شروع به برقراری ارتباط میکنید.
بیایید مثال بالا را با تعریف خود از سوکت شبکه مقایسه کنیم. در این مثال، خانه مشابه کامپیوتر است. پنجره مورد بحث ما مانند یک سوکت شبکهاست، نقطه پایانی که میتوانید از آنجا پیام ارسال کنید یا پیام دریافت کنید. گفتگویی که انجام میدهید داده است. سوکت شبکه یکی از نقاط پایانی یک ارتباط دو طرفه بین دو برنامه در حال اجرا در شبکه است. مانند مثال ما پنجرهها نقطه انتهایی هستند. اگر پنجرهها را ببندیم یا پنجره نداشته باشیم، دیگر نمیتوانیم پیامهای خود را منتقل کنیم. بنابراین فکر میکنیم این مثال یک تصویر کاملاً واضح از سوکت شبکه به ما میدهد. بیایید به ادامه مقاله بپردازیم.
یک سوکت شبکه به شماره پورت متصل است تا لایه شبکه بتواند برنامه ای را که دادهها به آن ختم میشوند، شناسایی کند. همچنین فرض کنیم خانه 6 اتاق دارد و در هر اتاق 6 نفر از اعضای خانواده وجود دارد. همه اتاقها دارای پنجره و شماره (1 تا 6) هستند. اگر همسایه بخواهد با یکی از اعضای خانواده صحبت کند، باید شماره اتاق را نیز مشخص کند. به همین ترتیب، در رایانه، برنامههای زیادی میتوانند اجرا شوند. هر سوکت شبکه باید به یک درگاه متصل شود (که نشان دهنده برنامه است). به این ترتیب لایه شبکه میداند دادههای ورودی را به کجا ارسال کند.
نقطه پایانی ترکیبی از آدرس IP و شماره پورت است. با کمک پورت، ما فقط میدانیم که به چه برنامه ای داده ارسال کنیم، اما در یک شبکه، کامپیوترهای زیادی وجود دارد از این رو ما به یک آدرس نیاز داریم تا میزبان موردنظر را با هم شناسایی کنیم. در مثال ما، خانههای زیادی میتواند وجود داشته باشد. برای صحبت با کسی، به آدرس خانه و شماره پنجره ای که میخواهید با آن صحبت کنید نیاز دارید.
انواع سوکت شبکه
سوکت شبکه دارای انواع مختلف است که دو مورد از آنها طبق پروتکلهای مورد استفاده دسته بندی شده اند. در ادامه تعریفی کوتاه از هر یک را ارائه خواهیم داد:
سوکت های منطقی استریم که به Oriented Connection شهرت دارند.
سوکت های دیتاگرام ( Datagram).
سوکت های خام
سوکت های بسته متوالی
سوکت های استریم
این سوکت ها بر پایه پروتکل TCP بوده و با آن کار میکنند. به این شکل که قبل از تبادل اطلاعات باید یک اتصال مطمئن و قوی ایجاد شود. چنین اتصالی تضمین میکند که دادهها با نظمی خاص مبادله میشوند و دادهها به مقصد میرسند. از این نوع سوکت برای پروتکلهایی چون FTP وSMTP, HTTP استفاده میشود. پس از برقراری این ارتباط ایمن، میتوان دادهها را از روی این سوکت ها خواند یا بر روی آنها نوشت. این نوع سوکت .STREAM_SOCK نام دارد. موارد استفاده سوکت های استریم در این سوکت که با پروتکل TCP کار میکند، دادهها به ترتیب، با نظارت بر بروز خطای احتمالی و به طور صد در صد تبادل میشوند. در این نوع سوکت ها، ثبت و ضبط داده هیچ محدودیتی ندارد. طبق موارد ذکر شده، پروتکلهایی که نیازمند این حد از حساسیت هستند، از این سوکت بهره میبرند:
پروتکل انتقال فایل در اینترنت یا FTP
پروتکل انتقال صفحات ابرمتنی در اینترنت یا HTTP
پروتکل انتقال پست الکترونیکی یا SMTP
سوکت های دیتاگرام
این سوکت ها بر پایه پروتکل UDP یا Protocol Datagram User کار میکنند. در این نوع سوکت هیچ اتصالی از پیش ایجاد نمیشود. به دلیل اینکه اتصالی از قبل نیست، تضمینی هم برای انتقال صحیح دادهها، صحت آنها و رسیدن آنها به مقصد وجود ندارد. در این پروتکل که به Less Connection نیز شهرت دارد، تنها مورد مهم سرعت انتقال و تبادل اطلاعات است و برای مبادله صوت و تصویر از آن استفاده میشود. این سوکت دادههای تکراری را نیز دریافت کرده و DGRAM_SOCK نام دارد سوکت های خام این سوکت ها با پروتکل ICMP یا Protocol Message Control Internet The کار میکنند. به طور معمول سوکت های خام، بر پایه دیتاگرام هستند. مشخصات دقیق این سوکت ها به رابط ارائه شده توسط پروتکل بستگی دارد. این سوکت ها برای کاربر عمومی در نظر گرفته نشده اند. سوکت های خام بیشتر برای افراد علاقه مند به توسعه پروتکلهای ارتباطی جدید یا دسترسی به امکانات درونی و محرمانه پروتکل موجود، طراحی شده اند. این سوکت ها را فقط پردازنده های superuser میتوانند استفاده کنند و RAW_SOCK نام میگیرند.
سوکت های بسته متوالی
این سوکت ها شبیه سوکت های استریم هستند با این تفاوت که ثبت و ضبط داده در این سوکت ها مرز بندیهای مشخص دارد. این رابط فقط به عنوان بخشی از سیستم شبکه سوکت منطقی عمل میکند و این در بیشتر برنامههای کاربردی شبکه بسیار مهم است. سوکت های بسته متوالی به کاربر این امکان را میدهند تا سربرگ های پروتکل SPP یا Packet Sequence یا پروتکل IDP یا Datagram Internet را روی یک بسته یا گروهی از بسته ها دستکاری کند. این سوکت همچنین با نوشتن یک سریرگ نمونه برای هر اطلاعاتی که ارسال میشود و یا تعیین یک سربرگ مشخص برای تمام دادههای خروجی، اجازه دستکاری را به کاربر میدهد. سوکت بسته متوالی همچنین کاربر را قادر میسازد تا سربرگ دادههای ورودی را دریافت کند.
ارتباط کامپیوترها با اینترنت از طریق IP آدرس و پورت امکان پذیر است. IPآدرس مانند کد ناحیه یک شماره تلفن و پورت مانند شماره اختصاصی هر شخص است. سوکت ترکیبی از شماره IPو پورت است. سوکت مانند یک تلفن، کانالی ارتباطی فراهم میکند که اطاعات دو برنامه موجود در شبکه از آن طریق تبادل میشوند. سوکت ها دو نوع TCP و UDP دارند که اولی سوکت استریم و دومی سوکت دیتاگرام نام دارد. انواع دیگر سوکت ها نیز، سوکت های خام و سوکت های بسته متوالی هستند. هر کدام از انواع برای کارکردهای متفاوت استفاده میشوند. مثال TCP رسیدن اطلاعات و ترتیب آنها را تضمین میکند و در پروتکلهای FTP و HTTP به کار میرود.
شرکت داده پیشگامان آراد
مدیر فروش : فاطمه ضیایی
شماره ثابت : 66506616-021
شماره همراه : 09033593530
آدرس سایت : www.dap-it.ir