传统网卡仅实现数据链路层和物理层的功能,而端系统CPU负责处理网络协议栈中更高层的逻辑。CPU按照网络协议栈中传输层、路由层的逻辑,负责数据包的封装和解封;网卡则负责更底层的数据链路层帧的封装和解封,以及物理层电气信号的相应处理。
比如 Intel AX200 无线网卡
近年来公有云中虚拟化技术的发展以及SDN技术的兴起,对端系统协议栈提出了更高的要求,而传统的高性能网卡已经难以满足这些要求,可主要分为以下两个方面:
比如一个10 Gbps 网络接口,如果按照 MTU=1500 Byte 来算,大概需要 89 万 PPS( Packet Per Second) ,而在一个 8 核服务器上处理上限大约是 100 万 PPS。而且在现实网络环境中,包的平均大小会远小于 MTU,比如每个包 64 字节,这就需要 2000 万PPS。
而且近期存储的网络化,以前HDD的性能瓶颈是磁盘的物理转速上限,SSD没有这个限制,SSD拉高了存储带宽,因此数据中心通过网络共享存储资源这个需求,例如NVMe-oF,迅速把网络接口速率拉高。从1Gbps的网卡到10Gbps的网卡,业界走了近10年,但是25Gbps,似乎3年就成大趋势了,甚至100Gbps已经开始了应用。