🤖 AI Summary
Transport-layer protocol development is hindered by environmental heterogeneity and the absence of high-level, target-agnostic programming abstractions, impeding automated analysis, formal verification, and programmable transport research. To address this, we propose TINF—the first event-driven, state-aware, high-level programming abstraction specifically designed for transport protocols—achieving full decoupling between protocol logic and execution targets. TINF employs a C-like restricted syntax to express protocol behavior and introduces a target-agnostic instruction set supporting core operations including data reassembly, packet generation, scheduling, and timer management. It features dual backends: DPDK and Linux XDP. Experimental evaluation demonstrates that TINF significantly improves development efficiency, ensures cross-platform semantic consistency, and establishes a unified foundation for formal modeling and automated verification of transport protocols.
📝 Abstract
Transport protocols are fundamental to network communications, continuously evolving to meet the demands of new applications, workloads, and network architectures while running in a wide range of execution environments (a.k.a targets). We argue that this diversity across protocols and targets calls for a high-level, target-agnostic programming abstraction for the transport layer. Specifically, we propose to specify transport protocols as high-level programs that take an event and flow state as input, and using constrained C-like constructs, produce the updated state along with target-agnostic instructions for key transport operations such as data reassembly, packet generation and scheduling, and timer manipulations.
We show the benefits of our high-level transport programs by developing multiple transport protocols in our programming framework called TINF, developing two TINF- compliant backends, one in DPDK and one in Linux eXpress DataPath, and deploying TINF programs for multiple protocols across both backends. Inspired by the benefits unlocked by L2/L3 packet-processing languages like P4, we believe target-agnostic transport programs can reduce the development effort for transport protocols, enable automated analysis and formal verification of the transport layer, and further research in programmable targets for transport protocols.