Tengo una pregunta sobre el cambio. Tengo dos dispositivos conectados a un conmutador con las direcciones IP 192.168.5.20 y 192.168.5.10. Ambos dispositivos tienen el mismo prefijo, / 24. Eso significa que están en la misma subred.
Si divido estos dispositivos en diferentes VLAN (10 y 20) en el conmutador, no se comunicará aunque estén en la misma subred. ¿Por qué pasa eso?
Respuestas:
Una de las cosas que hacen las VLAN es tomar un conmutador físico y dividirlos en múltiples conmutadores "virtuales" más pequeños.
Es decir, esta representación física de un conmutador y dos VLAN:
Es idéntico en funcionamiento a esta representación lógica de la misma topología:
Incluso si las direcciones IP en la segunda imagen estuvieran en la misma subred, notará que no hay un "enlace" entre los dos conmutadores virtuales (es decir, VLAN) y, por lo tanto, no hay manera posible de que los hosts A / B puedan comunicarse con los hosts C /RE.
Para que los hosts en la segunda imagen se comuniquen entre sí, necesitaría algún tipo de dispositivo para facilitar la comunicación de un "interruptor" al otro. El dispositivo que existe para ese propósito es un enrutador ; por lo tanto, se requiere un enrutador para que el tráfico cruce un límite de VLAN:
Y debido al funcionamiento del enrutador, cada interfaz de enrutador debe tener su propia subred IP única . Es por eso que cada VLAN requiere tradicionalmente su propia subred IP única, porque si se va a establecer una comunicación entre esas VLAN, se requerirán subredes únicas.
Las imágenes de arriba son de mi blog, puede leer más sobre VLAN como concepto aquí , y sobre Enrutamiento entre VLAN aquí .
fuente
El objetivo de LAN virtual es crear LAN de capa 2 separadas en un solo dispositivo físico.
Es como construir una pared blindada y a prueba de sonido en una habitación para crear 2 habitaciones. Las personas en cada mitad de la habitación ya no pueden comunicarse con las personas en la otra mitad de la habitación anterior.
Por lo tanto, tiene dos hosts en dos redes L2 distintas sin nada que les permita comunicarse.
Tenga en cuenta que en la mayoría de los casos no tiene sentido usar la misma subred en dos VLAN diferentes. El caso estándar es asociar una red IP con una VLAN.
fuente
Subredes IP agrupan lógicamente hosts: los hosts dentro de la misma subred usan su conexión de capa 2 para comunicarse directamente entre sí. Hablar con hosts en otra subred requiere el uso de una puerta de enlace / enrutador.
VLAN físicamente agrupan hosts: los hosts dentro de la misma VLAN / dominio de difusión / segmento L2 pueden comunicarse entre sí directamente. Los hosts en diferentes VLAN no pueden. (No me golpees, físicamente el grupo no es realmente correcto, pero marca mi punto).
Entonces, cuando dos hosts están en la misma subred IP pero en diferentes VLAN / dominios de transmisión / redes L2 no pueden comunicarse: el host de origen asume el destino dentro de su red L2 local y, por lo tanto, intenta ARPAR la dirección de destino (o NDP resolver para IPv6).
ARP funciona enviando una solicitud como difusión a la red L2 local y el host con la dirección IP solicitada responde con su dirección MAC. Como el host de destino está afuera la red local, nunca escucha la solicitud ARP y ARP falla.
Incluso si la fuente de alguna manera conociera la dirección MAC del destino y construyera una trama dirigida a esa MAC, nunca llegaría al destino ya que aún está fuera de la red L2. Los MAC externos a la red local L2 no tienen sentido ni utilidad.
fuente
Complementario a las respuestas existentes, que cubren la pregunta desde un punto de vista de diseño y teoría ...
En lugar de preguntar " ¿por qué no se comunican? ", Preguntemos " qué sucede cuando intentan comunicarse?"
Primero, ¿qué significa configurar una VLAN en un conmutador? En nuestro ejemplo, hay algunos sockets configurados como VLAN 10 y algunos configurados como VLAN 20. La definición de VLAN es que solo se conectan sockets en la misma VLAN. Lo que eso significa es que una trama recibida en un puerto en una VLAN determinada solo se envía a los puertos de la misma VLAN.
En este diagrama tenemos seis hosts, los puertos 1, 2, 5 están en la VLAN 10, los puertos 3, 4, 6 están en la VLAN 20.
Suponga que el host A está configurado estáticamente como 192.168.5.10/24 y F está configurado estáticamente como 192.168.5.20/24, a partir de la pregunta. Suponga que B a E tienen otras direcciones de configuración estáticas (no importa cuáles sean).
Si A pings 192.168.5.20, determina que está en el mismo / 24, por lo que lo primero que sucede es una solicitud ARP: QUIÉN TIENE 192.168.5.20, enviado como una transmisión de Ethernet.
El conmutador recibe la transmisión en el puerto 1. Esta es la VLAN 10, por lo que envía la transmisión desde los puertos 2 y 5, los otros puertos en la VLAN 10. Los hosts B y E reciben la solicitud ARP y la ignoran, ya que no es su dirección.
Eso es.
No habrá respuesta ARP; Lo siguiente que sucederá será un tiempo de espera en A, seguido de las repetidas solicitudes ARP posteriores, hasta que la aplicación se dé por vencida.
Un host conectado a otra cosa que no sea un puerto VLAN 10 no verá nada, sea cual sea su dirección IP. Obviamente, esto incluye F, que es 192.168.5.20.
fuente
Espero que comprenda bien el enmascaramiento de subred. Cuando tiene VLAN separadas, debe tener un rango de direcciones IP único con subredes. No es esencial.
VLAN es una LAN separada, pero es una LAN virtual. Además, LAN virtual para separar redes en el mismo conmutador. Se creará un dominio de difusión separado en su conmutador. Pero cuando crea LAN virtuales con la misma ip, es inútil.
Además de eso, debe configurar el enrutamiento Intervlan en su conmutador.
fuente
Considere lo que sucede cuando tiene una LAN en casa y una computadora con IP 192.168.2.1. Su amigo en el camino también tiene una LAN en su casa y una computadora con IP 192.168.2.2. Están en la misma subred, entonces, ¿por qué no pueden hablar entre ellos?
En tal ejemplo, la causa es diferente de lo que está preguntando.
Pero una VLAN logra el mismo resultado: segmenta una red en la segunda capa.
Mi punto es que podemos ver fácilmente que el hecho de que "las direcciones IP están en la misma subred" no es suficiente para determinar si los paquetes pueden enrutarse entre ellos. La topología subyacente también tiene un papel que desempeñar.
Llevando esto a su extremo, en la capa más baja necesita algo de material físico (bueno, está bien, o aire: D) para transportar los datos. Sus computadoras pueden estar en la misma casa en la misma subred pero no estar físicamente conectadas (o tener un enlace inalámbrico) y entonces no esperaría que los paquetes se enruten.
fuente
El objetivo de las VLAN es tener una segmentación de red. También podría lograr lo mismo (dejando de lado algunas advertencias) utilizando subredes. Como su subred se divide en 2 VLAN diferentes, sus dispositivos no pueden comunicarse en la red L2. Puede configurar la interfaz IRB en el conmutador para permitir la comunicación entre las VLAN. Alternativamente, puede enrutar el tráfico a través de un firewall y permitir la comunicación selectiva entre las VLAN. Idealmente, debe diseñar su red para que tenga subredes diferentes para cada una de las VLAN y luego Firewall el tráfico entre las VLAN. Espero que esto ayude.
fuente
Cuando una conexión Ethernet lleva más de una VLAN, todas menos una de esas VLAN deben etiquetarse . La etiqueta VLAN conforme a IEEE 802.1Q se coloca en la trama de Ethernet en la ubicación donde normalmente estaría el EtherType de la trama. La primera parte de la etiqueta VLAN es un identificador de protocolo de etiqueta , que es un valor constante de 0x8100. Como resultado, un dispositivo que desconoce las etiquetas IEEE 802.1Q o configurado para no esperarlas verá las tramas etiquetadas y pensará "esto no es ni IPv4, ARP ni IPv6; este Ethertype 0x8100, que es algo completamente diferente y yo no" Creo que no lo entiendo en absoluto. Lo mejor es ignorarlo ".
Un conmutador compatible con VLAN puede filtrar los paquetes que salen a cada puerto por sus etiquetas de VLAN, y opcionalmente puede quitar la etiqueta de VLAN de una VLAN seleccionada en el tráfico saliente desde ese puerto (y agregar recíprocamente la etiqueta de VLAN al tráfico entrante en ese puerto), para que cualquier tráfico de la VLAN seleccionada aparezca como tráfico Ethernet anterior a 802.1Q para el dispositivo conectado a ese puerto en particular. Dicha VLAN seleccionada se conoce como la VLAN nativa para ese puerto.
El estándar 802.1Q permite que un puerto Ethernet admita una única VLAN nativa y cualquier cantidad de VLAN etiquetadas al mismo tiempo, pero entiendo que un puerto pase las tramas Ethernet etiquetadas y sin etiquetar al mismo tiempo es una configuración algo desfavorable: usted ' Deberá recordar que una de las VLAN en un puerto / NIC es diferente de todas las demás y debe configurarse de manera diferente. Propenso a errores.
En la terminología de Cisco, un puerto de conmutador se puede configurar como puerto de acceso o como puerto troncal . Un puerto de acceso solo proporcionará acceso a una única VLAN y las etiquetas de VLAN se quitarán automáticamente del tráfico saliente y se agregarán al tráfico entrante para ese puerto. Un puerto troncal, por otro lado, pasará el tráfico en un conjunto configurable de VLAN, pero todo el tráfico estará etiquetado con VLAN.
Entonces, para su caso de dos dispositivos en dos VLAN diferentes en el mismo conmutador, ambos utilizando direcciones en la misma subred IP. Lo que ocurra dependerá de cómo estén configurados los puertos del conmutador (y las interfaces de red en los dispositivos) con respecto a las VLAN.
1.) Cambie los puertos como puertos de acceso, los dispositivos no son compatibles con VLAN: el puerto del conmutador filtrará el tráfico de la VLAN "opuesta", por lo que los dispositivos nunca verán el tráfico de los demás. Esto plantea la pregunta de si tiene sentido o no pensar en ellos como "estar en el mismo segmento de red".
2.) Cambie los puertos como puertos troncales configurados para pasar ambas VLAN, los dispositivos no son compatibles con VLAN: cada dispositivo pensará "¿Por qué ese otro dispositivo sigue enviándome esas cosas extrañas de Ethertype 0x8100? No hablo eso".
3.) Cambie los puertos como puertos troncales configurados para pasar solo una VLAN cada uno, los dispositivos son conscientes de VLAN: también deberá especificar los números de VLAN en la configuración de red de los dispositivos, pero el resultado final es esencialmente el mismo que en el caso # 1: los dispositivos no verán el tráfico del otro.
4.) Cambie los puertos como puertos troncales configurados para pasar ambas VLAN, dispositivos con reconocimiento de VLAN pero configurados para diferentes VLAN: ahora es la capa de soporte de VLAN en los dispositivos que realizan el filtrado, pero el resultado práctico es el mismo que en los casos # 1 y # 3: el tráfico del dispositivo "opuesto" nunca alcanzará la capa de protocolo IP en la pila de protocolos de red del dispositivo.
5.) Cambie los puertos como puertos troncales configurados para pasar ambas VLAN, dispositivo configurado con reconocimiento de VLAN, ambas VLAN configuradas en el dispositivo. Esto está más allá de lo que pediste. Ahora el dispositivo estará efectivamente presente en ambas VLAN.
Dado que ambas VLAN fingen ser distintas en el nivel de Ethernet, pero utilizan la misma subred IP, lo que suceda dependerá de cómo se haya implementado el enrutamiento IP de los dispositivos. El principal detalle importante será si la pila de IP está diseñada para usar un modelo de host fuerte o un modelo de host débil , y exactamente cómo se ha integrado el concepto de VLAN en el sistema.
Por ejemplo, Linux presentará cualquier VLAN etiquetada configurada como NIC virtuales adicionales, que reflejen el estado del enlace de la NIC física subyacente pero que, de lo contrario, actúen de la forma más independiente posible técnicamente. Por lo tanto, será como si tuviera dos NIC conectadas en dos segmentos de red física separados con subredes IP 100% superpuestas: el sistema podría recibir tráfico entrante perfectamente, pero supondrá que cualquier NIC conectada a la subred IP de destino es buena para hablar cualquier otro host en esa subred IP, y usará cualquier NIC (virtual, específica de VLAN) que ocurra primero en la tabla de enrutamiento ... y, por lo tanto, la configuración podría o no funcionar dependiendo del orden en que las diferentes partes del La configuración de NIC y VLAN se ha inicializado. Necesitarías usar Linux '
El uso de la misma subred IP en dos segmentos distintos es un problema de capa 3, sin importar si la separación de segmentos en la capa 2 es física (= NIC separadas reales) o lógica (= creada con VLAN). Un problema de capa 3 necesitará una solución de capa 3: usar un enrutador o alguna otra caja para simular la NAT de una de las subredes para eliminar la superposición de subred IP sería mucho más elegante que tratar de manejarlo en los dispositivos individuales.
fuente