On Jun 10, 2016, at 11:58 , Cryptographrix <cryptographrix@gmail.com> wrote:
Just to clarify - there's no transition involved - IPv4 to IPv6 is like going from the VINES protocol to IPv6: IPv6 may as well have been called "PROTOCOL 493" - it bares very little relation to the original protocol that brought us the internet as-it-is-today.
Yes and no. VINES didn’t have TCP/UDP/ICMP. While there are subtle differences, the reality is that 99% of code for IPv4 can be converted to IPv6 compatibility with very little effort. Especially if the IPv4 code was written in the last 20 years with any thought of a possible IPv6 future (i.e. uses the superior getaddrinfo() call instead of gethostbyname(), etc.). Modifying even the simplest of programs from VINES to IPv6 would require replacing ALL of the networking calls with calls that have radically different semantics. For IPv4->IPv6, there are a few things that change, but most of it is pretty close to what you’re used to and many calls can be unchanged. socket() gets some different arguments. setsockopt() likewise bind() is essentially unchanged. send(), recv(), sendto(), recvfrom(), open(), close() all remain the same. This is obviously not an exhaustive list, but I’ve converted several applications in multiple languages and it really isn’t all that difficult. Certainly less difficult than when we went from IPX to IPv4. Owen