stringtranslate.com

Encapsulación de enrutamiento genérico

La encapsulación de enrutamiento genérico ( GRE ) es un protocolo de túnel desarrollado por Cisco Systems que puede encapsular una amplia variedad de protocolos de capa de red dentro de enlaces virtuales punto a punto o enlaces punto a multipunto a través de una red de protocolo de Internet . [2]

Usos de ejemplo

Pila de protocolos de ejemplo

Según los principios de capas de protocolos en OSI, la encapsulación de protocolos, no específicamente GRE, rompe el orden de capas. Puede verse como un separador entre dos pilas de protocolos diferentes, una de las cuales actúa como portadora de la otra.

Protocolos de entrega

Los paquetes GRE que están encapsulados directamente dentro de IP , utilizan el protocolo IP tipo 47 en el campo Protocolo del encabezado IPv4 [3] o el campo Encabezado siguiente del encabezado IPv6 . [4]

Por motivos de rendimiento, GRE también se puede encapsular en paquetes UDP. [5] Se puede lograr un mejor rendimiento utilizando el enrutamiento multiruta de igual costo .

encabezado del paquete

Encabezado de paquete GRE extendido (RFC 2890)

La versión extendida del encabezado del paquete GRE [6] se representa a continuación:

C (1 bit)
Bit de suma de comprobación . Se establece en 1 si hay una suma de comprobación presente.
K (1 bit)
Bit clave. Establezca en 1 si hay una clave presente.
S (1 bit)
Bit del número de secuencia. Establezca en 1 si hay un número de secuencia presente.
Reservado 0 (9 bits)
Bits reservados; establecido en 0.
Versión (3 bits)
Número de versión GRE; establecido en 0.
Tipo de protocolo (16 bits)
Indica el tipo de protocolo ether de la carga útil encapsulada. (Para IPv4 , sería hexadecimal 0800).
Suma de comprobación (16 bits)
Presente si el bit C está establecido; contiene la suma de comprobación para el encabezado y la carga útil de GRE.
Reservado 1 (16 bits)
Presente si el bit C está establecido; se establece en 0.
Clave (32 bits)
Presente si el bit K está establecido; contiene un valor clave específico de la aplicación.
Número de secuencia (32 bits)
Presente si el bit S está establecido; contiene un número de secuencia para el paquete GRE.

Encabezado de paquete GRE estándar (RFC 2784)

En el siguiente diagrama se representa una estructura de encabezado de paquete GRE estándar [7] .

C (1 bit)
Bit de suma de comprobación . Se establece en 1 si hay una suma de comprobación presente.
Reservado 0 (12 bits)
Bits reservados; establecido en 0.
Versión (3 bits)
Número de versión GRE; establecido en 0.
Tipo de protocolo (16 bits)
Indica el tipo de protocolo ether de la carga útil encapsulada. (Para IPv4 , esto sería hexadecimal 0x0800; para IPv6 , sería 0x86DD. [4] )
Suma de comprobación (16 bits)
Presente si el bit C está establecido; contiene la suma de comprobación para el encabezado y la carga útil de GRE.
Reservado 1 (16 bits)
Presente si el bit C está establecido; su contenido se establece en 0.

Encabezado del paquete GRE original (RFC 1701)

La estructura más nueva reemplazó a la estructura original: [1]

El GRE RFC original definía más campos en el encabezado del paquete que quedaron obsoletos en el estándar actual:

C (1 bit)
Bit de suma de comprobación . Se establece en 1 si hay una suma de comprobación presente.
R (1 bit)
Bit de enrutamiento. Establezca en 1 si hay información de enrutamiento y compensación.
K (1 bit)
Bit clave. Establezca en 1 si hay una clave presente.
S (1 bit)
Bit del número de secuencia. Establezca en 1 si hay un número de secuencia presente.
s (1 bit)
Bit de ruta de origen estricto.
Recurrente (3 bits)
Bits de control de recursividad .
Banderas (5 bits)
Reservado para uso futuro, establecido en 0.
Versión (3 bits)
Establecer en 0.
Tipo de protocolo (16 bits)
Indica el tipo de protocolo ether de la carga útil encapsulada.
Suma de comprobación (16 bits)
Presente si el bit C está establecido; contiene la suma de comprobación para el encabezado y la carga útil de GRE.
Desplazamiento (16 bits)
Presente si el bit R o el bit C están establecidos; contiene información válida, sólo si el bit R está establecido. Un campo de desplazamiento que indica el desplazamiento dentro del campo Enrutamiento con respecto a la entrada de ruta de origen activa.
Clave (32 bits)
Presente si el bit K está establecido; contiene un valor clave específico de la aplicación.
Número de secuencia (32 bits)
Presente si el bit S está establecido; contiene un número de secuencia para el paquete GRE.
Enrutamiento (variable)
Presente si el bit R está establecido; contiene una lista de entradas de ruta de origen y, por lo tanto, tiene una longitud variable.

Encabezado del paquete PPTP GRE

El protocolo de túnel punto a punto (PPTP) [8] utiliza una estructura de encabezado de paquete GRE variante, representada a continuación. PPTP crea un túnel GRE a través del cual se envían los paquetes PPTP GRE.

C (1 bit)
Bit de suma de comprobación . Para paquetes PPTP GRE, esto se establece en 0.
R (1 bit)
Bit de enrutamiento. Para paquetes PPTP GRE, esto se establece en 0.
K (1 bit)
Bit clave. Para los paquetes PPTP GRE, esto se establece en 1. (Todos los paquetes PPTP GRE llevan una clave).
S (1 bit)
Bit del número de secuencia. Establezca en 1 si se proporciona un número de secuencia que indica un paquete de datos PPTP GRE.
s (1 bit)
Bit de ruta de origen estricta. Para paquetes PPTP GRE, esto se establece en 0.
Recurrente (3 bits)
Bits de control de recursividad . Para los paquetes PPTP GRE, se establecen en 0.
A (1 bit)
Número de acuse de recibo presente. Establezca en 1 si se proporciona un número de confirmación, que indica un paquete de confirmación PPTP GRE.
Banderas (4 bits)
Bits de bandera. Para los paquetes PPTP GRE, se establecen en 0.
Versión (3 bits)
Número de versión GRE. Para paquetes PPTP GRE, esto se establece en 1.
Tipo de protocolo (16 bits)
Para paquetes PPTP GRE, esto se establece en hexadecimal 880B.
Longitud de la carga útil de la clave (16 bits)
Contiene el tamaño de la carga útil, sin incluir el encabezado GRE.
ID de llamada clave (16 bits)
Contiene el ID de llamada del par para la sesión a la que pertenece el paquete.
Número de secuencia (32 bits)
Presente si el bit S está establecido; contiene el número de secuencia de carga útil GRE.
Número de acuse de recibo (32 bits)
Presente si el bit A está establecido; contiene el número de secuencia del paquete de carga útil GRE más alto recibido por el remitente.

Estándares

Ver también

Referencias

  1. ^ ab S. Hanks; T. Li; D. Farinacci; P. Traina (octubre de 1994). Encapsulación de enrutamiento genérico (GRE). Grupo de Trabajo de Red. doi : 10.17487/RFC1701 . RFC 1701. Informativo.
  2. ^ Estados Unidos 7801021B1, Nikolaos Triantafillis; Robert J. Ordemann y Simon D. Barber, "Keepalives del túnel de encapsulación de enrutamiento genérico", publicado el 21 de septiembre de 2010, asignado a Cisco Technology Inc. 
  3. ^ S. Hanks; T. Li; D. Farinacci; P. Traina (octubre de 1994). Encapsulación de enrutamiento genérico sobre redes IPv4. Grupo de Trabajo de Red. doi : 10.17487/RFC1702 . RFC 1702. Informativo.
  4. ^ ab C. Pignataro; R. Bónica; S. Krishnan (octubre de 2015). Soporte IPv6 para encapsulación de enrutamiento genérico (GRE). Grupo de trabajo de ingeniería de Internet (IETF). doi : 10.17487/RFC7676 . ISSN  2070-1721. RFC 7676. Norma propuesta.
  5. ^ E. Crabbe; E. Crabbet; T. Herbert (marzo de 2017). L. Yong (ed.). Encapsulación GRE-en-UDP. Grupo de trabajo de ingeniería de Internet (IETF). doi : 10.17487/RFC8086 . ISSN  2070-1721. RFC 8086. Norma propuesta.
  6. ^ G. Dommety (septiembre de 2000). Extensiones de números de secuencia y clave para GRE. Grupo de Trabajo de Red. doi : 10.17487/RFC2890 . RFC 2890. Norma propuesta.
  7. ^ D. Farinacci; T. Li; S. Hanks; D. Meyer; P. Traina (marzo de 2000). Encapsulación de enrutamiento genérico (GRE). Grupo de Trabajo de Red. doi : 10.17487/RFC2784 . RFC 2784. Norma propuesta. Actualizado por RFC 2890.
  8. ^ K. Hamzeh; G. Pall; W. Verthein; J. Taarud; W. pequeño; G. Zorn (julio de 1999). Protocolo de túnel punto a punto (PPTP). Grupo de Trabajo de Red. doi : 10.17487/RFC2637 . RFC 2637. Informativo.

enlaces externos