Parallel Redundancy Protocol for Railway Wireless Data Communication Network

In order to solve the problem that the railway application services have strict requirements on the reliability, delay, and other indicators of mobile data communication, a parallel redundancy protocol for the railway wireless data communication network is proposed. By introducing a redundancy adaptation layer into the standard TCP/IP model, multi-link parallel data transmission is realized and transparent to the network layer and above. Transmitting multiple copies of the same packet through di ﬀ erent paths makes the application systems have redundant communication capability without changing the existing data transmission mode. At the same time, according to the requirements of the receiving entity for redundant data elimination, an improved Bloom ﬁ lter is proposed. By expanding the bit array and using the countdown mechanism, the elements in the data set can be dynamically inserted, deleted, and retrieved over time. Theoretical analysis and test results show that the proposed protocol can meet the requirements of data transmission between the on-board and trackside equipment and has the characteristics of simple deployment, high reliability, and high stability. Compared to using a single transmission link, the packet loss rate from ﬁ eld test can be reduced by 39.67% at the maximum, and the throughput and end-to-end data transmission delay are also signi ﬁ cantly improved. The test in this paper also shows that the additional delay introduced is a maximum of 5.07 μ s, which will not signi ﬁ cantly a ﬀ ect the data transmission performance.


Introduction
The railway application services closely related to train control, natural disaster warning, and dispatching command have strict requirements on the reliability and availability of communication between the on-board and trackside equipment.
Communication failures may bring about threats to railway transport order and even transportation safety [1, 2]. The global system for mobile communications-railway (GSM-R) is adopted in China and Europe to exchange information between the on-board and trackside equipment, and transmit key data such as the movement authority and the train position report [3,4]. With the continuous development of intelligent railway technology, more and more services, such as early warning of earthquakes and automatic train operation, need to be carried out using wireless communication networks, which poses new challenges to railway wireless communication technology [5,6]. Due to the use of frequency multiplexing and other factors, the cellular mobile communication system used in the railway is limited by interference [7], and the wireless communication environment faced by high-speed trains is also very complex. Wireless interference, mobile station handover, Doppler frequency shift in high-speed conditions, temporary failure of wireless communication network, temporary fault of the mobile stations, jamming attack, and other factors can lead to the loss of transmission data or additional delay, or even communication interruption [8,9].
Transmitting multiple copies of the same packet through different paths is one of the effective means to improve the performance of data transmission. Mesquita et al. proposed a multiple replica transmission protocol, seeking the balance between communication rate and control performance, and using the optimal average cost criterion to design the optimal protocol [10]. Morita et al. proposed a redundant data transmission protocol for wireless sensor and actuator networks, in which the sensing values are transmitted redundantly to the destination nodes through multiple messages [11]. Shen et al. proposed a mobile-aware multimedia data transmission mechanism used in vehicle-mounted networks, which uses multiplexing control protocol to transmit data to improve the transmission rate, and uses non-cooperative Nash equilibrium to solve the fairness problem in multipath transmission of the same data [12]. These methods usually use special protocols, and it is difficult for high-level applications based on the transmission control protocol (TCP) or user datagram protocol (UDP) to smoothly migrate to these transmission mechanisms.
In the field of industrial control, the IEC 62439-3 standard proposes the parallel redundancy protocol (PRP) and high availability seamless redundancy standards for industrial communication networks [13]. Rentschler et al. tested the transmission delay, packet loss rate, and reliability of the PRP in wireless local area network (LAN) and established a Markov model to analyze the test results [14]. However, these standards are only applicable to LAN environment, and two redundant networks are required to have the same topology and similar performance. Popovic et al. extended the PRP and proposed internet protocol (IP) parallel redundancy protocol (iPRP), but this protocol realized transport layer redundancy and only supported UDP [15].
The simultaneous transmission of multiple copies of data will cause the receiving entity to receive a large amount of redundant data, and the receiving entity needs to eliminate redundant data to ensure that the upper-layer application will not receive duplicate data. Halepovic et al. proposed a protocol-independent redundant data elimination technology to improve the availability of redundant data elimination in the network layer by using the nonuniform characteristics of network traffic, such as packet size and content type [16]. Park et al. proposed a novel redundant data elimination technology assisted by Bloom filter to improve the performance of redundancy elimination on opportunistic communication links and reduce redundant data flow at the packet level [17]. Zhao et al. analyzed the problems of intermittent connection and redundant transmission of data in vehicular ad hoc networks and proposed a buffer distribution algorithm based on Bloom filter, which can improve reliability, propagation efficiency, and data transmission delay [18]. In fact, the accuracy and efficiency of redundancy elimination are contradictory. When the amount of data is large, the transmission delay caused by redundancy elimination becomes a problem that cannot be ignored. Different from the above methods, the redundancy elimination method proposed in this paper sacrifices a certain accuracy to improve the efficiency of the algorithm.
Based on the study of existing data redundant communication technology, this paper proposes a railway wireless parallel redundancy protocol (rwPRP) according to the technical characteristics and application requirements of railway wireless communication. In this method, multiple communication links are established through different paths between the on-board and trackside equipment, and the sending entity copies the IP message to be sent into a plurality of copies, which are sent to the receiving entity via different paths. The receiving entity selects the message that arrive first and delivers it to the upper layer, and discards the copies arriving later based on the improved Bloom filter. By introducing a redundant adaptation layer into the trainground data communication protocol stack, transparent TCP/IP services are provided for application systems. The users do not need to know the details of redundancy protocol implementation; therefore, applications using TCP/IP can use the data redundancy transmission method proposed in this paper without any changes.
The main contributions of this paper are as follows: (1) The proposed rwPRP can comprehensively utilize the wireless communication networks along the railway lines, support the integration of multiple heterogeneous networks, and jointly carry key railway services, which can improve the performance of data transmission in railway application systems (2) rwPRP realizes the redundancy of data link layer, which is transparent to IP layer and above, and the existing railway application systems can be smoothly migrated to rwPRP (3) A countdown counting Bloom filter is proposed, which supports the insertion and deletion of elements, and can dynamically update the data set over time

Architecture of Data Redundant Transmission System
Retransmission, error correction coding, and multipath redundant transmission are the general methods to improve the performance of data communication. Retransmission can improve the success rate of data transmission by sacrificing the transmission delay [19], but it cannot meet some delay-sensitive railway applications, such as early warning of earthquakes. Error correction coding is used mainly to solve the problem of random errors in data transmission, which has high coding and decoding overhead and can only correct for a few errors or missing bits [20]. Establishing multiple nonintersecting transmission paths can effectively improve the stability and reliability of data transmission, and also improve fault tolerance of the network [21], which is suitable for the scenarios with strict requirements on data transmission delay, success rate, jitter, and other indicators. In wireless communication systems, diversity-combining technology is usually used to improve system performance, and information is transmitted redundantly through independent random channels [22]. The basic diversity forms include: (1) Spatial diversity, that is, transmitting the same signal in parallel on multiple different paths, which can effectively resist the large-scale path loss of wireless signals (2) Time diversity, that is, sending the same signal many times at different times, can effectively resist burst interference 2 Wireless Communications and Mobile Computing (3) Frequency diversity, in which the same signal is transmitted in parallel on multiple frequency channels, can effectively resist wireless interference of a certain frequency band (4) Polarization diversity, that is, sending and receiving the same signal in different polarization directions in parallel, and using the irrelevant feature of different polarization fading characteristics to improve the diversity gain There are many different types of wireless communication networks along the railway lines, such as railway dedicated mobile communication networks, public mobile communication networks, and satellite communication networks. The antenna feeder system, transceiver, and frequency of different networks are independent of each other, and packet loss rate, data transmission delay, and other indicators of various networks in the same places and at the same times are different [23].
Therefore, different networks can be used to transmit different copies of the same data at the same time to improve the performance of data transmission. Figure 1 is a data redundant transmission system composed of two wireless communication networks. The trackside equipment is connected to the wireless communication networks through wired links and the on-board equipment is connected to the wireless communication networks by mobile stations.
The users of the on-board and trackside equipment can be divided into redundant connection users and single connection users. Redundant connection users realize rwPRP and can connect to multiple wireless communication networks. Single connection users can connect to one wireless communication network or connect to multiple wireless communication networks through redundant gateway using the standard TCP/IP. The rwPRP is also implemented in the redundant gateway, which can make the application systems have redundant communication ability without changing the existing working mode. Unlike PRP, which only allows two networks to be redundant with each other, rwPRP supports the fully redundant working mode of multiple wireless communication networks. Ideally, multiple networks are independent of each other, and the packet loss rate of the users with redundant connections is as follows: where p is the packet loss rate for the end users, p i is the packet loss rate of the i − th wireless communication network, and n is the number of wireless communication networks.
The end-to-end data transmission delay is where t is the end-to-end data transmission delay, t wi is the time taken for data transmission in the i − th wireless communication network, t s is the time taken for the sending entity to duplicate data, t r is the time taken for the receiving entity to perform redundant data elimination and other operations, n is the number of wireless communication networks, and the function min (.) returns the minimum value in its parameter list.

Model of the rwPRP
In order for the existing railway application systems to seamlessly migrate to the network supporting rwPRP and reduce the deployment cost, rwPRP needs to be transparent to application businesses. The software and hardware of users who use TCP/IP to transfer data can realize redundant communication without any adjustment. The rwPRP model adds a redundant adaptation layer between the data link layer and the network layer, and supports the establishment of multiple redundant data transmission channels between the on-board and trackside equipment. Each channel can be carried by different wireless communication networks, as shown in Figure 2.
After the introduction of redundant adaptation layer, the service access point of transport layer remains unchanged, and the protocol model can still use the standard TCP, UDP, and other transport layer protocols to communicate with each other. According to the purpose of information exchange, the rwPRP model divides messages into control plane, data plane, and management plane.
(1) Control plane. rwPRP does not need to establish a connection between the sending entity and receiving entity in advance and does not need to exchange control information. The control plane messages are mainly used to control the behaviors of local communication entities. The bearing capacity, performance indexes, and telecommunications service charges of different wireless communication networks along railway lines are very different. Users can dynamically adjust the redundancy strategy through the control plane and specify one or more wireless communication networks to transmit data at the same time. Different railway application services have different priorities, and the requirements for communication indicators such as bandwidth and transmission delay are also different. Users can specify the quality of service (QoS) parameters through the control plane and then request the wireless communication networks to provide the corresponding QoS guarantee strategy. Users can also specify relevant parameters of redundant data elimination through the control plane to achieve the trade-off between data elimination efficiency and accuracy. The rwPRP model is not mandatory to implement the control plane interface, and railway applications can use default control strategies and parameters (2) Data plane. The sending entity implementing rwPRP replicates the message sent by the application into multiple copies in the redundancy adaptation layer and sends the copies to the receiving entity through different communication links. The receiving entity 3 Wireless Communications and Mobile Computing determines whether the message is a redundant copy in the redundancy adaptation layer, selects the copy that arrives first and submits it to the upper layer, and discards the other copies (3) Management plane. The sending entity and receiving entity of rwPRP supervise the working state of wireless communication links in real time, including key measurement results such as link status, sending rate, receiving rate, data retransmission rate estimation, transmission delay estimation, and receiving level of mobile station, so as to provide users with statistical analysis of network performance or necessary management operations Depending on the different roles of participants in the data redundant transmission system, rwPRP users can be divided into two types: terminal and redundant connection agent. Terminal provides data communication services for the on-board or trackside equipment, such as the train radio unit in the automatic train operation systems, and the wireless communication server in the earthquake early warning systems. Redundant connection agent implements rwPRP, which can run on the same device as the terminal or on a separate device as the redundant gateway. The protocol stack is shown in Figure 3.
The terminal adopts the standard TCP/IP stack, and each layer above the data link layer realizes communication between peer entities. Telnet, ping, file transfer protocol (FTP), hypertext transfer protocol (HTTP), and other applications can be carried by the data redundant transmission system.
The redundant connection agent implements data replication and redundancy elimination functions above the data link layer, and provides transparent communication services for the IP layer and above. IP tunnels can be established between redundant connection agents using UDP to send rwPRP frames to the receiving entity. Appropriate data link layer protocols can be selected according to the wireless communication networks, such as point-to-point protocol (PPP), high-level data link control (HDLC), and 802.3 protocol cluster.

Implementation of the rwPRP
4.1. Data Replication. The sending entity is responsible for the replication of the packets, and its principle is shown in Figure 4.
Step 1. The redundant connection agent captures the original stream of data link layer sent by the end user, deletes the data link layer header, and retains the fields of IP layer and above.
Step 2. The rwPRP frame header composed of rwPRP version number and rwPRP sequence number is added before the IP message. The version number is used to identify the rwPRP versions and the sequence number is used to identify the rwPRP frames. Each copy of the same rwPRP frame has the same sequence number. Within the given time windows, the sequence number, source IP address, and destination IP address can uniquely identify one rwPRP frame.
Step 3. For each wireless communication network, the UDP header and IP header are added before the rwPRP frame, and an IP tunnel is established at both ends of the network to transmit rwPRP frame.

Redundant Data Elimination.
The sending entity sends multiple identical copies of the IP message to the receiving entity through different paths. However, in TCP/IP, redundant data may affect the performance of data transmission.
(1) If UDP is used in the transport layer, the receiving entity will receive a large number of duplicate packets, which may bring trouble to the upper applications (2) If TCP is used in the transport layer, redundant messages may affect the success rate of TCP session establishment in the TCP connection establishment stage and may cause the TCP session to start the fast retransmission and fast recovery algorithm frequently in the data transmission stage, which will reduce the data transmission efficiency and even cause TCP session interruption. As shown in Figure 5, when the sender receives three or more   Wireless Communications and Mobile Computing duplicate and redundant ACK 2, it will consider that the sent MSG 2 is lost and retransmit it immediately. rwPRP will generate multiple duplicate ACKs. If the redundant messages are not eliminated, the sender may mistakenly start the fast retransmission and fast recovery algorithm, retransmit the successfully transmitted message and reduce the sending rate Therefore, the receiving entity needs to judge whether an IP message is redundant and only the IP message that arrives first is reserved. The receiving entity removes redundant data for each session between the source IP address and the destination IP address, and its flow is shown in Figure 6.
The receiving entity maintains a maximum sequence number of the currently successfully received rwPRP frame. When the sequence number of a received rwPRP frame is greater than the maximum sequence number, it is determined that the rwPRP frame is not redundant and updates the maximum sequence number. Otherwise, the redundant discrimination algorithm is used to determine whether the rwPRP frame is redundant. If the redundant frame is identified, the receiving entity discards it directly. If the rwPRP frame should be received, the receiving entity queries the media access control (MAC) address of the destination terminal using the address resolution protocol (ARP), deletes the rwPRP header, adds the Ethernet frame header, assembles a complete Ethernet message, and sends it to the destination terminal.

Redundancy Discrimination Algorithm
5.1. Complexity Analysis. In order to identify redundant frames, the receiving entity needs to store the information of rwPRP frames that have been received in a certain time window in advance. When judging whether a rwPRP frame is redundant, it performs a search operation in the saved frames set. If data structures such as arrays, linked lists, and trees are used to store frames, the space complexity is OðnÞ, and the lower limit of time complexity of a comparison-based search algorithm in ordered list is Oðlog

Wireless Communications and Mobile Computing
nÞ. If a hash table is used to store frames, the space complexity is OðnÞ, and the ideal time complexity is Oð1Þ, but a perfect hash function is difficult to realize. When the hash conflict is serious, the worst time complexity is Oðlog nÞ [24].
Eliminating redundant data will cause an additional delay in data transmission. It is necessary to use an efficient algorithm to identify redundant frames. However, there is a contradiction between the efficiency of the algorithm and the accuracy of redundancy discrimination. If the misjudgement of redundant frames is not allowed, it is necessary to use algorithms with relatively higher time and space complexity. What's more, for the on-board equipment, due to the limitation of installation space, working environment, and reliability requirements, it is difficult to use algorithms that require high storage space and computing power.
Compared with array, hash table, binary search tree, and other data structures, Bloom filter has higher space efficiency and time efficiency if the data set is large. Bloom filter does not need to store the original codes and occupies much less storage space than the hash table. The search operation can also achieve Oð1Þ time complexity [25].

False Positive
Analysis. However, Bloom filter has a certain probability of misidentification. When using Bloom filter to judge that an element belongs to a set, there is a certain probability that the element does not belong to this set, namely: (1) If the element actually exists, then Bloom filter will definitely determine its existence (2) If the element does not exist, Bloom filter may judge that it exists That is to say, for the discrimination algorithm proposed in this paper, it is possible to misjudge a data frame that should be received as redundant frame, and then discard it by mistake. According to the process shown in Figure 6, the receiving entity determines the sequence number of the received frame in first, and the redundancy discrimination algorithm is executed only when the sequence number is less than or equal to the current maximum sequence number. Therefore, even if the false positive probability reaches 1, the performance of rwPRP such as packet loss rate will not be lower than that of a single communication network. In addition, for TCP/IP, because the transport layer and application layer usually have error control, congestion control, and other functions, small probability of false identification will not bring obvious impact on the upper applications. Therefore, this paper uses the redundancy discrimination algorithm based on Bloom filter to improve the efficiency of the algorithm under the premise of allowing a certain probability of false identification.

Principle of Standard Bloom
Filter. The Bloom filter consists of an array and a set of hash functions, which are used to determine whether an element belongs to a given set [26]. The length of array B in the Bloom filter is m, and each item occupies one bit, which is initialized to 0. There are k independent hash functions h 0 , h 1 , ⋯, h k−1 in the Bloom filter, and the value range of each hash function is [0, m − 1]. For a set S = fx 0 , x 1 , ⋯, x n−1 g, k hash functions are used to encode it into array B.
As shown in Figure 7, for each element x i in set S, k hash functions are used to calculate its hash value, and the h j ðx i Þ -th bit in array B is set to 1, where 0 ≤ i ≤ n − 1, 0 ≤ j ≤ k − 1.
To determine whether an element y belongs to the set S, it is necessary to check the value of the h j ðyÞ-th bit in the array B. If all the values are 1, then y ∈ S, otherwise y ∉ S. In Figure 7, y 0 hashes the bits with a value of 0 and all hash values of y 1 are 1, so it can be determined that y 0 ∉ S and y 1 ∈ S. IP Figure 5: If three or more duplicate and redundant ACKs are received in a row, TCP then performs a retransmission, without waiting for a retransmission timer to expire. 6 Wireless Communications and Mobile Computing Assuming that the hash calculation result of each hash function is completely random and has the same probability distribution in its value range, the false recognition probability p of the Bloom filter is where m is the length of the array B, n is the number of elements in the set S, k is the number of hash functions, and m, n, and k are positive integers.
When m is large enough, according to Equation (3), p can be approximated as In Equation (4), given m and n, then when k = ðm/nÞ ln 2, p gets the minimum value, that is According to Equation (5), According to Equations (5) and (6), the length m of the array B and the number of hash functions k can be determined according to the size n of the set S and the allowable false recognition probability p.
The standard Bloom filter does not support deletion. An element in the set S is assigned to k positions in the array B through the hash functions. Although this element can be deleted by setting any one bit to 0, it is possible to delete

Countdown Counting Bloom
Filter. The counting Bloom filter extends the array items from one bit to a counter composed of multiple bits, thus supporting the element deletion operation [27]. When an element is inserted into set S, the values of the corresponding items in the array are increased by 1; when an element is deleted from the collection, the values of the corresponding items in the array are subtracted by 1. The number of bits occupied by the counter needs to be selected reasonably. If the counter space is too small, it is easy to overflow the counter, which may cause the Bloom filter to delete elements by mistake. For most applications, each element of the array occupies 4 bits to meet demand, and the probability of counter overflow is not more than 1:37 × 10 −15 × m [28]. When counter overflow occurs, the counter can be kept to the maximum value to ensure the availability of Bloom filter.
In the rwPRP model, different copies of the same IP message are sent to the receiving entity via different paths. It is only necessary to perform redundant data elimination within the maximum possible time difference window of data transmission in different paths. The number of elements in the set is where n is the number of elements in the set, r is the data receiving rate of the receiving entity, b is the average number of bits per message, and t is the maximum possible time difference between message copies transmitted through different paths.
In order to meet the requirements of dynamically updating elements over time, this paper proposes a countdown counting Bloom filter, in which the elements inserted in the latest period are saved and the expired elements are deleted.
(1) Insert element For the element x to be inserted, k hash functions are used to calculate its hash values. The h j ðxÞ-th item in array B is set to c max , where 0 ≤ j ≤ k − 1, c max is the maximum value of the counter. If the counter takes up 4 bits, c max = 15 (see Algorithm 1).
(2) Countdown operation Every time slice τ passes, the nonzero counter in each item of array B is subtracted by 1. Through the countdown operation, the inserted elements will be deleted after c max × τ (see Algorithm 2).

Test Methods and Evaluation Indicators.
To evaluate the rwPRP proposed in this paper, a testing system is built, and its composition is shown in Figure 8. The on-board redundant gateway and trackside redundant gateway programs run in microcomputers. The hardware configuration is an Intel i5-7300hq CPU with a main frequency of 2.5 GHz, 8 GB memory, and 1 Gbit/s network card. Wireless communication links between the on-board and trackside equipment use one satellite communication network and two mobile communication networks from different operators.
This system is used to test packet loss rate, throughput, end-to-end data transmission delay, and redundant data elimination time, of which the first three are field test and the fourth is static test.

Analysis of Results
6.2.1. Analysis of Packet Loss Rate. Packet loss rates are field tested on seven high-speed railways (HSRs) in China, and the cumulative test mileage is 7461 km. The on-board part of testing system shown in Figure 8 is installed in the highspeed comprehensive detection train, and two 4G/5G networks from different mobile operators are used.
In order to evaluate the improvement of packet loss rate using the rwPRP compared with using a single wireless communication network, the improvement factor is introduced, and its calculation formula is where IF is the improvement factor, p is the packet loss rate of redundant connections using rwPRP, p c is the packet loss   TCP and UDP are commonly used transport layer protocols in TCP/IP stack. TCP has the functions of error recovery, flow control, and congestion control. Testing with TCP cannot directly reflect the network performance, while UDP is known as best-effort delivery. Therefore, UDP is suitable for performing tests. The testing terminal is used as a flow generator to send UDP packets to the testing server, and packet loss rate is evaluated. The length of the data frames sent by the testing terminal is 128 bytes and the data transmission interval is 0.5 s. The test results are shown in Table 1.
Compared with using a wireless communication network alone, the packet loss rate of the data redundant transmission system using rwPRP is significantly improved. Among them, the packet loss rate of HSR4 is improved most significantly, reducing by 39.67%.

Analysis of Throughput.
Throughput is field tested on HSR4, and the cumulative test mileage is 94 km. Since communications satellite cannot provide services in tunnel, cut-ting, and other sections, the test of satellite communication is only carried out in an open area of about 35 km. The communications satellite used in the test is a geostationary satellite, and its basic parameters are 30 MHz downlink bandwidth, vertical polarization, 21.6 Msps downlink symbol rate, and quadrature phase-shift keying (QPSK) ¾ modulation mode. The test method is FTP download on the onboard side, and the test results are shown in Figure 9.
The field test shows that the average throughput of mobile network A is 56.96 Mbit/s, that of mobile network B is 96.59 Mbit/s, and that of communications satellite is 5.17 Mbit/s. While using rwPRP, the average throughput can reach 109.34 Mbit/s, which is significantly higher than that using a single network.
6.2.3. Analysis of End-to-end Data Transmission Delay. The end-to-end data transmission delay is also field tested in HSR4 to evaluate the improvement of rwPRP. The length of test packets is 128 bytes, and the half round trip time is calculated. As shown in Figure 10, the cumulative distribution functions (CDFs) of delay when using a single network and rwPRP are calculated.  Figure 9: The throughput using mobile network A, mobile network B, or communications satellite alone and the throughput using rwPRP are evaluated. 10 Wireless Communications and Mobile Computing The field test results show that the end-to-end data transmission delay in mobile network A is no more than 192 ms (95%), that in mobile network B is no more than 194 ms (95%), and that when rwPRP is used, the delay is no more than 61 ms (95%), which has been significantly improved. The transmission delay of communications satellite is basically more than 300 ms, which is far from other networks, so it is not evaluated in the test.

Analysis of Redundant Data Elimination Time.
According to Equation (2), the end-to-end data transmission delay using rwPRP mainly consists of three parts: the processing time of sending entity, the transmission time in wireless communication networks, and the processing time of receiving entity. In rwPRP, the sending entity only performs a simple assignment operation, and its processing time can be ignored; the transmission time of data in wireless communication networks depends on the QoS of each network and is not related to the implementation of rwPRP; the send-ing entity needs to implement a relatively complex redundant data elimination operation, and its performance directly affects the end-to-end data transmission delay. Therefore, the performance of eliminating redundant data is tested and analyzed.
The redundant data elimination time is tested in a static environment. The maximum value of counter in the countdown counting Bloom filter is 15, the time slice of countdown is 1 s, the data saving time window is 15 s, the false recognition probability is not greater than 0.02, and the data length sent by the testing terminal is 128 bytes. The sending entity gradually increases the sending rate from 0.062 5 Mbit/s to 128 Mbit/s, and the average time to discriminate redundant packets from the receiving entity is counted. The test results are shown in Table 2, and the maximum delay is 5.07 μs.
According to Equation (5), if the upper limit of false recognition probability is determined, the optimal number k of the hash functions is independent of the number of elements n in set S and the size m of the array B, and k is 6 in this experiment. With increasing transmission rate, the values of n and m increase, but the redundant data elimination time of the receiving entity basically remains stable. Compared to data transmission time in the railway wireless communication network [29], the time consumed by redundant data elimination can be ignored, so as to ensure that no obvious time delay and jitter will be brought to data communication due to redundant data elimination.

Conclusions
The rwPRP introduces a redundant adaptation layer between the data link layer and the network layer of the TCP/IP stack, which makes the application systems have redundant communication ability without changing the  11 Wireless Communications and Mobile Computing service mode of data transmission between the on-board and trackside equipment. The architecture of the data redundant transmission system using rwPRP is flexible, which can meet the communication requirements of different railway application services, and existing applications can be smoothly upgraded. The receiving entity of rwPRP uses the countdown counting Bloom filter to eliminate redundant data. This method has lower space complexity and Oð1Þ time complexity. The test results show that rwPRP can significantly improve packet loss rate, throughput, and end-toend data transmission delay between the on-board and trackside equipment. In rwPRP, the extra delay caused by redundant data elimination is quite small and has little relation with the data transmission rate, and has no significant impact on end-to-end data transmission delay.

Data Availability
The data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest
The authors declare that there is no conflict of interest regarding the publication of this paper.