Marco Haeberle , Benjamin Steinert , Michael Weiss , Michael Menth
{"title":"ELVIS: eBPF-based extensions of linux hosts for using virtual network functions with service function chaining and in-band network telemetry","authors":"Marco Haeberle , Benjamin Steinert , Michael Weiss , Michael Menth","doi":"10.1016/j.comnet.2025.111773","DOIUrl":null,"url":null,"abstract":"<div><div>Service function chaining (SFC) is a technology that enables dynamic steering of packets to processing nodes, also called Service Functions (SFs), e.g., firewalls, IDSs, or NAT gateways. An SFC classifier located at the border of SFC-enabled domains encodes information about the order of SFs, the Service Function Chain, into packet headers. This encoded information, called SFC encapsulation, is used by the network to steer packets to the respective SFs. Because most existing SFs do not support SFC encapsulations natively, a proxy is required to make them SFC-compatible. However, simple proxies operate in a stateless manner and are not capable of preserving per-packet metadata. In this paper, we propose a dynamic SFC proxy that is capable of preserving metadata by caching the SFC encapsulation while a packet is processed by a SF. In addition, the proxy implements In-band Network Telemetry (INT) to support monitoring and debugging related to SFs. INT is a network monitoring framework that adds packet-specific metrics to the header stack of a packet. Although INT has been standardized with a focus on network switches and routers, a proxy-based implementation for SFs extends its usability in an SFC scenario. We present concept, use cases, and an eBPF-based implementation of the INT-enabled caching SFC proxy. Finally, we evaluate the performance of a prototype.</div></div>","PeriodicalId":50637,"journal":{"name":"Computer Networks","volume":"273 ","pages":"Article 111773"},"PeriodicalIF":4.6000,"publicationDate":"2025-10-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Networks","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S138912862500739X","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, HARDWARE & ARCHITECTURE","Score":null,"Total":0}
引用次数: 0
Abstract
Service function chaining (SFC) is a technology that enables dynamic steering of packets to processing nodes, also called Service Functions (SFs), e.g., firewalls, IDSs, or NAT gateways. An SFC classifier located at the border of SFC-enabled domains encodes information about the order of SFs, the Service Function Chain, into packet headers. This encoded information, called SFC encapsulation, is used by the network to steer packets to the respective SFs. Because most existing SFs do not support SFC encapsulations natively, a proxy is required to make them SFC-compatible. However, simple proxies operate in a stateless manner and are not capable of preserving per-packet metadata. In this paper, we propose a dynamic SFC proxy that is capable of preserving metadata by caching the SFC encapsulation while a packet is processed by a SF. In addition, the proxy implements In-band Network Telemetry (INT) to support monitoring and debugging related to SFs. INT is a network monitoring framework that adds packet-specific metrics to the header stack of a packet. Although INT has been standardized with a focus on network switches and routers, a proxy-based implementation for SFs extends its usability in an SFC scenario. We present concept, use cases, and an eBPF-based implementation of the INT-enabled caching SFC proxy. Finally, we evaluate the performance of a prototype.
SFC (Service function chains)是一种将报文动态引导到处理节点(也称为业务功能节点,如防火墙、ids或NAT网关)的技术。位于SFC使能域边界的SFC分类器将有关SFs顺序的信息(业务功能链)编码到数据包头中。这种编码信息称为SFC封装,网络使用它将数据包引导到各自的SFs。因为大多数现有的SFs本身不支持SFC封装,所以需要一个代理来使它们与SFC兼容。但是,简单代理以无状态方式操作,不能保留每个数据包的元数据。在本文中,我们提出了一个动态SFC代理,它能够在数据包被SF处理时通过缓存SFC封装来保存元数据。此外,该代理还实现了带内网络遥测(INT),以支持与SFs相关的监控和调试。INT是一个网络监控框架,它将数据包特定的度量添加到数据包的报头堆栈中。虽然INT已经标准化了,重点放在网络交换机和路由器上,但是基于代理的SFs实现扩展了它在SFC场景中的可用性。我们提出了概念、用例和基于ebpf的支持int的缓存SFC代理的实现。最后,我们评估了一个原型的性能。
期刊介绍:
Computer Networks is an international, archival journal providing a publication vehicle for complete coverage of all topics of interest to those involved in the computer communications networking area. The audience includes researchers, managers and operators of networks as well as designers and implementors. The Editorial Board will consider any material for publication that is of interest to those groups.