Come devo selezionare il numero di porta per un nuovo strumento?


13

Sto creando uno strumento di collaborazione interno che utilizzerà un server centrale (su una rete intranet) e una o più porte per la comunicazione socket ai client. So che molte porte sono riservate a scopi particolari e altre sono convenzionalmente utilizzate per determinati tipi di traffico.

Come devo fare per scegliere una porta predefinita che è meno probabile che sia stata "rivendicata" da qualcun altro per il loro strumento? Esiste un database che identifica tutti gli usi noti (anche non convenzionali) delle porte?


3
Questo è generalmente un problema solo se qualcosa sta già utilizzando la porta sul server. Tuttavia, la porta dovrebbe essere configurabile. Ho visto un sacco di software con porte hardcoded, che non è quello che vuoi.
Devicenull,

@devicenull Avrò sicuramente la possibilità di sovrascrivere il valore predefinito.
Jace Browning,

3
Se la barba è abbastanza grigia, è possibile utilizzare RPC e registrare il proprio endpoint. msdn.microsoft.com/en-us/library/windows/desktop/…
Ryan Ries

2
A meno che tu non abbia una grande ragione per non farlo, è meglio usare i protocolli esistenti dove puoi. a) È naturale pensare di poter fare un lavoro migliore, per la maggior parte delle persone ciò non è vero. Ma anche quando è possibile, è meglio contrastare b) strumenti / dispositivi di rete sono già configurati per funzionare con gli standard esistenti. L'aggiunta di nuovi ha una barriera e la quantità di lavoro da fare per implementare.
JamesRyan,

2
Per qualcosa che è una collaborazione interna qualsiasi cosa> 1024 e <32768 (dovrebbe proteggere contro i collegamenti di porta effimeri) e NON elencati nel registro delle porte IANA sarebbe OK, a condizione che comunichi in modo efficace ai propri depos interni che hai preso la porta.
Matthew Ife,

Risposte:


16

Sì, IANA mantiene il servizio ufficiale e il registro dei numeri di porta .

Il processo per ottenere un numero di porta assegnato all'utente è documentato in RFC 6335 . È necessario un processo di revisione per qualsiasi assegnazione delle porte, ma è molto più rigoroso per le porte <1024; tali incarichi richiedono (tra l'altro) che il protocollo sia documentato in una RFC.

(Si noti che questo processo è relativamente nuovo e che ci sono molte porte assegnate che sono state nonne.)

Per <1024, le porte 1021 e 1022 sono riservate alla sperimentazione; sopra quello, per la sperimentazione puoi semplicemente usare una porta dinamica> = 49152.


1
Scorciatoia per cercare "non assegnato": iana.org/assignments/service-names-port-numbers/…
Jace Browning,

3

Nella maggior parte dei casi è meglio usare solo HTTP, poiché prima o poi ci sarà un firewall che devi attraversare. La maggior parte dei sistemi operativi consente di dividere lo spazio degli indirizzi HTTP tra i processi.


2
Sono confuso, non posso usare HTTP su nessuna porta? Non voglio fare default :80o :8080perché c'è una forte possibilità che siano già in uso. La mia domanda non è ancora valida?
Jace Browning,

@JaceBrowning, sì, puoi, ma usare qualsiasi altra porta è solo un po 'strano della storia :-). Qualsiasi sistema operativo decente, ti permetterà di dividere lo spazio dei nomi HTTP tra le applicazioni.
Ian Ringrose,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.