Network Protocols

Connecting devices and
users over the network

Network protocols define the end-to-end processes of timely, secure and managed data or network communication. Read all network protocols related articles here.

HTTP: The internet king

The Hypertext Transfer Protocol, known as HTTP, is an application protocol for transmitting hypermedia resources, such as HTML documents. HTTP was designed within the framework of the Internet protocol suite, and it is the foundation of any data communication on the web. 

Since HTTP is a client-server protocol, requests are initiated by the recipient. For example, when you enter a URL in your browser, it sends an HTTP command to the web server, asking it to fetch and transmit the requested content. 

Usually, these HTTP requests are sent over an underlying and reliable transport layer protocol, with TCP/IP being the most commonly used. However, HTTP can be adapted to other protocols, such as UDP.  

HTTPS: The secure version of HTTP

HTTPS means Hypertext Transfer Protocol Secure, which means that it is basically the secure version of HTTP. Under HTTPS, the communications between the browser and the website are encrypted by another protocol: TLS.

HTTP/3: HTTP-over-QUIC

HTTP has been evolving over time: first, there was HTTP/1.1; then HTTP/2 was standardized in 2018 and HTTP/3 is now proposed to be the successor. HTTP/3 will become the third official version of the HTTP protocol. Although very similar to HTTP/2, it offers some significant advancements and changes to the underlying method of utilization. While still functional with TCP, HTTP/3 will actually be built upon QUIC, a Google/IETF hybrid which is foundationally a transport protocol developed upon UDP (more about HTTP/3 here).

TCP & UDP: The standards for transport

standardprotocols

The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite, alongside the Internet Protocol (IP). The entire suite is commonly referred to as TCP/IP.

TCP/IP specifies how data is exchanged over the internet by providing end-to-end communications that identify how it should be broken into packets, addressed, transmitted, routed and received at the destination (source).

TCP also provides reliable and error-checked delivery, guaranteeing that all packets received will be identical and in the same order as those sent.

The User Datagram Protocol (UDP) is an alternative communications protocol to TCP, although it also runs on top of Internet Protocol (IP). 

In contrast with TCP, UDP just sends the packets, which means that it deals with much lower bandwidth overhead and latency - but packets may take different paths between sender and receiver, which means that some packets may even be lost or received out of order. 

In addition, while TCP provides error and flows control, UDP does not support such mechanisms.

These are some of the reasons why UDP is seen as a non-reliable protocol or even an insecure connection, even though we do not quite agree. UDP can be really useful for establishing low-latency and loss-tolerating connections between applications on the internet, such as gaming, for example.

QUIC: The new radical protocol

gcp-cloud-cdn-performance-2

QUIC is a new transport which reduces latency compared to that of TCPOn the surface, QUIC is very similar to TCP+TLS+HTTP/2 implemented on UDP.

In a nutshell, QUIC aims to be nearly equivalent to a TCP connection but with much-reduced latency. Does QUIC achieve this goal? We believe it does, but just with incremental impact. Learn here why QUIC is not the next big thing.

As a context: QUIC was born from “Google QUIC” (known as “gQUIC”), which was originally designed by Google engineers in 2012. Three years later it was adopted by the IETF (Internet Engineering Task Force) for standardization.

Since then, it has been highly improved in open collaboration by many organizations and individuals. In fact, QUIC has already diverged so much from gQUIC that it is now seen as a separate protocol.

Bolina: A new protocol for wireless communication

performance-thumb

Bolina is a new end-to-end protocol specially designed for wireless communication, by Codavel. It maintains high speed irrespective of latency and packet loss since it controls the network end-to-end.

What makes Bolina unique is that it was built on top of network coding techniques, which mixes original data packets into coded transmissions. This approach enables revisiting the role of feedback information. You can learn more about it here.

Bolina, currently on its beta version, can be up to 2 times faster than standard protocols. See the performance report here or evaluate it yourself.

TLS 1.3: The security king

TLS stands for Transport Layer Security and it is the successor of the SSL - Secure Sockets Layer. This protocol was designed to provide communications security over a network (yes, it is the S in HTTPS!). Every time we access Gmail, access our bank account or check our friends’ Instagram photos, we are using the security provided by TLS.

TLS 1.3 is the latest version of this protocol and brings major benefits and some vulnerabilities that every developer or project manager should be aware of. We have explored here TLS 1.3 major benefits and vulnerabilities, take a look!

However, it is undeniable that TLS 1.3, besides providing high privacy improvements, ensures better performance for HTTPS, making it faster for every user and every device. In theory, TLS 1.3 makes page load times significantly faster for mobile devices. Here's our experience measuring TLS 1.3 performance.

Discover Bolina protocol

Bolina is a new end-to-end protocol specially designed for wireless communication. It can make mobile apps up to 2 times faster.

Learn more