IPv6 "bloat"

Masataka Ohta mohta at necom830.hpcl.titech.ac.jp
Mon Mar 21 05:41:04 UTC 2022


Michael Thomas wrote:

> So out of the current discussions a lot of people have claimed that ipv6 
> is bloated or suffers from second system syndrome, etc.

IPv6 optional header chain, even after it was widely recognized
that IPv4 options are useless/harmful and were deprecated is an
example of IPv6 bloat.

Extensive use of link multicast for nothing is another example
of IPv6 bloat. Note that IPv4 works without any multicast.

> So I decided to 
> look at a linux kernel (HEAD I assume) and look at the differences 
> between the v6 and v4 directories.

See above. That is an improper way to evaluate IPv6 bloat.

An example of second system syndrome of over-engineering
without bloat is various timing parameters specified
for ND, even though timing requirements are different
depending on link types, which means there can be no
standard timing parameters applicable to all the link
types.

Another example of over-engineering is SLAAC to
*statefully* maintain address configuration state
in fully distributed way only to promote
inconsistencies requiring DAD.

An example of under-engineering is lack of the
following consideration of rfc791:

     The number 576 is selected to allow a reasonable sized data block to
     be transmitted in addition to the required header information.  For
     example, this size allows a data block of 512 octets plus 64 header
     octets to fit in a datagram.  The maximal internet header is 60
     octets, and a typical internet header is 20 octets, allowing a
     margin for headers of higher level protocols.

as IPv6 optional headers can be arbitrary lengthy, it is not
guaranteed that 512B DNS message can be sent over UDP over
IPv6.

And, there are a lot lot lot more.

						Masataka Ohta


More information about the NANOG mailing list