Tiny Tech

درگاه نرم افزاری ( port ) چیست و کاربردی دارد؟

درگاهی است ورودی که چیزی(نور، هوا، سیگنال و…) از طریق آن وارد می شود یا درگاهی است خروجی که چیزی از طریق آن خارج می شود یا هر دو. چند نمونه از پورت هایی که در زندگی روزمره با آن سر و کار داریم :

  • چشم
  • دهان
  • بینی
  • پریز برق
  • پورت USB
  • پورت VGA
  • پورت LAN روی مادربورد

و تعداد زیادی پورت که در زندگی روزمره با ان سروکار داریم. امیدوارم با این توضیحات یک درکی از معنی کلمه پورت پیدا کرده باشید.

 

Port در شبکه کامپیوتری

ما در کامپیوتر و شبکه دو نوع پورت داریم :

  1. پورت سخت افزاری
  2. پورت نرم افزاری

پورت سخت افزاری می توان به مکان های اتصال کابل های VGA , HTMI و یا می توان قسمتی که USB به کیس و یا به لب تاپ وصل می شود و مثال های بسیاری که می توان زد اشاره کرد. تمام اشخاصی که با کامپیوتر کار می کنند این قضیه را می دانند. پس پورت نرم افزاری چیست؟ . چه نیازی به ان داریم ؟

 

پورت در شبکه

اگر بخواهیم بفهمیم که پورت کجا به وجود می اید و چطور کار می کند باید به لایه های OSI یک گریزی کوتاه بزنیم.

طبق مدل OSI ادرس دهی برای اطلاعات در سه لایه Transport , Network و Data-link انجام می شود. یعنی در ان قسمت ها IP , Macaddress و پورت برای ارتباط و ارسال و دریافت به وجود می ایند.

OSI TCP

خب اگر بخواهیم یک مثال ساده بزنیم می توان به مثال همیشگی پست یک نامه اشاره کرد.

ار ما بخواهیم یک نامه به شخصی ارسال کنیم ادرسی که روی پشت نامه می نویسیم تا منزل گیرنده را پیدا کند به ان IP Address گفته می شود و واحد گیرنده را MAC Address می گوییم خب مثلا ما با محمد کار داریم و قصد این را داریم که این نامه به محمد برسد پس برای این که کس دیگری نامه را باز نکند اسم محمد را روی نامه می نویسیم خب این شخصی که ما نامه را برای  ان فرستادیم را port می گوییم.

در کامپیوتر هم همین است وقتی شما می خواهید یک سایتی که در یک کامپیوتر ( سرور ) دیگری است را مشاهده نمایید باید از یک درگاهی استفاده کنید که بتوانید درخواست ها را به او بدهید و از او نیز بگیرید. حالا ان پورت می تواند هر چیزی باشد ثابت نیست ولی بشما باید بدانید که میخواهید با چه درگاهی کار کنید و چه درخواست هایی دارید.

به عنوان مثال شما نمیتوانید درخواست http ( پروتکل انتقال فایل ها در وبسایت ) را به smtp ( پروتکل ارسال و دریافت ایمیل ) ارسال نمایید زیرا برای هر پروتکل یک درخواست ( Packet ) مختلف تولید می شود که فقط همان پروتکل می تواند ان را باز و اجرا نماید.

تعداد پورت ها در کامپیوتر

تعداد ۶۵۵۶۳ عدد پورت داریم که از ۰ شروع شده و تا ۶۵۵۳۵ ادامه دارد. بعضی از این پورت ها برای سرویس های خواصی در شبکه رزرو شده اند و بقیه ی پورت ها را می توانند برنامه های دیگر مورد استفاده قرار دهند. خب اگر بخواهیم یک سری از این ها را معرفی کنیم می توانیم به پورت های زیر اشاره نماییم

نام سرویسشماره پورت
HTTP80
HTTPS443
FTP21
Telnet23
DNS53

چه کسی Port ها را اختصاص می دهد؟

پاسخ کوتاه: IANA، سیستم عامل، کاربر

یک مرورگر وب مانند Opera را در نظر بگیرید. این Application به این دلیل ایجاد شده تا صفحات وب را برای ما نشان دهد. بنابراین Opera باید درخواست ها را به وب سرور و به پورت ۸۰ آن بفرستد. چرا که پورت ۸۰ برای پروتکل HTTP و درخواست صفحات وب می باشد(اختصاص پورت توسط IANA). پس پورتی که باید به آن Dataبفرستد مشخص شد! اما خود Opera از چه پورتی استفاده می کند؟ برنامه Opera لزوما از یک پورت ثابت استفاده نمی کند و به ازای درخواست های مختلف، نیاز به پورت های مختلفی دارد، بنابراین هرگاه نیاز به پورت جدید برای برقراری ارتباط داشته باشد، به سیستم عامل درخواست می دهد تا یک پورت خالی به او اختصاص دهد. (اختصاص پورت توسط سیستم عامل)!

دسته بندی پورت ها:

وضعیتبازه Port
ثبت شده1023 - 0
اختصاص یافته به برنامه نویسان49151 - 1024
Dynamic / Private 49152 - 65535

Port های TCP و UDP

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

برای دیدن لیست پورت های معروف و سرویس های معادل آن ها به لینک زیر سر بزنید:

https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers