Quel est le numéro de port le plus élevé que l'on puisse utiliser?
Quel est le numéro de port le plus élevé que l'on puisse utiliser?
Réponses:
Le numéro de port est un entier 16 bits non signé, donc 65535.
Le plus grand numéro de port est un court-métrage non signé 2 ^ 16-1: 65535
Un port enregistré est celui attribué par Internet Corporation for Assigned Names and Numbers (ICANN) à une certaine utilisation. Chaque port enregistré est compris entre 1024 et 49151.
Depuis le 21 mars 2001, l'agence de registre est l'ICANN; avant cette époque, c'était l'IANA.
Les ports dont le nombre est inférieur à ceux des ports enregistrés sont appelés ports bien connus; Les ports dont le nombre est supérieur à ceux des ports enregistrés sont appelés ports dynamiques et / ou privés.
Si je comprends bien, vous ne devez utiliser que jusqu'à 49151, car de 49152 à 65535 sont réservés aux ports éphémères
$ cat /proc/sys/net/ipv4/ip_local_port_range
entraîne une sortie 32768 61000
. Quant à savoir si l'on devrait ou ne devrait pas utiliser un port dans la plage de ports éphémères de son système, je soupçonne que la plupart des systèmes d'exploitation de réseau modernes, sinon tous, ignoreront un port déjà utilisé.
Juste un suivi de la réponse de smashery . La plage de ports éphémères (sous Linux au moins, et je soupçonne également d'autres Unices) n'est pas fixe. Cela peut être contrôlé en écrivant à
/proc/sys/net/ipv4/ip_local_port_range
La seule restriction (en ce qui concerne l'IANA) est que les ports inférieurs à 1024 sont désignés comme étant des ports bien connus. Les ports ci-dessus qui sont libres d'utilisation. Souvent, vous constaterez que les ports inférieurs à 1024 sont limités à l'accès superutilisateur, je crois pour cette raison.
Selon la RFC 793, le port est un int 16 bits non signé.
Cela signifie que la plage est comprise entre 0 et 65535.
Cependant, dans cette plage, les ports 0 - 1023 sont généralement réservés à des fins spécifiques. Je dis généralement parce que, à part le port 0, il n'y a généralement pas d'application de la réservation 0-1023. Les implémentations TCP / UDP n'imposent généralement pas de réservations autres que 0. Vous pouvez, si vous le souhaitez, exécuter le port TLS d'un serveur Web sur le port 80, ou 25, ou 65535 au lieu du standard 443. De même, même si c'est le cas la norme que les serveurs SMTP écoutent sur le port 25, vous pouvez l'exécuter sur 80, 443 ou autres.
La plupart des implémentations réservent 0 à une fin spécifique - l'attribution aléatoire de ports. Donc, dans la plupart des implémentations , dire "écouter sur le port 0" signifie en fait "Je me fiche du port que j'utilise, donnez-moi simplement un port aléatoire non assigné pour écouter".
Donc, toute limitation d'utilisation d'un port dans la plage 0-65535, y compris 0, la plage de réservation éphémère, etc., est spécifique à l'implémentation (c'est-à-dire OS / pilote) , mais tous, y compris 0, sont des ports valides dans le RFC 793.
Cela dépend de la plage dont vous parlez, mais la plage dynamique va jusqu'à 65535 ou 2 ^ 16-1 (16 bits).
http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
Les numéros valides pour les ports sont: 0 à 2 ^ 16-1 = 0 à 65535
En effet, un numéro de port a une longueur de 16 bits.
Cependant, les ports sont divisés en:
Ports connus : 0 à 1023 (utilisés pour les services système, par exemple HTTP, FTP, SSH, DHCP ...)
Ports enregistrés / utilisateurs : 1024 à 49151 (vous pouvez les utiliser pour votre serveur, mais soyez attention à certaines applications célèbres: comme le serveur du système de gestion de base de données Microsoft SQL Server (MSSQL) ou le serveur réseau Apache Derby prennent déjà de cette plage, c'est-à-dire qu'il n'est pas recommandé d'attribuer le port de MSSQL à votre serveur sinon, si MSSQL est en cours d'exécution, c'est votre serveur le plus ne fonctionnera probablement pas en raison d'un conflit de port)
Ports dynamiques / privés : 49152 à 65535. (non utilisé pour les serveurs plutôt que pour les clients, par exemple dans le service NATing)
Dans la programmation, vous pouvez utiliser n'importe quel nombre de 0 à 65535 pour votre serveur, cependant vous devez vous en tenir aux plages mentionnées ci-dessus, sinon certains services système ou certaines applications ne fonctionneront pas en raison d'un conflit de port.
Consultez la liste de la plupart des ports ici: https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers