"A Protocol for Packet Network Intercommunication" was written by Vint Cerf and Robert Kahn and published in May 1974. This paper is the first formal specification of TCP/IP, the basic underpinnings of the internet. In terms of technology, this is ancient.
While these protocols have undergone some iteration between their initial publication and the opening of the internet to the general public in 1990, they have not changed much since their original introduction. IPv6, which was published in 1995, is only starting to see increased adoption due to the dwindling availability of IPv4 addresses. The most significant addition to TCP was the addition of Explicit Congestion Notification in 2001.
The way in which people use the internet has changed substantially in the last 15 years—and the protocols which facilitate this usage must necessarily grow with it. In 2001, YouTube did not exist, and Netflix only mailed DVDs to users.
As of November 2013, YouTube and Netflix combined accounted for about half of all internet traffic. Skype added video calls in 2006, and group video calls this month. Storing files in the cloud (that is, remotely) was too slow of an operation in 2001—while high speed internet is more broadly available now, large parts of the United States still lack access, and restoring files is occasionally a frustrating experience.
Broadly speaking, TCP is not particularly efficient at streaming video, which prompted Google to create QUIC—an experimental protocol that operates as a multiplexed stream transport over UDP. While QUIC is a feat of engineering, it is not a true replacement for TCP, as it inherits some of the limitations of UDP. In an attempt to mitigate these limitations, QUIC has a Forward Error Correction (FEC) packet to compensate for packet loss. According to the project description, "Because TCP is [implemented] in operating system kernels, and middlebox firmware, making significant changes to TCP is next to impossible."
A true replacement for TCP
Akamai, a company which provides content delivery and cloud services, recently unveiled a proposal for a TCP replacement, codenamed "Giga," which is capable of providing data transfers that are 30% faster on average, according to a report in the MIT Technology Review.
Tests at Akamai of the prototype indicate that "in India, China, and Bolivia showed improvements of more than 150%—although those in some other places, like Germany, over its ISP Deutsche Telekom's network, yielded an improvement of only a few percentage points."
This performance improvement is the result of an improved method of determining network congestion. Various vendor-specific implementations of TCP have implemented differing congestion avoidance algorithms, which can be implemented on a per-device basis, not requiring the coordination necessary for a completely new standard. The improved algorithm is touted as being capable of avoiding false positive situations in which connections that are below capacity are considered to be congested. Giga also has a different method of data encoding to reduce dropped links when a connection becomes unstable.
Like the transition to IPv6, the deployment of Giga requires implementation across the entire network, both at the data center level and for individual devices such as smartphones and computers. The release of the standard and a public proposal for adoption from Akamai are still forthcoming.
What's your view?
Do you think a replacement to TCP is important? Do you think the adoption of a TCP replacement will be as slow as the transition from IPv4 to IPv6? Share your thoughts in the comments.
- How HTTP/2 will speed up your web browsing (ZDNet)
- How CloudFlare is accelerating the web with HTTP/2 (TechRepublic)
- Android's lack of DHCPv6 support poses security and IPv6 deployment issues (TechRepublic)
- IPv6: The smart person's guide (TechRepublic)
James Sanders is a Java programmer specializing in software as a service and thin client design, and virtualizing legacy programs for modern hardware.