What ever happend to IPv5

World_IPv6_launch_logo_256IPng, Internet Protocol next generation, was conceived in 1994 with a goal to start deployment by 1996. This is one of the reasons of non-compatibility between IPv4 and IPv6 as the idea was that by the time that we will exhaust IPv4 addresses everybody will be already on IPv6. Right… by know we see that global adoption just reached the mark of 1% last year. Interestingly enough IPng at the beginning was called a protocol version 7 but as it was irrational to skip numbers, especially to odd ones, it was quickly corrected around 26th IETF to version 6. IPv6 was supposed to be the life saver over the well-used and already depleting IPv4, basically by increasing the size from 32 bits to 128 bits. Additionally it introduced as well anycast routing, removed the checksum from the IP layer etc. though we still have version field, 8 bits that identify this IP header as being of version 4 when there is a 4 in there and presumably they would use a 5 to identify this next generation version. Unfortunately, 5 was already given to something else.

In the late 1970’s, a protocol named The Internet Stream Protocol has been developed. It was compatible with IP at the network layer but was built to provide a Quality of Service for streaming services such as voice and video. ST was first defined in 1979 in IEN 119 (Internet Engineering Note) and then two decades later (sounds familiar?), this protocol was revised in RFC 1190 (ST2) and RFC 1819 (ST2+) to become ST2 and started to get implemented into commercial projects (in organisation like Apple and IBM). Most importantly ST2 and ST2+ offered connections, instead of its connection-less IPv4 counterpart and guaranteed QoS. The QoS implementation looked like Resource Reservation Protocol (RSVP) in that state was maintained in every router in the network. Clearly ST was not a success because the overhead of maintaining state realistically was impossible not only from the perspective of amount of memory and CPU power needed but also as the service collapse in the event of a failure condition all the connection had to be reestablished. In RFC 1700 you can find that RFC1190 was assigned version 5 around in 1994 and this way creating IPv5. As ST2 and ST2+ were already given that magical 5 we had to bump the version number to 6 with the next protocol and thus IPv6.

There is also another interesting possibility that I haven’t explored before, as we jumped over 64-bit addresses straight to 128-bit addresses and because 64 bit addresses could sill caught up in very near future it is possible that somewhere in the past someone did mapping of IPv4 to 32 bits, IPv5 to 64 bits, IPv6 to 128 bits. But this is highly unlikely as there is natural tendency across technologists to use for experimental protocols, systems, standards an odd numbers.