0% found this document useful (0 votes)
23 views4 pages

Article IJCSE 184

Uploaded by

abousselier
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views4 pages

Article IJCSE 184

Uploaded by

abousselier
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Ishikawa et al.

, Int J Comput Softw Eng 2023, 8: 184


https://doi.org/10.15344/2456-4451/2023/184

International Journal of
Computer & Software Engineering
Original Article Open Access

Evaluation of a File Transfer Protocol with QUIC


Yudai Ishikawa and Tomofumi Matsuzawa*
Department of Information Sciences, Tokyo University of Science, Tokyo 162-8601, Japan

Abstract Publication History:

In May 2021, a new transport layer protocol, QUIC, was standardized by the Internet Engineering Received: March 29, 2023
Task Force (IETF). Although QUIC is mainly designed to be optimized for the newWeb communication Accepted: April 09, 2023
(HTTP/3), QUIC created by the IETF is also intended for applications other than the Web. To investigate Published: April 10, 2023
the performance of QUIC as a transport layer, we evaluate the performance of a method implemented on
QUIC based on FTP, a file transfer protocol, and discuss the characteristics of QUIC. Keywords:
QUIC, File Transfer, Performance

Introduction • Realization of multiplexed communication by streaming

The amount of data exchanged on the Internet today is enormous, When a packet loss occurs in TCP, the operating system first asks
and attempts have been made to reduce the amount of traffic flowing the endpoint to retransmit the packet. Then, after the packet loss is
over the network and to minimize communication latency. In recovered, the data is passed to the application. At this point, even if
November 2009, Google proposed a new communication protocol subsequent packets are received, the data cannot be processed until
called SPDY1, which attempts to speed up communication by adding the packet loss is recovered. This is called HoL Blocking. On the other
features such as multiple connections and pipelining to HTTP/1.1. hand, QUIC can efficiently process data even in the case of packet loss,
Since then, SPDY has gone through several iterations and is now because it can pass subsequent packets to the application. If application
standardized by RFC 9113[1] under the name HTTP/2. However, layer data needs to be encrypted, encryption methods such as TLS
because SPDY and its successor HTTP/2 were Transmission Control over TCP can be used. Since TLS cannot encrypt information related
Protocol (TCP)-based protocols, they could not overcome the latency to the control of the communication path, a malicious third party can
that occurs at the TCP layer. eavesdrop on the communication state. In QUIC, however, TLS is
absorbed by QUIC itself and used internally. Therefore, information
To solve the above issues in SPDY and HTTP/2, a transport related to the control of the communication paths can also be
protocol called QUIC was proposed by Google in 2013. QUIC is encrypted. QUIC can have multiple communication management
designed on top of UDP with multiple connections, connection units called ”streams” on a single connection. Each stream is reliable
management functions equivalent to TCP, and packet management on a per-stream basis, and packet loss recovery and sequencing can
functions. This overcame the latency caused by TCP, which could not be performed without affecting other streams. This allows data to be
be solved by SPDY or HTTP/2. QUIC has had several iterations and processed more efficiently than with TCP. Each stream is assigned
was standardized by the Internet Engineering Task Force (IETF) in an integer value called a stream ID to uniquely identify the stream.
May 2021 as RFC 9000 [2]. HTTP/3, which relies on QUIC, was also Stream IDs are numbered according to the following rules (Table 1).
standardized as RFC 9114 [3] in June 2022.
Start side Stream direction Lower 2 bits Example of
On the other hand, there have been active attempts to make existing Stream ID
application protocols available over QUIC, and in December 2020, Client Bi-directional 00 0, 4, 8, 12, · · ·
Internet-Draft2, an improved version of SSH that can be used on Server Bi-directional 01 1, 5, 9, 13, · · ·
QUIC, was proposed. In addition, Microsoft has implemented SMB
over QUIC on Windows Server 20223, and the groundwork is being Client Uni-directional 10 2, 6, 10, 14, · · ·
laid for further QUIC adoption. Server Uni-directional 11 3, 7, 11, 15, · · ·
Table 1: Stream ID numbering rules.
In this study, we propose an application of QUIC to file transfers,
and aim to realize secure file transfers with lower latency than existing Related Work
methods. We also compare the performance of QUIC with existing
file transfer protocols and evaluate its performance. Nepomuceno et al. [5] conducted experiments to measure the time
to retrieve a Web page using HTTP for each of QUIC and TCP, and
QUIC
QUIC (Quick UDP Internet Connections) is a User Datagram
*
Corresponding Author: Prof. Tomofumi Matsuzawa, Department of
Information Sciences, Tokyo University of Science, Tokyo 162-8601, Japan, E-mail:
Protocol (UDP)[4] based transport protocol standardized by t-matsu@is.noda.tus.ac.jp
RFC 9000 [2]. Unlike TCP, UDP does not have features such as
retransmission control, sequence control, and congestion control, all Citation: Ishikawa Y, Matsuzawa T (2023) Evaluation of a File Transfer Protocol
with QUIC. Int J Comput Softw Eng 8: 184. doi: https://doi.org/10.15344/2456-
of which are implemented in QUIC. This gives QUIC the following 4451/2023/184
advantages.
Copyright: © 2023 Ishikawa. This is an open-access article distributed under the
• Avoiding HoL Blocking at the Transport Layer Level terms of the Creative Commons Attribution License, which permits unrestricted
use, distribution, and reproduction in any medium, provided the original author
• Transport layer level encryption and source are credited.

Int J Comput Softw Eng IJCSE, an open access journal


ISSN: 2456-4451 Volume 8. 2023. 184
Citation: Ishikawa Y, Matsuzawa T (2023) Evaluation of a File Transfer Protocol with QUIC. Int J Comput Softw Eng 8: 184. doi: https://doi.org/10.15344/2456-
4451/2023/184

Page 2 of 4

gave a quantitative evaluation. The experiment first uses Alexa’s page The following procedure is used for file transfer, similar to the
access ranking to determine the top 100 pages to be used for the test. active mode in FTP.
Then, the tool Mahimahi is used to record HTTP (HTTPS) traffic.
Under the network traffic condition by Wang et al. research [6], we 1. The server opens a bi-directional stream for the number of files
replay the page fetches on the network and measure the time it takes to be transferred. This stream is called a data stream. Data is
to load the page. Experiments are also conducted with and without transferred using the data stream from this point on.
web browser caching enabled. The experimental results show that 2. The client creates threads for the number of files to be received
RTT variations have a significant impact on QUIC performance, and performs the following processing.
while TCP performance is not significantly affected, and packet loss
rate has no significant impact on either performance. The paper also (a) Opens the destination file.
shows that QUIC outperformed TCP in each test by less than 40%. (b) Reads a sequence of bytes from the stream.
Furthermore, with caching enabled, TCP performed better than (c) Writes the read bytes to the file.
QUIC. The paper attributes this to the rendering engine’s inability to (d) Closes the file.
handle QUIC efficiently and the fact that the web pages used in the (e) Closes the data stream from the client side.
experiments were not optimized for QUIC.
Experiments and Discussion
Proposed Method
Both the client and server programs are implemented in the Go
Memory constraints programming language. The library for handling QUIC packets is
quic-go4, created by L. Clemente.
In this study, we propose to apply QUIC to secure multiple file
transfers, taking advantage of QUIC’s capability for multiplexed Table 2 shows the specifications of the computer used as the
connections and encrypted communications. We implement a experimental environment.
prototype of a file transfer protocol that runs on QUIC, based on the
FTP[7] specification. Client Server
OS Ubuntu 22.04.01 LTS Debian 11
The following procedure is used to initiate communication.
CPU Intel Core i7-8550U Broadcom BCM2711
1. The QUIC file transfer client (hereinafter referred to as ”client”) RAM 20GB 8GB
establishes a QUIC connection to the server. The port used is Table 2: Specifications of the computer.
UDP N (N is known to the client).
2. A bidirectional stream is opened from the client to the QUIC file All experiments were conducted within the local network, and
transfer server (hereinafter referred to as ”server”). This stream is fault elements such as packet loss and packet delivery delays were
called the ”control stream”. The control stream is used to control reproduced by intentionally generating them using the tc command.
data communication. In our experiments, we measure the throughput of transferring small
files in parallel and the throughput of transferring a single large file.
For this purpose, the following two types of files are prepared.
The following procedure is used to initiate communication.
• File group 1: 100 JPEG files
1. The client sends a comma-separated list of the names of the files
it requests to be transferred as an ASCII string to the server.
-Minimum: 177KB
2. The server concatenates the names of the requested files that can -Maximum: 1.72MB
be transferred with commas and sends them to the client. If the -Average: 658KB
file does not exist, an empty string is sent. -Standard Deviation (SD): 407KB

A schematic diagram of a file request is shown in Figure 1. • File group 2: 1 ISO file

In the list of received file names, files that do not exist on the server – Size: 1.47GB
or that are inaccessible due to permission issues are omitted from the
list, and only files that can be transferred are reported to the client.

Figure 1: Schematic of file request.

Int J Comput Softw Eng IJCSE, an open access journal


ISSN: 2456-4451 Volume 8. 2023. 184
Citation: Ishikawa Y, Matsuzawa T (2023) Evaluation of a File Transfer Protocol with QUIC. Int J Comput Softw Eng 8: 184. doi: https://doi.org/10.15344/2456-
4451/2023/184

Page 3 of 4

We perform packet capture using Wireshark and measure the The transfer time of the proposed method using QUIC increases
time required to transfer the above file groups 1 and 2 with the linearly with increasing packet loss rate in the order of about 0.1
implementation of the proposed method according to the conditions second. On the other hand, in the comparison experiment with
in Table 3. 5 The same conditions are also used in the SCP6 experiment SCP, the transfer time increases with increasing packet loss rate by
for comparison. an order of magnitude larger than the first power of the packet loss
rate. In addition, the transfer time of the proposed method is almost
Fault File Fault File constant even when the delay increases, while the transfer time of
Elements group Elements group
SCP increases linearly with a unit of about 1 second. Based on the
File group File group
above results, it can be said that the proposed method improves the
QUIC - 1 SCP - 1 throughput of file group 1.
QUIC Delay 5ms 2 SCP Delay 5ms 2
QUIC Delay 10ms 1 SCP Delay 10ms 1 Experimental results show that the proposed method performs
better than the existing methods in environments where packet
QUIC Delay 15ms 2 SCP Delay 15ms 2
loss and packet delivery delays occur. In particular, the difference in
QUIC Delay 20ms 1 SCP Delay 20ms 1 transfer time between the proposed and existing methods becomes
QUIC Delay 25ms 2 SCP Delay 25ms 2 larger as the network disturbance factor increases. This is due to the
fact that the overhead caused by HoL blocking exceeds the overhead
QUIC Loss ratio 1% 1 SCP Loss ratio 1% 1
caused by asynchronous processing as the packet loss rate increases
QUIC Loss ratio 2% 2 SCP Loss ratio 2% 2 and the number of seconds of delay in packet delivery increases.
QUIC Loss ratio 3% 1 SCP Loss ratio 3% 1 Therefore, the proposed method is superior for the case where many
QUIC Loss ratio 4% 2 SCP Loss ratio 4% 2 files are transferred simultaneously in an environment with faulty
elements.
QUIC Loss ratio 5% 1 SCP Loss ratio 5% 1
Table 3: Experimental conditions. When there is no faulty element, the file transfer time using the
proposed method is slightly longer. This is due to the processing
time of the computer. The proposed method processes multiple
Figure 2 shows the time required to transfer file group 1 when the streams asynchronously when downloading multiple files, which
fault elements are set according to Table 3. increases the load on the computer compared to existing methods.
In our experiments, this asynchronous processing affected the results.
On the horizontal axis, packet loss rate is expressed in %, and packet However, since it is rare for real networks to be free of such obstacles,
delay is expressed in ms. this performance difference can be ignored as a practical matter.

When a fault factor is set, the implementation of the proposed In light of the above, the proposed method is expected to perform
method does not show a significant effect on the transfer time. On well when transferring a large number of files in a real network
the other hand, the transfer time increases with the size of the fault environment.
in SCP.

Figure 2: Fault element and transfer time for file group 1.

5
The time from the start of the handshake to the disconnection of communication is
defined as the time required for the transfer. Figure 3 shows the time required for the transfer of file group 2
6
An application protocol for file transfers using SSH (Secure Shell), an encrypted remote when the fault elements are set according to Table 3.
login system.

Int J Comput Softw Eng IJCSE, an open access journal


ISSN: 2456-4451 Volume 8. 2023. 184
Citation: Ishikawa Y, Matsuzawa T (2023) Evaluation of a File Transfer Protocol with QUIC. Int J Comput Softw Eng 8: 184. doi: https://doi.org/10.15344/2456-
4451/2023/184

Page 4 of 4

Figure 3: Fault element and transfer time for file group 2.

In both cases, the transfer time of the proposed method is about 30 outside the context of HTTP. This study is significant in the recent
seconds longer than that of SCP. For both the proposed method and trend of various application protocols supporting QUIC.
SCP, the transmission time increases as the packet loss rate increases.
On the other hand, the transfer time is almost constant for both the Competing Interests
proposed method and SCP. In all conditions, SCP was 30 seconds
faster for file group 2, and the proposed method did not improve the The author declare that he has no competing interests.
throughput. From the experimental results, it can be seen that the
proposed method requires 30 seconds more transfer time regardless References
of the presence or absence of error elements. In this experiment, New 1. Thomson M, Benfield C (2022) “HTTP/2”, RFC 9113.
Reno was used as the congestion control algorithm, and the size of the
2. Iyengar J, Thomson M (2021) QUIC: A UDP-Based Multiplexed and Secure
send/receive buffer was set to 21,299,200 bytes (− ~ 20.3 MiB). So, it is
Transport, RFC 9000.
clear that these factors are irrelevant to the results.
3. Bishop M (2022) “HTTP/3”, RFC 9114.
4. Postel J (1980) User Datagram Protocol, RFC 768.
According to the packet capture results, 924,454 SSH packets were
sent and received. On the other hand, 1,340,576 QUIC packets were 5. Nepomuceno K, de Oliveira IN, Aschoff RR, Bezerra D, Ito MS, et al. (2018)
“QUIC and TCP: A Performance Evaluation”. IEEE Symposium on Computers
sent and received, which is about 1.5 times the number of SSH packets. and Communications (ISCC), pp. 00045-00051.
In this experiment, it is assumed that the time required to encrypt
6. Wang XS, Balasubramanian A, Krishnamurthy A, Wetherall D (2014) How
and decrypt a large number of QUIC packets has greatly affected the speedy is spdy?”, The 11th USENIX Symposium on Networked Systems
transfer time. Design and Implementation (NSDI).
7. Postel J, Reynolds J (1985) File Transfer Protocol (FTP), RFC 959.
Based on the above, the proposed method is not suitable for
transferring large files, at least in our implementation.

Conclusions

In this study, we proposed a fast and highly secure file transfer


protocol that exploits the low latency and multiple connectivity of
QUIC for file transfers. In this study, we implemented a prototype file
transfer protocol running on QUIC using existing libraries.

Experiments were conducted to measure the throughput of small


files transferred in parallel and the throughput of large files transferred
in one shot. Similar experiments were also performed on SCP, an
existing method, to compare the throughput of the two methods. The
experimental results showed the superiority of the proposed method
over the existing method in the former case, but not in the latter case.

While many studies have discussed the superiority of QUIC in


the context of HTTP, this study evaluated the performance of QUIC

Int J Comput Softw Eng IJCSE, an open access journal


ISSN: 2456-4451 Volume 8. 2023. 184

You might also like