Encapsulación de enrutamiento genérico

El encapsulado de enrutamiento genérico ( GRE ) es un protocolo de red que sirve para encapsular otros protocolos y otro en forma de túneles sobre el Protocolo de Internet para el transporte (IP). GRE fue desarrollado por Cisco Systems y estandarizado por primera vez en RFC 1701 en 1994 . En 2000, RFC 1701 fue reemplazado por RFC 2784 y ampliado en RFC 2890 .

Al igual que UDP y TCP, GRE se basa directamente en IP y utiliza el protocolo IP número 47 .

Ejemplos de aplicaciones GRE:

Estructura de encabezado

Un encabezado GRE tiene al menos 4 bytes de tamaño. Dado que el paquete GRE también se empaqueta en un paquete IP, los paquetes transmitidos en el túnel GRE son al menos 24 bytes más grandes. Esto debe tenerse en cuenta al determinar el tamaño máximo de paquete Unidad de transmisión máxima (MTU) .

Un encabezado GRE tiene la siguiente estructura:

Bits 0-3 4-12 13-15 16-31
C. K S. Reservado0 versión Tipo de protocolo
Suma de comprobación (opcional) Reservado1 (opcional)
Clave (opcional)
Número de secuencia (opcional)
C.
Bit de suma de comprobación ; se establece en 1 si se incluye una suma de comprobación.
K
Bit clave; se establece en 1 si hay una clave disponible.
S.
Bit de número de secuencia; se establece en 1 si hay un número de secuencia.
Reservado0
Bits reservados; se establecen en 0.
versión
Número de versión GRE; se establece en 0.
Tipo de protocolo
Contiene el tipo de protocolo ether de la carga útil transmitida. (Para IPv4, el valor es hexadecimal 0800).
Suma de comprobación
Presente si el bit C está establecido; contiene la suma de comprobación para el encabezado GRE y la carga útil.
Reservado1
Presente si el bit C está establecido; se establece en 0.
Llave
Presente si el bit K está establecido; contiene un valor de clave dependiente de la aplicación.
Secuencia de números
Presente si el bit S está establecido; contiene el número de secuencia del paquete GRE.

configuración

Los túneles GRE se configuran como interfaces (virtuales) en los routers Cisco. En el ejemplo, la configuración mínima para un túnel GRE IPv4 en IPv4:

[...]
!
interface Tunnel0                       (lokal eindeutige Nummer von 0 bis 2147483647)
 ip address 192.168.0.1 255.255.255.0   (innere Tunneladresse)
 tunnel source 10.0.0.1                 (äußere lokale Tunneladresse)
 tunnel destination 10.0.0.2            (äußere Tunneladresse des Zielrouters)
end

direccionamiento

Los túneles GRE tienen sus propias direcciones de túnel, que solo se utilizan dentro de los enrutadores participantes. Estas direcciones cumplen los requisitos del protocolo a encapsular y se configuran en la interfaz del túnel.

Para transportar paquetes a través del túnel, el túnel también necesita direcciones externas que se enrutan en la red de transporte que conecta los puntos finales del túnel. Estas direcciones cumplen los requisitos del protocolo de Internet.

transmisión

Un paquete que se va a transmitir primero se proporciona con un encabezado GRE en el enrutador de origen. Luego, el paquete resultante se empaqueta como una carga útil en un nuevo paquete IP de unidifusión cuya dirección de origen es la dirección del túnel externo local. La dirección del túnel exterior del sistema de destino (generalmente un enrutador) se utiliza como dirección de destino.

En el enrutador de destino, el encabezado GRE se elimina después de que se ha recibido el paquete IP y el paquete se reenvía sin información GRE utilizando la tabla de enrutamiento.

Normas y estándares

  • RFC 1701 : Encapsulación de enrutamiento genérico (GRE) (informativo)
  • RFC 1702 : Encapsulación de enrutamiento genérico sobre redes IPv4 (informativo)
  • RFC 2637 : Protocolo de túnel punto a punto (informativo)
  • RFC 2784 : Encapsulación de enrutamiento genérico (GRE) (estándar propuesto, actualizado por RFC 2890 )
  • RFC 2890 : Extensiones de número de secuencia y clave para GRE (estándar propuesto)

enlaces web