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

سوکت چیست؟

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

آی پی آدرس

هر کامپیوتر یک آدرس آی پی دارد. این آدرس شمار های بی همتا است که از ۴ عدد ۸ بیتی تشکیل شده که با نقطه از یکدیگر جدا میشوند.

به دنبال بهترین شرکت خدمات شبکه هستید؟

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

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

پورت

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

سوکت

به شکل ساده، سوکت ترکیبی از پورت و IP آدرس است. به تعبیر تخصصی تر، سوکت نقطه انتهایی یک ارتباط دو طرفه بین دو برنامه در حال اجرا در شبکه است. سوکت به یک عدد پورت متصل میشود تا لایه TCP شبکه بتواند برنامه موردنظر برای ارسال اطلاعات را تشخیص دهد. در مثال شماره تلفن، سوکت مانند گوشی تلفن است. به این شکل که شماره موردنظر و کد ناحیه را در گوشی وارد کرده و تماس را برقرار می کنید. زمانی که تماس پاسخ داده میشود، در واقع یک کانال ارتباطی بین شما و فردی که با او تماس گرفتهاید، ایجاد میشود؛ به تعبیر ساده تر، کار سوکت ایجاد این کانال است. از طریق کانال ارتباطی ایجاد شده توسط سوکت، داده هایی در طول شبکه ارسال و دریافت میشوند. زبانی که دو برنامه به وسیله آن از این کانال با هم مکاتبه میکنند نیز پروتکل نام دارد.

TCP/IP

این واژه مخفف Protocol Control Transmission و به معنی پروتکل کنترل انتقال می باشد. ارسال فایلهای بزرگ در اینترنت بهصورت یکپارچه صورت نمیگیرد. این فایل به قسمتهای کوچکتر قابل کنترلی تقسیم میشود که هر یک به تنهایی به مقصد میرسند. به این تکه های کوچک packet گفته میشود و ما آنها را بسته مینامیم. این بسته ها تکه های خرد شده یک فایل بزرگ هستند. این بسته ها هر یک به تنهایی به مقصد موردنظر میرسند و هدف از این کار نیز کاهش ازدحام و ترافیک شبکه است. TCP از رسیدن تمام بسته ها به مقصد درست مطمئن میشود. سپس تصدیقی مبنی بر دریافت کامل بسته ها توسط مقصد ارسال می کند. اگر این تصدیق دریافت بسته ای به فرستنده نرسد، او متوجه مفقودی بسته شده و آن را دوباره ارسال میکند.

مفهوم کلی سوکت

سوکت ترکیبی از IP آدرس و پورت است که درگاهی جهت ارسال و دریافت داده در شبکه ایجاد میکند. بسته ها از طریق این درگاه در اینترنت جا به جا میشوند. این سیستم کلی و ترکیبی توسط IP / TCP سازماندهی و مرتب میشوند و در پشت صحنه کار میکنند تا جست و جوهای گوگل، پست های فیسبوک و وبلاگ های ابتدایی ممکن شوند.

پروتکلهای اینترنت

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

پروتکل IP / TCP که از آن در بخش سوکت سخن گفتیم نیز از دو نوع پورت port- TCP و port- UDL استفاده میکند. TCP برای کاربردهای بر پایه ارتباط طراحی شده و در ساختار آن، بررسی خطا و ارسال دوباره بسته های از دست رفته نیز وجود دارد. UDP برای کاربردهای بدون اتصال طراحی شده، بررسی خطا ندارد و بسته های از دست رفته را دوباره ارسال نمیکند. هر برنامه ای بسته به نوع اتصال یکی از پروتکل های لایه حمل و نقل UDP یا TCP را به کار میبرد. گفتیم سوکت های شبکه از طریق پروتکل IP / TCP سازماندهی میشوند. بدین ترتیب، انواع سوکت ها نیز طبق دو نوع پورت این پروتکل تقسیم بندی میشوند.

به دنبال طراحی و نقشه‌کشی شبکه هستید؟

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

انواع سوکت های شبکه

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

  • سوکت های منطقی استریم که به 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 به کار می رود.