【问题标题】:Why vxlan over udp but not ip为什么 vxlan 通过 udp 而不是 ip 【发布时间】:2015-10-21 13:06:07 【问题描述】: 这几天在学习VXLAN协议,知道原来的payload是封装在udp header中的。我想知道为什么不把它封装在一个ip头中,因为udp头似乎没用? 【问题讨论】: 标签: udp ip 【解决方案1】: UDP 隧道的一个优点是使用ECMP。 VXLAN 在 UDP 源端口中对流信息进行编码,从而允许路由器进行流负载平衡。 请注意,还有其他隧道协议,例如 NVGRE,它们不使用 UDP,而是直接在 IP 之上。 【讨论】: 那么用UDP头封装数据包只是为了支持ECMP? NVGRE 更喜欢较小的数据包大小而不是负载平衡。 我不知道这是不是唯一的原因。一个类似的原因是 NIC 上的 RSS 卸载。请注意,较新的硬件也可以散列 NVGRE 密钥字段,因此这种优势变得微不足道。