Keywords

1 Introduction

TCP protocol, As the main protocol of online data transmission, TCP protocol has been widely used on mobile Internet, which carries over 90% of mobile Internet traffic in this case. Though the LTE network advances and the mobile Internet notably speeds up, traditional TCP technology tailored for the wired network environment cannot adapt to the wireless network environment with relatively poor link quality and frequent changes in latency and packet loss. Therefore, the improvement of the transmission performance of TCP protocol in the wireless network and the enhancement of the bandwidth utilization of wireless links are critical to optimizing the wireless core network [1].

2 Features and Problems Analysis of Standard TCP

TCP provides transmission services with reliable point-to-point connections, subject to sliding windows to control the transmission rate. The congestion control of standard TCP contains several key technologies, including “slow start”, “congestion avoidance”, “fast retransmission”, “quick recovery”, and “retransmission timeout” [2].

Standard TCP is very sensitive to packet loss, halving or minimizing the value of the congestion windows with a slow increase. Previously, packet loss in the wired network often indicates the occurrence of network congestion, which can be better controlled and quickly recovered by standard TCP. Nonetheless, the current wireless network environment brings about increasingly salient defects of the standard TCP protocol:

2.1 Ineffective Congestion Judgment Mechanisms

In a wired network with a low bit error rate, it is rational for TCP to assume that packet loss is triggered by network congestion. The packet loss, nevertheless can also be caused by sudden errors in wireless channels, mobile device handoffs, attenuation channels, or changes in network topology. In this context, standard TCP cannot accurately distinguish whether packet loss is derived from congestion or not, resulting in congestion misjudge.

2.2 Slow Congestion Recovery Mechanisms

Once detecting packet loss, TCP will trigger the response for congestion control in three steps. At first, the packets failing to be confirmed will be retransmitted, thus reducing the congestion window and the transmission rate; Then, it will activate the congestion control mechanism, consisting of exponential back-off of the timeout clock and a reduction in the slow start threshold. At last, the congestion avoidance stage will be activated to relieve the congestion. If the packet loss results from channel errors or mobile device handoffs, the congestion recovery mechanism of TCP will induce throughput drop and longer latency.

2.3 Inaccurate Packet Loss Judgment Mechanism

The standard TCP stack determines packet loss by two methods. One is the number of consecutive Dup-ACKs, and the other is the ACK timeout. When there are considerable packet losses, ACK timeout is preferred to interpret the timeout and trigger retransmission. In a modern network, packet losses are often burst, and it’s natural that multiple data packets are lost simultaneously on a connection. Therefore, standard TCP must rely on timeout for retransmission, which often leads to a waiting state of several or even ten seconds, causing long stagnant transmission, or even disconnection [3].

3 ZetaTCP Optimization

Pursuant to the survey and analysis of the quality of mobile Internet access in all network operators, TCP traffic accounts for the vast majority of all the existing network traffic of mobile users accessing mobile Internet applications. However, due to the frequent and changing delay and packet loss of the wireless network environment, the transmission efficiency of traditional standard TCP is often substantially low in this context [4]. In case the defects of TCP’s treatment mechanism in various wireless network conditions can be corrected, and the efficiency of TCP traffic transmission can be enhanced, the user’s mobile Internet experience can be significantly improved [5].

3.1 Comparison and Improvement of TCP Optimization Technology

Most domestic and overseas TCP protocol optimization technologies apply static algorithms, which utilize fixed congestion judgment and recovery mechanisms in accordance with the assumption of the Internet traffic model. As the Internet environment progresses, the traffic characteristics are increasingly complicated and difficult to predict. Against such a circumstance, these TCP protocol optimization techniques can only be valid in specific network scenarios where the premise is established. Moreover, as the transmission progresses, the network path characteristics may change and the effect may turn out to be unstable. Two common TCP optimization algorithms are presented below:

The Vegas TCP algorithm defines a state variable, Base RTT (basic round-trip delay), whose theoretical value should be “round-trip delay of connection without congestion.” With the delay change as the congestion indicator, the Vegas algorithm is more sensitive to the judgment of network congestion so as to decrease the packet loss rate of the network and obtain excellent average throughput rates in all networks using the Vegas algorithm. Nevertheless, in a network environment mixed with packet loss-based algorithms, it has always seen a rapid rise in time delay occurring before packet loss. In this case, Vegas always shrinks CWND (congestion window) before packet loss-based algorithms and reduces the transmission rate, making its overall performance inferior to packet loss-based algorithms. Vegas TCP is characterized by the relatively low transmission performance during shallow cohort congestion and frequent changes in wireless network delay [6].

CUBIC TCP, an enhanced version of BICTCP, simplifies its window adjustment algorithm. A cubic function is deployed as the growth function of the congestion window, grows only according to on the time interval between two consecutive congestion events. CUBIC is the default TCP algorithm of the Linux kernel. The CUBIC TCP has relatively low transmission performance under non-congestion packet loss and deep queue congestion in wireless networks [6].

The Performance-enhancement Proxy Based Scheme is adopted in a bid to improve the drawbacks of the above algorithms and enable TCP to register a high transmission efficiency in the wireless network with long latency and frequent link errors [4]. The method to segment the original TCP connection by the above Scheme is also known as TCP segmentation (see Fig. 1).

Fig. 1.
figure 1

Schematic diagram of performance-enhancement proxy based scheme

The Performance-enhancement Proxy Based Scheme follows the idea that local problems should be solved locally. By deploying the agent, the TCP connection between the server and the wireless mobile end falls into two sections at a certain node in the middle, with one deployed on the server sending end of the fixed network, and the other is connected to the mobile receiving end of the wireless network, which blocks the influence of the wireless environment on the server sending end. In this case, the server sending end can prevent irrational activation of the congestion control algorithm irrespective of random packet loss of the wireless network. By virtue of the improved TCP deployed on the enhanced proxy, the performance of TCP in wireless networks will be strengthened, and data transmission rate to mobile ends will be elevated [7]. In this scheme, there is no need for any modification on the TCP protocol stack of the server sending end and the wireless mobile receiving end, which is feasible to implement at this stage.

3.2 ZetaTCP Optimality Principle

It adopts the dynamic self-learning algorithm (ZetaTCP) with network path features and utilizes the Performance-enhancement Proxy Based Scheme. It observes and analyzes the real-time network features on each TCP connection and adjusts the algorithm anytime in accordance with the learned network characteristics. By doing so, it can judge the degree of congestion more accurately and distinguish packet loss more promptly, thereby handling the congestion more appropriately and retransmitting the lost packet more swiftly. According to the design principle, it helps the static algorithms adapt to changes in network path characteristics and ensures that the acceleration effect is constantly valid even under various network environments and frequently changing network delay and packet losses.

Besides applying the above two approaches of standard TCP, ZetaTCP also considers packet loss and delay changes into consideration and introduces a self-learning dynamic algorithm mechanism with TCP connection path network characteristics to make the congestion judgment more actuate and timely. The dynamic learning mechanism can be used to determine the network path characteristics of each specific connection during the transmission process. The characteristics include end-to-end delay and its changing features, arrival interval and its variation of receiving end feedback packet (ACK), packet reversal degree and its changing features, delay jitter possibly caused by deep data detection of security equipment, and random packet loss induced by various factors. ZetaTCP tracks these features in real time, apprehends these features in all aspects and deduces the precursor signals reflecting congestion and packet loss on this specific TCP connection network path. With the above steps, the congestion degree and congestion recovery mechanism appropriate for the available bandwidth of the current path, and packet loss judgment and recovery can be determined in light of these dynamic intelligent learning results and the transmission rate.

ZetaTCP is implemented by an automatic learning state machine (Learning State-Machine), as indicated in Fig. 2.

Fig. 2.
figure 2

ZetaTCP automatic learning state machine

Each automatic learning state machine matches a TCP connection, records the network path characteristics of the TCP connection, and dynamically determines appropriate congestion judgment, recovery mechanism and the packet loss judgment mechanism. In specific, connection management can directly extract the external features of the network path and input them to the machine. The intelligent learning outcomes accumulated by this machine are subject to the packet loss monitoring, congestion control, exception handling and delay monitoring modules to adjust the transmission behavior of the corresponding TCP connection. The dynamic feedback can be conveyed to the automatic learning state machine through the exception handling and congestion control modules to optimize network path learning further.

3.3 Implementation Algorithm of ZetaTCP Optimization

On Linux, Netfilter is enabled for packet interception. In different deployment scenarios, Netfilter can perform Hooks at the Ethernet bridge level to implement the transparent bridge mode or conduct Hooks at the INET level to perform the routing mode. A pair of Hook points can be mounted to the LAN and WAN of the engine on NF_INET_POST_ROUTING and NF_INET_PRE_ROUTING respectively as shown in Fig. 3.

Fig. 3.
figure 3

Implementation of Hook point of ZetaTCP

The ZetaTCP’s congestion control algorithm is available, as shown in Fig. 4.

Fig. 4.
figure 4

Process flow of the congestion control algorithm of ZetaTCP

For the data message with the highest sequence number in the received ACK response, the actual instant throughput rate is calculated as per BC = FS/(T – TS). Wherein, T denotes the current time, TS indicates the sending time of the data packet with the highest sequence number, and FS means as the total amount of data sent at this TS time and fails to be responded to by ACK. The said TS and FS are recorded when the data packet with the highest sequence number is sent.

The smooth throughput rate is determined according to B = (1 – α) * B′ + α* BC; Wherein, α refers to a constant parameter, BC means the actual instant throughput, and B′ suggests the last calculated smooth throughput rate.

CWND growth modes fall into categories of exponential growth, linear growth, and stop. Provided that the increase in smooth throughput rate exceeds the previous smooth throughput rate, the CWND growth mode is set as exponential growth. If the smooth throughput rate declines continuously for a predetermined number of times, and the total amount of smooth throughput rate drops is not less than the throughput rate drop threshold, it is required to judge further whether the current smooth round-trip delay SRTT is less than or equal to η * RTTMIN; Wherein, RTTMIN means the smallest round-trip delay, and η refers to a constant parameter; If yes, the CWND growth mode should set as linear growth; If not, it shall be set to stop.

ZetaTCP can, through the foregoing algorithm, obtain the real-time optimal CWND value, thereby maximizing network throughput and preventing congestion.

4 Application of ZetaTCP Optimization Technology in Mobile Internet

The packet losses occurred wireless networks are often attributed to signal loss, interference and other causes, and the packet loss rate therein is greater than that in wired networks [8]. In consequence, standard TCP usually fails to judge these packet losses in a quick manner, hence bringing about low transmission efficiency, unstable transmission quality, high unpredictability, and poor user experience. By contrast, ZetaTCP can quickly predict packet loss and recover in time in a wireless network environment, making the transmission more stable and quicker, thereby considerably improving the user experience.

In order to verify the actual effect of the ZetaTCP optimization technology in the wireless core network, the Performance-enhancement Proxy Based Scheme and the LotWan acceleration system using ZetaTCP as the proxy node are introduced to optimize the data transmission of the wireless core network and evaluate its optimization effect.

4.1 ZetaTCP Optimization Deployment Scheme

As indicated in Fig. 5, the ZetaTCP acceleration device is deployed outside the SGi port of the PDN-GW, which is transparently connected in series between the PDN-GW and the firewall or on the Internet side of the firewall. The acceleration device is transparently connected to the network and works as a TCP proxy to accelerate the coverage of the whole wireless network transmission path.

Fig. 5.
figure 5

ZetaTCP acceleration device deployment scheme

4.2 ZetaTCP Optimization Application Results

The implementation environment selected here covers three kinds of wireless networks with poor areas: medium-low field strength coverage, hotspot, and busy-hour regions. The data shows, the congestion control algorithm adopted by ZetaTCP in these three areas achieves relatively faster transmission speeds. The average results of application assessments are listed in the following table (Tables 1, 2 and 3).

Table 1. Acceleration effect of web browsing services
Table 2. Acceleration effect of file download services
Table 3. Acceleration effect of video download services

On the basis of the above results, due to the delayed judgment of these packet losses, the transmission efficiency of standard TCP is often low with unstable transmission quality, which is difficult to predict and seriously affects the user experience. As for ZetaTCP acceleration in the wireless network environment, the corresponding connection network characteristics can be accumulated through dynamic learning, Making the ZetaTCP congestion control algorithm more accurate. It also can predict packet loss very quickly and recover in time, making the transmission more stable and quicker, thereby significantly improving the user’s experience.

5 Conclusion

TCP optimization, an essential approach for telecom operators to optimize the wireless core network, remarkably boosts the Internet access rate of mobile phone users, enhances user perception, and adds to the competency of traffic management.

This paper proposes, an improvement scheme of ZetaTCP performance in the wireless network environment is proposed by combining it with the enhanced TCP congestion control mechanism and applying it in the production environment of the current network. The experimental results demonstrate that ZetaTCP is a good guarantee for TCP users to get the appropriate bandwidth as defined by the flow specification. It can eliminate the unfairness problem caused by different RTTs when congestion occurs. It both maintains the end-to-end semantics of TCP, and takes corresponding measures upon distinguishing the types of network packet loss, thereby bolstering the transmission performance of TCP.