Ir al contenido principal

El caché ARP existe de una forma u otra en cada host que se comunica vía IP sobre Ethernet. La caché contiene el mapeo entre la dirección IP y la dirección de Control de Acceso a los Medios (MAC) de Ethernet. Si cambias un adaptador Ethernet en un host llamado SERVER-1 o reemplazas SERVER-1 por un hardware más nuevo o más rápido, todos los hosts en el segmento Ethernet local que se comunican con SERVER-1 necesitarán que se actualice su caché ARP. SERVIDOR-1 puede enviar un paquete ARP gratuito que debería actualizar todos los hosts pero como es Ethernet existe la posibilidad de que el paquete ARP se corrompa o simplemente se caiga, por lo que no se puede confiar en él.

Las entradas de la caché ARP en la pila STCP en OpenVOS tienen una duración de 10 minutos, es decir, después de 10 minutos se borran automáticamente y se añadirán de nuevo la próxima vez que se necesite enviar un paquete. Cuando se muestra el caché ARP, muestra el tiempo que queda para cada entrada. Así que el peor escenario es que después de cambiar el SERVIDOR-1 tomará 10 minutos para que el viejo (incorrecto) mapeo expire y se agregue un nuevo (correcto) mapeo. Durante ese tiempo la comunicación con el SERVIDOR-1 no será posible.

Puedes borrar una entrada dada con el comando arp - delete. La figura 1 muestra una instancia del comando arp que muestra la dirección MAC y el tiempo de vida seguido del comando arp -delete para borrar la entrada y otra instancia del comando arp que muestra que ya no hay una entrada en la caché.

arp 192.168.50.5

Dirección de Internet Dirección MAC Tipo de vida
192.168.50.5 00-04-96-1F-67-0C temp 6 min
listo 14:01:30

arp - borrar 192.168.50.5

Cartografía para 192.168.50.5 suprimida

listo 14:01:39

arp 192.168.50.5
arp: sin cartografía para 192.168.50.5

listo 14:01:44
Figura 1 - Comandos "arp" y "arp -delete"

La vieja pila TCP_OS tenía un comando arp -flush que borraba todas las entradas del caché ARP. Si tienes más de una entrada para borrar, puede ser más fácil (menos escribir) borrarlas todas. Dado que las entradas se añaden automáticamente a medida que se necesitan, el único inconveniente es que se producen algunos paquetes extra en la red y un retraso adicional (mientras se repobla la caché ARP) en el envío del primer paquete. Desde el punto de vista del mecanógrafo no hay ningún inconveniente.

La pila de STCP no tiene una opción de descarga

---------------------------------- arp ---------------------------------
 nombre del anfitrión:
 -todo: no
 -red:
 -borrar: no
 -set: no
 mac_addr:
Figura 2 - Formulario de comando arp STCP

Así que escribí una breve macro (figura 3) para hacerlo. La macro redirige la salida del arp -all a un archivo en el directorio de procesos, luego analiza el archivo para extraer las direcciones IP y llama al arp -delete con cada dirección. Para cuando termine algunas de las entradas estarán de vuelta pero todas habrán sido refrescadas con el mapeo actual.

y arp_flush.cm comienza aquí
&
& Versión 1.00 11-04-17
& [email protected]
&
& Este guión borra la caché del arp borrando individualmente cada entrada.
& Para cuando esté hecho, algunas entradas estarán de vuelta.
&
&
Este software se proporciona "TAL CUAL", SIN NINGUNA GARANTÍA O
Y CUALQUIER APOYO DE CUALQUIER TIPO. El AUTOR EXCLUSIVAMENTE RENUNCIA CUALQUIER IMPLICACIÓN
Y GARANTÍAS DE COMERCIABILIDAD O IDONEIDAD PARA CUALQUIER PROPÓSITO EN PARTICULAR.
Este descargo de responsabilidad se aplica, a pesar de cualquier representación verbal de cualquier
...y la clase proporcionada por el autor o cualquier otra persona.
&
&set_string ARCHIVO (directorio_de_proceso)>arp_list
attach_default_output &FILE&
arp -todo
separar_salida_por_ defecto
&set LÍNEA 2
&label otra vez
&set LINE (calc &LINE& + 1)
&set_string IP (substr (contenidos &ARCHIVO& & LÍNEA& -mantener) 1 16)
Si (fin_de_archivo &ARCHIVO&) = 1 &entonces &retorno
&si (longitud X&IP&) = 1 &luego &retorno
arp - borrar &IP&
&goto otra vez
&
y arp_flush.cm termina aquí
Figura 3 - macro de comando arp_flush

La figura 4 muestra una instancia del comando arp -all para ver lo que hay en la caché del arp, luego una ejecución del macro arp_flush seguida de otra instancia del arp -all, nótese que todas las vidas en el segundo arp -all son de 10 minutos. Eliminé muchas de las líneas de la primera salida de arp -all y arp_flush para reducir el espacio requerido.

arp -todo

Dirección de Internet Dirección MAC Tipo de vida
10.10.1.200 00-90-E8-1F-4B-EA temp 8 mins
192.168.50.1 00-04-96-19-0B-20 temperatura 10 min.
192.168.50.4 00-04-96-35-3F-B5 temperatura 1 min.
192.168.50.2 00-04-96-20-C7-EC temp 4 mins
192.168.50.19 00-0C-29-6B-CA-AE temp 6 mins
192.168.50.21 00-23-54-79-C5-81 temp 7 mins
. . . . .
192.168.51.252 00-50-56-BB-4D-8C temp 5 mins
192.168.51.253 00-0C-29-86-AD-CC temp 3 mins

listo 13:46:14
arp_flush

Cartografía para 10.10.1.200 suprimida

Cartografía para 192.168.50.1 suprimida

Cartografía para 192.168.50.4 suprimida

Cartografía para 192.168.50.2 suprimida

Cartografía para 192.168.50.19 suprimida

Cartografía para 192.168.50.21 suprimida

. . . . . . .

Cartografía para 192.168.51.252 suprimida

Cartografía para 192.168.51.253 suprimida

listo 13:46:23

arp -todo

Dirección de Internet Dirección MAC Tipo de vida
192.168.50.2 00-04-96-20-C7-EC temp 10 mins
192.168.51.4 00-04-FC-01-02-3E temp 10 mins
192.168.51.11 00-00-A8-80-80-4A temp. 10 min.
192.168.51.49 00-50-56-46-08-2C temp 10 mins
192.168.51.50 00-23-54-52-18-6E temp 10 mins
192.168.51.76 00-23-54-52-1B-F5 temp 10 mins
192.168.51.100 00-0C-29-A9-85-44 temp 10 mins
192.168.51.128 00-00-A8-43-52-22 temperatura 10 minutos
192.168.51.158 00-26-B9-BC-B7-37 temp 10 mins
192.168.51.180 5C-26-0A-06-BD-29 temp 10 mins
192.168.51.203 00-00-A8-C0-86-A1 temp 10 mins

listo 13:46:27
Figura 4 - Ejecución de la macro del comando arp_flush