知识卡片
伪装协议头借用现成硬件加速路径
内容
服务器网卡普遍支持对 TCP 报文的硬件分片来减轻 CPU 负担,但这个能力只认 TCP。虚拟交换机用 Tunnel(如 VxLan/NvGRE)封装原始报文后,网卡因为识别不出内层协议而拒绝分片,只能退化成纯 CPU 分片,性能下降。Nicira 的 STT 技术的解法是把 Tunnel 头伪装成 TCP 格式的样子——网卡一看头部像 TCP 就照常触发硬件分片,但两端根本没有真正的三次握手和连接状态,纯粹是让网卡”误认为”在处理它熟悉的场景。这是一个值得记住的工程思路:当某个底层能力只服务于一种特定接口时,与其绕开它重新造轮子,不如让自己的数据看起来符合那个接口的形状,从而免费复用现成的加速路径。
参考来源
《深度解析SDN:利益、战略、技术、实践》第5章《网络虚拟化和SDN》