Contenido

Introducción

DBD y MTU

Ejemplo DBD

Comportamiento del Comando IP OSPF MTU-Ignore

Conclusión

Introducción

Este documento describe por qué es mejor no utilizar el comando ip ospf mtu-ignore.

El artículo Nota técnica de empaquetado de LSA y MTU OSPF explica una razón, relacionada con la unidad de transmisión máxima (MTU), por la que la adyacencia OSPF (Open Shortest Path First) no alcanza el estado FULL.

DBD y MTU

Una situación puede ocurrir cuando la MTU de interfaz está en un valor alto, por ejemplo 9000, mientras que el valor real del tamaño de los paquetes que se pueden reenviar a través de esta interfaz es 1500.

Si hay una discordancia en la MTU en ambos lados del link donde se ejecuta OSPF, entonces la adyacencia OSPF no se formará porque el valor de MTU se transporta en los paquetes de Descripción de la Base de Datos (DBD) y se verifica en el otro lado.

El paquete DBD, también especificado en RFC 2328, describe el contenido de la base de datos de estado de link OSPF:

0                   1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|   Version #   |       2       |         Packet length         |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                          Router ID                            |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                           Area ID                             |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|           Checksum            |             AuType            |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                       Authentication                          |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                       Authentication                          |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|         Interface MTU         |    Options    |0|0|0|0|0|I|M|MS

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                     DD sequence number                        |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                                                               |

+-                                                             -+

|                                                               |

+-                      An LSA Header                          -+

|                                                               |

+-                                                             -+

|                                                               |

+-                                                             -+

|                                                               |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                              ...                              |

Apéndice A.3.3. de RFC 2328 describe la interfaz MTU como: El tamaño en bytes del datagrama IP más grande que se puede enviar fuera de la interfaz asociada, sin fragmentación.

Los routers que están conectados a un link intercambian su valor de MTU de interfaz en paquetes DBD cuando se inicializa la adyacencia OSPF.

La sección 10.6 de RFC 2328 establece lo siguiente: Si el campo MTU de la interfaz en el paquete Descripción de la base de datos indica un tamaño de datagrama IP mayor que el que puede aceptar el router en la interfaz de recepción sin fragmentación, se rechaza el paquete Descripción de la base de datos.

Cuando se utiliza el comando debug ip ospf adj, puede ver la llegada de estos paquetes DBD.

Ejemplo DBD

En este ejemplo, hay una discordancia en los valores de MTU entre dos vecinos OSPF. Este router tiene MTU 1600:

OSPF: Rcv DBD from 10.100.1.2 on GigabitEthernet0/1 seq 0x2124 opt 0x52 flag 0x2

len 1452 mtu 2000 state EXSTART

OSPF: Nbr 10.100.1.2 has larger interface MTU

El otro router OSPF tiene la interfaz MTU 2000:

OSPF: Rcv DBD from 10.100.100.1 on GigabitEthernet0/1 seq 0x89E opt 0x52 flag 0x7

len 32 mtu 1600 state EXCHANGE

OSPF: Nbr 10.100.100.1 has smaller interface MTU

Los paquetes DBD se retransmiten de forma continua hasta que la adyacencia OSPF finalmente se derribe.

OSPF: Send DBD to 10.100.1.2 on GigabitEthernet0/1 seq 0x9E6 opt 0x52 flag 0x7

len 32

OSPF: Retransmitting DBD to 10.100.1.2 on GigabitEthernet0/1 [10]

OSPF: Send DBD to 10.100.1.2 on GigabitEthernet0/1 seq 0x9E6 opt 0x52 flag 0x7

len 32

OSPF: Retransmitting DBD to 10.100.1.2 on GigabitEthernet0/1 [11]

%OSPF-5-ADJCHG: Process 1, Nbr 10.100.1.2 on GigabitEthernet0/1 from EXSTART to

DOWN, Neighbor Down: Too many retransmissions

Comportamiento del Comando IP OSPF MTU-Ignore

El comando interface ip ospf mtu-ignore inhabilita esta verificación del valor MTU en los paquetes DBD OSPF. Por lo tanto, el uso de este comando permite que la adyacencia OSPF alcance el estado FULL aunque haya una discordancia de MTU de interfaz entre dos routers OSPF.

Este comando fue introducido con el ID de bug de Cisco CSCdr20891.

Este comando afecta el tamaño real del paquete de los paquetes OSPF después del Id. de bug Cisco CSCsk86476.

Este comando no afecta el tamaño real de los paquetes IP transmitidos y no afecta el comportamiento de Path MTU Discovery para el tráfico que pasa a través del router. El uso del comando puede ayudar a activar la adyacencia OSPF, pero el tráfico de tránsito a través del router todavía puede verse afectado por los paquetes IP grandes.

Antes del Id. de bug Cisco CSCse01519, el tamaño de los paquetes DBD OSPF estaba limitado en 1500 bytes. Esto permitió que OSPF funcionara normalmente incluso en una situación de discordancia MTU, cuando se utilizó la funcionalidad OSPF mtu-ignore.

Después de que no se utilice el Id. de bug Cisco CSCse01519 y el comando ip ospf mtu-ignore, es posible que la adyacencia OSPF falle cuando los paquetes OSPF reales sean mayores de 1500 bytes.

Después de Cisco bug ID CSCse01519 y con el comando ip ospf mtu-ignore y antes del Cisco bug ID CSCsk86476, podría ser que se descarten paquetes OSPF grandes (> 1500 bytes). Esto impidió que la adyacencia OSPF alcanzara el estado FULL.

Después del Id. de bug Cisco CSCsk86476, si se utiliza el comando ip ospf mtu-ignore, el router vuelve a utilizar un valor máximo de MTU seguro para los paquetes OSPF. Ese valor es de 1300 bytes. Dado que este valor es bastante pequeño, esto puede afectar la inundación OSPF. Un paquete OSPF más grande es más eficiente para la inundación OSPF.

Conclusión

La solución adecuada en todos los casos es configurar la MTU correcta en las interfaces. Este valor de MTU debe coincidir en los routers de ambos lados del link.