A New VPN over QUIC protocol with Rust

Aug 27 2023

vpn over quic protocol

What is QUIC

QUIC (Quick UDP Internet Connections) is a transport layer(L4) network protocol that aims to improve the performance of applications by reducing latency and increasing security. It was developed by Google and announced in 2013. QUIC is designed to work on top of the User Datagram Protocol (UDP) rather than the traditional Transmission Control Protocol (TCP) that most internet protocols rely on.

Features

  • Low Latency QUIC is designed to reduce connection establishment times and overall latency by using a combination of techniques, including multiplexing multiple streams within a single connection and reducing the number of round trips required for data exchange.
  • Improved Security QUIC incorporates encryption by default, helping to protect data in transit. It uses the Transport Layer Security (TLS) protocol to ensure that data exchanged between the client and server is encrypted and secure.
  • Multiplexing QUIC allows multiple streams of data to be sent and received concurrently over a single connection. This enables better utilization of network resources and more efficient data exchange.
  • Adaptable to Network Conditions QUIC supports seamless migration of connections between different network interfaces or IP addresses. This can be particularly useful for mobile devices that may switch between Wi-Fi and cellular networks.
  • Built-in Congestion Control Like TCP, QUIC includes mechanisms for congestion control to prevent network congestion and ensure fair sharing of available bandwidth among competing connections.
  • Error Correction QUIC includes built-in mechanisms for error correction and retransmission of lost packets. This helps improve the reliability of data transmission over unreliable networks like wireless connections.
  • Adaptive Bitrate Streaming QUIC is well-suited for adaptive bitrate streaming applications (like video streaming) due to its ability to handle variable network conditions effectively.

QUIC has the potential for future communication

The QUIC protocol represents a significant step forward in internet communication technology. Its unique approach to data transmission, emphasis on speed, and built-in security features make it a promising contender for the future of online communication. As the digital landscape continues to evolve, QUIC's adoption could play a pivotal role in delivering faster, more secure, and more reliable internet experiences for users worldwide.

Why do we use QUIC?

Using UDP for tunneling is the best option for performance, Wireguard is one of the most famous ones. Our server and client work at the Application Level, but wireguard works at the Kernel Level. Working at kernel level makes the Wireguard a little faster.

We have also a fallback option for TCP tunneling with SSH protocol. But TCP shows latency for long remote connections. We assure you will feel the difference.

Why do we use Rust?

We started to develop with C language for performance, every famous network server is written with C language. We developed a little with C, you can find it out at github repo , but developing with C language takes a longer time, then we decided to move to Rust for its benefits. We really loved Rust.