Il fut un temps où l'IANA affectait uniquement les ports jusqu'à 1023. Voir RFC1700 . À une époque, c'était une norme. La plupart du temps, je n'ai aucun mal à trouver quand les choses changent dans le flux de RFC, mais pour la question de changer les ports de 1024 à 49152 de enregistrés en assignés, je suis venu court.
En ce qui concerne l'histoire de Linux, une question a été soulevée à propos de l'ip_local_port_range par défaut en 2007. À cette époque, il a été décidé d'utiliser la plage Linux que vous mentionnez, de peur que les numéros de port élevés ne causent des problèmes et le début de la plage à 49152 ne laisse trop peu numéros de port dans le pool. Voir cela et son fil. La pensée exprimée à l'époque était qu'à partir de 32768 était dans l'esprit des procédures de l'IANA, sinon pleinement conforme. En lisant ceci, je déduis que les développeurs ont supposé que la plupart des affectations se produiraient du bas de la plage et monteraient. Au moment d'écrire ces lignes, je compte un peu plus de 100 numéros de port attribués (sans compter les différents protocoles comme séparés) entre 32768 et 49152, ce qui a plutôt bien résisté au cours des cinq dernières années.
Je ne sais pas pourquoi la gamme a été jugée trop petite, mais je peux imaginer deux raisons:
- Les numéros de port sont randomisés pour contrecarrer certaines attaques. Plus il y a d'adresses dans le pool, plus cette défense peut fonctionner.
- Les serveurs à haute activité peuvent avoir des problèmes avec l'épuisement des numéros de port. Bien que les ports puissent être éphémères, leur utilisation n'est pas instantanée. En particulier, les sockets peuvent durer plusieurs minutes après la fermeture de TCP.
Ce billet de blog aborde le numéro 2 et suggère une réponse si vous souhaitez que vos systèmes Linux utilisent une gamme différente de ports locaux. (En utilisant /etc/sysctl.d pour définir une plage que vous aimez. Il existe également une entrée ip_local_reserved_ports qui peut être utile si un conflit particulier se produit. Elles correspondent à l'entrée / proc / sys que vous citez.)
En résumé. Les valeurs par défaut de Linux ne correspondent pas aux spécifications IANA actuelles, mais tout système Linux particulier peut, si son propriétaire le souhaite.
ip_local_port_range
ne doit pas être utilisée de toute façon.