干货 TCP/IP加速原理详解( 二 )


这方面可以参考论文"TAS: TCP Accleration as an OS Service" 。
4、TCP offload
内核消耗性能的地方主要有如下四个方面:

干货 TCP/IP加速原理详解

文章插图
 
目前TCP offload常用的功能是TCP/IP checksum offload和TCP segmentation offload,主要是解决上面第二个问题 。
其它问题需要更加强大的网卡支持,这方面可以参考"https://www.dell.com/downloads/global/power/1q04-her.pdf" 。
"TCP Offload Engines"论文中描述了网络应用内存拷贝的情况,具体参考下图 。
干货 TCP/IP加速原理详解

文章插图
 
不管是发送路径还是接收路径,系统存在大量内存拷贝,直接影响了TCP/IP协议栈性能,可以利用TCP offload功能,NIC直接拷贝到应用的buffer中去,减少拷贝次数,从而提升性能 。
TCP offload可能是未来的趋势,部署方便,代价小,是非常值得关注的一个方向 。
5、用户态TCP协议
用户态的协议栈在下列场合比较有用:
干货 TCP/IP加速原理详解

文章插图
 
是否要采用用户态TCP协议栈,可以参考"https://blog.cloudflare.com/why-we-use-the-linux-kernels-tcp-stack/".
6、总结
TCP加速是一个很大的领域,这方面应用得好,可以极大提升程序的性能,因此性能优化不要忽视这方面内容 。




推荐阅读