Caché de ruta IPV4 eliminado de >= 3.6 kernel de Linux

Caché de ruta IPV4 eliminado de >= 3.6 kernel de Linux

Mientras revisaba el registro de cambios del kernel de Linux 3.6, encontré un correo (http://article.gmane.org/gmane.linux.network/238256) de David S Miller sobre la eliminación del caché de enrutamiento para IPV4 en el kernel. Me pregunto cómo funcionarían ahora la redirección ICMP y las funciones PMTU. Mail también menciona que las rutas se almacenarían previamente en caché, pero que varias rutas dependiendo de la máscara de subred pueden tener múltiples entradas posibles, ¿cómo funcionaría eso? ¿Alguien tiene alguna idea sobre esto?

Gracias.

Respuesta1

Simplemente lea los parches reales.

En lugar de almacenar redirecciones PMTU e ICMP en la caché de enrutamiento, se almacenan en una estructura de "excepción de enrutamiento" que forma parte de la entrada de enrutamiento. Y para cualquier (fuente, interfaz de entrada, destino, marca), solo se selecciona una entrada de ruta. por lo tanto, las excepciones de ruta siempre se utilizarán siempre que no se cambie la entrada de ruta.

Respuesta2

Puede obtener información detallada sobre la ruta MTU para un host de la siguiente manera. Tenga en cuenta que primero se debe completar la información de la caché. Esta prueba se realizó con un kernel de Ubuntu 3.13. Primero valido el caché actual de un host, no me he comunicado con él y no tengo información:

johnf@mtutest:~$ ip ro get 192.168.3.48
192.168.3.48 dev eth0  src 192.168.1.22
    cache

Luego intento hacer ping con un paquete más grande que la MTU (pero no tan grande como para que el sistema operativo deba fragmentar el paquete). Es posible que se pierda los primeros pings cuando realice la prueba; debería ver el mensaje Frag necesario.

johnf@mtutest:~$ ping -s 1460 192.168.3.48 -c 10
PING 192.168.3.48 (192.168.3.48) 1460(1488) bytes of data.
From 192.168.2.0 icmp_seq=1 Frag needed and DF set (mtu = 1220)
1468 bytes from 192.168.2.0: icmp_seq=2 ttl=252 time=1973 ms
[...]
--- 192.168.3.48 ping statistics ---
10 packets transmitted, 9 received, +1 errors, 10% packet loss, time 9016ms
rtt min/avg/max/mdev = 95.681/516.815/1973.697/568.969 ms, pipe 2

Después de recibir el mensaje ICMP MTU excedido, el kernel debe ajustar su caché de ruta para reflejar las limitaciones de la ruta:

johnf@mtutest:~$ ip ro get 192.168.3.48
192.168.3.48 dev eth0  src 192.168.1.22
    cache  expires 588sec mtu 1220

información relacionada