Tech Gaming Report

Latest Tech & Gaming News

Basic Internet Protocol: Transmission Control Protocol gets an update

Basic Internet Protocol: Transmission Control Protocol gets an update

Since the 1980s, the Transmission Control Protocol (TCP) has controlled much of the Internet’s traffic. TCP is one of the cornerstones of Internet communication to this day. With Request for Comments 9293 (RFC9293), small changes that have occurred over the years are now summarized for the first time and a minimum requirement is added to address overload.

Adopted by the Internet Engineering Task Force (IETF) in 1981 RFC specification 793 therefore, it was valid for about forty years. The basic transport protocol for the Internet regulates the communication between a server and a client that wants to exchange IP packets as fast as possible using error correction, but has no concrete information on how fast the path is that they communicate over.

In general, the TCP specification is about opening and closing a connection and ensuring the complete transmission of data packets, or about the method by which the sender and receiver detect and correct transmission errors. Unlike the underlying IP layer and its UDP (User Datagram Protocol) equivalent, TCP is a “stateful” protocol, meaning that the state of the connection is known to both servers involved.

Basically, little has changed since the old TCP, as the father of the Internet Jon Postel described it in the 1980s. Essentially, the new version is an “amalgamation of various documents that have accumulated since RFC 793,” explains Professor Michael Scharf of the University of Esslingen. Scharf served as co-chair of the IETF TCP Minor Extensions and Maintenance (TCPM) Working Group from 2011 to March 2022.

Documents that have now been integrated include, for example, the 1989 definition of an algorithm for calculating the period after which the sender must resend a packet that has not been acknowledged by the recipient (RFC 1122). The most recent embedded RFC dates from 2012 and is ultimately just a clarification of the maximum size of TCP segments. RFC 9293 brings all of these things together, Scharf explained. “Anyone who wants to develop a new implementation of TCP will find everything they need here.” Many of the built-in RFCs are therefore obsolete and become “historical texts”.

Renovators probably also classified Postel’s description of the “TCP philosophy” and also the reference to the original client, the US Department of Defense, as historical. On the other hand, the new “Security Considerations” section, which was not yet considered at the Postel conference, deals with possible attacks and vulnerabilities, as well as the security mechanisms that are sometimes offered for them, such as TCPCrypt, which does not It’s very common.

However, the editorial team of Wesley Eddy, CTO of software-defined networking company MTI Systems, made an exception. For the first time, the TCP standard specifies the minimum requirements for TCP congestion control.

However, the choice of congestion control algorithms is still left to the implementers and thus remains flexible, as Scharf emphasizes. This is necessary because in the area of ​​congestion control, newer ones such as Google’s BBR are available in addition to Reno and Cubic, which are currently widely used. The next generation is already in the works.

However, the new TCP standard document specifies the minimum requirements that congestion control must follow to avoid overload.

There is movement in the normalization process, not only in congestion control. With Quic, there has long been a competitor to TCP that some observers say has a good chance of overtaking the old transport protocol. Quic originally brought Google into standardization; it is based on UDP and brings encryption with it.

Despite the initial spike in Quic traffic, Scharf sees several areas where TCP will continue to play its role as the base protocol. At the moment, the right server software for smaller Internet providers is still lacking. So far, neither Apache nor NGINX are designed for Quic, so many websites are accessed without the new protocol. Also, TCP is still the protocol of choice for exchanging routing information, that is, for BGP traffic.

And while part of Quic’s speed advantage is due to the fact that engineers have intertwined multiple protocol layers, TCP still appeals with its conventional concept and more easily understood functionality because it only maps one communication layer. For some developers faced with a choice, this may be the deciding factor in favor of TCP because it promises faster implementation and easier error parsing.

However, Scharf anticipates that some of the innovations that Quic brought will also be considered for TCP. “For RFC 9293, it was decided to stay as close as possible to the text of RFC 793 in terms of protocol functionality.” This is also due to the sheer number of implementations. The closer RFC 9293 is to the original wording, the less likely it is that there will be errors due to different interpretations in future implementations. For the future though, he certainly sees an opportunity to teach the tried and tested features of TCP in Quic.

More from c't magazine

More from c't magazine

More from c't magazine


to the home page