Contents

Introduction

DBD e MTU

Exemplo de DBD

Comportamento do comando IP OSPF MTU-Ignorar

Conclusão

Introduction

Este documento descreve por que é uma prática recomendada não usar o comando ip ospf mtu-ignore.

O artigo OSPF MTU e LSA Packking Tech Note explica uma razão, relacionada à Maximum Transmission Unit (MTU), por que a adjacência do Open Shortest Path First (OSPF) não alcança o estado FULL.

DBD e MTU

Uma situação pode ocorrer em que o MTU da interface está em um valor alto, por exemplo, 9000, enquanto o valor real do tamanho dos pacotes que podem ser encaminhados por essa interface é 1500.

Se houver uma incompatibilidade no MTU em ambos os lados do link em que o OSPF é executado, a adjacência do OSPF não se formará porque o valor do MTU é transportado nos pacotes de Descrição do Banco de Dados (DBD) e verificado no outro lado.

O pacote DBD, também especificado no RFC 2328, descreve o conteúdo do banco de dados 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 descreve a interface MTU como: O tamanho em bytes do maior datagrama IP que pode ser enviado para fora da interface associada, sem fragmentação.

Os roteadores conectados a um link trocam seu valor de MTU de interface em pacotes DBD quando a adjacência OSPF é inicializada.

A seção 10.6 do RFC 2328 afirma o seguinte: Se o campo Interface MTU no pacote Database Description indicar um tamanho de datagrama IP maior do que o roteador pode aceitar na interface de recebimento sem fragmentação, o pacote Database Description será rejeitado.

Quando o comando debug ip ospf adj é usado, você pode ver a chegada desses pacotes DBD.

Exemplo de DBD

Neste exemplo, há uma incompatibilidade nos valores de MTU entre dois vizinhos OSPF. Este roteador tem 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

O outro roteador OSPF tem a 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

Os pacotes de DBD são retransmitidos continuamente até que a adjacência de OSPF seja finalmente destruída.

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

Comportamento do comando IP OSPF MTU-Ignorar

O comando de interface ip ospf mtu-ignore desabilita essa verificação do valor de MTU nos pacotes DBD do OSPF. Assim, o uso desse comando permite que a adjacência OSPF acesse o estado FULL, mesmo que haja uma incompatibilidade de MTU de interface entre dois roteadores OSPF.

Este comando foi introduzido com o bug da Cisco ID CSCdr20891.

Esse comando afeta o tamanho real do pacote dos pacotes OSPF após o bug da Cisco ID CSCsk86476.

Esse comando não afeta o tamanho real dos pacotes IP transmitidos e não afeta o comportamento de Path MTU Discovery para o tráfego que passa pelo roteador. O uso do comando pode ajudar a ativar a adjacência OSPF, mas o tráfego de trânsito através do roteador ainda pode ser afetado para pacotes IP grandes.

Antes do bug da Cisco ID CSCse01519, o tamanho dos pacotes DBD do OSPF era limitado em 1500 bytes. Isso permitiu que o OSPF funcionasse normalmente mesmo em uma situação de incompatibilidade de MTU, quando a funcionalidade de ignorar mtu do OSPF foi usada.

Depois que o bug da Cisco ID CSCse01519 e o comando ip ospf mtu-ignore não são usados, é possível que a adjacência OSPF falhe quando os pacotes OSPF reais são maiores que 1500 bytes.

Após o bug da Cisco ID CSCse01519 e com o comando ip ospf mtu-ignore e antes do bug da Cisco ID CSCsk86476, pode ser que pacotes OSPF grandes (> 1500 bytes) sejam descartados. Isso impediu que a adjacência OSPF chegasse ao estado FULL.

Após o bug da Cisco ID CSCsk86476, se o comando ip ospf mtu-ignore for usado, o roteador volta a usar um valor MTU máximo seguro para os pacotes OSPF. Esse valor é 1300 bytes. Como esse valor é bem pequeno, isso pode afetar a inundação OSPF. Um pacote OSPF maior é mais eficiente para a inundação OSPF.

Conclusão

A solução apropriada em todos os casos é configurar o MTU correto nas interfaces. Esse valor de MTU deve corresponder nos roteadores em ambos os lados do link.