知识卡片
TSO与RSC是拆包组包的镜像卸载
内容
TCP传输要把应用层大块数据切成不超过MTU的小分片,这个”切”的动作很机械:复制包头、改长度字段、重算校验和,没有特殊判断逻辑,天生适合硬件做。TSO把拆分工作交给发送侧网卡——软件把整块数据扔给驱动、标记好分片大小,硬件自己拆成小包发出;RSC(又称LRO)则相反:接收侧网卡把同一TCP流陆续到达的多个小分片缓存排序、合并成一个大分片再交给软件,省去逐包解析和排序的负担。一拆一合,本质都是把TCP分片从”每包都要软件过一遍”变成”硬件批量代劳”。
参考来源
《深入浅出DPDK》第9章《硬件加速与功能卸载》