Red de conocimiento informático - Material del sitio web - Desviación de direcciones

Desviación de direcciones

1. La deriva de la dirección IP es la dirección IP virtual de una computadora dual, que se introduce en cada software de computadora dual.

2. Se utiliza en un entorno de copia de seguridad de dos máquinas.

3. Adopte la tecnología de deriva de direcciones y utilice direcciones IP virtuales para vincular el servidor principal, lo que puede resolver eficazmente el problema del intercambio de información entre múltiples clústeres de servidores cuando no se puede utilizar la multidifusión. Este método es representativo y se puede utilizar en muchas industrias. El método de clúster de dos máquinas se usa ampliamente en los centros de control de vuelo de aviación en todos los niveles. Los dos servidores centrales forman un sistema de respaldo en caliente de dos máquinas de alta confiabilidad a través de la red. Funcionan sincrónicamente y se respaldan entre sí. falla, cambia automáticamente a la máquina de respaldo. Trabajo, el sistema se ejecuta sin interrupciones. La tecnología de deriva de direcciones consiste en que cuando uno de los hosts falla, el otro host toma la dirección IP de la red del host fallido para que la red aún pueda funcionar normalmente. Antecedentes del sistema: el sistema utiliza software de espera activa de doble máquina y tiene una función de equilibrio de carga. Asigna dinámicamente varias funciones, como procesamiento de información, registro de bases de datos y monitoreo de procesos, entre los dos servidores. , monitoreo de procesos, etc. El servidor en espera completa el trabajo de registro de la base de datos. Cuando el servidor principal falla, puede detectar, alertar y transferir automáticamente las aplicaciones de procesamiento de información y monitoreo de procesos en el servidor principal al servidor de respaldo para continuar el procesamiento. El servidor de respaldo cambia al servidor principal y las aplicaciones de grabación de bases de datos anteriores aún están disponibles. retenido. Adoptar estructura CS (Cliente Servidor). Los servidores duales se utilizan principalmente para fusionar información de radar de control de tráfico aéreo, realizar una fusión de múltiples datos de información de control de vuelo e información heterogénea de sensores, y responder y mostrar comandos de intervención manual desde la consola. Hay un problema en los servidores duales del clúster. Al recibir información del radar de control de tráfico aéreo u otros centros de control a través de la red o el puerto serie, ingresará al proceso de procesamiento de información y enviará la información a la consola de visualización para su visualización. El personal mostrará la consola para observar y monitorear objetivos aéreos y realizar intervenciones manuales en los objetivos. Es necesario intercambiar información entre los centros de control de tráfico aéreo para facilitar el intercambio de información. Hay dos servidores en el centro de control. Cada servidor tiene una dirección IP. Una de las direcciones IP del servidor se utiliza para la comunicación. Si este servidor falla, no podrá recibir información. entre centros. La información dificulta la elección. Dirección IP virtual Hay tres formas de resolver el problema del intercambio de información entre múltiples clústeres de servidores: una es utilizar multidifusión, que es el método más simple. Siempre que se agreguen dos computadoras a una dirección de multidifusión, el remitente establece la dirección de destino en la dirección IP de multidifusión. Ambas computadoras en el centro de control de tráfico aéreo pueden recibirla, pero la relación de topología de red entre los centros de control de tráfico aéreo es complicada. , la multidifusión está prohibida en muchas redes regionales, por lo que este método no es viable. El segundo es utilizar un método para transmitir dos veces una pieza de inteligencia a dos servidores de doble máquina, lo que puede garantizar que ambos servidores puedan recibir la información, pero provocará un desperdicio de ancho de banda y aumentará la posibilidad de que el tiempo en que los dos Los servidores reciben inteligencia es inconsistente, lo que hace que el procesamiento de información de los dos servidores no se pueda sincronizar. Si la cantidad de información es grande, es posible que el canal no pueda soportarla y este método no es recomendable. El tercero es utilizar la tecnología de deriva de direcciones para asignar una dirección IP virtual del centro de control de tráfico aéreo al centro de control de tráfico aéreo. Esta dirección IP se utiliza para transmitir información entre los centros de control de tráfico aéreo. vinculado a esta dirección IP y es responsable de recibir y enviar información. Al mismo tiempo, se inicia un proceso de tres vías en el servidor principal. El llamado proceso de tres vías significa que este proceso es responsable de recibir información y luego reenviar la información recibida a los dos servidores del clúster. similar al grifo de tres vías, por eso se llama proceso de tres vías. Después de que el servidor principal recibe una información, se envía a los procesos de recepción del servidor principal y al servidor de respaldo en la LAN. Cuando el host se cambia a la máquina en espera, este servidor descarga esta dirección IP virtual, cambia al servidor host para cargar la dirección IP virtual y habilita el proceso de tres vías responsable de recibir y distribuir inteligencia. La dirección IP virtual se desplaza entre los servidores activos y en espera, también conocida como tecnología de deriva de direcciones. Actualmente, muchos software de clúster también utilizan esta tecnología para resolver el problema de que varias computadoras en el clúster solo tengan direcciones IP únicas.

Implementación técnica La implementación del tercer método anterior requiere las siguientes tecnologías clave: 1. Después de que el host carga la dirección IP virtual, debe usar el paquete de protocolo ARP para notificar al enrutador e indicarle en qué host se encuentra la dirección IP virtual. De esta manera, cuando el enrutador recibe la dirección de destino como IP virtual, la envía. pasará automáticamente el paquete de datos a la computadora principal. Hay dos formas de generar paquetes ARP: Una es generar paquetes ARP a través de un programa y enviarlos al enrutador a través de la interfaz de capa de enlace. Esto requiere personal técnico con cierta experiencia en programación de redes, especialmente programación de capa de enlace, para lograrlo. . El segundo es usar el comando ARP y ejecutar el sistema ("arp") en el programa para enviar la tabla ARP de esta computadora al enrutador en la LAN. Vale la pena señalar que: La dirección IP del centro de control de tráfico aéreo siempre debe estar vinculada al host y la carga de la dirección IP debe estar asociada con el programa de doble máquina. Por lo tanto, durante la conmutación de dos máquinas o una falla o salida del host, la dirección IP virtual debe cargarse en el servidor que está a punto de convertirse en el host. El comando para cargar la dirección IP es: ifconfig eth0 alias 192.168.1.1 netmask 255.255.255.0 El comando para descargar la dirección IP es: ifconfig eth0 -alias 192.168.1.1. 2. Los experimentos muestran que después de cambiar el host a la máquina en espera, la dirección IP virtual previamente cargada no se desinstalará y no causará conflictos de red. Después del análisis, el motivo es: cuando el enrutador recibe el paquete ARP, actualiza el emparejamiento de la dirección MAC y la dirección IP. Cuando el enrutador recibe los datos de inteligencia, encontrará la dirección MAC de la computadora donde está la dirección IP virtual. se basa en la tabla ARP. Por lo tanto, después de recibir la información de control de tráfico aéreo, el enrutador envía automáticamente el mensaje a la computadora principal y luego el proceso de tres vías del host envía la información al proceso de recepción de información de las computadoras principal y de respaldo a través de. multidifusión en la LAN. 3. Se establece un proceso de tres vías para recibir inteligencia y distribuir la inteligencia recibida a dos computadoras. El proceso de tres vías debe utilizarse como un proceso demonio del sistema para que pueda ejecutarse automáticamente cuando el sistema operativo comience a mejorar su confiabilidad. La siguiente es una breve introducción a la implementación del proceso de tres vías. En el sistema operativo Unix, primero debe habilitar automáticamente el proceso de tres vías cuando se inicia el sistema operativo y crear un archivo de secuencia de comandos en el directorio /etc/rc2.d, de la siguiente manera: #!/bin/sh findproc() { # ID del proceso de consulta pid=`/usr/bin/ps -e | /usr/bin/grep " $1" | /usr/bin/grep -v "$$" | /usr/bin/ awk '{ print $1 }'` } case $1 in start) /usr/Tprocessamp; #Iniciar el proceso de tres vías;; detener) #Cerrar el proceso de tres vías findproc Tprocess; " lt; gt; "" ]; luego /bin/kill -15 $pid Fi ; ; *) Los pasos para implementar el proceso de tres vías esac son: Primero, separe del grupo de procesos original, establezca un grupo de procesos separado y conviértase en el primer proceso del grupo de procesos y establezca un proceso demonio. En segundo lugar, después de recibir el mensaje, se agrega el formato del encabezado del mensaje, seguido de la dirección IP del remitente de la red y luego los datos originales. El formato de datos es como se muestra en la tabla: Finalmente, el mensaje de datos combinado se envía al proceso de recepción del servidor dual en la LAN. A continuación se describe cómo implementar los tres pasos. Paso 1: separarse del proceso original y establecer un proceso demonio.

El programa es el siguiente: pid = fork(); //Crea un proceso if (pidlt; ​​​​0) return; if (pid!=0) exit(0); //El proceso padre sale de setsid (); /Crea una sesión setpgrp() ; //Crea un grupo de procesos y conviértete en el primer proceso del grupo de procesos chdir("/"); //Cambia el directorio de trabajo al directorio raíz umask(0); El proceso de vía es responsable de recibir datos del centro de control de aviación remoto. //Crear socket Sid = socket (AF_INET, SOCK_DGRAM, 0); if (sid lt; 0) { perror(" n IN distribuir.c create socket41432: "); Obtenga el nombre del servicio del archivo y obtenga el número de puerto del servicio. sp = getservbyname ("cabeza", "udp"); if (sp == NULL) { printf(: cabeza no encontrada en /etc/servicesn"); addr.sin_port = sp-gt; s_port; addr.sin_family = AF_INET; addr.sin_addr.s_addr = INADDR_ANY; //Activar el mecanismo de reutilización de direcciones = 1; vincular esto nombre del servicio if (bind (sid, (struct sockaddr *)&addr, sizeof(struct sockaddr_in))lt; 0) { perror (" n bind addr"); /Establezca la dirección de destino como dirección de multidifusión local_net.sin_family = AF_INET; local_net.sin_addr.s_addr = inet_addr(multicast_ip); sp = getservbyname ("mult_portt", "udp"); : hjff_port no encontrado en /etc/servicesn"); exit(1); } local_net.sin_port = sp-gt;s_port; //Bucle esperando recibir y procesar datos for(;;) { memset (buff, 0, 2048 ); num = recvfrom (sid, buff, 2048, 0, (struct sockaddr *)amp; srcAddr, amp; addrLen); if (numlt; 0) { perror ( "n recvfrom "); Después de recibir el mensaje, organiza y encapsula los datos y utiliza la multidifusión para reenviar los datos a los servidores duales de la LAN. Enlace: Protocolo ARP ARP, el nombre completo es Protocolo de resolución de direcciones y el nombre chino es Protocolo de resolución de direcciones. Funciona en la capa de enlace de datos, contacta la interfaz de hardware en esta capa y proporciona servicios a la capa superior.

Los paquetes de datos IP a menudo se envían a través de Ethernet. Los dispositivos Ethernet no reconocen direcciones IP de 32 bits. Transmiten paquetes de datos Ethernet con direcciones Ethernet de 48 bits. Por lo tanto, la dirección IP de destino debe convertirse en una dirección de destino Ethernet. En Ethernet, si un host quiere comunicarse directamente con otro host, debe conocer la dirección MAC del host de destino. Pero, ¿cómo se obtiene esta dirección MAC de destino? Se obtiene mediante el Protocolo de resolución de direcciones. El protocolo ARP se utiliza para resolver las direcciones IP de la red en direcciones de hardware (direcciones MAC) para garantizar una comunicación fluida.