软件路由

时间:2016-02-25 15:41:31

标签: networking virtual router host

"来自Vyatta等公司的商业软件路由器通常只能以高达每秒3吉比特的速度获得传输数据。这还不足以充分利用典型网卡的全速,每秒运行速度为10千兆位。" [1]

在这种情况下,网络接口卡的速度如何? Aren的软件路由器连接在相同物理主机上运行的多个虚拟机? [2]除非PC有多个网络接口卡,否则它不太可能作为不同物理主机之间的数据包交换机。

我的解释表明,似乎存在两种不同的软件路由:(1)在实际路由器上嵌入实时操作系统。 (2)在PC上编写应用程序层代码,该代码可以处理在 PC上运行的不同虚拟机之间传输的数据包。这是对的吗?

2 个答案:

答案 0 :(得分:1)

这取决于您的路由器在做什么。如果它只是在查看静态路由表并将数据包转发出另一个接口,那么性能就不会太大。

当你进入NAT,Crypto,QoS,SPI之类的东西时,你会看到性能下降。硬件供应商通常使用自定义芯片来处理更高级的功能,这允许更高吞吐量的数据包转发。

既然商用芯片足够快且开源应用程序正在变得更好,那么性能差距正在缩小。

这实际上取决于您的用例,只要您想要使用它。我已经同时使用了两个并没有看到性能命中,但软件版本没有处理高吞吐量工作负载。

答案 1 :(得分:1)

从虚拟网络到物理的链接性能最终在任何合理的范围内都变得很重要。你是对的,在同一个物理主机中,事情可以很快,但这需要一个人可以在一个盒子里得到所需的一切。

虽然商用芯片在提高网络设备性能方面已经取得了很大进展,但正在获得更大的收益,让CPU更好地处理网络任务。 AMD和英特尔都已将其架构改进到10 Gbps转发成为现实的程度。英特尔开发了一个专用库(DPDK Wiki Page),可以高性能地处理大量低级网络功能。