Houve um tempo em que a IANA atribuía apenas portas até 1023. Consulte RFC1700 . Ao mesmo tempo, isso era um padrão. Na maioria das vezes eu não tenho problemas para encontrar quando as coisas mudam no fluxo de RFC, mas para a questão de mudar as portas de 1024 para 49152 de registrado para atribuído eu fiquei aquém.
Em termos de histórico do Linux, houve uma pergunta sobre o padrão ip_local_port_range em 2007. Naquela época, foi decidido usar o intervalo do Linux que você menciona por medo de que números altos de portas possam causar problemas e iniciar o intervalo em 49152. deixe muito poucos números de porta no pool. Veja este e seu tópico. O pensamento expresso na época era que a partir de 32768 estava dentro do espírito dos procedimentos da IANA, se não totalmente em conformidade. Ao ler isso, deduzo que os desenvolvedores presumiram que a maioria das atribuições ocorreria da parte inferior do intervalo e subia. Neste artigo, eu conto um pouco mais de 100 números de porta atribuídos (não contando com protocolos diferentes como separados) entre 32768 e 49152, de modo que se aguentou muito bem nos últimos cinco anos.
Eu não sei porque o intervalo foi considerado muito pequeno, mas posso imaginar duas razões:
- Os números das portas são randomizados para impedir certos ataques. Quanto mais endereços no pool, melhor essa defesa funcionará.
- Servidores de alta atividade podem ter problemas com o esgotamento do número da porta. Embora as portas possam ser efêmeras, seu uso não é instantâneo. Em particular, sockets podem durar vários minutos após o fechamento do TCP.
Este post de blog toca no número 2, e sugere uma resposta caso você deseje que seus sistemas Linux usem um intervalo diferente de portas locais. (Usando /etc/sysctl.d para definir um intervalo que você gosta. Há também uma entrada ip_local_reserved_ports que pode ser útil se um determinado conflito chegar. Eles correspondem à entrada / proc / sys que você cita.)
Em resumo. Os padrões Linux não correspondem às especificações atuais da IANA, mas qualquer sistema Linux em particular pode, se o proprietário desejar.