Snabb:使用Lua的100 Gbit/s纯软件交换

2020-06-10 07:06:43

我们也是程序员和网络工程师的草根社区,他们在构建和部署新的网络元素方面相互帮助。我们关心的是实际应用和寻找更简单的方法来做事情。

欢迎您加入我们的社区!向下滚动到底部的ForTips,了解如何参与其中。

Snabb编译为名为snabb的独立可执行文件。这个单一的二进制文件包括多个应用程序,可以在任何现代Linux/x86-64发行版上运行。(你可以把它想象成网络的忙碌盒子。)。

Snabb NFV使QEMU/KVM网络性能适用于需要高数据包速率的应用,如ISP核心路由器。这是为那些想要在每台服务器上处理高达100 Gbps或50 Mpps的Virtio-Net网络流量的人而设计的。我们最初开发Snabb NFV是为了支持德国电信的TeraStreamNetwork。

您可以使用QEMU独立部署Snabb NFV,也可以将其与OpenStack等云计算平台集成。

Snabb lwAFTR是IPv6过渡技术轻量级4-over-6(Lw4o6)面向互联网的组件。ISP可以使用lwAFTR功能为其用户提供对IPv4互联网的访问,同时维护简单的仅支持IPv6的内部网络。部署Snabb lwAFTR的ISP还可以配置lw4o6在多个不同客户之间共享IPv4地址,从而改善IPv4地址空间耗尽问题并降低成本。有关更多详细信息,请参阅lwAFTR文档。

VPWS(Virtual Private Wire Service,虚拟专用线服务)是Alexander Gall at Switch公司开发的第二层VPN应用。他的Github VPN分支机构是发展的主线。

PacetBlaster通过重放PCAP格式的跟踪文件或将可定制的数据包合成到任意数量的英特尔82599万兆网络接口上来生成加载。这是非常高效的:即使对于数百Gbps的流量,也只需要每个CPU一个核心的很小的%。因为只需要很少的CPU资源,所以您可以在小型服务器上运行PacketBlaaster,甚至可以直接在被测设备上运行PacketBlaaster。

SNSH(Snabb Shell)是一个用于交互试验Snabb的工具。它使用Lua shell提供对所有API的直接访问。您可以从脚本文件或交互式shell操作snsh。

snabb二进制文件是独立的,包括所有应用程序,并且可以在计算机之间复制。

或者简单地运行snabb,就像在Linux下一样。这是通过使用包装器外壳脚本实现的,该脚本作为';make docker';的一部分进行链接: