
Em um dos programas que estou escrevendo, preciso encontrar alguns hosts em uma rede. Não sei quantos estarão por aí, e é possível que a rede seja maior que a classe C.
Alguém sugeriu que eu analisasse uma transmissão da camada MAC, mas não há muitas informações quando pesquiso no Google. Alguém pode explicar como isso funciona ou onde posso encontrar mais informações sobre isso?
Responder1
Na rede você tem as camadas do modelo OSI:
- Físico
- Link de dados (camada MAC)
- Rede (camada IP)
- Transporte (camada TCP)
- etc.
A camada de enlace de dados e a camada de rede são divididas em segmentos pelo seu roteador. Isso significa que você pode transmitir para todos os hosts em sua VLAN (normalmente na mesma sub-rede) pela camada 2 ou 3. Por exemplo, se você tiver 4 computadores conectados a um único switch na mesma vlan e no intervalo de IP 192.168.1.0/ 24 você pode enviar um pacote que será transmitido para todos os 4 computadores usando um dos seguintes métodos:
- Camada 2: Envie um quadro para o endereço MAC ff:ff:ff:ff:ff:ff
- Camada 3: Envie um pacote IP para o endereço IP 192.168.1.255
Se você planeja usar TCP ou UDP, eu usaria a transmissão da camada 3. Se você está planejando se conectar a máquinas que não possuem endereços IP, escolha a camada 2.
Para deixar claro, você não poderá usar pacotes de transmissão para localizar hosts em sub-redes diferentes. Para isso você precisaria de um servidor central ou algo como multicast que deve ser suportado e habilitado em todos os seus roteadores.