Deterministic and Probabilistic P4-Enabled Lightweight In-Band Network Telemetry
<|reference_start|>Deterministic and Probabilistic P4-Enabled Lightweight In-Band Network Telemetry: In-band network telemetry (INT), empowered by programmable dataplanes such as P4, comprises a viable approach to network monitoring and telemetry analysis. However, P4-INT as well as other existing frameworks for INT yield a substantial transmission overhead, which grows linearly with the number of hops and the number of telemetry values. To address this issue, we present a deterministic and a probabilistic technique for lightweight INT, termed as DLINT and PLINT,respectively. In particular, DLINT exercises per-flow aggregation by spreading the telemetry values across the packets of a flow. DLINT relies on switch coordination through the use of per-flow telemetry states, maintained within P4 switches. Furthermore, DLINT utilizes Bloom Filters (BF) in order to compress the state lookup tables within P4 switches. On the other hand, PLINT employs a probabilistic approach based on reservoir sampling. PLINT essentially empowers every INT node to insert telemetry values with equal probability within each packet. Our evaluation results corroborate that both proposed techniques alleviate the transmission overhead of P4-INT, while maintaining a high degree of monitoring accuracy. In addition, we perform a comparative evaluation between DLINT and PLINT. DLINT is more effective in conveying path traces to the telemetry server, whereas PLINT detects more promptly path updates exploiting its more efficient INT header space utilization<|reference_end|>
@article{papadopoulos2024deterministic,
    title={Deterministic and Probabilistic P4-Enabled Lightweight In-Band Network
  Telemetry},
    author={Konstantinos Papadopoulos, Panagiotis Papadimitriou, Chrysa Papagianni},
    journal={IEEE Transactions on Network and Service Management, 2023},
    year={2024},
    doi={10.1109/TNSM.2023.3301839},
    archivePrefix={arXiv},
    eprint={2404.06582},
    primaryClass={cs.NI}
}