title: Why there is a payload length field in the IP header?
body: <p>16 bits are used for "Total length" in IPv4 and "Payload length" in IPv6. Ethernet frame header already contains a 16-bit length field. Even though only some of its possible values are used to indicate length, it should by itself unambiguously specify the total length of the payload and thus the total length of the IP datagram. Why specify it again in the IP header? (and again in UDP?)</p>