Dois aplicativos diferentes podem vincular a mesma porta em um host se usarem protocolos diferentes?

0

 minha pergunta é bem clara, eu acho. Se dois aplicativos usarem protocolos diferentes da camada de transporte (por exemplo, TCP e UDP ou outra coisa), eles poderão abrir o mesmo número de porta?

Como o sistema operacional faz a multiplexação, se for esse o caso?

Quantos protocolos de transporte podem estar em uma pilha de rede do SO? Se o número de protocolos diferentes não for limitado, isso significa que um computador pode basicamente ter portas abertas ilimitadas para se comunicar?

yoyo_fun
fonte

Respostas:

2

Sim, as portas TCP e UDP são conjuntos de portas completamente separados, apesar de serem UInt16s e gerenciados de maneira semelhante.

Você pode criar seu próprio protocolo de transporte e fornecer quantos bits desejar para o número de porta equivalente ao seu transporte e nunca ficar sem números de porta. Você também pode criar algo da ordem de 256 protocolos de transporte (embora alguns já tenham sido utilizados) e definir números inteiros enormes como sua variável de número de porta para todos eles.

Spiff
fonte
Existe alguma maneira de verificar com certeza quantos protocolos de transporte operam no seu sistema operacional?
yoyo_fun
Também de acordo com este artigo, não existem apenas 255 possibilidades para a seção de protocolo? pt.wikipedia.org/wiki/List_of_IP_protocol_numbers
yoyo_fun
1
@yoyo_fun Opa, você está certo, o campo do número do protocolo IP é de apenas 8 bits, não 16. Corrigido.
Spiff
Portanto, você pode usar quantos protocolos de camada de transporte quiser, mas apenas com algum outro protocolo de rede, não o ip.
23816 yoyo_fun
@yoyo_fun Claro. Além da camada física e talvez a parte mais baixa da camada de link, os protocolos de rede podem ser implementados em software; portanto, se você criar o seu a partir do zero, poderá fazê-lo fazer o que quiser. Você nem precisa se preocupar em seguir um modelo de camadas, se não quiser.
Spiff