Tecnología VXLAN: la tecnología subyacente del centro de datos


Esta publicación de blog hace referencia a los documentos oficiales de Huawei

I. Resumen

Definición de VXLAN

VXLAN (Virtual eXtensible Local Area Network) es una de las tecnologías estándar NVO3 (Network Virtualization over Layer 3) definida por el IETF y es una extensión del protocolo VLAN tradicional. La característica de VXLAN es encapsular tramas Ethernet L2 en paquetes UDP (es decir, L2 sobre L4) y transmitirlos en la red L3.

Como se muestra en la figura, VXLAN es esencialmente una tecnología de tunelización. Se establece un túnel lógico en la red IP entre el dispositivo de red de origen y el dispositivo de red de destino, y los paquetes del lado del usuario se reenvían a través de este túnel después de una encapsulación específica. Desde el punto de vista del usuario, el servidor que accede a la red es como conectarse a diferentes puertos de un conmutador virtual de Capa 2 (la red VXLAN del centro de datos representada por el cuadro azul punteado se puede considerar como un conmutador virtual de Capa 2). Comuníquese fácilmente.

VXLAN se ha convertido en la tecnología principal actual para la construcción de centros de datos porque puede satisfacer las necesidades de migración dinámica de máquinas virtuales y tenencia múltiple en centros de datos.
Inserte la descripción de la imagen aquí

Por qué necesita VXLAN

El rápido crecimiento del número de máquinas virtuales y la frecuencia cada vez mayor de los servicios de migración de máquinas virtuales han traído nuevos desafíos a la red tradicional de centros de datos de "Capa 2 + Capa 3":
  • El tamaño de la máquina virtual está limitado por las especificaciones de la entrada del dispositivo de red.

Para la comunicación entre hosts en el mismo segmento de red, los paquetes se reenvían en la Capa 2 consultando la tabla MAC. Después de la virtualización del servidor, la cantidad de máquinas virtuales en el centro de datos ha aumentado en un orden de magnitud en comparación con las máquinas físicas originales, y esto se acompaña de un aumento sin precedentes en la cantidad de direcciones MAC de tarjetas de red de máquinas virtuales. En este momento, el dispositivo de Capa 2 en el lado de acceso dijo "¡Quiero sostenerlo!"

En términos generales, las especificaciones de los dispositivos de Capa 2 en el lado del acceso son relativamente pequeñas y el tamaño de las entradas de la tabla de direcciones MAC no puede cumplir con el número de máquinas virtuales que aumenta rápidamente.

  • Las redes tradicionales tienen capacidades de aislamiento limitadas

Como la tecnología de aislamiento de red principal actual, VLAN tiene solo 12 bits en la definición estándar, lo que significa que la cantidad de VLAN disponibles es solo alrededor de 4000. Para las nubes públicas u otros servicios de computación en la nube virtualizados a gran escala, donde hay decenas de miles o más inquilinos, la capacidad de aislamiento de las VLAN obviamente no es suficiente.

  • Alcance limitado de la migración de la máquina virtual

La migración de máquinas virtuales, como su nombre lo indica, consiste en migrar una máquina virtual de una máquina física a otra máquina física, pero el negocio no debe interrumpirse durante el proceso de migración. Para lograr esto, es necesario asegurarse de que los parámetros como la dirección IP y la dirección MAC de la máquina virtual permanezcan sin cambios antes y después de la migración. Esto determina que la migración de la máquina virtual debe ocurrir en un dominio de segundo nivel. El dominio de segundo nivel de las redes de centros de datos tradicionales restringe la migración de máquinas virtuales a un área local pequeña.

Inserte la descripción de la imagen aquí

¿Cuál es la diferencia entre VXLAN y VLAN?

VLAN como tecnología de aislamiento de red tradicional, la cantidad de VLAN en la definición estándar es solo de aproximadamente 4000, lo que no puede cumplir con los requisitos de aislamiento entre inquilinos en grandes centros de datos. Además, la gama de VLAN de capa 2 es generalmente pequeña y fija, y no puede admitir la migración dinámica a gran escala de máquinas virtuales.

VXLAN compensa perfectamente las deficiencias de VLAN mencionadas anteriormente. Por un lado, proporciona hasta 16 millones de capacidades de identificación de inquilinos a través del campo VNI de 24 bits en VXLAN, que es mucho más grande que VLAN 4000.

Por otro lado, VXLAN esencialmente construye un túnel virtual a través de la red IP básica del centro de datos entre dos conmutadores, virtualizando la red del centro de datos en un "conmutador de capa 2" gigante para satisfacer las necesidades de migración dinámica a gran escala de máquinas virtuales.

Aunque por el nombre, VXLAN es un protocolo extendido de VLAN, pero la capacidad de VXLAN para construir túneles virtuales es completamente diferente de VLAN.

2. Modelo de red VXLAN y conceptos básicos

Inserte la descripción de la imagen aquí

Como puede verse en la figura anterior, VXLAN ha establecido un túnel entre los dos conmutadores TOR para "empaquetar" la trama de datos original enviada por el servidor para que el mensaje original pueda transmitirse en la red portadora (como una red IP). Después de llegar al conmutador TOR conectado al servidor de destino, abandona el túnel VXLAN, recupera la trama de datos original y continúa reenviandola al servidor de destino.

  • VTEP (VXLAN Tunnel Endpoints, VXLAN Tunnel Endpoints): Es el dispositivo de borde de la red VXLAN. Es el inicio y el final del túnel VXLAN. La encapsulación y desencapsulación de la trama de datos original del usuario por VXLAN se realiza en VTEP.

    VTEP es el protagonista absoluto en la red VXLAN, VTEP puede ser un dispositivo de red independiente o un conmutador virtual en el servidor. La trama de datos original enviada por el servidor de origen se encapsula en un mensaje formateado VXLAN en el VTEP y se transfiere a otro VTEP en la red IP, y la trama de datos original se restaura después de la desencapsulación y finalmente se reenvía al servidor de destino.

  • VNI (identificador de red VXLAN, identificador de red VXLAN), VNI es una identificación de usuario similar a VLAN ID, un VNI representa un inquilino y las máquinas virtuales que pertenecen a diferentes VNI no pueden comunicarse directamente entre sí en la Capa 2. Cuando se encapsulan los paquetes VXLAN, se asigna un espacio de 24 bits al VNI, de modo que pueda admitir el aislamiento de una gran cantidad de inquilinos.

  • El
    " túnel " del túnel VXLAN es un concepto lógico, no es nuevo, como el conocido GRE. Para decirlo sin rodeos, el mensaje original se "transforma" y "empaqueta" para que pueda ser transmitido en una red portadora (como una red IP). Desde la perspectiva del anfitrión, es como si hubiera un vínculo directo entre el inicio y el final del mensaje original. Y este vínculo aparentemente directo es un "túnel". Como su nombre lo indica, se utiliza un "túnel VXLAN" para transmitir paquetes encapsulados por VXLAN, es un canal virtual establecido entre dos VTEP.

3. Formato de mensaje VXLAN

Inserte la descripción de la imagen aquí

Como se muestra en la figura anterior, VTEP "envuelve" la trama L2 original enviada por la VM de la siguiente manera:

  • El encabezado VXLAN
    agrega un encabezado VXLAN (8 bytes), que contiene un campo VNI de 24 bits, que se utiliza para definir diferentes inquilinos en la red VXLAN. Además, también contiene banderas VXLAN (8 bits con un valor de 00001000) y dos campos reservados (24 bits y 8 bits respectivamente).

  • Encabezado UDP El
    encabezado VXLAN y la trama Ethernet original se utilizan como datos UDP. En el encabezado UDP, el número de puerto de destino (puerto VXLAN) se fija en 4789 , y el número de puerto de origen (UDP Src. Port) es el valor calculado por el algoritmo hash de la trama Ethernet original.

  • El encabezado IP externo
    encapsula el encabezado IP externo. Entre ellos, la dirección IP de origen (Outer Src. IP) es la dirección IP del VTEP al que pertenece la VM de origen, y la dirección IP de destino (Outer Dst. IP) es la dirección IP del VTEP al que pertenece la VM de destino.

  • El encabezado MAC externo
    encapsula el encabezado Ethernet externo. Entre ellos, la dirección MAC de origen (Src. MAC Addr.) Es la dirección MAC del VTEP al que pertenece la VM de origen, y la dirección MAC de destino (Dst. MAC Addr.) Es la dirección MAC del dispositivo del siguiente salto en la ruta al VTEP de destino.

4. ¿Cómo resuelve XVLAN los problemas de los centros de datos existentes?

  • Invisible

Dado que las especificaciones de entrada de la tabla del dispositivo no se pueden mejorar, solo puede limitar las entradas de la tabla MAC en el dispositivo e "invisibilizar" las direcciones MAC de una gran cantidad de VM. VTEP encapsula el mensaje original enviado por la VM en un nuevo mensaje UDP y usa las direcciones IP y MAC de la red física como encabezado externo, y solo muestra los parámetros encapsulados a otros dispositivos en la red. En otras palabras, otros dispositivos de la red no pueden ver el mensaje original enviado por la VM.

Si el servidor se utiliza como VTEP, el mensaje enviado desde el servidor al dispositivo de acceso es el mensaje encapsulado. De esta manera, el dispositivo de acceso no necesita aprender la dirección MAC de la VM, solo necesita encapsular el mensaje de acuerdo con la capa externa El jefe es responsable del reenvío básico de tres capas. Por lo tanto, el tamaño de la máquina virtual no estará restringido por las especificaciones de las entradas del dispositivo de red. Por supuesto, si el dispositivo de red se utiliza como un VTEP, aún necesita aprender la dirección MAC de la VM. Sin embargo, desde la perspectiva de la encapsulación de paquetes, el rendimiento de los dispositivos de red sigue siendo mucho mejor que el de los servidores.

  • Expansión

Para el problema de "las capacidades tradicionales de aislamiento de red son limitadas", VXLAN adopta una solución de "expansión de capacidad", introduciendo una identificación de usuario similar a la ID de VLAN, que es el VNI mencionado anteriormente. Un VNI representa un inquilino y las máquinas virtuales que pertenecen a diferentes VNI no pueden comunicarse directamente en la segunda capa. Cuando VTEP realiza la encapsulación VXLAN en el mensaje, asigna 24 bits de espacio al VNI, lo que significa que la red VXLAN teóricamente admite hasta 16 millones de aislamiento de inquilinos. En comparación con VLAN, la capacidad de aislamiento de VNI se ha mejorado enormemente, resolviendo eficazmente el problema del aislamiento masivo de inquilinos en la computación en nube.

  • túnel

Como se mencionó anteriormente, para garantizar un negocio ininterrumpido, la migración de VM debe ocurrir en el mismo dominio de Capa 2. Ahora, mirando hacia atrás en el modelo de red VXLAN, ¿le sorprende descubrir que con el mecanismo de encapsulación VTEP y el túnel VXLAN, el llamado "dominio de capa 2" puede romper fácilmente los límites físicos? Es decir, en la red IP, los paquetes UDP que cruzan la red de tres capas se transmiten en la "brillante", pero los paquetes originales de la VM de origen se han entregado silenciosamente a la VM de destino en la "oscuridad". Es como construir una red virtual de Capa 2 en una red de Capa 3, y siempre que la red IP sea accesible, esta red virtual de Capa 2 puede ser tan grande como quiera. Ahora, debe comprender por qué VXLAN es una tecnología NVO3.

5. Qué VTEP necesitan para establecer un túnel VXLAN

Inserte la descripción de la imagen aquí

Un túnel VXLAN se establece mediante dos VTEP. Hay muchos VTEP en la red del centro de datos. A través del túnel VXLAN, el "dominio de capa 2" puede romper los límites físicos y realizar la comunicación entre máquinas virtuales en la gran red de capa 2. Por lo tanto, si existe la necesidad de una intercomunicación de "dos grandes" entre VM conectadas a diferentes VTEP, se debe establecer un túnel VXLAN entre los dos VTEP. En otras palabras, los túneles VXLAN deben establecerse entre VTEP en el mismo dominio de Capa 2 grande.

Por ejemplo, suponga que la VM conectada a VTEP_1, la VM conectada a VTEP_2 y la VM conectada a VTEP_3 necesitan comunicarse entre sí en "Large Two" en la figura anterior, luego los túneles VXLAN deben establecerse entre VTEP_1, VTEP_2 y VTEP_3 en pares, como se muestra en la siguiente figura .

Inserte la descripción de la imagen aquí

¿Qué es "el mismo dominio grande de segundo nivel"?

El "mismo dominio de capa 2 grande" mencionado anteriormente es similar al concepto de VLAN (Red de área local virtual) en las redes tradicionales, excepto que en las redes VXLAN, tiene otro nombre llamado Bridge-Domain, o BD para abreviar. De manera similar al método de dividir los dominios de transmisión por VLAN en las redes tradicionales, los dominios de transmisión se dividen por BD en las redes VXLAN. Una BD representa un dominio de transmisión y los hosts en la misma BD pueden comunicarse en la Capa 2.

Sabemos que las diferentes VLAN se distinguen por el ID de VLAN ¿Cómo se distinguen las diferentes BD? De hecho, como se mencionó anteriormente, se distingue por VNI. Para los conmutadores de la serie CloudEngine, existe una relación de mapeo de 1: 1 entre BD y VNI. Esta relación de mapeo se establece configurando la línea de comando en el dispositivo VTEP.

Cómo determinar a qué BD pertenece un mensaje

Aquí primero debemos aclarar que VTEP es solo un rol asumido por el interruptor, y es solo una parte de la función del interruptor. En otras palabras, no todos los paquetes que ingresan al switch pasarán por el túnel VXLAN (también es posible que los paquetes pasen por el proceso de reenvío ordinario de Capa 2 y 3). Por lo tanto, antes de responder "Cómo determinar a qué BD pertenece un mensaje", primero debemos responder "Qué mensajes deben ingresar al túnel VXLAN".

¿Qué paquetes deben ingresar al túnel VXLAN?

Antes de responder a esta pregunta, recordemos cómo el conmutador procesa los paquetes recibidos y enviados en tecnología VLAN. Para que un mensaje ingrese al conmutador para su procesamiento posterior, primero debe pasar por la interfaz. Se puede decir que la interfaz controla el "poder de vida o muerte" del mensaje. En las redes tradicionales se definen tres tipos diferentes de interfaces: acceso, troncal e híbrida. Aunque los escenarios de aplicación de estos tres tipos de interfaces son diferentes, su propósito final es el mismo: uno es verificar qué paquetes pueden pasar de acuerdo con la configuración; el otro es determinar qué hacer con los paquetes que pasan la verificación.

De hecho, en la red VXLAN, la interfaz del VTEP también realiza tareas similares, pero en los switches de la serie CloudEngine, la interfaz aquí no es una interfaz física, sino una interfaz lógica llamada "subinterfaz de capa 2". De manera similar, la subinterfaz de Capa 2 hace principalmente dos cosas: una es verificar qué paquetes necesitan ingresar al túnel VXLAN de acuerdo con la configuración; la otra es determinar qué hacer con los paquetes que pasan la verificación. En las subinterfaces de Capa 2, se pueden definir diferentes tipos de encapsulación de flujo según sea necesario (similar a los diferentes tipos de interfaz en las redes tradicionales). Los conmutadores de la serie CloudEngine admiten actualmente cuatro tipos de encapsulación de flujo: dot1q, untag, qinq y default:

  • dot1q: para paquetes con una capa de etiqueta VLAN, este tipo de interfaz solo recibirá paquetes que coincidan con la etiqueta VLAN especificada; para paquetes con dos capas de etiqueta VLAN, este tipo de interfaz solo recibirá la etiqueta VLAN externa y la etiqueta VLAN especificada Paquetes a juego.
  • untag: este tipo de interfaz solo recibe paquetes sin etiquetas VLAN.
  • qinq: este tipo de interfaz solo recibe paquetes con las dos etiquetas VLAN especificadas.
  • predeterminado: permite que la interfaz reciba todos los paquetes, independientemente de si los paquetes llevan etiquetas VLAN o no. Independientemente de la encapsulación VXLAN del mensaje original o la desencapsulación del mensaje VXLAN, este tipo de interfaz no realizará ningún procesamiento de etiquetas VLAN en el mensaje original, lo que incluye agregar, reemplazar o eliminar.

PD : La configuración de las subinterfaces de Capa 2 en ambos extremos del túnel VXLAN no es necesariamente completamente igual. Debido a esto, es posible realizar dos VM que pertenecen al mismo segmento de red pero diferentes VLAN para comunicarse a través del túnel VXLAN.

Agregar subinterfaz de capa 2 a BD

Ahora llegamos a responder "Cómo determinar a qué BD pertenece el mensaje" es muy simple. De hecho, siempre que la subinterfaz de Capa 2 se agregue al BD designado y luego, de acuerdo con la configuración en la subinterfaz de Capa 2, el dispositivo puede determinar a qué BD pertenece el paquete.

Como se muestra en la red, hay dos máquinas virtuales VM1 (VLAN 10) y VM2 (VLAN 20) en diferentes VLAN en un servidor virtualizado, cuando se comunican con otras máquinas virtuales, necesitan acceder a la red VXLAN. En este momento, podemos encapsular diferentes subinterfaces de Capa 2 para VM1 y VM2 en la interfaz física 10GE 1/0/1 de VTEP, y agregarlas a diferentes BD. De esta manera, el tráfico subsiguiente de VM1 y VM2 ingresará a diferentes túneles VXLAN y continuará siendo reenviado.

En este ejemplo, el puerto ascendente del vSwitch está configurado en modo Trunk y el PVID es 20. De esta manera, los paquetes enviados por vSwitch al VTEP incluyen tráfico VM1 etiquetado y tráfico VM2 sin etiquetar. En este momento, se crean dos subinterfaces de Capa 2 en el puerto de acceso VTEP y se configuran como tipos de encapsulación dot1q y untag. .

Inserte la descripción de la imagen aquí

En la interfaz física de acceso 10GE 1/0/1 del conmutador CloudEngine, cree subinterfaces de capa 2 10GE 1/0 / 1.1 y 10GE 1/0 / 1.2 respectivamente, y configure sus tipos de encapsulación de flujo como dot1q y untag respectivamente.

interface 10GE1/0/1.1 mode l2   //创建二层子接口10GE1/0/1.1
encapsulation dot1q vid 10   //只允许携带VLAN Tag 10的报文进入VXLAN隧道
bridge-domain 10   //指定报文进入的是BD 10
#
interface 10GE1/0/1.2 mode l2   //创建二层子接口10GE1/0/1.2
encapsulation untag   //只允许不携带VLAN Tag的报文进入VXLAN隧道
bridge-domain 20   //指定报文进入的是BD 20
#
¿Cómo se establece el túnel VXLAN?

Ahora, podemos ver cómo se establece el túnel VXLAN. En general, el establecimiento de túneles no es más que manual y automático.

  • Establecer un túnel VXLAN manualmente

Este método requiere que el usuario especifique manualmente la IP de origen del túnel VXLAN como la IP del VTEP local y la IP de destino como la IP del VTEP opuesto, es decir, establecer artificialmente un túnel VXLAN estático entre el VTEP local y el VTEP opuesto.

La configuración de vni 5000 head-end peer-list 2.2.2.2 y vni 5000 head-end peer-list 2.2.2.3 indica que hay dos VTEP de pares que pertenecen a VNI 5000, y las direcciones IP son 2.2.2.2 y 2.2.2.3 respectivamente. Según estas dos configuraciones, se generará una tabla en el VTEP.

De acuerdo con la lista de pares en la tabla, el VTEP local puede saber qué VTEP pares pertenecen a la misma BD (o al mismo VNI), lo que determina el alcance del mismo dominio de difusión de Capa 2 grande. Cuando un VTEP recibe un mensaje BUM (Broadcast & Unknown-unicast & Multicast, broadcast & unknown-unicast & multicast), copiará el mensaje y lo enviará a todos los VTEP pares enumerados en la lista de pares (esto es como un mensaje de transmisión en la VLAN Difusión interna). Por lo tanto, esta tabla también se denomina "lista de copias de cabecera". Cuando un VTEP recibe un paquete de unidifusión conocido, determinará por qué túnel VXLAN pasará el paquete de acuerdo con la tabla MAC en el VTEP. En este momento, el par que aparece en la lista de pares actúa como la "interfaz de salida" en la tabla MAC.

  • Establezca automáticamente un túnel VXLAN

El establecimiento de un túnel VXLAN en modo automático requiere la ayuda del protocolo EVPN (Ethernet VPN).

Puerta de enlace distribuida VXLAN

Las deficiencias de la implementación de puertas de enlace centralizadas se pueden resolver mediante la implementación de puertas de enlace distribuidas. La puerta de enlace distribuida VXLAN significa que, bajo la estructura de red típica "Spine-Leaf", el nodo Leaf se usa como el punto final del túnel VXLAN VTEP, y cada nodo Leaf se puede usar como una puerta de enlace VXLAN Layer 3 (también una puerta de enlace VXLAN Layer 2) y un nodo Spine No percibe los túneles VXLAN y solo sirve como un nodo de reenvío para paquetes VXLAN. Como se muestra en la figura siguiente, Server1 y Server2 no están en el mismo segmento de red, pero ambos están conectados a un nodo hoja. Cuando el Servidor1 y el Servidor2 se comunican, el tráfico solo debe reenviarse al nodo Hoja1 y ya no es necesario que pase a través del nodo de columna.

Al implementar una puerta de enlace distribuida:

  • Nodo de columna: se centra en el reenvío de IP de alta velocidad y enfatiza la capacidad de reenvío de alta velocidad del dispositivo.
  • Nodo hoja: como dispositivo de puerta de enlace de capa 2 en la red VXLAN, está conectado a un servidor físico o VM para resolver el problema de los inquilinos de la terminal que acceden a la red virtual VXLAN.
    Como dispositivo de puerta de enlace de tres capas en la red VXLAN, realiza la encapsulación / desencapsulación de paquetes VXLAN para realizar la comunicación de los inquilinos de la terminal a través de subredes y el acceso a redes externas.
    Inserte la descripción de la imagen aquí
La puerta de enlace distribuida VXLAN tiene las siguientes características
  • El mismo nodo hoja se puede usar como puerta de enlace VXLAN de capa 2 o puerta de enlace VXLAN de capa 3, que es flexible en la implementación.
  • Los nodos hoja solo necesitan aprender las entradas ARP de sus propios servidores conectados, en lugar de aprender las entradas ARP de todos los servidores como una puerta de enlace de Capa 3 centralizada, que resuelve el problema de cuello de botella de entrada de ARP causado por la puerta de enlace de Capa 3 centralizada y expande la escala de la red. fuerte habilidad.

Cómo determinar en qué túnel debe ingresar el mensaje

De la descripción anterior, sabemos que puede haber más de un túnel VXLAN perteneciente a la misma BD. Por ejemplo, en la lista de replicación de cabecera anterior, el mismo VTEP de origen (1.1.1.1) corresponde a dos VTEP de pares (2.2.2.2 y 2.2. 2.3). Eso plantea otra pregunta, ¿por qué túnel debe pasar el mensaje?

Sabemos que en el reenvío básico de Capa 2 y Capa 3, el reenvío de Capa 2 se basa en la tabla MAC. Si no hay una tabla MAC correspondiente, el host envía un paquete de difusión ARP para solicitar la dirección MAC del par; el reenvío de Capa 3 se basa en la tabla FIB. En VXLAN, ocurre lo mismo.

6. El proceso de reenvío de mensajes en la red VXLAN

Proceso de interfuncionamiento en la misma subred en VXLAN centralizada

Como se muestra en la figura, VM_A, VM_B y VM_C pertenecen al segmento de red 10.1.1.0/24 y pertenecen a VNI 5000. En este momento, VM_A quiere comunicarse con VM_C.

Dado que esta es la primera comunicación, VM_A no tiene la dirección MAC de VM_C, por lo que se enviará un mensaje de difusión ARP para solicitar la dirección MAC de VM_C.
Inserte la descripción de la imagen aquí

Proceso de reenvío de paquetes de solicitud ARP

Inserte la descripción de la imagen aquí

  1. VM_A envía un mensaje de difusión ARP cuyo MAC de origen es MAC_A, el MAC de destino es todo F, el IP de origen es IP_A y el IP de destino es IP_C, solicitando la dirección MAC de VM_C.

  2. Después de que VTEP_1 recibe la solicitud ARP, juzga que el paquete debe ingresar al túnel VXLAN según la configuración de la subinterfaz de Capa 2. Una vez que se determina el BD al que pertenece el mensaje, también se determina el VNI al que pertenece el mensaje. Al mismo tiempo, VTEP_1 aprende la correspondencia entre MAC_A, VNI y la interfaz de entrada de mensajes (Port_1, que es la interfaz física correspondiente a la subinterfaz de capa 2) y la registra en la tabla MAC local. Después de eso, VTEP_1 copiará el mensaje de acuerdo con la lista de copias de cabecera y los encapsulará por separado.

    Como puede ver, la dirección IP de origen externo encapsulada aquí es la dirección IP del VTEP local (VTEP_1), y la dirección IP de destino externo es la dirección IP del VTEP par (VTEP_2 y VTEP_3); la dirección MAC de origen externo es el MAC del VTEP local Dirección, y la dirección MAC de destino externa es la dirección MAC del dispositivo del siguiente salto en la red a la IP de destino. El mensaje encapsulado se transmite en la red IP de acuerdo con la información MAC e IP externa hasta que llega al VTEP opuesto.

  3. Una vez que el mensaje llega a VTEP_2 y VTEP_3, VTEP desencapsula el mensaje para obtener el mensaje original enviado por VM_A. Al mismo tiempo, VTEP_2 y VTEP_3 aprenden la correspondencia entre la dirección MAC de VM_A, VNI y la dirección IP de VTEP remota (IP_1), y la registran en la tabla MAC local. Después de eso, VTEP_2 y VTEP_3 procesan el mensaje de acuerdo con la configuración en la subinterfaz de Capa 2 y lo transmiten en el dominio de Capa 2 correspondiente.
    Después de que VM_B y VM_C reciben la solicitud ARP, comparan si la dirección IP de destino en el mensaje es la dirección IP de la máquina. VM_B encuentra que la IP de destino no es la IP local, por lo que descarta el mensaje; VM_C encuentra que la IP de destino es la IP local y responde a la solicitud ARP. A continuación, veamos cómo se reenvía el mensaje de respuesta ARP.

Proceso de reenvío de paquetes de respuesta ARP

Inserte la descripción de la imagen aquí

  1. Dado que VM_C ha aprendido la dirección MAC de VM_A en este momento, el mensaje de respuesta ARP es un mensaje de unidifusión. La MAC de origen del mensaje es MAC_C, la MAC de destino es MAC_A, la IP de origen es IP_C y la IP de destino es IP_A.

  2. Después de que VTEP_3 recibe el mensaje de respuesta ARP enviado por VM_C, identifica el VNI al que pertenece el mensaje (el proceso de identificación es similar al paso ② en el proceso de reenvío de mensajes de solicitud ARP). Al mismo tiempo, VTEP_3 aprende la correspondencia entre MAC_C, VNI y la interfaz de entrada de mensajes (Port_3) y la registra en la tabla MAC local. Después de eso, VTEP_3 encapsula el mensaje.

    Se puede ver que la dirección IP de origen externa encapsulada aquí es la dirección IP del VTEP local (VTEP_3), la dirección IP de destino externa es la dirección IP del VTEP par (VTEP_1); la dirección MAC de origen externo es la dirección MAC del VTEP local, La dirección MAC de destino externa es la dirección MAC del dispositivo del siguiente salto en la red a la IP de destino.

    El mensaje encapsulado se transmite en la red IP de acuerdo con la información externa de MAC e IP hasta que llega al VTEP opuesto.

  3. Una vez que el mensaje llega a VTEP_1, VTEP_1 desencapsula el mensaje para obtener el mensaje original enviado por VM_C. Al mismo tiempo, VTEP_1 aprende la correspondencia entre la dirección MAC de VM_C, VNI y la dirección IP de VTEP remota (IP_3), y la registra en la tabla MAC local. Después de eso, VTEP_1 envía el mensaje desencapsulado a VM_A.
    Hasta ahora, tanto VM_A como VM_C han aprendido la dirección MAC del otro. Después de eso, VM_A y VM_C se comunicarán en modo unidifusión. El proceso de encapsulación y desencapsulación de paquetes de unidifusión son similares y no se repetirán aquí.

Proceso de interfuncionamiento de diferentes subredes en VXLAN centralizada

Como se muestra en la figura, VM_A y VM_B pertenecen al segmento de red 10.1.10.0/24 y al segmento de red 10.1.20.0/24, respectivamente, y pertenecen a VNI 5000 y VNI 6000 respectivamente. Las puertas de enlace de Capa 3 correspondientes a VM_A y VM_B son las direcciones IP de BDIF 10 y BDIF 20 en VTEP_3, respectivamente. Hay rutas al segmento de red 10.1.10.0/24 y al segmento de red 10.1.20.0/24 en VTEP_3. En este momento, VM_A quiere comunicarse con VM_B.

PD : La función de la interfaz BDIF es similar a la de la interfaz VLANIF, es una interfaz lógica de tres capas creada en base a BD para lograr la comunicación entre diferentes subredes, o entre redes VXLAN y redes no VXLAN.
Inserte la descripción de la imagen aquí
Dado que es la primera vez que se comunica, y VM_A y VM_B están en diferentes segmentos de red, VM_A necesita enviar un mensaje de difusión ARP para solicitar la MAC de la puerta de enlace (BDIF 10). Después de obtener la MAC de la puerta de enlace, VM_A primero envía el mensaje de datos a la puerta de enlace; luego la puerta de enlace también enviará un mensaje de difusión ARP para solicitar la MAC de VM_B. Después de obtener la MAC de VM_B, la puerta de enlace envía el mensaje de datos a VM_B. El proceso anterior de aprendizaje de direcciones MAC es consistente con el proceso de aprendizaje de direcciones MAC en el mismo proceso de interfuncionamiento de subredes en VXLAN centralizada, y no se repetirá. Ahora suponga que tanto VM_A como VM_B han aprendido la MAC de la puerta de enlace, y la puerta de enlace también ha aprendido la MAC de VM_A y VM_B, veamos cómo se envía el paquete de datos de VM_A a VM_B.

Inserte la descripción de la imagen aquí

  1. VM_A primero envía el mensaje de datos a la puerta de enlace. La MAC de origen del mensaje es MAC_A, la MAC de destino es MAC_10 de la puerta de enlace BDIF 10, la dirección IP de origen es IP_A y la IP de destino es IP_B.

  2. Después de recibir el mensaje de datos, VTEP_1 identifica el VNI (VNI 5000) al que pertenece el mensaje y encapsula el mensaje de acuerdo con la entrada de la tabla MAC. Puede verse que la dirección IP de origen externa encapsulada aquí es la dirección IP del VTEP local (IP_1), la dirección IP de destino externo es la dirección IP del VTEP par (IP_3); la dirección MAC de origen externo es la dirección MAC del VTEP local ( MAC_1), y la dirección MAC de destino externa es la dirección MAC del dispositivo del siguiente salto en la red a la IP de destino.

    El mensaje encapsulado se transmite en la red IP de acuerdo con la información externa de MAC e IP hasta que llega al VTEP opuesto.

  3. El mensaje ingresa a VTEP_3 y VTEP_3 desencapsula el mensaje para obtener el mensaje original enviado por VM_A. Luego, VTEP_3 procesará el mensaje de la siguiente manera:

    • VTEP_3 encuentra que la MAC de destino del mensaje es la MAC de la interfaz BDIF 10 de la máquina, y la dirección IP de destino es IP_B (10.1.20.1), por lo que encontrará el siguiente salto de IP_B según la tabla de enrutamiento.
    • Se encuentra que el siguiente salto es 10.1.20.10 y la interfaz de salida es BDIF 20. En este momento, VTEP_3 consulta la entrada de la tabla ARP y modifica la MAC de origen del mensaje original a la MAC de la interfaz BDIF 20 (MAC_20) y modifica la MAC de destino a la MAC de VM_B (MAC_B).
    • Cuando el mensaje llega a la interfaz BDIF 20, se reconoce que necesita ingresar al túnel VXLAN (VNI 6000), por lo que el mensaje se encapsula de acuerdo con la tabla MAC. La dirección IP de origen exterior encapsulada aquí es la dirección IP del VTEP local (IP_3), la dirección IP de destino exterior es la dirección IP del VTEP par (IP_2); la dirección MAC de origen exterior es la dirección MAC del VTEP local (MAC_3), y La dirección MAC de destino externa es la dirección MAC del dispositivo del siguiente salto en la red a la IP de destino.

    El mensaje encapsulado se transmite en la red IP de acuerdo con la información externa de MAC e IP hasta que llega al VTEP opuesto.

  4. Una vez que el mensaje llega a VTEP_2, VTEP_2 desencapsula el mensaje para obtener el mensaje de datos interno y enviarlo a VM_B. El proceso de VM_B respondiendo a VM_A es similar al proceso anterior y no se repetirá en este artículo.

Supongo que te gusta

Origin blog.csdn.net/qq_40741808/article/details/107537028
Recomendado
Clasificación