¿Alguien tiene algún código que determine si una dirección IP (IPv4 o IPv6) está en la misma subred que la máquina que ejecuta la aplicación? He visto numerosos ejemplos de código que hace esto con IPv4 pero no puedo encontrar ninguno que admita IPv6.Es la dirección IP en la misma subred que la máquina local (con soporte IPv6)
EDIT:
no estoy seguro si estoy entendiendo todas las diferencias entre v4 y v6 tiene de aquí un poco más a mi pregunta. Tengo una aplicación que sirve tanto a clientes de Internet como a clientes de intranet, es decir, hay clientes que están en la misma red física que el servidor. Entonces, a veces hay enrutadores entre el cliente y otras veces no. Con IPv4 puedo determinar esto marcando la dirección IP del cliente en contra de la dirección IP del servidor y la subred de modo que si de IP y la máscara de subred son, respectivamente, mi servidor:
192.168.123.15 255.255.255.0
y el servidor recibe una solicitud del cliente de 192.168.123.100 Sé que no hay enrutador entre el cliente y el servidor. Sin embargo, si el servidor recibe una solicitud del cliente de 192.168.1.100 o quizás 67.7.23.4, sé que hay un enrutador entre esos clientes y el servidor. En .Net puedo recopilar las direcciones IP del cliente y del servidor (tanto v4 como v6), pero no puedo encontrar la máscara de subred IPv6.
¿Hay alguna manera de recopilar esta información en .Net o hay alguna diferencia entre IPv4 e IPv6 que estoy entendiendo mal?
EDITAR x2:
Me ha publicado esto en el MS conectar sitio para ver si es algo que están trabajando o si hay una razón por la que no ha añadido una propiedad IPv6Mask a la clase UnicastIPAddressInformation.
También he publicado la misma pregunta en los foros de MSDN en la misma época. 1800+ visitas y ni una sola respuesta. Supongo que no soy el único que siente curiosidad por esto.
¿Cómo se ofrece la dirección IPv6? ¿Hay algún mecanismo de transición en uso o es DHCPv6? – Abhi
Bueno, estoy tratando de hacerlo funcionar bajo cualquier cantidad de circunstancias, entonces digamos las dos? –
tal vez esto debería ser realmente preguntado desde serverfault.com –