학술논문

Leveraging eBPF to Make TCP Path-Aware
Document Type
Periodical
Source
IEEE Transactions on Network and Service Management IEEE Trans. Netw. Serv. Manage. Network and Service Management, IEEE Transactions on. 19(3):2827-2838 Sep, 2022
Subject
Communication, Networking and Broadcast Technologies
Computing and Processing
Servers
Routing
Linux
Kernel
TCPIP
Peer-to-peer computing
Monitoring
TCP
eBPF
IPv6 segment routing
Language
ISSN
1932-4537
2373-7379
Abstract
The Transmission Control Protocol (TCP) is one of the key Internet protocols. It is used by a broad range of applications. TCP was designed when there was typically a single path between a client and a server. Today’s networks provide higher path diversity, yet TCP still only uses the single path selected by the network layer. This limits the ability of TCP to react to events such as interdomain failures or highly congested peering links. We propose the TCP Path Changer (TPC), a set of eBPF programs that are incorporated into the Linux TCP/IP stack to make it more agile. To illustrate the benefits of our approach, we first demonstrate that TPC can quickly reroute an ongoing TCP connection around a failure. We then show that TPC can also monitor the round-trip-time of active TCP connections and automatically reroute them if it becomes too high. Our evaluation of TPC in emulated networks evidences the significant performance benefits of a path-aware transport protocol.