Como eu verifico se meu roteador bloqueia o tráfego multicast?

5

Eu estou tentando um programa c # multicast remetente e receptor no meu computador. Como posso verificar se meu roteador bloqueia a multidifusão? ou seja, se os membros do grupo recebem pacotes de 224.0.0.1.

    
por zcqwevb 09.03.2012 / 23:06

2 respostas

3

Os roteadores IPv4 são necessários para não encaminhar os multicasts para o 224.0.0.1. Esse é o endereço multicast "all hosts". Esse endereço não é um endereço multicast roteável. Consulte a RFC 3171, "Diretrizes da IANA para atribuição de endereços multicast IPv4" . Não é permitido fora da rede atual da camada de enlace de dados (camada 2). Caso contrário, ao efetuar o ping, você estaria literalmente fazendo ping de todos os últimos hosts com capacidade para IPv4 em toda a Internet e, instantaneamente, DDOS com todas as respostas de ping. : -)

Durante o desenvolvimento da sua aplicação, eu acho que você provavelmente vai querer usar endereços "Administrativamente com Escopo IP Multicast" (239/8). Veja RFC 2365 . caveat lector: Certamente não sou especialista em roteamento multicast IPv4.

Se você estivesse usando termos leigos em vez de um jargão de rede preciso, e o dispositivo de rede que você estava chamando de "roteador" fosse na verdade apenas uma bridge / switch Ethernet e não um roteador IPv4, ele o encaminharia entre portas, porque é isso que as pontes / switches Ethernet precisam fazer. Como na camada Ethernet, o endereço MAC de destino teria o conjunto de bits multicast.

Se você está lidando com 802.11 (Wi-Fi), note que o 802.11 é um protocolo de camada de enlace de dados, basicamente Ethernet sem fio. Um dispositivo que conecta uma Ethernet sem fio a uma Ethernet com fio é tecnicamente chamado de "Access Point" ou AP. Um AP pode ser uma ponte de camada de enlace simples entre Ethernet com e sem fio. Assim, alguns dispositivos aos quais as pessoas se referem em termos leigos como um "roteador sem fio" podem, dependendo de como você o configurou, ser apenas um AP em ponte e não um roteador.

Mas se você tiver um "roteador sem fio" configurado para atuar como um gateway NAT IPv4, não há problema em considerá-lo como um roteador, porque um gateway NAT praticamente faz tudo que um simples roteador IPv4 faria. mais emprega alguns truques de camada superior para fazer com que o tráfego do lado da LAN, hosts de sub-rede privadas pareçam realmente vir do endereço IP do gateway, um endereço IP publicamente roteável. Mas mesmo que seja um gateway NAT, ele não deveria estar encaminhando pacotes para 224.0.0.1 de LAN para WAN ou WAN para LAN.

    
por 10.03.2012 / 02:51
2

Preocupações com hardware :

Verifique a marca, o modelo e a documentação para garantir que o hardware suporte multicast. Supondo que não seja um problema de hardware, verifique a configuração do ponto de acesso / switch / gateway / "caixa de blinky de passagem de tráfego" ...

Diagnóstico:

Como usuário do C #, talvez seja necessário traduzir meu comando / respostas do Mac / Unix para o Windows ...

Quando eu corro: > ifconfig da minha casa eu recebo:

... en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ...

que faz sentido, porque eu uso zeroconf, mDNS, serviços Bonjour, etc em casa através da minha conexão sem fio. Quando executo a mesma coisa em um espaço de coworking, onde nenhuma das coisas do zeroconf funciona, também notei que o comando ifconfig exclui o sinalizador de difusão seletiva.

... en1: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500 ....

Para administradores de gateway

Faça login no ponto de acesso e tente ativar o multicast. Para referência, se você estiver usando um "roteador" orientado ao consumidor, talvez seja necessário pesquisar em Abas Avançadas (exemplo em PDF da Time Warner. Certifique-se de procurar" mulitcast ")

    
por 12.07.2017 / 17:36