1 - Isso é apenas sobre "padrões". Por padrão, seu navegador alcançará a porta 443 se você especificar https e 80 se http por exemplo. Você pode fazer o que quiser para seu uso em particular, mas precisará especificar sua porta personalizada assim: some.place.to.go: 1000
Você pode usar as portas "reservadas e bem conhecidas" (0-1023) para os serviços correspondentes, mas se você precisar / quiser usar outra, é com você ... lembre-se que você tem mais de 65k delas:)
2- porque portas < 1024 são reservados e não podem ser usados para iniciar uma conexão
3- estamos falando de conexões TCP ...
Em uma máquina específica, um número de porta acoplado ao endereço IP da máquina é conhecido como um soquete. Uma combinação de IP e porta no cliente e no servidor é conhecida como quatro tuplas. Esta tupla quatro identifica exclusivamente uma conexão.
Assim, o servidor pode conversar com muitos clientes porque cada cliente fez uma conexão única com o servidor para conversar com ele.
Ex: Um cliente (cli) se conecta ao servidor (srv) de uma porta do cliente (5432) para a porta do servidor (80)
cli: 5432 - > srv: 80
O servidor responderá ao cliente na mesma porta do cliente:
srv: 80 - > cli: 5432
E assim por diante ...
Então, para a questão 2):
- imagine no lado do cliente que existe um servidor http em execução, a porta "local" 80 já está sendo usada.
- imagine que existem vários clientes por trás de um roteador (com apenas 1 IP ...), como muitos clientes usam couls a mesma porta de origem?
Se a conexão foi feita a partir da porta 80 e não de uma porta arbitrária, nenhuma dessas situações funcionará.
é por isso que precisamos usar uma porta arbitrária para iniciar a solicitação!
4- de um IP para o mundo, max 65535 (porque você só pode ligar 65k sockets ... já que você tem apenas 65k portas)
Se você quiser aprofundar isso, recomendo que leia estas coisas:
link (e os artigos relacionados ...)
link