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?

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.