Products
Solutions
Developers
Demo
Pricing
Company

What is AXP-QUIC: Adaptive X-Path QUIC Network Transmission Acceleration

20 min read
Spt 21, 2024

What is AXP-QUIC: Adaptive X-Path QUIC Network Transmission Acceleration

With the development of internet technology, applications that rely on internet communication have also raised higher demands for network transmission quality. Especially in scenarios that require high real-time performance or reliability, such as instant messaging, real-time audio and video, and real-time signaling interaction, network transmission quality is one of the decisive factors affecting product experience.

Typically, application services achieve this by deploying a wide range of nodes or accessing accelerated networks, combined with optimal scheduling, to bring service access points as close as possible to end users, thereby reducing network latency from the terminal to the access point (the "first mile"). Once data reaches the access point, transmission acceleration across the backbone network (the "second mile") is achieved through relay forwarding, shortest path routing, accelerated protocols, and multipath transmission technologies.

AXP-QUIC Network transmission.png

What is QUIC

QUIC (Quick UDP Internet Connection) is a multiplexed secure transport layer protocol implemented by Google over UDP. It provides multiplexing and flow control mechanisms, security equivalent to TLS, and reliability and congestion control similar to TCP. QUIC operates entirely in user space and can be understood as a secure transport layer implemented using UDP encapsulation. Therefore, compared to TCP/UDP, which are optimized at the operating system protocol stack level, QUIC is more convenient to iterate.

As a general-purpose reliable "transport layer" based on UDP, QUIC has the following key features:

Connection Establishment Latency: For TCP+TLS, connection establishment requires TCP's three-way handshake plus the TLS handshake, totaling 3 RTTs. After the initial connection, QUIC clients and servers maintain a logical connection session at the QUIC layer, independent of the socket's five-tuple. If data transmission is needed, this session can be used directly. This session contains encryption and decryption context information and is updated during QUIC data transmission. Therefore, subsequent data transmissions can achieve 0 RTT.

Flexible Congestion Control: QUIC integrates many excellent ideas accumulated by TCP over the years, such as FACK, TLP, F-RTO, Early Retransmit, and Pacing, providing a rich and extensible set of congestion control strategies. Additionally, QUIC can provide more detailed information for these strategies, such as each packet carrying a new sequence number, including both original and retransmitted packets. This allows the sender to distinguish whether an ACK belongs to a retransmitted packet or an original packet, avoiding TCP retransmission ambiguity and RTO issues caused by lost retransmitted packets. QUIC ACK packets also carry the delay from receiving the packet to replying with an ACK, allowing for precise RTT calculation when combined with incrementing packet sequence numbers.

Multiplexing without Head-of-Line Blocking: Similar to the head-of-line blocking issue in TCP-based HTTP/2 multiplexing, where TCP packet loss can affect all streams on that TCP connection, QUIC's multiplexed streams have independent send and receive windows. Packet loss in one stream does not affect data transmission in other streams.

TLS Transport Layer Security: Ensures the security of data transmission.

Connection Migration: TCP is based on a four-tuple, requiring a new connection establishment when the link changes to continue data transmission. In contrast, QUIC uses a 64-bit Connection ID to maintain the logical connection between the client and server. Therefore, even if the UDP link changes, the logical connection at the QUIC layer remains unchanged, and QUIC packets received at both ends can be correctly parsed.

What is AXP-QUIC

Combining general strategies for achieving stable and reliable transmission in unreliable network environments with the advantages of the QUIC transport protocol, we use QUIC as the transport layer protocol between the client and server.

However, in practice, we found that sometimes the terminal is in a weak network environment where the WiFi signal has not completely disconnected, but data transmission is actually experiencing loss. Additionally, the terminal's cellular network might be available at this time, but because the system has not switched networks, the application layer cannot promptly change the transmission link. To address this scenario, we established a client-side weak network self-assessment model. This model evaluates the network link based on RTT, packet loss rate, and throughput rate, combined with active probing, to determine whether the terminal's network link is in a weak network environment. In cases of data channel loss, the model proactively initiates connection migration as early as possible to minimize the impact on upper-layer services.

Furthermore, leveraging the advantages of multi-path transmission with multiple network interfaces, the AXP-QUIC client automatically decides whether to use a single channel or multiple channels simultaneously for data transmission based on comprehensive metrics such as RTT, packet loss, and throughput of multiple links. This approach aims to optimize transmission quality, speed, and cost.

AXP-QUIC architecture

This diagram illustrates the interaction between a mobile device, network paths, and an AXP-QUIC service. Here's a detailed breakdown of each component and their interactions.

Mobile Device to Cellular Network

The mobile device sends and receives data through the cellular network. Metrics such as RTT (Round-Trip Time), Lost packets, Signal strength, Throughput, and ping are monitored.

Mobile Device to WiFi Network

The mobile device also sends and receives data through the WiFi network. Similar metrics (RTT, Lost packets, Signal strength, Throughput, ping) are monitored for the WiFi connection.

Cellular Network and WiFi Network to AXP-QUIC Service

Both network paths (cellular and WiFi) are connected to the AXP-QUIC service. The AXP-QUIC service manages these paths and optimizes data transmission.

AXP-QUIC Service

Path Management: Manages multiple network paths to ensure optimal data transmission.

Multipath Transmission/Deduplication: Uses multiple paths simultaneously to increase bandwidth and reliability, and removes duplicate data packets.

Connection Migration: Seamlessly switches between network paths (e.g., from WiFi to cellular) without interrupting the connection.

In summary, mobile device use the QUIC transport protocol to communicate over both cellular and WiFi networks. The AXP-QUIC service enhances this setup by managing multiple paths, ensuring high performance and reliability through features like multipath transmission, deduplication, and connection migration. This setup is particularly useful in scenarios where network conditions vary, and maintaining a stable and fast connection is crucial.

Why is AXP-QUIC Technology Needed in Mobile Weak Network Environments?

In mobile network environments, factors such as changes in the physical location of the terminal, signal strength, and AP (Access Point) access can significantly impact the reliability of user network quality. For transport layer protocols, UDP is an unreliable transmission protocol, and data accuracy needs to be ensured by the application layer. On the other hand, TCP performs poorly in high packet loss network environments, with throughput decreasing by 90% in the presence of just 1% packet loss (RTT 250ms). Although using congestion control algorithms based on bandwidth prediction, such as BBR, can improve transmission performance, the transmission capability still significantly decreases in weak network environments with packet loss rates exceeding 15%.

Therefore, researching how to provide stable and reliable data transmission in unreliable mobile weak network environments is a key issue for enhancing the competitiveness of mobile internet applications.

Transmission Protocols and Strategies Required by QUIC

This article explores how to provide stable and reliable data transmission in unreliable terminal network environments. We know that TCP is a reliable transmission protocol, but it has issues such as retransmission ambiguity and poor packet loss resistance. On the other hand, UDP is an unreliable transmission protocol, but it is fast and has low overhead. Considering the advantages and disadvantages of TCP and UDP, the general approach to achieving fast, reliable, and stable transmission is to build a reliable application-layer transmission protocol based on UDP, such as KCP and QUIC, and to use strategies like redundancy and Forward Error Correction (FEC) to achieve better transmission performance in weak network environments. Additionally, with the optimization and upgrade of mobile operating systems, applications can now simultaneously use both cellular and WiFi networks for data transmission, thereby improving transmission efficiency.

Link quality measurement involves evaluating various metrics that reflect the performance and reliability of a network connection. For mobile networks, key metrics include RTT (Round-Trip Time), packet loss rate, signal strength, and bandwidth-delay product. These metrics can be collected through passive monitoring or active probing. By quantifying these metrics into a single link quality score, it becomes possible to compare the quality of different network links.

Key Metrics for Measuring Mobile Network Quality

1.  RTT (Round-Trip Time)

Measures the time it takes for a signal to travel from the source to the destination and back.

Lower RTT indicates a faster and more responsive network.

2.  Packet Loss Rate

The percentage of packets that are lost during transmission.

Lower packet loss rate indicates a more reliable network.

3.  Signal Strength

Indicates the power level of the received signal.

Higher signal strength generally means better connectivity and lower error rates.

4.  Bandwidth-Delay Product

The product of a data link's capacity (bandwidth) and its round-trip delay time.

Indicates the amount of data that can be in transit in the network at any given time.

Higher values can indicate better performance for high-throughput.

Methods of Data Collection

Passive Monitoring

  • Collects data by observing the traffic that naturally flows through the network.
  • Non-intrusive and does not generate additional traffic.
  • Examples: Analyzing logs, using network monitoring tools.

Active Probing

  • Involves sending test packets through the network to measure performance.
  • Generates additional traffic but can provide more precise and controlled measurements.
  • Examples: Ping tests, traceroute, synthetic transactions.

Quantifying Link Quality

To compare the quality of different network links, the individual metrics need to be combined into a single score. This can be done using a weighted formula or a more complex algorithm that takes into account the relative importance of each metric.

applications.PathQuality = f ( RTT, Lost, Signal, Throughput... )

How to Choose the Appropriate Path?

We define the following types of path selection:

enum XPathType {
    XPathTypeNone,         // Do not use multiple paths
    XPathTypeHandover,     // Use the second path only when the primary path is unavailable
    XPathTypeInteractive,  // Use the second path when the primary path is insufficient, such as in cases of packet loss or high latency
    XPathTypeAggregate     // Use multiple paths together for greater bandwidth
}

In scenarios with multiple path links, the issue of slow path blocking needs to be considered. Therefore, when choosing a path, the transmission capability differences between the paths need to be taken into account.

func ChoosePath(p1 Path, q1 PathQuality, p2 Path, q2 PathQuality, xtype XPathType) (Path, Path, XPathType) {
    if q1 - q2 > MAX_DIFF_QUALITY {
        return p1, xtype
    }
    if q2 - q1 > MAX_DIFF_QUALITY {
        return p2, xtype
    }
    return p1, p2, xtype
}

Tencent RTC Chat Application AXP-QUIC

Tencent RTC Chat has implemented a network-adaptive X-path QUIC transmission acceleration technology called AXP-QUIC (Adaptive X-PATH QUIC), which is used for data transmission between the Chat SDK client and the server. This technology establishes a client-side weak network self-assessment model that evaluates the current network environment based on RTT, packet loss rate, and throughput, combined with active probing to determine if the terminal is in a weak network environment. It integrates the QUIC protocol with multi-channel transmission technology to automatically and dynamically decide whether to switch network links or use multiple links for transmission based on the terminal's network conditions. With AXP-QUIC technology, Tencent RTC Chat can ensure 100% reliable message transmission in weak network environments with up to 70% packet loss, without significantly increasing message latency.

Currently, AXP-QUIC has been applied to Tencent RTC Chat services. Testing at a message sending rate of 40 messages per second under different uplink packet loss rates shows that this solution has a significant effect in combating network packet loss compared to TCP.

Graph 1: Message Delivery Success Rate vs. Upstream Packet Loss Rate

This graph shows how the message delivery success rate changes with increasing upstream packet loss rates for three different protocols: TCP, QUIC, and AXP-QUIC.

AXP-QUIC is the most robust protocol against packet loss, maintaining a high success rate even under adverse conditions.

QUIC performs better than TCP but is still affected by high packet loss rates.

TCP is the most susceptible to packet loss, with a significant drop in success rate as packet loss increases.

Graph 2: Message Delivery Time vs. Upstream Packet Loss Rate

This graph shows how the message delivery time changes with increasing upstream packet loss rates for the same three protocols: TCP, QUIC, and AXP-QUIC.

AXP-QUIC outperforms both TCP and QUIC in terms of both message delivery success rate and delivery time, especially under high packet loss conditions.

QUIC offers better performance than TCP but is still affected by high packet loss rates.

TCP is the least robust and efficient protocol under conditions of high packet loss, showing significant drops in success rate and increases in delivery time.

Graph 3: Message Delivery Success Rate vs. Upstream Packet Loss Rate on WiFi (No Packet Loss on Cellular Network)

This graph shows how the message delivery success rate changes with increasing upstream packet loss rates on WiFi, assuming no packet loss on the cellular network, for three different protocols: TCP, QUIC, and AXP-QUIC.

AXP-QUIC is the most robust protocol against packet loss on WiFi, maintaining a high success rate even under adverse conditions.

QUIC performs better than TCP but is still affected by high packet loss rates on WiFi.

TCP is the most susceptible to packet loss on WiFi, with a significant drop in success rate as packet loss increases.

Graph 4: Message Delivery Time vs. Upstream Packet Loss Rate on WiFi (No Packet Loss on Cellular Network)

This graph shows how the message delivery time changes with increasing upstream packet loss rates on WiFi, assuming no packet loss on the cellular network, for the same three protocols: TCP, QUIC, and AXP-QUIC.

AXP-QUIC outperforms both TCP and QUIC in terms of both message delivery success rate and delivery time, especially under high packet loss conditions on WiFi.

QUIC offers better performance than TCP but is still affected by high packet loss rates on WiFi.

TCP is the least robust and efficient protocol under conditions of high packet loss on WiFi, showing significant drops in success rate and increases in delivery time.

Want to build a similar app or platform? Get your free 10,000 minutes now

Get Started for Free

If you have any questions or need assistance online, our support team is always ready to help. Please feel free to Contact us or join us on Telegram or Discord.