Hydra: Effective Runtime Network Verification
Hydra: Effective Runtime Network Verification
复制标题
DOI:
10.1145/3603269.3604856
复制
发表时间:
2023-09
期刊:
影响因子:
--
通讯作者:
Sundararajan Renganathan;Benny Rubin;Hyojoon Kim;Pier Luigi Ventre;C. Cascone;Daniele Moro;Charles Chan;N. McKeown;Nate Foster
中科院分区:
文献类型:
--
作者:
Sundararajan Renganathan;Benny Rubin;Hyojoon Kim;Pier Luigi Ventre;C. Cascone;Daniele Moro;Charles Chan;N. McKeown;Nate Foster
It is notoriously difficult to verify that a network is behaving as intended, especially at scale. This paper presents Hydra, a system that uses ideas from runtime verification to check that every packet is correctly processed with respect to a specification in real time. We propose a domain-specific language for writing properties, called Indus, and we develop a compiler that turns properties thus specified into executable P4 code that runs alongside the forwarding code at line rate. To evaluate our approach, we used Indus to model a range of properties, showing that it is expressive enough to capture examples studied in prior work. We also deployed Hydra checkers for validating paths in source routing and for enforcing slice isolation in Aether, an open-source cellular platform. We confirmed a subtle bug in Aether's 5G mobile core that would have been hard to detect using static techniques. We also evaluated the overheads of Hydra on hardware, finding that it does not significantly increase latency and often does not require additional pipeline stages.