Existe alguma maneira possível em que o pacote unicast de uma máquina seja enviado para duas máquinas?

2

Existe alguma maneira possível em que um pacote unicast de uma máquina seja enviado para duas máquinas? Como isso ocorre?

Alguém enfrentou essa condição ocasionalmente?

    
por Andreson 21.05.2014 / 16:04

4 respostas

4

Isso pode ser bastante comum, dependendo da topologia da rede e do (s) modelo (s) de switch. Se um determinado switch não tiver um endereço de destino em sua tabela CAM, ele enviará o pacote para todas as portas. Não importa se é broadcast, multicast ou unicast. De acordo com a Cisco pode ser causado por assimetria de caminho, alterações de topologia ou um estouro de tabela CAM. Eu também vi isso acontecer com interruptores de má qualidade.

    
por 21.05.2014 / 19:00
2

Você está procurando por redes que direcionam deliberadamente um pacote unicast para várias máquinas? Ou você está considerando casos em que isso acontece por acidente devido a erros de configuração?

Acontecer por acaso não é muito provável. Eu não posso chegar a um cenário muito provável, em que isso aconteceria. NATar um endereço unicast para um endereço multicast é um erro que pode causar isso.

Rotear deliberadamente um envio de pacote para um endereço unicast para vários hosts é inteiramente possível. Eu posso pensar em um caso de uso significativo para isso.

Hospedar um serviço baseado em TCP em um endereço anycast é conhecido por ser problemático devido à possibilidade de rotas mudarem enquanto uma conexão está aberta. Isso pode causar conexões para quebrar. Uma camada adicional, que canaliza pacotes do cliente entre os servidores, caso eles acabem no servidor errado, poderia resolver o problema.

Essa abordagem, no entanto, introduz um novo problema, porque essa camada precisa manter o controle de onde os pacotes devem ser roteados. Mas esse reencaminhamento não é estático; quando ele é alterado, pode haver dois possíveis candidatos para o destino correto do pacote do cliente. Nesse ponto, um pacote que, do ponto de vista do cliente, fosse enviado para um endereço unicast teria que ser encaminhado para dois hosts diferentes, onde apenas um deles responderia.

    
por 21.05.2014 / 16:27
1

Teoricamente, seria possível que duas máquinas com o mesmo endereço MAC, que estão conectadas ao mesmo domínio de transmissão, recebessem os mesmos quadros. Ambas as máquinas também precisariam ter o mesmo IP configurado, já que o kernel descartaria pacotes que não são destinados à máquina. Você provavelmente precisaria ter um hub na rede também, porque um switch normalmente não permitiria duas portas com o mesmo MAC na VLAN. Além disso, você rapidamente se depararia com problemas com sessões TCP com essa configuração (porque os quadros seriam enviados para o host errado).

Eu acho que é um cenário muito improvável, e isso daria a ambos os hosts muitos problemas de conectividade.

    
por 21.05.2014 / 16:08
0

Sim, é possível com anycast, já que ambas as máquinas teriam o mesmo endereço IP, seria uma configuração estranha de anycast, com ambas as rotas tendo a mesma quantidade de saltos, prioridade e outros critérios que normalmente favoreceriam um sobre o outro.

Você provavelmente poderia fazê-lo com um balanceador de carga configurado estranhamente ou com um dispositivo NAT, como mtak afirma, você provavelmente teria problemas de conectividade em muitos níveis diferentes.

    
por 21.05.2014 / 16:17