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

سوکت چیست؟

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

آیپی آدرس

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

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

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

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

پورت

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

سوکت

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

TCP/IP

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

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

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

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

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

جمع بندی

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