La porta 0 ha un significato speciale nella programmazione di rete, in particolare nel sistema operativo Unix quando si tratta di programmazione socket in cui la porta viene utilizzata per richiedere porte dinamiche allocate dal sistema. La porta 0 è una porta con carattere jolly che indica al sistema di trovare un numero di porta adatto.
A differenza della maggior parte dei numeri di porta, la porta 0 è una porta riservata nella rete TCP/IP, il che significa che non deve essere utilizzata nei messaggi TCP o UDP. Le porte di rete in TCP e UDP vanno dal numero zero fino a 65535. I numeri di porta compresi nell'intervallo compreso tra zero e 1023 sono definiti come porte non temporanee, porte di sistema o porte note. L'Internet Assigned Numbers Authority (IANA) mantiene un quotazione ufficiale dell'uso previsto di questi numeri di porta su Internet e la porta di sistema 0 non deve essere utilizzata.
gestione della memoria del codice di arresto di Windows 10
Come funziona la porta TCP/UDP 0 nella programmazione di rete
Jetta Productions/Getty Images
La configurazione di una nuova connessione socket di rete richiede l'allocazione di un numero di porta sia sul lato di origine che su quello di destinazione. I messaggi TCP o UDP inviati dall'originatore (sorgente) contengono entrambi i numeri di porta in modo che il destinatario del messaggio (destinazione) possa inviare messaggi di risposta all'endpoint del protocollo corretto.
IANA ha preassegnato porte di sistema designate per applicazioni Internet di base come server Web (porta 80), ma molte applicazioni di rete TCP e UDP non dispongono di una propria porta di sistema e devono ottenerne una dalla porta del proprio dispositivo. sistema operativo ogni volta che corrono.
minecraft come volare in modalità sopravvivenza
Per allocare il numero di porta di origine, le applicazioni chiamano le funzioni di rete TCP/IP come bind() per richiederne uno. L'applicazione può fornire un numero fisso (hardcoded) a bind() se preferisce richiedere un numero specifico, ma tale richiesta può fallire perché un'altra applicazione in esecuzione sul sistema potrebbe attualmente utilizzarla.
In alternativa, può fornire la porta 0 a bind() come parametro di connessione. Ciò fa sì che il sistema operativo cerchi e restituisca automaticamente una porta disponibile adatta nell'intervallo di numeri di porta dinamici TCP/IP.
All'applicazione non viene concessa la porta 0 ma piuttosto un'altra porta dinamica. Il vantaggio di questa convenzione di programmazione è l'efficienza. Invece di far sì che ogni applicazione implementi ed esegua codice per provare più porte finché non ne ottiene una valida, le app si affidano al sistema operativo.
Unix, Windows e altri sistemi operativi variano nella gestione della porta 0, ma si applica la stessa convenzione generale.
come impostare il tuo account google come predefinito
Porta 0 e sicurezza di rete
Il traffico di rete inviato attraverso Internet agli host in ascolto sulla porta 0 potrebbe essere generato da aggressori di rete o accidentalmente da applicazioni programmate in modo errato. I messaggi di risposta generati dagli host in risposta al traffico della porta 0 aiutano gli aggressori a conoscere il comportamento e le potenziali vulnerabilità della rete di tali dispositivi.
Molti fornitori di servizi Internet (Gli ISP) bloccano il traffico sulla porta 0, sia i messaggi in entrata che quelli in uscita, per proteggersi da questi exploit.
FAQ- Cosa sono i numeri di porta?
I numeri di porta utilizzati per le connessioni di rete TCP/IP fungono da informazioni sull'indirizzo, identificando i mittenti e i destinatari di un messaggio. I numeri di porta consentono a diverse applicazioni sulla stessa rete di condividere risorse contemporaneamente.
- Come posso trovare i numeri di porta?
Per trovare il numero di porta di un indirizzo IP specifico, vai al prompt dei comandi , tipo netstat -a , quindi premere accedere . Vedrai un elenco di connessioni TCP attive insieme a indirizzi IP e numeri di porta separati da due punti.
- Posso connettermi alla porta 0?
No. Ufficialmente la porta 0 non esiste e non è possibile connettersi ad essa poiché è un numero di porta non valido. Tuttavia, puoi inviare un pacchetto Internet da e verso la porta 0 come faresti con un altro numero di porta.