آشنایی با پورت های شبکه (Network Ports)
پورت در شبکه چیست و چه کاربردی دارد ؟
پورت یا درگاه در شبکه های کامپیوتری در واقع محلی منطقی در یک سیستم برای اتصال یک سرویس با دنیای خارج از آنست . درخواست های ورودی و خروجی بین سرویس دهنده/ سرویس گیرنده با اختصاص یک شماره پورت به هر یک از سرویس ها اجرا می شود .( اعداد از 0 تا 65535 که یک عدد 16 بیتی است)
به این معنا که یک سرویس دهنده یک سرویس مثل صفحه وب خود را روی درگاه به شماره 80 ارائه می دهد و یک سرویس گیرنده با ارسال درخواست به پورت 80 آن سرویس را تقاضا می کند و به این ترتیب به صفحه وب مورد نظر دست پیدا میکند .
به بیانی دیگر : در شبکه های کامپیوتری، یک پورت شماره ای است که برای شناسایی منحصر به فرد یک نقطه پایانی اتصال و هدایت داده ها به یک سرویس خاص اختصاص داده می شود. در سطح نرم افزار، در یک سیستم عامل، یک پورت یک ساختار منطقی است که یک فرآیند خاص یا یک نوع سرویس شبکه را شناسایی می کند. یک پورت در سطح نرم افزار برای هر پروتکل انتقال داده و ترکیب آدرس IP با شماره پورت که به آن سوکت ( Socket )گفته می شود اختصاص داده شده و مشخص می شود.
رایج ترین پروتکل های حمل و نقل که از شماره پورت استفاده می کنند، پروتکل کنترل انتقال (TCP) و پروتکل Datagram کاربر (UDP) هستند.
شماره پورت همیشه با آدرس شبکه یک میزبان مانند آدرس IP و نوع پروتکل انتقال می شود ( سوکت ). شمارههای پورت خاص برای شناسایی سرویسهای خاص رزرو میشوند تا بسته دریافتی به راحتی به یک برنامه در حال اجرا ارسال شود. برای این منظور، شمارههای پورت کمتر از 1024، خدماتی را که رایجترین استفاده را داشتهاند، شناسایی میکنند و به آن شمارههای پورت معروف میگویند. پورت های با شماره بالاتر از 1024 برای استفاده عمومی توسط برنامه ها در دسترس هستند و به عنوان پورت های زودگذر( ephemeral ) شناخته می شوند.
بطور کلی دو پروتکل مهم پایه در تبادل اطلاعات شبکه ای موسوم به TCP و UDP وجود دارد :
پروتکل کنترل انتقال (TCP) که بصورت Connection Oriented یا اتصال گرا عمل می کند و انتقال داده قابل اعتماد را هدایت می کند که جهت انتقال داده های مهم و دقیق بطور کامل و تضمینی با کنترل صحت دریافت بکار می رود .
در مقابل، پروتکل دیتاگرام کاربر (UDP) که بصورت بدون اتصال Connectionless عمل کرده و سرعت و کارایی را در اولویت قرار می دهد که برای عملیاتی مانند انتقال دهده های آنلاین صوت و تصویر در اینترنت مهم بکار می رود .
برنامههای کاربردی که سرویسهای رایج را پیادهسازی میکنند، اغلب از شمارههای پورت شناخته شده خاص رزرو شده برای دریافت درخواستهای سرویس از مشتریان استفاده میکنند. این فرآیند به عنوان گوش دادن (Listening ) شناخته می شود و شامل دریافت درخواستی در پورت معروف است که به طور بالقوه یک گفتگوی یک به یک کلاینت/ سروری را با استفاده از این گوش دادن به پورت ایجاد می کند.
سایر مشتریان ممکن است به طور همزمان به همان پورت متصل شوند. این فرآیند به این دلیل کار می کند که یک اتصال TCP توسط یک مجموعه متشکل از آدرس محلی ، پورت محلی ، آدرس راه دور و پورت راه دور شناسایی می شود.
شماره پورت های شناخته شده توسط کنوانسیونی تحت نظارت سازمان (IANA) اختصاص داده شده شده اند. در بسیاری از سیستمهای عامل، مجوزهای ویژهای برای اتصال برنامهها به این پورتها مورد نیاز است، زیرا اغلب برای عملکرد شبکههای IP حیاتی تلقی میشوند. برعکس در اتصال کلاینت معمولاً از شماره پورت بالایی که برای استفاده کوتاه مدت اختصاص داده شده است استفاده می شود ، به این خاطر پورت زودگذر نامیده می شود.
پورت های رایج:
سازمان IANA مسئول هماهنگی جهانی ریشه DNS، آدرس دهی IP و سایر منابع پروتکل است و شامل ثبت شماره پورت های TCP و UDP متداول برای سرویس های اینترنتی معروف هم می باشد .
شماره پورت ها به سه محدوده تقسیم می شوند:
پورت های شناخته شده ، پورت های ثبت شده ، پورت های پویا یا خصوصی
پورت های معروف (همچنین به عنوان پورت های سیستم شناخته می شوند) آنهایی هستند که از 0 تا 1023 شماره گذاری می شوند.
جدول زیر را ملاحظه فرمایید :
شماره پورت های شناخته شده | |
Number | Assignment |
20 | File Transfer Protocol (FTP) Data Transfer |
21 | File Transfer Protocol (FTP) Command Control |
22 | Secure Shell (SSH) Secure Login |
23 | Telnet remote login service, unencrypted text messages |
25 | Simple Mail Transfer Protocol (SMTP) email delivery |
53 | Domain Name System (DNS) service |
67, 68 | |
80 | Hypertext Transfer Protocol (HTTP) used in the World Wide Web |
110 | Post Office Protocol (POP3) |
119 | |
123 | Network Time Protocol (NTP) |
143 | Internet Message Access Protocol (IMAP) Management of digital mail |
161 | |
194 | Internet Relay Chat (IRC) |
443 | HTTP Secure (HTTPS) HTTP over TLS/SSL |
546, 547 | DHCPv6 IPv6 version of DHCP |
پورت های ثبت شده از 1024 تا 49151 هستند. IANA لیست رسمی محدوده های شناخته شده و ثبت شده را حفظ می کند.
پورتهای پویا یا خصوصی از 49152 تا 65535 هستند. یکی از کاربردهای رایج این محدوده برای پورتهای زودگذر است.
پروتکلهای لایه انتقال، مانند پروتکل کنترل انتقال (TCP) و پروتکل دادهگرام کاربر (UDP)، دادهها را با استفاده از واحدهای داده پروتکل (PDU) انتقال میدهند. برای TCP، PDU یک سگمنت و برای UDP یک دیتاگرام است. هر دو پروتکل از یک فیلد هدر برای نشان دادن شماره پورت مبدا و مقصد استفاده می کنند. شمارههای پورت در هدر بسته پروتکل انتقال کدگذاری میشوند و نه تنها توسط میزبانها بلکه توسط سایر اجزای زیرساخت شبکه به راحتی قابل تفسیر هستند. به طور خاص، فایروال ها معمولاً برای تمایز بین بسته ها بر اساس شماره پورت مبدا یا مقصد آنها پیکربندی می شوند. انتقال پورت نمونه ای از این برنامه ها است.
نمونه ای از استفاده از پورت ها، تحویل ایمیل است. سروری که برای ارسال و دریافت ایمیل استفاده می شود معمولاً به دو سرویس نیاز دارد. اولین سرویس برای انتقال ایمیل به سرورهای دیگر استفاده می شود. این کار با پروتکل انتقال نامه ساده (SMTP) انجام می شود. یک برنامه استاندارد سرویس SMTP به درگاه TCP 25 برای درخواست های دریافتی گوش می دهد. سرویس دوم معمولاً یا پروتکل دفتر پست (POP) یا پروتکل دسترسی به پیام اینترنتی (IMAP) است که توسط برنامه های سرویس گیرنده ایمیل در رایانه های شخصی کاربران برای دریافت پیام های ایمیل از سرور استفاده می شود. سرویس POP به شماره پورت TCP شماره 110 گوش می دهد. هر دو سرویس ممکن است در یک رایانه میزبان اجرا شوند، در این صورت شماره پورت سرویسی را که توسط یک رایانه راه دور درخواست شده است، خواه رایانه کاربر یا سرور ایمیل دیگری متمایز می کند.
در برخی از برنامه ها، کلاینت ها و سرور هر کدام از شماره پورت های اختصاص داده شده توسط IANA استفاده می کنند. یک مثال خوب برای این DHCP است که در آن کلاینت همیشه از پورت UDP 68 و سرور همیشه از پورت UDP 67 استفاده می کند.