At the beginning has been TCP with no IP at all, the TCP has been spited in 2 TCP/IP at version 3 and it has become operational and highly used at version 4 (that’s why the 4 version from IP). The splitting of TCP has been decided because of the following reasons: the need to have different layers for Network and Transport; the overkill of gateways (the former name of routers) to deal with end-to-end protocol for both routing packets between devices and reliable communications between end hosts. The IPv6 name has been chosen to avoid any confusion between the non-used IPv5 protocol (Internet Stream Protocol) and the new IPv6 protocol.
Just to be clear since the
beginning: the fragmentation can be done on IP layer and on MPLS layer and that’s
why on layer 2 link (like QinQ) the frames are dropped (depending, for more
details you can check Almighty-MTUl) if the
layer 2 MTU is less than the frames size, at this moment there is no layer 2
fragmentation definition or RFCs.