当前位置: X-MOL 学术ACM SIGCOMM Comput. Commun. Rev. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Programming socket-independent network functions with nethuns
ACM SIGCOMM Computer Communication Review ( IF 2.8 ) Pub Date : 2022-06-20 , DOI: 10.1145/3544912.3544917
Nicola Bonelli 1 , Fabio Del Vigna 1 , Alessandra Fais 2 , Giuseppe Lettieri 2 , Gregorio Procissi 2
Affiliation  

Software data planes running on commodity servers are very popular in real deployments. However, to attain top class performance, the software approach requires the adoption of accelerated network I/O frameworks, each of them characterized by its own programming model and API. As a result, network applications are often closely tied to the underlying technology, with obvious issues of portability over different systems. This is especially true in cloud scenarios where different I/O frameworks could be installed depending on the configuration of the physical servers in the infrastructure.

The nethuns library proposes a unified programming abstraction to access and manage network operations over different I/O frameworks. The library is freely available to the community under the BSD license and currently supports AF_XDP and netmap for fast packet handling along with the classic AF_PACKET and the pcap library. Network applications based on nethuns need only to be re-compiled to run over a different network API. The experiments prove that the overhead introduced by nethuns is negligible, hence making it a convenient programming platform that eases the coding process while guaranteeing high performance and portability. As proofs of concept, a handy traffic generator as well as the popular Open vSwitch application have been successfully ported and tested over nethuns.



中文翻译:

用 nethuns 编写与套接字无关的网络函数

在商用服务器上运行的软件数据平面在实际部署中非常流行。然而,为了获得一流的性能,软件方法需要采用加速网络 I/O 框架,每个框架都有自己的编程模型和 API。因此,网络应用程序通常与底层技术密切相关,在不同系统上存在明显的可移植性问题。在云场景中尤其如此,根据基础架构中物理服务器的配置,可以安装不同的 I/O 框架。

nethuns 库提出了一个统一的编程抽象来访问和管理不同 I/O 框架上的网络操作。该库在 BSD 许可下免费提供给社区,目前支持 AF_XDP 和 netmap 以实现快速数据包处理以及经典的 AF_PACKET 和 pcap 库。基于 nethuns 的网络应用程序只需重新编译即可在不同的网络 API 上运行。实验证明 nethuns 引入的开销可以忽略不计,因此使其成为一个方便的编程平台,在保证高性能和可移植性的同时简化了编码过程。作为概念证明,一个方便的流量生成器以及流行的 Open vSwitch 应用程序已经成功地通过 nethuns 移植和测试。

更新日期:2022-06-21
down
wechat
bug