[Technology Feast] Ruijie Cloud Desktop EST Protocol RUTP Transmission Technology

[Technology Feast] Ruijie Cloud Desktop EST Protocol RUTP Transmission Technology

Preface

summary

Ruijie Cloud Desktop EST protocol was originally only applicable to LAN. In order to meet the needs of remote office, that is, office across WAN, it is necessary to support UDP transmission protocol (the original version only supports TCP protocol) which is more in line with the real-time transmission requirements of weak network.

Combined with the analysis of cloud desktop scenarios, we proposed a new transmission protocol called RUTP, which is a reliable user layer transmission protocol based on UDP. This protocol can solve the problem of usage lag caused by network packet loss to a certain extent.

Keywords

UDP, RUTP, userspace, EST, TCP.

List of terms

Abbreviations/Terms

illustrate

UDP

User Datagram Protocol, a protocol for sending encapsulated IP packets without establishing a connection

RUTP

Reliable User Transportation Protocol, based on UDP reliable user layer transport protocol

User Space

The running space of user programs. Even if the user program crashes, the kernel will not be affected.

EST

Enhanced Stream Transmission, enhanced desktop streaming protocol

TCP

Transmission Control Protocol is a connection-oriented, reliable, byte-stream-based transport layer communication protocol.

Weak network

A network with certain packet loss, delay, and jitter is called a weak network. Here, a weak network is defined as a network with a packet loss rate > 0.1% or a delay > 20ms or a jitter > 5ms.

1. Overview

With the development of the network, the WAN bandwidth is getting larger and larger, and it is possible to use cloud desktops in WAN. However, compared with LAN, WAN has higher latency and higher packet loss, resulting in poor cloud desktop experience. In order to improve the poor experience of cloud desktop in WAN, we need to optimize the reliable transmission protocol characteristics in the cloud desktop protocol so that it can adapt to the high latency and high packet loss WAN remote real-time transmission requirements as much as possible.

Traditional reliable transmission protocols generally use TCP, which is implemented at the kernel layer. If you want to optimize it, you need to optimize the TCP kernel module according to different operating systems. Optimizing the TCP kernel module is technically difficult and prone to problems, or problems may directly cause the entire system to crash, but it is theoretically feasible. Then, let's consider the deployment situation. The transmission submodule of the cloud desktop protocol includes the transmission client submodule and the transmission server submodule. The former is generally deployed on different terminal devices as upper-layer application software, and the latter is generally deployed on the server. Assuming that even if the server operating system of the latter is controllable and modifiable, the former is basically not allowed to be modified for different terminal device operating systems, or a large part of it is closed source. In summary, it is not feasible to optimize based on the existing TCP technology.

In terms of real-time data transmission, UDP not only has more advantages than TCP in terms of transmission characteristics, but can also be modified to meet the requirements of cloud desktop protocol deployment - transmission optimization at the application layer to achieve the purpose of convenient deployment.

Taking all the above factors into consideration, we proposed a reliable application layer transmission protocol based on UDP that is suitable for cloud desktops, called the RUTP protocol.

2. Technical Introduction

2.1 Important Concepts of WAN Real-time Transmission

Here we introduce several concepts for achieving real-time transmission of desktop protocols over a wide area network.

2.1.1 WAN Network Characteristics

Wide Area Network (WAN), also known as extranet or public network, is a remote network that connects computers in local area networks or metropolitan area networks in different regions. It usually spans a large physical range, ranging from a few kilometers to tens of kilometers or even thousands of kilometers. It can connect multiple regions, cities and countries, or span several continents and provide long-distance communications to form an international remote network. WAN has the following characteristics:

  1. Compared with LAN, WAN has relatively smaller bandwidth and much lower transmission rate. For example, the end-to-end bandwidth within a LAN can basically be guaranteed to be 100 Mbps or even higher. In addition, the export bandwidth capacity of general work units is limited, and considering the multiple concurrent requirements, the bandwidth capacity allocated to individuals is also relatively small.
  2. The WAN delay is large, ranging from a few milliseconds to hundreds of milliseconds and there will be delay jitter, while the LAN delay is less than 1ms in most cases;
  3. A WAN generally has varying degrees of packet loss depending on the link conditions (e.g. 0.5% to 5%, 5% to 30%, and packet loss jitter), while a LAN does not experience packet loss in most cases.

2.1.2 Reliable Transmission

Reliable transmission is the use of a series of technologies to ensure the accurate and precise transmission of information between the sender and the receiver. In order to ensure the reliability of message transmission, TCP gives each packet a sequence number, and the sequence number also ensures that the packets transmitted to the receiving entity are received in order. The receiving entity then sends back a corresponding confirmation (ACK) for the bytes that have been successfully received. If the sending entity does not receive the confirmation within a reasonable round-trip time (RTT), the corresponding data (assuming it is lost) will be retransmitted.

2.1.3 UDP protocol characteristics

UDP is the abbreviation of User Datagram Protocol, which provides simple, transaction-oriented, unreliable information transmission services. IETF RFC 768 is the official specification of UDP. UDP messages do not have reliability guarantees, order guarantees, and flow control fields, and have poor reliability. UDP has the following characteristics:

  1. The UDP packet header is only 8 bytes, which has little additional overhead compared to the 20-byte TCP packet, and has high data transmission efficiency;
  2. Throughput is not regulated by the congestion control algorithm, but is limited only by the rate at which the application software generates data, the transmission bandwidth, and the performance of the source and terminal hosts.
  3. UDP is a connectionless protocol. The source and the terminal do not establish a connection before transmitting data. When it wants to transmit, it simply grabs the data from the application and throws it onto the network as quickly as possible, resulting in less latency than TCP.

These characteristics of UDP make it possible for us to control and transform it at the application layer to make it more suitable for remote desktop transmission scenarios.

Most application vendors who want to adapt to real-time transmission scenarios over wide area networks basically make modifications based on UDP.

2.1.4 Congestion Control Algorithm

Congestion refers to the phenomenon that too many packets arrive at a certain part of the communication subnet, making it impossible for the network to process them in time, resulting in a decrease in the performance of this part or even the entire network. In severe cases, it may even cause the network communication service to come to a standstill, i.e., deadlock. Congestion control algorithms use good strategies (or methods) to reduce or avoid the occurrence of congestion, such as CUBIC and BBR congestion algorithms.

2.1.5 Secure transmission

In order to protect the security of sensitive data during transmission, the sender encrypts the sensitive data and transmits it after encryption. The receiver needs to decrypt the data before receiving it. Currently, the SSL (Security Socket Layer) encryption mechanism is mainly used to ensure data security. This is basically a practice in the industry.

2.2 Introduction to EST-RUTP

RUTP (Reliable User Transportation Protocol) is based on the UDP underlying network transmission protocol, implements data retransmission similar to TCP protocol, realizes reliable transmission, combines desktop service characteristics, introduces more advanced congestion control algorithms, and realizes efficient transmission. The specific implementation is shown in the following figure:

The RUTP transmission protocol has improved the congestion control algorithm, making data retransmission faster, with less delay, and improving transmission efficiency. The algorithm is no longer based on packet loss judgment and no longer uses a linear multiplication and reduction strategy to maintain the congestion window. Instead, it samples and estimates the maximum bandwidth and minimum delay respectively, and uses the product of the two as the sending window, and introduces some mechanisms to limit the data sending rate to reduce the impact.

Simply put, the network link can be likened to a water pipe. If we want to use the network to transmit data as much as possible, the method is to fill the water pipe with water. The volume of the water pipe = the thickness of the water pipe × the length of the water pipe. The previous congestion algorithm is to keep filling the water pipe with water. When the water pipe bursts, the water filling volume immediately drops to half of the original amount. The RUTP congestion algorithm periodically detects the capacity of the water pipe and sends data steadily according to the capacity of the water pipe to try not to cause the water pipe to burst.

At the same time, the RUTP protocol also supports SSL encrypted transmission, which can be automatically configured by the management level to enable or disable.

3. Ruijie RUTP technical features

3.1 RUTP Technical Features

The RUTP protocol has the following technical features:

  1. The congestion control algorithm based on the characteristics of desktop services is introduced. Under the same scenario, the delay is smaller than that of the original TCP, and the transmission efficiency is higher.
  2. Support connection migration. When using mobile terminals, there is often network switching. For TCP, the desktop connection will be disconnected when the network is switched, affecting the user experience. For RUTP, the desktop connection will not be disconnected when the network is switched, which does not affect the user experience.
  3. The protocol supports the scenario of "packet loss rate <= 1%, delay <= 50ms, jitter <= 10ms", while the original TCP can only support the scenario of "packet loss rate <= 0.1%, delay <= 20ms, jitter <= 5ms". Of course, when the packet loss rate is higher, some experience will be reduced;
  4. The RUTP protocol is a user space protocol. Problems can be quickly located without affecting other users.

4. Restricted Information

4.1 RUTP protocol restriction information

The RUTP protocol currently only supports the scenario of "packet loss rate <= 1%, delay <= 50ms, jitter <= 10ms". When the user network has a "packet loss rate of 1%, a delay of about 50ms, and a jitter of 10ms", the desktop is basically available, but the fluency is worse than when the packet loss rate is 0.5% and the delay is 30ms". Therefore, it is necessary to clarify the specific services used by the customer and evaluate the desktop requirements.

5. Conclusion

Ruijie Cloud Desktop EST protocol RUTP transmission technology optimization enables cloud desktops to adapt to more scenarios and ensure desktop display quality and display smoothness.

<<:  6 IT roles that need retraining

>>:  When the "cold current" of the epidemic meets the "warm current" of 5G, can terminal manufacturers turn crisis into opportunity?

Recommend

SD-WAN is about to dominate edge networks

Network transmission is like playing a team battl...

20 lines of Python code to achieve encrypted communication

1. Introduction The Internet is full of eavesdrop...

CloudCone Easter Promotion: $15/year KVM-1GB/30GB/3TB/Los Angeles Data Center

CloudCone offers three special VPS packages for t...

Five technology trends everyone must prepare for in 2024

Machine intelligence, the blurring of the lines b...

Top 10 economic predictions for the tech industry in 2024

As we stand on the cusp of a new year, the tech i...

Enterprises need to have six capabilities to achieve digital transformation

As we step into the 21st century, the wave of dig...

These router phenomena must have troubled you. Take a look and learn more

Does the row of indicator lights on your router o...

5G video calls can't save 5G. The problem with 5G is 5G itself.

The video call function is actually not new. It h...

In 2024, the core network will usher in new opportunities!

In today’s article, let’s talk about the core net...

Verizon is embarrassed: 5G speed is slower than 4G

According to foreign media, PCMag recently tested...