IPv6 Packet · Topic 2 of 2

Path MTU Discovery in IPv6

Learn how IPv6 Path MTU Discovery works with Packet Too Big messages, the 1280 byte minimum, source fragmentation, tunnel overhead and RouterOS settings.

  • 5 min
  • Includes a diagram
In a nutshell
  • IPv6 routers never fragment packets. Only the source does.
  • A router that cannot forward a packet sends ICMPv6 Packet Too Big, type 2, with the next link MTU.
  • The minimum IPv6 link MTU is 1280 bytes.

What it is

Path MTU Discovery finds the largest packet that can cross every link between two hosts without fragmentation.

The MTU is the largest packet a link can carry. A path has many links, and the smallest MTU on the path is the path MTU. A sender that exceeds it will have its packets dropped.

In IPv6 this matters more than in IPv4, because routers never fragment packets. The sender must learn the limit and stay under it.

Sendersends large packetRouterlink MTU too smallPacket Too BigSenderlowers its packet size

How it works

The sender starts big, and routers on the path tell it when a packet does not fit.

The discovery process

A sender, a router and a destination: a large packet is dropped at a 1480 byte link, the router returns an ICMPv6 Packet Too Big message, and the sender retries with smaller packets. The steps are the same on every IPv6 host:

  1. The sender assumes the path MTU equals the MTU of its own link.
  2. It sends a packet of that size.
  3. A router that cannot forward the packet drops it.
  4. The router sends an ICMPv6 Packet Too Big message back, which includes the MTU of the next link.
  5. The sender stores the lower value for that destination and sends smaller packets.

The sender may repeat this several times, if a later link on the path is smaller still. The cached value is kept for a while and is then refreshed.

Packet Too Big is ICMPv6 type 2. It is one of the few ICMPv6 messages that must never be blocked on a path.

Minimum MTU

Every IPv6 link must support an MTU of at least 1280 bytes. That is the smallest packet size a sender can rely on without learning anything about the path.

A host that cannot discover the path MTU can still communicate by keeping its packets at 1280 bytes or smaller. Ethernet normally carries 1500 bytes.

ValueMeaning
1280Minimum link MTU in IPv6
1500Normal Ethernet MTU
1480Typical result after a 20 byte tunnel header on Ethernet

IPv4 compared with IPv6

BehaviourIPv4IPv6
Router fragmentsYes, unless Do not Fragment is setNever
Don't Fragment bitPresent in headerNo such bit, all packets are treated this way
NotificationICMP Fragmentation NeededICMPv6 Packet Too Big
Minimum MTU68 bytes1280 bytes

Source fragmentation

If a sending application insists on sending a packet larger than the path MTU, the source fragments it.

Each piece gets a Fragment extension header, with an identification value and an offset. The destination reassembles the pieces. Routers along the way forward each fragment as an ordinary packet.

Sourcesplits packetRouterforwards fragmentsDestinationreassembles

Fragmentation costs performance and should be avoided. Most traffic uses TCP, which adjusts its segment size to fit the path MTU instead.

Tunnels and PMTUD

Tunnels reduce the usable MTU, because they add their own header. A 6in4 tunnel over Ethernet adds a 20 byte IPv4 header, so the inner packet gets less room.

If hosts do not learn the smaller value, large packets vanish while small ones work. This symptom is called a black hole.

Settings on RouterOS

The interface MTU is set on the interface itself. A router can also tell hosts what MTU to use by adding it to Router Advertisements.

/ipv6 nd set [ find default=yes ] mtu=1480

The mtu parameter in /ipv6 nd is included in the advertisement as the MTU option. Hosts on the link then limit their packets to that value.

You can probe the path with ping and a size.

/ping 2001:db8:2::1 size=1452 count=3

If large pings fail while small ones work, an MTU limit somewhere on the path is a likely cause.

Exam tip

Never filter ICMPv6 Packet Too Big on the firewall. If you drop it, PMTUD fails and large transfers stall.

What to remember for the exam

Seven facts cover most questions on this topic.

  • IPv6 routers never fragment packets. Only the source does.
  • A router that cannot forward a packet sends ICMPv6 Packet Too Big, type 2, with the next link MTU.
  • The minimum IPv6 link MTU is 1280 bytes.
  • Fragmentation uses the Fragment extension header, created by the source.
  • Blocking ICMPv6 breaks Path MTU Discovery and causes black holes.
  • Tunnels reduce the MTU because of their extra header.
  • The mtu setting in /ipv6 nd advertises an MTU to hosts.
Watch out

When ICMPv6 is blocked, small packets still work but large ones silently disappear. This makes the fault hard to spot.

Common mistakes

These four mistakes appear often.

Dropping all ICMPv6 on the firewall. Packet Too Big is needed for discovery. Allow ICMPv6 at least on the forward and input chains.

Forgetting tunnel overhead. A tunnel adds a header, so the path MTU is lower than the Ethernet value.

Expecting the router to fragment. It will not. The packet is dropped and the sender is told.

Setting an MTU below 1280. An IPv6 link must carry at least 1280 bytes.

Check yourself

Work through these three questions.

  • Which message tells an IPv6 sender that its packet is too big?

    ICMPv6 Packet Too Big, which carries the MTU of the next link.

  • What is the smallest MTU an IPv6 link must support?

    1280 bytes.

  • Who fragments an oversized IPv6 packet?

    Only the source node fragments it, using the Fragment extension header.

Topic 2 of 2 in IPv6 Packet

Test yourself on IPv6 Packet

The full MikroTik MTCIPv6E question bank has 486 questions, with timed practice exams and an explanation for every answer.

This study guide is independent and is not affiliated with, endorsed by, or sponsored by MikroTik. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.