Acredito que usar uma máscara de sub-rede 255.255.255.255 isolaria meu dispositivo de outros dispositivos na rede local, mas ainda recebo todas as mensagens mDNS deles, mesmo que eles devessem estar em um segmento de rede diferente devido à máscara.
relate perguntas
-
endereço IP da máscara de sub-rede
-
como o escaneamento arp cruza a camada de rede?
-
Como determinar onde o IP é Classful ou Classless?
-
quantas sub-redes diferentes podem existir para um bloco de endereço IP que começa com 172.64 com uma máscara de sub-rede de 255.255.255.224?
-
Mesmo endereço IP, sub-rede diferente
Primeiro – não há motivos para que tal plano funcione. Considere que com máscaras de sub-rede "típicas", como 255.255.255.0, você já recebe pacotes fora da sub-rede regularmente, de toda a Internet (por exemplo, de servidores da web com os quais seu navegador está falando). É literalmente assim que a Internet funciona.
Isso também se aplica ao multicast. Embora o mDNS seja especificamente "link-local", o multicast IP em geral é roteável – ele foi projetado para ser possível de ser transportado por toda a Internet (veja 'Mbone'), e hoje ainda há ISPs que roteiam pacotes multicast entre clientes. Então, embora seu software mDNS possa se recusar a processar pacotes mDNS fora da sub-rede, não há razão para que ele não consiga recebê-los.
Segundo – a máscara de sub-rede apenas informa ao seu dispositivo para onde ele pode enviar pacotes. (É efetivamente uma abreviação para uma rota 'on-link' ou 'device' em direção à sub-rede.) Não tem nada a ver com recebê-los e é completamente interna ao seu dispositivo: o resto da rede não sabe realmente qual máscara de rede você configurou.
Pacotes dentro da sub-rede local são entregues não por endereço IP, mas por endereço MAC. Os switches Ethernet não se importam particularmente com o endereço IP de destino (nem com o IP de origem) – é normal ter pacotes em uma Ethernet que são endereçados ao dispositivo A no nível MAC, mas algo completamente diferente no nível IP.
(Na verdade, é assim que os gateways (roteadores) são usados: quando você precisa enviar um pacote para superuser.com, ele é endereçado ao endereço IP do superuser.com, mas ao endereço MAC do seu gateway padrão. É por isso que existe o ARP e é por isso que o campo "Gateway padrão" é necessário: ele informa ao sistema operacional por qual endereço MAC do dispositivo ele deve enviar pacotes de "Internet".)
Então, se um pacote for endereçado aos endereços MAC especiais 'Broadcast' ou 'Multicast', os switches Ethernet o entregarão a todas as portas (ou a todas as portas assinadas), não importando sua origem ou destino em nível de IP; da mesma forma, os pontos de acesso Wi-Fi. E uma vez que o pacote foi transmitido para você, você não tem escolha a não ser recebê-lo – o SO pode se recusar a processá- lo, por exemplo, se as regras de firewall o rejeitarem, mas ele não pode se recusar a recebê -lo.
Geralmente, ferramentas de captura de pacotes (como o Wireshark) recebem suas informações em um estágio inicial, antes de qualquer filtragem de firewall, muito menos de qualquer outro processamento, então até mesmo pacotes indesejados aparecerão no Wireshark, não importa o que aconteça.
A única maneira de isolar hosts de forma confiável é, portanto, fazê-lo no nível de seus switches/roteadores Ethernet (ou seja, "isolamento de camada 2"). Mais comumente, isso é obtido criando VLANs no switch Ethernet – uma sub-rede IP por VLAN – se suportado pelo seu roteador; ou fazendo o mesmo com switches físicos separados, que vão para portas distintas no roteador (ou seja, não portas comutadas como os roteadores domésticos têm).
O "m" em "mDNS" significa "multicast", e os pacotes multicast são enviados para endereços multicast especiais que são independentes de quaisquer sub-redes de endereços IP unicast.
O IETF Zero Configuration Networking (ZeroConf), do qual o mDNS é um componente importante, foi projetado especificamente para não ser impedido por problemas de incompatibilidade de sub-rede IP, que é uma das razões pelas quais ele usa multicast. Você deve ser capaz de usar [m]DNS-SD para descobrir todos os dispositivos com capacidade ZeroConf em sua rede, mesmo se eles estiverem mal configurados e tiverem uma incompatibilidade de sub-rede.
Se você tivesse que fazer alguma reconfiguração para corrigir uma incompatibilidade de sub-rede para fazer a Rede de Configuração Zero funcionar, então ela não faria jus ao seu nome.