Na rozdiel od väčšiny čísel portov je port 0 rezervovaným portom v sieťach TCP / IP, čo znamená, že by sa nemal používať v TCP alebo UDP správach.
Port 0 má mimoriadny význam pri programovaní v sieti, najmä v systéme Unix, pokiaľ ide o programovanie socketov, kde sa port používa na vyžiadanie systémovo pridelených dynamických portov. Port 0 je ako zástupný port, ktorý informuje systém o nájdení vhodného čísla portu.
Sieťové porty v rozsahu TCP a UDP od nuly až po 65535. Čísla portov v rozsahu od nuly do 1023 sú definované ako systémové porty alebo dobre známe porty. Úradu pre internetové prideľovanie čísiel (IANA) udržiava oficiálny zoznam zamýšľaného použitia týchto čísiel portov na internete a systémový port 0 sa nepoužíva.
Ako port 0 funguje v sieťovom programovaní
Konfigurácia nového pripojenia sieťovej zásuvky vyžaduje, aby bolo pridelené jedno číslo portu na zdrojovej aj cieľovej strane. TCP alebo UDP správy odoslané pôvodcom (zdrojom) obsahujú obe čísla portov tak, aby príjemca správy (cieľ) mohol vydávať správy odpovedí na správny koncový bod protokolu.
IANA predurčila označené systémové porty pre základné internetové aplikácie, ako sú webové servery (port 80), ale mnohé sieťové aplikácie TCP a UDP nemajú vlastný systémový port a musia získať jeden z operačného systému svojho zariadenia pri každom spustení.
Ak chcete prideliť číslo svojho zdrojového portu, aplikácie volajú sieťové funkcie TCP / IP ako bind (), aby si ich vyžiadali. Aplikácia môže poskytnúť pevný (pevný kód) číslo na viazanie (), ak uprednostňuje požadovanie konkrétneho čísla, ale takáto požiadavka môže zlyhať, pretože v súčasnosti ju môže používať iná aplikácia spustená v systéme.
Alternatívne môže namiesto toho poskytnúť port 0 na viazanie () ako svoj parameter pripojenia. To spúšťa operačný systém tak, aby automaticky vyhľadával a vrátil vhodný dostupný port v rozsahu čísel dynamického portu TCP / IP.
Všimnite si, že aplikácii sa skutočne neudelí port 0, ale skôr niektorý iný dynamický port. Výhodou tejto programovej konvencie je efektívnosť. Namiesto toho, aby každá aplikácia museli implementovať a spustiť kód pre skúšanie viacerých portov, kým nezískali platnú, aplikácie sa môžu spoľahnúť na operačný systém, aby tak urobili.
Systémy Unix, Windows a iné operačné systémy sa pri používaní portu 0 mierne líšia, ale platí rovnaká všeobecná konvencia.
Port 0 a zabezpečenie siete
Sieťový prenos odosielaný cez internet hostiteľom počúvaním na portu 0 môže byť generovaný sieťovými útočníkmi alebo náhodou nesprávne naprogramovanými aplikáciami. Správy odpovedí, ktoré hostiteľské počítače vygenerujú v reakcii na návštevnosť portu 0, môžu útočníkom pomôcť získať viac informácií o správaní a možných sieťových zraniteľnosti týchto zariadení.
Mnohí poskytovatelia internetových služieb (ISP) blokujú prevádzku na portu 0 - ako prichádzajúce, tak aj odchádzajúce správy - na ochranu pred týmito zneužitiami.