昨天有幸听了一场K总的一场关于数据面软件开发原则的课程,颇有受益,在此记录一下。遗憾的是由于记错时间了,错过了前面的精彩内容。
历史背景
从历史看,高性能网络产品数据面开发经历了从专用硬件到通用硬件的过程,大致经历了ASIC–>NP–>MIPS—>Intel x86 COTS。最早是基于ASIC实现的,但ASIC存在一个比较大的问题即灵活性和可扩展性。NP是专门为网络设备处理网络流量而设计的处理器,其转发等算法和操作都进行了优化。相对于ASIC,它相对提高了灵活性,但它也受限于指令集。今年来,随着Intel DPDK的成熟,性能好、灵活性强,网关产品数据面开发也逐渐转为使用商用x86服务器平台。