Introduction to TCP/IP

TCP/IP (or the “Internet Protocol Suite” as it is referred to in the IETF standards documents) is a collection of many network protocols that live in various layers. The name “TCP/IP” refers to two of its most prominent protocols, Transmission Control Protocol, or TCP (which lives in the Transport Layer, or L4 in OSI) and Internet Protocol, or IP (which lives in the Internet Layer, or L3 in OSI).

Packet switched networking was originally developed at the Advanced Research Projects Agency (ARPA), part of the U.S. Department of Defense (now known as DARPA). ARPA provided the funding and management, but most of the work was actually done by the Rand Corporation and Bolt Beranek and Newman (now called BBN). The creator of Ethernet (Robert Metcalf) at Xerox Parc, went on to found 3Com, and created many of the early Ethernet commercial products (NICs, hubs, etc.). DEC, Intel and Xerox created early Ethernet products as well (based on the “DIX” standard).

As network hardware evolved, there were many competing network protocol standards and software implementations, such as DECNet, IBM SNA, Novell Netware, Microsoft NetBIOS/NetBEUI and OSI. TCP/IP was relatively unknown outside of universities and ARPA. This was a real “Tower of Babel”. Since the protocols were incompatible you could not build multivendor networks. Network professionals had to specialize in one or maybe two company’s products. Over time, more and more vendors converged on a common protocol, which was TCP/IP.

Originally the functionality we now know as IP was integrated with TCP, until version 3 where it was split out into a separate protocol (there never was an IPv1 or IPv2). By the time TCP and IP were released to the public on January 1, 1983, both were at version 4, so IPv4 was really the first production version of the Internet Protocol. Vint Cerf is generally recognized as the “father of IPv4”.

One of the universities that Bell Labs licensed the UNIX Operating system to was the University of California at Berkeley, or UCB. UCB created the Berkeley Software Distribution (BSD) branch of UNIX, by adding TCP/IP (from ARPA), virtual memory, and a number of other advanced features that turned it into a viable, production Operating System. 4.2BSD (August 1983) was the first version to include TCP/IP. Many UNIX workstation vendors (e.g. Sun, Silicon Graphics, Intergraph) used TCP/IP as their primary network protocol.

UCB made copies of the BSD UNIX variant available to many universities, so TCP/IP began spreading, especially in academic institutions. UCB later rewrote the last remaining parts of Bell Lab’s UNIX code resulting in 386BSD, which later evolved into FreeBSD, the first Open Source OS. Other BSD variants (NetBSD and OpenBSD) split off of FreeBSD. Some years later, the KAME Project (part of the WIDE Project in Japan) choose FreeBSD as the platform for the first full scale implementation IPv6 (as well as IPsec over IPv6). For many years, connecting to the KAME website was the first proof many people had that their IPv6 connectivity was working. The site has a Kame (Japanese for turtle) logo on the landing page. If you connect over IPv4, it just sits there. If you connect over IPv6, the Kame dances for joy at your success. Even though the KAME Project ended in 2006 (by accomplishing all of its goals), the website was left up as a piece of Internet history.

Meanwhile, over time, TCP/IP was implemented on more and more operating systems. Microsoft began supporting it in Windows NT 3.1 and Windows For Workgroups (1993-1994). By Windows NT 4.0 (1996) TCP/IP was their dominant network technology, and that helped them drive Novell out of the market (Novell was late to adopt TCP/IP). Today, TCP/IP is almost completely dominant, worldwide.

Usage of TCP/IP and the Internet grew slowly at first, then more and more rapidly until the mid 1990s, when the IETF began worrying about running out of IPv4 addresses. In 2001, for the first time, more than 100 million IPv4 public addresses had been allocated. By 2010, more than 1 billion public addresses were in use. By early 2011, IANA was out of addresses, and by September 2012, both APNIC and RIPE NCC reached end of normal allocation of IPv4 public addresses.

Today, the Second Internet (based on IPv4) is at End-of-Life, because there are no more IPv4 public addresses available from the Internet Assigned Numbers Authority (IANA). IANA allocated its final five “/8” blocks to the five RIRs on 3 February 2011. Since then all but one of the five Regional Internet Registries (APNIC in Asia/Pacific, RIPE NCC in Europe / Middle East, LACNIC in Latin America and ARIN in North America) have reached end of normal allocation of IPv4 public addresses. Some time in 2019 the last of the RIRs (AfriNIC in Africa) will join them.

Actually, TCP/IP is doing fine, and will continue to be viable for many decades to come! However, this will require replacing the old worn-out IPv4 protocol deep down in the TCP/IP stack with the shiny new version of the Internet Protocol called IPv6.

Most network software requires only minor modifications to work over IPv6. Most web applications (e.g. ones written in PHP and ASP) work over it with no changes at all. Most Operating Systems already have full support for it. Even many tablets and smartphones already support it. Most popular network applications (web, email, file transfer, etc., both commercial and open source) already work fine over it. Most new network hardware products already support it. You can find a list of thousands of network products that are already certified to work with it at Many of the major content providers, such as Google, YouTube and NetFlix support IPv6. The largest Content Distribution Network (Akamai) now supports it. The DNS root servers have fully supported IPv6 since 2008. The high capacity Internet backbones from NTTAT&TTaTa CommunicationsHurricane Electric and others that link countries together have supported IPv6 for years.

Recently one of the IETF standards documents announced that support for IPv6 in all network devices was mandatory, but support for IPv4 was optional. See RFC 6540, “IPv6 Support Required for all IP-Capable Nodes”, April 2012. This announcement is the beginning of the end for IPv4. From that RFC:

Given the global lack of available IPv4 space, and limitations in IPv4 extension and transition technologies, this document advises that IPv6 support is no longer considered optional.
IP version 4 (IPv4) has served to connect public and private hosts
all over the world for over 30 years.  However, due to the success of
the Internet in finding new and innovative uses for IP networking,
billions of hosts are now connected via the Internet and require
unique addressing. This demand has led to the exhaustion of the
IANA global pool of unique IPv4 addresses, as well as four of the five Regional Internet Registries (RIRs). While transition technologies and
other means to extend the lifespan of IPv4 do exist, nearly all of
them come with trade-offs that prevent them from being optimal
long-term solutions when compared with deployment of IP version 6
(IPv6) as a means to allow continued growth on the Internet.
To ensure interoperability and flexibility, the best practices are as
    • New IP implementations must support IPv6.
    • Updates to current IP implementations should support IPv6.
    • IPv6 support must be equivalent or better in quality and functionality when compared to IPv4 support in a new or updated IP implementation.
    • New and updated IP networking implementations should support IPv4 and IPv6 coexistence (dual-stack), but must not require IPv4 for proper and complete function.
    • Implementers are encouraged to update existing hardware and software to enable IPv6 wherever technically feasible.

This Website

This website ( is powered by WordPress, which is written in the PHP web scripting language. WordPress was originally developed to run over IPv4. It is possible the WordPress developers aren’t even familiar with IPv6 (my apologies if they are, but there are zero mentions of it on their website). Once the underlying web server (Apache) was configured to support IPv6, dual stack Internet service was provided to the web server, and the appropriate resource records were added into DNS, all of WordPress “just worked” over both IPv4 and IPv6. It is quite simple these days to make your website available over IPv6, and to access all the sites becoming available over IPv6 with your existing browsers. I was able to find a hosting facility that supports IPv6, so you can access this site over both IPv4 and IPv6.

The final frontier for IPv6 is the “last mile” – the tier 2 and 3 ISPs that provide service to individuals and companies. They are only now starting to offer commercial IPv6 service. The good news is you don’t need to wait for them – anyone in the world that currently has IPv4 service can obtain IPv6 service tunneled over existing IPv4 infrastructure today – for free.

It is also possible for nodes in legacy IPv4-only networks to obtain outgoing web access to IPv6 sites without making any changes at all (other than web proxy address). The same technology allows legacy IPv4-only web servers to handle connections from IPv6-only clients. This requires deployment of a translating web proxy, and in the case of incoming web, the addition of a AAAA record in DNS.

The Second Internet is having more and more problems with end-to-end connectivity because of the widely deployed Network Address Translation (due to lack of sufficient public addresses). Already IPv4 is available from many ISPs only via two or more layers of NAT44 (as in Carrier Grade NAT), which is causing even more problems.

The Third Internet has a virtually unlimited supply of public addresses, hence there is absolutely no need for NAT. Full end-to-end connectivity is simple to achieve. It is actually easier to secure access over IPv6 than over IPv4+NAT. NAT does not provide any additional security over port blocking in a router or firewall. Global End-to-End connectivity will revolutionize network software design. Sixscape Communications is already working on amazing new products that will take advantage of this emerging new infrastructure.