kQUIC: A Kernel-Based Quick UDP Internet Connections (QUIC) Transport for IoT

To address the shortcomings of TCP, the IETF has standardized QUIC, a new userspace transport protocol. Despite its benefits, the implementation of QUIC in the userspace introduces significant processing overhead, which makes it less suitable for IoT devices. According to our empirical analyses, as...

Full description

Saved in:
Bibliographic Details
Main Authors: Puneet Kumar, Behnam Dezfouli
Format: Article
Language:English
Published: IEEE 2025-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/11028997/
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1850161393331863552
author Puneet Kumar
Behnam Dezfouli
author_facet Puneet Kumar
Behnam Dezfouli
author_sort Puneet Kumar
collection DOAJ
description To address the shortcomings of TCP, the IETF has standardized QUIC, a new userspace transport protocol. Despite its benefits, the implementation of QUIC in the userspace introduces significant processing overhead, which makes it less suitable for IoT devices. According to our empirical analyses, as the packet loss rate increases from 0% to 2.5%, the data copying overhead between the kernel and userspace increases by 26% with QUIC, whereas TCP experiences no additional overhead. In this paper, we identify and study the overhead associated with QUIC and introduce an enhanced implementation called kQUIC, designed to enhance the protocol for IoT applications. kQUIC tackles two primary shortcomings of QUIC. First, it reduces the overhead of system calls by implementing QUIC within the kernel, as opposed to the traditional userspace implementation. Second, kQUIC enables multiple applications on an IoT device to multiplex their data through a single underlying UDP pipeline, thereby reducing transport-layer header overhead. Our analyses and empirical evaluations demonstrate that kQUIC outperforms both TCP and QUIC in terms of throughput and processor utilization. For example, in a single-application scenario with a 2.5% packet loss rate, kQUIC achieves 13.2% and 29.5% higher throughput than TCP and QUIC, respectively. Under the same conditions, with an application message size of 1400 bytes, kQUIC exhibits 49.76% lower processor utilization than QUIC and 27.41% lower than TCP. kQUIC’s application multiplexing feature further enhances throughput and reduces overall processor usage in multi-processor and multi-application scenarios across all packet loss rates and message sizes.
format Article
id doaj-art-23bbc96acd734bc5920525cb23f75fbb
institution OA Journals
issn 2169-3536
language English
publishDate 2025-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj-art-23bbc96acd734bc5920525cb23f75fbb2025-08-20T02:22:50ZengIEEEIEEE Access2169-35362025-01-011310039210040410.1109/ACCESS.2025.357812011028997kQUIC: A Kernel-Based Quick UDP Internet Connections (QUIC) Transport for IoTPuneet Kumar0https://orcid.org/0000-0002-9278-0408Behnam Dezfouli1https://orcid.org/0000-0001-6090-0412Department of Computer Science and Engineering, Internet of Things Research Laboratory, Santa Clara University, Santa Clara, CA, USADepartment of Computer Science and Engineering, Internet of Things Research Laboratory, Santa Clara University, Santa Clara, CA, USATo address the shortcomings of TCP, the IETF has standardized QUIC, a new userspace transport protocol. Despite its benefits, the implementation of QUIC in the userspace introduces significant processing overhead, which makes it less suitable for IoT devices. According to our empirical analyses, as the packet loss rate increases from 0% to 2.5%, the data copying overhead between the kernel and userspace increases by 26% with QUIC, whereas TCP experiences no additional overhead. In this paper, we identify and study the overhead associated with QUIC and introduce an enhanced implementation called kQUIC, designed to enhance the protocol for IoT applications. kQUIC tackles two primary shortcomings of QUIC. First, it reduces the overhead of system calls by implementing QUIC within the kernel, as opposed to the traditional userspace implementation. Second, kQUIC enables multiple applications on an IoT device to multiplex their data through a single underlying UDP pipeline, thereby reducing transport-layer header overhead. Our analyses and empirical evaluations demonstrate that kQUIC outperforms both TCP and QUIC in terms of throughput and processor utilization. For example, in a single-application scenario with a 2.5% packet loss rate, kQUIC achieves 13.2% and 29.5% higher throughput than TCP and QUIC, respectively. Under the same conditions, with an application message size of 1400 bytes, kQUIC exhibits 49.76% lower processor utilization than QUIC and 27.41% lower than TCP. kQUIC’s application multiplexing feature further enhances throughput and reduces overall processor usage in multi-processor and multi-application scenarios across all packet loss rates and message sizes.https://ieeexplore.ieee.org/document/11028997/Internet of Things (IoT)system callsprocessor utilizationmultiplexingQUICtransport protocols
spellingShingle Puneet Kumar
Behnam Dezfouli
kQUIC: A Kernel-Based Quick UDP Internet Connections (QUIC) Transport for IoT
IEEE Access
Internet of Things (IoT)
system calls
processor utilization
multiplexing
QUIC
transport protocols
title kQUIC: A Kernel-Based Quick UDP Internet Connections (QUIC) Transport for IoT
title_full kQUIC: A Kernel-Based Quick UDP Internet Connections (QUIC) Transport for IoT
title_fullStr kQUIC: A Kernel-Based Quick UDP Internet Connections (QUIC) Transport for IoT
title_full_unstemmed kQUIC: A Kernel-Based Quick UDP Internet Connections (QUIC) Transport for IoT
title_short kQUIC: A Kernel-Based Quick UDP Internet Connections (QUIC) Transport for IoT
title_sort kquic a kernel based quick udp internet connections quic transport for iot
topic Internet of Things (IoT)
system calls
processor utilization
multiplexing
QUIC
transport protocols
url https://ieeexplore.ieee.org/document/11028997/
work_keys_str_mv AT puneetkumar kquicakernelbasedquickudpinternetconnectionsquictransportforiot
AT behnamdezfouli kquicakernelbasedquickudpinternetconnectionsquictransportforiot