Qual è il numero di porta più alto che uno può usare?
Qual è il numero di porta più alto che uno può usare?
Risposte:
Il numero di porta è un numero intero a 16 bit senza segno, quindi 65535.
Il numero di porta più grande è un breve senza segno 2 ^ 16-1: 65535
Una porta registrata è quella assegnata da Internet Corporation per Assigned Names and Numbers (ICANN) a un determinato uso. Ogni porta registrata è nell'intervallo 1024–49151.
Dal 21 marzo 2001 l'agenzia del registro è ICANN; prima di allora era IANA.
Le porte con numeri inferiori a quelle delle porte registrate sono chiamate porte ben note; le porte con numeri maggiori di quelli delle porte registrate sono chiamate porte dinamiche e / o private.
A quanto ho capito, dovresti usare solo fino a 49151, poiché da 49152 a 65535 sono riservati per le porte effimere
$ cat /proc/sys/net/ipv4/ip_local_port_range
risulta in output 32768 61000
. Per quanto riguarda se si dovrebbe o non si debba usare una porta nell'intervallo di porte effimere del proprio sistema, sospetto che la maggior parte, se non tutti i sistemi operativi di rete moderni, salteranno su una porta che è già in uso.
Solo un seguito alla risposta di Smashery . L'intervallo di porte effimere (almeno su Linux, e sospetto anche di altri Unices) non è fisso. Questo può essere controllato scrivendo a
/proc/sys/net/ipv4/ip_local_port_range
L'unica restrizione (per quanto riguarda IANA) è che i porti inferiori a 1024 sono designati come porti noti. Porte di cui sopra che sono gratuite per l'uso. Spesso scoprirai che le porte inferiori a 1024 sono limitate all'accesso da superutente, credo proprio per questo motivo.
Secondo RFC 793, la porta è un int senza segno a 16 bit.
Ciò significa che l'intervallo è compreso tra 0 e 65535.
Tuttavia, all'interno di tale intervallo, le porte da 0 a 1023 sono generalmente riservate a scopi specifici. Dico in generale perché, a parte la porta 0, di solito non c'è applicazione della prenotazione 0-1023. Le implementazioni TCP / UDP di solito non impongono prenotazioni diverse da 0. È possibile, se si desidera, eseguire la porta TLS di un server Web sulla porta 80, o 25 o 65535 anziché lo standard 443. Allo stesso modo, anche se lo è lo standard che i server SMTP ascoltano sulla porta 25, è possibile eseguirlo su 80, 443 o altri.
La maggior parte delle implementazioni riserva 0 per uno scopo specifico: assegnazione casuale delle porte. Quindi, nella maggior parte delle implementazioni , dire "ascolta sulla porta 0" significa in realtà "Non mi interessa quale porta utilizzo, dammi solo una porta casuale non assegnata su cui ascoltare".
Pertanto, qualsiasi limitazione all'utilizzo di una porta nell'intervallo 0-65535, incluso 0, intervallo di prenotazione temporaneo ecc., È specifica dell'implementazione (ovvero sistema operativo / driver) , tuttavia tutti, incluso 0, sono porte valide nell'RFC 793.
Dipende dalla gamma di cui stai parlando, ma la gamma dinamica sale a 65535 o 2 ^ 16-1 (16 bit).
http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
I numeri validi per le porte sono: da 0 a 2 ^ 16-1 = da 0 a 65535
Questo perché un numero di porta ha una lunghezza di 16 bit.
Tuttavia le porte sono divise in:
Porte ben note : da 0 a 1023 (utilizzate per servizi di sistema come HTTP, FTP, SSH, DHCP ...)
Porte registrate / utente : da 1024 a 49151 (puoi usarla per il tuo server, ma fai attenzione ad alcune applicazioni famose: come il server MSSQL (database management system) di Microsoft SQL Server o Apache Derby Network Server stanno già prendendo da questo intervallo, quindi non è consigliabile assegnare la porta di MSSQL al tuo server, altrimenti se MSSQL è in esecuzione allora il tuo server più probabilmente non funzionerà a causa del conflitto di porte)
Porte dinamiche / private : da 49152 a 65535. (non utilizzato per i server piuttosto che per i client, ad esempio nel servizio NATing)
Nella programmazione è possibile utilizzare qualsiasi numero compreso tra 0 e 65535 per il proprio server, tuttavia è necessario attenersi agli intervalli sopra menzionati, altrimenti alcuni servizi di sistema o alcune applicazioni non verranno eseguiti a causa di conflitti di porte.
Controlla l'elenco della maggior parte delle porte qui: https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers