NETWORKING

IPv6 & IPv4

IPv6 uses ND [ Neighbor Discovery ] instead of ARP and SLAAC [ Stateless Address Auto-Configuration ] instead of DHCP

There is also IPv6 <-> IPv4 interop for e.g.

  • If the network only supports IPv6, we can embed an incoming IPv4 address inside the IPv6 address
  • If the network only support IPv4, we can NAT an IPv6 to IPv4

Path MTU Discovery

MTU’s have steadily become bigger. Every link might have a different MTU, so a path MTU = min(link1 MTU, link2 MTU …).

The sending router does not know the path MTU. So it sends a packet with DF bit set to 1 i.e. Don’t Fragment. If a router in the network cannot forward the packet because the MTU is lower, it will drop the packet and send an ICMP message to the sending router with the information of its link MTU. The sending router adjusts its packet sizes by fragmenting them to match the minimum link MTU that it received from the ICMP message. It repeats this process till the packet reaches the destination.

NOTE: The sending router must NOT disable / filter the ICMP messages. We will not get the message required. Discovery can also fail if the path changes, and the MTU needs to be re-adjusted again.

Today, this is how the internet seems to work regarding the MTU discovery.