熵标签
熵标签(Entropy Label)是遵循相关标准的规范,不能用于转发,并且也不是协议协商分配出来的标签,它唯一的功能就是提升负载分担的HASH效果。熵标签由Ingress节点基于IP生成,并且不允许是0-15的保留标签。其扩展了LDP、RSVP协议,能够通过一套机制来改善流量转发负载分担的均衡性。
产生原因
随着用户网络的不断扩展,网络业务范围也逐渐增大,用户通过负载分担技术来获得节点之间更大的带宽。在LSP路径负载分担时,LSP路径的P节点(Transit节点)在转发过程中,通常会提取MPLS报文中承载的IP内容作为负载分担的HASH KEY。如果不能提取出MPLS报文,则只能使用MPLS标签栈的最顶层作为负载分担的HASH KEY。因为MPLS标签最顶层并不能详细描述报文的底层协议,所以作为HASH KEY的MPLS顶层标签几乎没有差异,导致现网负载分担不均衡的问题日益严重。用户可以通过使用逐流来进行规避负载分担不均衡问题,但是逐流会影响终端业务体验,致使用户抱怨不断。通过配置熵标签特性,能够很好的解决以上问题,改善流量转发负载分担的均衡性。
实现过程
熵标签是由一个Ingress LSR生成的完全基于负载分担均衡的信息。由于熵标签是由一个Ingress LSR产生,所以为了Egress LSR能够清楚的区分出熵标签和应用标签,需要在MPLS标签栈内的熵标签前面加入一个熵标签标识标签(即:7标签)。
熵标签在Ingress LSR上生成并封装到MPLS的标签栈中。在Ingress LSR节点报文还没有封装MPLS标签时,可以很容易获取到IP或者二层协议数据信息作为负载分担的HASH KEY。当Ingress LSR识别到隧道使能熵标签能力时,会根据报文中的IP信息计算出熵标签,并将熵标签压入MPLS标签栈,将熵标签传递到P节点(中间节点),P节点无需再解析内层IP数据,可以直接利用Ingress LSR计算出的熵标签作为HASH KEY,就可以实现负载分担均衡处理。
熵标签通过LDP或RSVP协议协商,用于流量负载分担。可以应用于L2VPN和L3VPN。
熵标签在Ingress节点压入,在Egress节点弹出,因此Egress节点需要通告Ingress节点支持熵标签能力。
- Egress:在Egress节点根据本网元是否支持解析熵标签的能力,去扩展mapping消息,通过mapping消息中携带熵标签能力的TLV向上游节点通告本节点是否具有熵标签能力,直到逐跳传递到Ingress节点。
- Transit:在向上游节点发送mapping消息时,需要透传下游节点的熵标签能力,如果存在负载分担,则必须所有下游节点都携带了熵标签能力TLV,才能在向上游节点发送mapping消息中,携带熵标签能力的TLV。而对于无法识别熵标签能力TLV的Transit节点,根据Unknown TLV的处理规范进行TLV透传。
- Ingress:通过感知Egress节点通告过来的熵标签能力,来决定流量转发时是否需要压入熵标签来改善流量的负载分担均衡性。
适用场景
- 如图4-44所示,中间节点存在负载分担的场景。
- 如图4-45所示,只有当LSP主备路径都具备熵标签能力时,整条LSP才具有熵标签能力。在P1、P2、P3、P4每两台直连设备间建立LDP会话。从P1上查看到P3的LSP,主路径是P1–>P3,备份路径是P1–>P2–>P4–>P3;从P2上查看到P3的LSP,主路径是P2–>P4–>P3,备份路径是P2–>P1–>P3,图中的P1、P2互为备份路径的下游。假设在P3上使能熵标签能力,并向P1和P4发送携带熵标签能力的mapping消息。当P1收到消息之后,因为P1–>P2不具备熵标签能力,所以从P1上查看到P3的LSP不具有熵标签能力,P1也就不会向P2发送带熵标签能力的mapping消息。当P2收到P4发送的携带熵标签能力的mapping后,也会同样判断,如果P2–>P1仍不具备熵标签能力,那么从P2上查看到P3的LSP也不具有熵标签能力。
使用价值
减少流量负载分担不均衡。