Question Comment choisir le numéro de port pour un nouvel outil?


Je crée un outil de collaboration interne qui utilisera un serveur central (sur un intranet) et un ou plusieurs ports pour la communication par socket avec les clients. Je sais que de nombreux ports sont réservés à des fins particulières et que d’autres sont classiquement utilisés pour certains types de trafic.

Comment devrais-je aller pour choisir un défaut port qui est le moins susceptible d’avoir été "revendiqué" par quelqu'un d'autre pour son outil? Existe-t-il une base de données qui identifie toutes les utilisations de port connues (même non conventionnelles)?


13
2017-07-04 01:38


origine


Cela n’est généralement un problème que si quelque chose utilise déjà le port sur le serveur. Cependant, le port devrait être configurable. J'ai vu pas mal de logiciels avoir des ports codés en dur, ce qui n'est pas ce que vous voulez. - devicenull
@devicenull J'aurai certainement la possibilité de remplacer la valeur par défaut. - Jace Browning
Si votre barbe est suffisamment grise, vous pouvez utiliser RPC et enregistrer votre propre terminal. msdn.microsoft.com/en-us/library/windows/desktop/… - Ryan Ries
Sauf si vous avez une bonne raison de ne pas le faire, il est préférable d’utiliser les protocoles existants dans la mesure du possible. a) Il est naturel de penser que vous pouvez faire un meilleur travail, ce n'est pas vrai pour la plupart des gens. Mais même lorsque vous le pouvez, est-il préférable de contrebalancer b) les outils / périphériques réseau sont déjà configurés pour fonctionner avec les normes existantes. L’ajout de nouveaux obstacles pose des problèmes et exige beaucoup de travail. - JamesRyan
Pour quelque chose qui est une collaboration interne, tout ce qui est> 1024 et <32768 (devrait protéger contre les liaisons de ports éphémères) et NON répertorié dans le registre de ports IANA serait OK, à condition que vous communiquiez efficacement à vos services internes lorsque vous avez pris le port. - Matthew Ife


Réponses:


Oui, l'IANA maintient le registre des services officiels et des numéros de port.

Le processus pour obtenir un numéro de port qui vous est attribué est documenté dans RFC 6335. Un processus de révision est requis pour toute assignation de port, mais il est beaucoup plus strict pour les ports <1024; de telles assignations exigent (entre autres) que votre protocole soit documenté dans une RFC.

(Notez que ce processus est relativement nouveau et qu'il existe de nombreux ports attribués dans lesquels des droits acquis sont appliqués.)

Pour les ports <1024, les ports 1021 et 1022 sont réservés à l'expérimentation; au-dessus, vous pouvez simplement utiliser un port dynamique> = 49152 pour l'expérimentation.


16
2017-07-04 01:48



Raccourci pour rechercher "non attribué": iana.org/assignments/service-names-port-numbers/… - Jace Browning


Dans la plupart des cas, il est préférable d'utiliser simplement HTTP, car tôt ou tard, vous aurez besoin d'un pare-feu à traverser. La plupart des systèmes d'exploitation permettent de répartir l'espace d'adressage HTTP entre les processus.


3
2017-07-04 14:14



Je suis confus, je ne peux pas utiliser HTTP sur n'importe quel port? Je ne veux pas par défaut :80 ou :8080 car il existe une forte possibilité que ceux-ci soient déjà utilisés. Ma question n'est-elle toujours pas valide? - Jace Browning
@JaceBrowning, oui, vous pouvez, mais utiliser n'importe quel autre port n'est qu'un peu d'histoire :-). Tout système d'exploitation décent vous permettra de diviser l'espace de noms HTTP entre les applications. - Ian Ringrose