ICMPv6–Packet Too Big: Descoberta de MTU e fragmentação

A fragmentação dos pacotes em redes IPv6 é diferente do que ocorre em redes IPv4.

Enquanto em redes v4 a fragmentação acontece de salto em salto, sendo cada elemento responsável por fragmentar os pacotes de acordo com o MTU configurado na interface de saída, em redes IPv6 a fragmentação acontece apenas no host de origem. E para isto, é utilizada a mensagem ICMPv6 Packet Too Big.

Em redes IPv6, quando um host recebe um pacote maior do que o MTU configurado na interface de saída, este host descarta o pacote e então envia uma mensagem Packet Too Big para a origem, que recria o pacote com o tamanho correto. Este processo pode acontecer em todos os saltos até o destino final, e ao fim o pacote vai sair do host origem já com o tamanho mínimo para percorrer todo o trajeto até o destino.

A saber: Segundo a RFC2460 – Internet Protocol, Version 6 (IPv6) Specification, o tamanho mínimo para MTU em redes IPv6 é de 1280 bytes.

Podemos ver este comportamento com uma topologia simples, como na figura abaixo. Nos roteadores configuramos IPv6 nas interfaces e rotas, e na interface F0/1 do R2 mudamos o MTU para 1280.

Packet Too Big

 

Configuração R1:

ipv6 unicast-routing
!
interface FastEthernet0/0
ipv6 address 2001:DB8:1::1/64
!
ipv6 route ::/0 2001:DB8:1::2

Configuração R2:

ipv6 unicast-routing
!
interface FastEthernet0/0
ipv6 address 2001:DB8:1::2/64
!
interface FastEthernet0/1
ipv6 address 2001:DB8:2::1/64
ipv6 mtu 1280

Configuração R3:

ipv6 unicast-routing
!

interface FastEthernet0/1
ipv6 address 2001:DB8:2::2/64
!
ipv6 route ::/0 2001:DB8:2::1

Após fazer esta configuração basta dar um ping de R1 para R3, com pacotes de 1500.

Packet Too Big - Ping
No próprio roteador podemos ver que a primeira reposta do ping foi “B”, que significa que o pacote era maior do que suportado no caminho (pra ser sincero não encontrei nenhuma documentação confirmando isso, mas imagino que o B seja de Big). Mas para ficar mais claro podemos usar também o Wireshark.

Packet Too Big - Wireshark

 

Bônus Track

Encontrei em outro blog um experimento também interessante.

Podemos criar uma access-list IPv6 bloqueando as mensagens do tipo ICMP Packet Too Big. E como é de se imaginar, neste caso o ping com pacotes maiores do que 1280 bytes (tamanho máximo neste nosso exemplo) não funciona, pois R1 não sabe que precisa fragmentar.

Para este teste crie uma ACL e aplique na interface F0/0 do R1, no sentido in.

Configuração R1:

ipv6 access-list Block-PTBM
deny icmp any any packet-too-big
permit icmp any any
!
interface FastEthernet0/0
ipv6 traffic-filter Block-PTBM in

Agora o teste.

R1#ping 2001:DB8:2::2 size 1500

Type escape sequence to abort.
Sending 5, 1500-byte ICMP Echos to 2001:DB8:2::2, timeout is 2 seconds:
…..
Success rate is 0 percent (0/5)
R1#

Já havia falado da importância do ICMPv6, e este exemplo mostra isso mais uma vez.

Até a próxima.

About Us

Luckily friends do ashamed to do suppose. Tried meant mr smile so. Exquisite behaviour as to middleton perfectly. Chicken no wishing waiting am. Say concerns dwelling graceful.

Services

Most Recent Posts

  • All Post
  • Branding
  • Certificação
  • Cisco
  • Cloud
  • Configuração
  • Configuração Básica
  • Development
  • Geral
  • Informação
  • Leadership
  • Linux
  • Management
  • Microsoft
  • Network
  • Security
  • UC
  • Virtualização
  • Wireless

Company Info

She wholly fat who window extent either formal. Removing welcomed.

Your Business Potential with Our Proven Strategies

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Company

About Us

Contact Us

Products

Services

Blog

Features

Analytics

Engagement

Builder

Publisher

Help

Privacy Policy

Terms

Conditions

Product

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
You have been successfully Subscribed! Ops! Something went wrong, please try again.
© 2023 Created with Royal Elementor Addons