什么是NPLB-ER?
NPLB-ER(Network Packet Load Balancing Endpoint-Reorder Packet Spray)是一种由网络设备进行流量的逐包负载分担,服务器侧进行报文乱序接收和重排的技术。NPLB-ER可以实现流量在网络上进行逐包负载分担,从而达到比逐流更优的负载分担效果。
为什么需要NPLB-ER?
为了保障高可靠、高性能传输,网络中流量通常被分摊到多条链路上进行转发,又称为负载分担。网络设备在对流量进行负载分担选路时,通常分为逐流(Per-Flow)、逐包(Per-Packet)两种方式。
- 逐流
逐流负载分担是指按照一定的规则,如根据五元组(源IP地址、目的IP地址、协议号、源端口号、目的端口号),将报文分成不同的流,同一条流的报文将在同一条链路上转发,不同的流分摊到不同的链路上转发。
逐流负载分担示意图图 - 逐包
逐包负载分担是指按照逐个报文的粒度进行转发,按报文到来的次序,将报文均匀地分摊到参与负载的各条链路上。
逐包负载分担示意图图
逐流负载分担可以保证同一条流内报文不会出现乱序,但是容易出现HASH极化等负载分担不均的问题。而逐包负载分担虽然可能导致报文乱序,但通过逐包喷洒的机制,可以使得负载分担更加均匀。
NPLB-ER就是一种在网络设备上进行逐包负载分担的技术,在结合服务器侧支持报文乱序接收和重排的场景下,可以达到比逐流更优的负载分担效果。
NPLB-ER的几种模式
- mode1:对BTH帧头中Reserved字段最高1bit为1的RoCEv2报文进行逐包负载分担,其他报文采用逐流负载分担。
- mode2:对RDMA Write Only类型报文进行逐包负载分担,其他报文采用逐流负载分担。
- mode3:对UBoE报文进行逐包负载分担,其他报文采用逐流负载分担。
- mode4:对Hyper RoCE报文进行逐包负载分担,其他报文采用逐流负载分担。
- 作者: 高洋洋
- 最近更新: 2026-08-19
- 浏览次数: 735
- 平均得分:
导出PDF