An entropy label is used only to improve load balancing performance. It is not assigned through protocol negotiation and is not used to forward packets. The entropy label is generated using IP information on the ingress. The entropy label value cannot be set to a reserved label value in the range of 0 to 15. The LDP or RSVP protocol is extended by adding an entropy label between the LDP/RSVP label (inner label) and VPN label (outer label) during LDP or RSVP negotiation. The entropy label can then be used to equalize and improve the performance of load balancing.
As user networks and the scope of network services continue to expand, load-balancing techniques are used to improve bandwidth between nodes. If tunnels are used for load balancing, transit nodes (P) obtain IP content carried in MPLS packets as a hash key. If a transit node cannot obtain the IP content from MPLS packets, the transit node can only use the top label in the MPLS label stack as a hash key. The top label in the MPLS label stack cannot differentiate underlying-layer protocols in packets in detail. As a result, the top MPLS labels are not distinguished when being used as hash keys, resulting in load imbalance. Per-packet load balancing can be used to prevent load imbalance but results in packets being delivered out of sequence. This drawback adversely affects user experience. To address these problems, use the entropy label capability to improve load balancing performance.
On the network shown in Figure 1, load balancing is performed on ASBRs (transit nodes) and the result is uneven. To achieve even load balancing, you can configure the entropy label capability of the BGP LSP.
The entropy label is generated by the ingress solely for the purpose of load balancing. To help the egress distinguish the entropy label generated by the ingress from application labels, an identifier label of 7 is added before an entropy label in the MPLS label stack.
The ingress generates an entropy label and encapsulates it into the MPLS label stack. If packets are not encapsulated with MPLS labels on the ingress, the ingress can easily obtain IP or Layer 2 protocol data for use as a hash key. If the ingress detects the entropy label capability enabled for tunnels, the ingress uses IP information carried in packets to compute an entropy label, adds it to the MPLS label stack, and advertises it to an ASBR. The ASBR uses the entropy label as a hash key to load-balance traffic and does not need to parse IP data inside MPLS packets.
The entropy label is pushed into packets by the ingress and removed by the egress. Therefore, the egress needs to notify the ingress of the support for the entropy label capability.
Entropy labels help achieve more even load balancing.