Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 

Instalación, utilidades y herramientas

 

Anteriormente’vio la Figure 1 , en la sección de entrada del capítulo 6.

Figure 1: Flujo de tráfico de entrada: Acceso desde externo
Flujo de tráfico de entrada: Acceso desde externo

Anteriormente, examinamos la tabla de enrutamiento VRF’s del enrutador de puerta de enlace externa y usabamos la información del siguiente salto de protocolo para averiguar qué nodo obtiene el paquete del cliente. En la práctica, debe buscar lo mismo en el clúster y en los propios nodos. Normalmente, un clúster de Contrail se incluye con un grupo de utilidades integradas que puede utilizar para inspeccionar el flujo de paquetes y el estado de reenvío. En los ejemplos de servicios, vio el uso de Flow, NH, VIF, etc. y, en este capítulo’, volveremos a visitar estas utilidades e introduciremos algo más que pueda demostrar información adicional sobre el flujo de paquetes.

Algunas de las utilidades o herramientas disponibles que se utilizan:

  • En cualquier equipo Linux:

    • Rizo (con la opción debug), Telnet como herramienta de cliente HTTP

    • tcpdump y Wireshark como herramienta de captura de paquetes

    • la secuencia de comandos de Shell se puede utilizar para automatizar tareas de la línea de comandos

  • En el vRouter: Flow/RT/NH/VIF, etc.

Roll

Uno de los comportamientos de la implementación de la herramienta rizo es que siempre cerrará la sesión TCP justo después de que se haya devuelto la respuesta HTTP al ejecutarse en una terminal de Shell. Si bien este comportamiento es seguro y limpio en la práctica, puede que lleve a cabo algunas dificultades en nuestra prueba. Por lo tanto, en esta práctica, hemos mantenido la conexión TCP para consultar los detalles. Sin embargo, una entrada de flujo TCP en Contrail vRouter está enlazada a la conexión TCP y cuando se cierra la sesión TCP se borrará el flujo. El problema se encuentra en que rizo consigue que su trabajo sea demasiado rápido. Establece la conexión TCP, envía la solicitud HTTP, obtiene la respuesta y cierra la sesión. Su proceso es demasiado rápido para permitirnos capturar cualquier cosa con las utilidades vRouter (p. ej., comando de flujo). En cuanto presione Entrar para iniciar el comando Rizo, el comando volverá en menos de uno o dos segundos.

Algunas soluciones provisionales son:

  • Transferencia de archivos de gran tamaño: Uno de los métodos consiste en instalar un archivo de gran tamaño en el servidor de WebServer e intentar extraerlo con rizo, de este modo el proceso de transferencia de archivos mantiene la sesión TCP. Este’método se ha visto en la sección servicio del capítulo 3.

  • Habitualmente También puede hacer uso del protocolo Telnet. Establezca la conexión TCP hacia la dirección’IP y el puerto correspondientes, y escriba de forma manual algunos de los comandos y encabezados HTTP para desencadenar la solicitud HTTP. Esto le permite un período de tiempo antes de que el HAProxy se agote y destaque la conexión TCP hacia el cliente.

Sin embargo, tenga en cuenta que HAProxy puede seguir desactivando su sesión inmediatamente hacia el POD backend. El comportamiento de HAProxy varía en función de su implementación y configuraciones.

Desde el host de Internet, telnet al ingreso público FIP 101.101.101.1 y el puerto 80:

Se establece la conexión TCP (comprobamos’qué hay en el otro extremo de un momento). A continuación, envíe el comando GET de HTTP y el encabezado de host

GET / HTTP/1.1
Host: www.juniper.net

Esto, básicamente, envía una solicitud HTTP GET para recuperar datos y el host proporciona la dirección URL de la solicitud. Una devolución más indica el final de la solicitud, lo que activa una respuesta inmediata del servidor:

A partir de ahora, puede recopilar la tabla de flujo en el nodo de computación HAProxy activo para su posterior análisis.

Script de Shell

La tercera herramienta muy útil es una secuencia de comandos con la que puede automatizar el proceso de prueba y repetir el comando rizo y flujo al mismo tiempo, una y otra vez. Con una pequeña secuencia de comandos de Shell en el nodo de cálculo para recopilar la tabla de flujo periódicamente, y otra secuencia de comandos en el host de Internet para seguir enviando solicitudes con rizo, con el tiempo tendrá una buena oportunidad de capturar la tabla de flujo en el nodo de cómputo en el momento adecuado.

Por ejemplo, la secuencia de comandos del lado de host de Internet puede ser:

Y la secuencia de comandos del lado de cálculo puede tener el siguiente aspecto:

En primer lugar, el shell de una sola comienza una nueva prueba cada tres segundos, y luego el segundo captura una entrada de flujo específica cada 0,2 segundos. Veinte pruebas se pueden realizar en dos minutos para capturar cierta información útil en poco tiempo.

En la siguiente sección,’usamos el método script para capturar la información necesaria de los nodos de cálculo.