برای بندر 0 استفاده می شود؟

پورت 0 یک شماره پورت واقعی نیست، اما یک هدف برای آن وجود دارد

برخلاف اکثر شماره های پورت ، پورت 0 یک پورت متعلق به شبکه TCP / IP است، به این معنی که نباید در پیام های TCP یا UDP استفاده شود.

پورت 0 اهمیت ویژه ای در برنامه نویسی شبکه ، به ویژه برنامه نویسی سوکت یونیکس، برای درخواست سیستم های اختصاصی، پورت های پویا دارد. پورت صفر مانند پورت wildcard است که به سیستم می گوید برای پیدا کردن یک شماره پورت مناسب.

پورت های شبکه در TCP و UDP محدوده از تعداد صفر تا 65535. شماره های پورت در محدوده بین صفر و 1023 به عنوان پورت های سیستم و یا پورت های شناخته شده تعریف شده است. شماره مجوز اختصاص داده شده اینترنت (IANA) یک لیست رسمی از استفاده مورد نظر از این شماره های پورت را در اینترنت نگهداری می کند و پورت سیستم 0 استفاده نمی شود.

چگونه پورت 0 در برنامه نویسی شبکه کار می کند

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

IANA از پیش تعیین شده پورت های سیستم برای برنامه های کاربردی اینترنتی مانند سرورهای وب (پورت 80) از قبل تعیین شده است، اما بسیاری از برنامه های شبکه TCP و UDP پورت سیستم خود را ندارند و باید هر بار که سیستم عامل خود را اجرا می کنند، از سیستم عامل دستگاه خود استفاده کنند.

برای تخصیص شماره پورت منبع آن، برنامه ها با استفاده از توابع شبکه TCP / IP مثل bind () درخواست یک را می دهند. برنامه می تواند شماره ثابت (سخت شده) را برای اتصال () ارائه دهد، اگر ترجیح می دهد یک شماره خاص درخواست کند، اما چنین درخواستی می تواند نتواند، زیرا برخی دیگر برنامه های در حال اجرا در سیستم ممکن است در حال حاضر از آن استفاده کنند.

به جای آن، می تواند پورت 0 را برای bind () به عنوان پارامتر اتصال آن ارائه دهد. این باعث می شود سیستم عامل به طور خودکار برای پورت مناسب موجود در دامنه پورت پویای TCP / IP را جستجو و بازگرداند.

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

یونیکس، ویندوز و سایر سیستم عامل ها در اداره خود از بندر 0 کمی متفاوت هستند، اما همان کنوانسیون عمومی اعمال می شود.

بندر 0 و امنیت شبکه

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

بسیاری از ارائه دهندگان خدمات اینترنتی (ISP) ترافیک را در بندر 0 (هر دو پیام ورودی و خروجی ) مسدود می کنند تا از این سوء استفاده ها محافظت کنند.