为什么我们使用Linux内核的(网络)协议栈?

时间:2021-06-04 11:08:26

1,内核态协议栈可以为多个网络应用服务,用户态协议栈就不行。比如DPDK,它会将网卡从内核unbind,然后自己独占。

2,内核态协议栈提供了丰富的协议支持/调试手段,稳定性也经过时间的检验。反观用户态协议栈处于起步阶段,对网络协议的支持有限,

      大都是适配应用场景的二次开发。

 

如果是小型设备,通用需求,请使用内核协议栈

如果是大型设备/数据中心,需求固定,请使用DPDK等用户态协议栈,结合网络虚拟化技术,会获得最适合的性能。