前言
随着移动互联网的普及,基础带宽的提升,各种视频等富媒体应用越来越多的情况下,对于路由器的挑战也越来越大,普通的路由器已经无法满足用户对带宽的需求,而传统普通家用路由器一般采用Linux操作系统,其数据报文的处理都是通过中断来实现的,这就导致了CPU占用率非常高,网络的吞吐量上不去,用户的体验不佳,因此产生了很多的新技术,如DPDK等方案的产生,都是通过将数据报文的处理导到应用层通过轮询的方式来解决。而针对路由器,方案厂商采用多核技术将其中一个CPU专门用来处理网络数据包俗称NPU,这里介绍的高通的方案就是NSS(Network Sub-System).
架构图示
如何将一条连接加入NSS
默认情况下,数据报文走的还是Linux 的网络协议栈,只有启用了NSS,并且其数据报文请求符合一定的规则后,其才会被加入到NSS中,下次符合这个条件的数据报文就直接通过NSS转发到目的接口了,省去了多余的中断等操作。进而提升了整个数据传输的性能,降低了CPU的负载,网络设备的性能显著提升。