🤖 AI Summary
This work addresses the lack of runtime network-level verification mechanisms in existing application-layer protocols, which traditionally require intrusive modifications to application code. It proposes, for the first time, shifting session-type-driven protocol monitoring into the programmable data plane by leveraging the P4 language to automatically generate packet-level monitors. This approach enforces protocol specifications directly within the network without any changes to applications. By integrating session type theory with network verification algorithms, the method effectively handles real-world network conditions such as packet loss and reordering. The feasibility and practicality of this network-level enforcement are demonstrated through evaluations in microservice and network function scenarios, showing its capability to efficiently enforce complex protocols at scale.
📝 Abstract
This paper introduces NEST (Network-Enforced Session Types), a runtime verification framework that moves application-level protocol monitoring into the network fabric. Unlike prior work that instruments or wraps application code, we synthesize packet-level monitors that enforce protocols directly in the data plane. We develop algorithms to generate network-level monitors from session types and extend them to handle packet loss and reordering. We implement NEST in P4 and evaluate it on applications including microservice and network-function models, showing that network-level monitors can enforce realistic non-trivial protocols.