Contenu

Introduction

DBD et MTU

Exemple DBD

Comportement des commandes IP OSPF MTU-Ignore

Conclusion

Introduction

Ce document décrit pourquoi il est recommandé de ne pas utiliser la commande ip ospf mtu-ignore.

L'article Note technique d'emballage OSPF MTU et LSA explique une raison, liée à l'unité de transmission maximale (MTU), pour laquelle la contiguïté OSPF (Open Shortest Path First) n'atteint pas l'état FULL.

DBD et MTU

Une situation peut se produire lorsque le MTU de l'interface a une valeur élevée, par exemple 9000, alors que la valeur réelle de la taille des paquets qui peuvent être transférés sur cette interface est 1500.

En cas de non-correspondance sur le MTU des deux côtés de la liaison sur laquelle le protocole OSPF s'exécute, la contiguïté OSPF ne se formera pas car la valeur du MTU est transportée dans les paquets DBD (Database Description) et vérifiée de l'autre côté.

Le paquet DBD, également spécifié dans la RFC 2328, décrit le contenu de la base de données d'état des liaisons 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                          -+

|                                                               |

+-                                                             -+

|                                                               |

+-                                                             -+

|                                                               |

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

|                              ...                              |

Appendice A.3.3 de RFC 2328 décrit le MTU de l'interface comme suit : Taille en octets du datagramme IP le plus grand qui peut être envoyé à l'interface associée, sans fragmentation.

Les routeurs connectés à une liaison échangent leur valeur MTU d'interface dans des paquets DBD lorsque la contiguïté OSPF est initialisée.

La section 10.6 de la RFC 2328 stipule ce qui suit : Si le champ MTU de l'interface dans le paquet Description de la base de données indique une taille de datagramme IP supérieure à ce que le routeur peut accepter sur l'interface de réception sans fragmentation, le paquet Description de la base de données est rejeté.

Lorsque la commande debug ip ospf adj est utilisée, vous pouvez voir l'arrivée de ces paquets DBD.

Exemple DBD

Dans cet exemple, les valeurs MTU ne correspondent pas entre deux voisins OSPF. Ce routeur a 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

L’autre routeur OSPF possède l’interface 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

Les paquets DBD sont retransmis en continu jusqu'à ce que la contiguïté OSPF soit finalement désactivée.

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

Comportement des commandes IP OSPF MTU-Ignore

La commande d'interface ip ospf mtu-ignore désactive cette vérification de la valeur MTU dans les paquets OSPF DBD. Ainsi, l'utilisation de cette commande permet à la contiguïté OSPF d'atteindre l'état FULL même s'il existe une incompatibilité MTU d'interface entre deux routeurs OSPF.

Cette commande a été introduite avec l'ID de bogue Cisco CSCdr20891.

Cette commande affecte la taille réelle des paquets OSPF après l'ID de bogue Cisco CSCsk86476.

Cette commande n'affecte pas la taille réelle des paquets IP transmis et n'affecte pas le comportement de découverte MTU du chemin pour le trafic qui passe par le routeur. L'utilisation de la commande peut aider à activer la contiguïté OSPF, mais le trafic de transit via le routeur peut toujours être affecté pour les paquets IP volumineux.

Avant l'ID de bogue Cisco CSCse01519, la taille des paquets OSPF DBD était limitée à 1 500 octets. Cela a permis au protocole OSPF de fonctionner normalement même dans une situation de non-correspondance MTU, lorsque la fonctionnalité OSPF mtu-ignore a été utilisée.

Une fois que l'ID de bogue Cisco CSCse01519 et la commande ip ospf mtu-ignore ne sont pas utilisés, il est possible que la contiguïté OSPF échoue lorsque les paquets OSPF réels sont supérieurs à 1 500 octets.

Après l'ID de bogue Cisco CSCse01519 et avec la commande ip ospf mtu-ignore et avant l'ID de bogue Cisco CSCsk86476, il se peut que les paquets OSPF de grande taille (> 1 500 octets) soient abandonnés. Cela a empêché la contiguïté OSPF d'atteindre l'état FULL.

Après l'ID de bogue Cisco CSCsk86476, si la commande ip ospf mtu-ignore est utilisée, le routeur revient à utiliser une valeur MTU maximale sécurisée pour les paquets OSPF. Cette valeur est de 1 300 octets. Comme cette valeur est plutôt petite, elle peut affecter l'inondation OSPF. Un paquet OSPF plus grand est plus efficace pour l’inondation OSPF.

Conclusion

La solution appropriée dans tous les cas est de configurer la MTU correcte sur les interfaces. Cette valeur MTU doit correspondre sur les routeurs de chaque côté de la liaison.