典型场景的负载分担算法及效果
MPLS L3VPN场景
MPLS L3VPN典型组网结构
- PE(Provider Edge):服务提供商边缘设备,是服务提供商网络的边缘设备,与CE直接相连。PE从CE接收IP报文,并将报文封装成MPLS报文发送给P;或者从P设备接收MPLS报文,去除MPLS封装后发送给CE。
- P(Provider):服务提供商网络中的骨干设备,不与CE直接相连。P设备进行MPLS转发。
- CE(Customer Edge):用户网络边缘设备,进行IP转发。
场景一:PE公网出接口负载分担
PE上进行路由负载分担时的算法依据的是CE侧入接口(上行)接收时的报文格式,华为NE40E采用IP二元组或IP五元组哈希,因此负载分担的均衡效果取决于私网IP地址和TCP/UDP源和目的端口号的多样性。
场景二:P节点负载分担
- 一般情况下,报文携带的标签数不超过4层,华为NE40E支持使用IP五元组或IP二元组进行哈希,负载分担的均衡效果取决于私网IP地址的多样性。
- 在跨域VPN、FRR、LDP over TE FRR等场景时,报文携带的标签数较多,华为路由器默认使用第4层或第5层标签进行哈希。此时,均衡效果取决于第4层或第5层标签的多样性。
场景三:PE私网出口负载分担
PE私网出口负载分担时,如果不支持倒数第2跳弹出,同场景二;支持倒数第2跳弹出时,同场景一。
场景四:L2VPN接入L3VPN时,NPE的L3公网出口负载分担
L2VPN接入L3VPN场景中,NPE的L3公网出口转发时,已将MPLS和二层帧头剥离,其负载分担算法同场景一。
VPLS场景
VPLS典型组网结构
- PE(Provider Edge):服务提供商边缘设备,是服务提供商网络的边缘设备,与CE直接相连。PE从CE接收以太帧,并将以太帧添加MPLS报文发送给P;或者从P设备接收MPLS报文,去除MPLS封装后发送以太帧给CE。
- P(Provider):服务提供商网络中的骨干设备,不与CE直接相连。P设备进行MPLS转发。
- CE(Customer Edge):用户网络边缘设备,进行二层以太/VLAN转发。
场景一:PE公网出接口负载分担
- 如果是IP报文,可以根据IP二元组或五元组哈希,其均衡效果取决于私网报文IP的多样性;
- 如果是以太非IP报文,采用源和目的MAC地址哈希,其均衡效果取决于私网报文MAC地址的多样性。有的单板支持采用三元组<源MAC、目的MAC,VC Label>进行哈希。
场景二:P节点负载分担
- 一般情况下,报文携带的标签数不超过4层,华为NE40E支持使用IP五元组或IP二元组进行哈希,负载分担的均衡效果取决于私网IP地址的多样性。
- 在跨域VPN、FRR、LDP over TE FRR等场景时,报文携带的标签数较多,华为NE40E默认使用第4层或第5层标签进行哈希。此时,均衡效果取决于第4层或第5层标签的多样性。
场景三:PE私网出口负载分担
VPLS场景中,PE私网出口,只有Trunk负载分担。PE私网出口进行桥接转发,不存在路由负载分担。
PE私网出口Trunk负载分担时:
- 如果上行是公网接口(MPLS->AC),有些单板支持IP五元组或IP二元组进行哈希,有些单板只支持使用源和目的MAC地址哈希。
- 如果上行是私网接口(AC->AC),其负载分担算法同场景一。
场景四:L2VPN接入L3VPN时,NPE的L2公网出口负载分担
L2VPN接入L3VPN场景中,NPE的L2公网出口负载分担算法同场景一。
VLL/PWE3场景
VLL/PWE3典型组网结构
- PE(Provider Edge):服务提供商边缘设备,是服务提供商网络的边缘设备,与CE直接相连。PE从CE接收以太帧,并将以太帧添加MPLS报文发送给P;或者从P设备接收MPLS报文,去除MPLS封装后发送以太帧给CE。
- P(Provider):服务提供商网络中的骨干设备,不与CE直接相连。P设备进行MPLS转发。
- CE(Customer Edge):用户网络边缘设备,进行VLAN或IP转发。
场景一:PE公网出接口负载分担
PE上公网出接口进行路由负载分担时的算法依据的是AC接口接收的流量类型。
- 如果是IP报文,可以根据IP二元组或五元组哈希,其均衡效果取决于私网报文IP的多样性;
- 如果是以太非IP报文,一般采用源和目的MAC地址哈希,其均衡效果取决于私网报文MAC地址的多样性。
- 如果是非以太报文,大部分单板采用VC标签哈希。
场景二:P节点负载分担
- 一般情况下,报文携带的标签数不超过4层,华为NE40E支持使用IP五元组或IP二元组进行哈希,负载分担的均衡效果取决于私网IP地址的多样性。
- 在跨域VPN、FRR、LDP over TE FRR等场景时,报文携带的标签数较多,华为NE40E默认使用第4层或第5层标签进行哈希。此时,均衡效果取决于第4层或第5层标签的多样性。
场景三:PE私网出口
因VLL/PWE3为点到点的虚链路,PE私网出口只有Trunk负载分担。
- 如果上行是私网接口(AC->AC),其负载分担算法同场景一。
- 如果上行是公网接口(MPLS->AC),有的单板支持按IP五元组或IP二元组进行哈希,有的单板则是按VC标签哈希,部分单板不支持哈希。
场景四:L2VPN接入L3VPN时,NPE的L2公网出口负载分担
L2VPN接入L3VPN场景中,NPE的L2公网出口转发时,已将MPLS剥离,其负载分担算法同场景一。
L2TP场景
关于L2TP隧道
L2TP隧道利用公共网络(如ISDN和PSTN)的拨号功能及接入网来实现虚拟专用网,为企业、小型ISP、移动办公人员提供接入服务。
在L2TP隧道中有三种典型节点,如图8-47:
LAC(L2TP Access Concentrator):是有PPP端系统和L2TP处理能力的设备,一般是本地ISP的接入设备,通过PSTN/ISDN网络为用户提供接入服务。LAC在LNS和用户之间传递数据:把从用户机收到的数据进行L2TP封装并送往LNS;将从LNS收到的数据进行解封装并送往用户机。
- LNS(L2TP Network Server):是接受PPP会话的一端,通过LNS验证,用户就可以登录到私网上,访问私网资源。同时,LNS作为L2TP隧道的另一侧端点,是LAC的对端设备,是通过LAC进行隧道传输的PPP会话的逻辑终止端点。LNS通常是企业网关设备,或者IP公共网络的PE。
- 中间节点:在LAC和LNS之间的中间网络里的传输节点。中间网络可以是多种类型的网络,例如IP网络,或MPLS网络。
L2TP两种流量模型
L2TP流量有2种:
L2TP流量的哈希效果分析
使用L2TP传输时,数据流在LAC上被封装了新的IP头。新IP头的源IP地址是本端LAC的L2TP隧道地址,而目的IP地址是远端LNS的L2TP隧道地址,即,新IP头的源IP地址和目的IP地址是唯一的。因此,在L2TP隧道上传输的数据报文都是属于一个流,中间节点的负载分担的均衡效果取决于其承载的L2TP隧道的个数。从概率上而言,个数越多,负载分担的均衡效果越好。
GRE场景
GRE提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能够在异种网络中传输,而异种报文传输的通道称为Tunnel。GRE也可以作为VPN的第三层隧道协议,为VPN数据提供透明传输通道。
无论何种场景,在GRE隧道上传输的报文均为GRE报文,所有的报文的源IP和目的IP,都是GRE隧道的源和目的地址。而且,在Tunnel的中间和尾节点上,收到的GRE报文的新IP头TTL也都是相同的。如果只有一条隧道,采用逐流负载分担时,无法负载分担。可以多创建几个GRE隧道,使用多隧道进行传输。
IP单播场景
IP(包括IPv4和IPv6)单播(如图8-54)负载分担时的算法依据的是入接口(上行)接收的报文的格式,华为NE40E采用IP二元组<源IP地址、目的IP地址>、IP四元组<源IP地址、目的IP地址、源端口号、目的端口号>,或IP五元组<源IP地址、目的IP地址、源端口号、目的端口号、协议号>进行哈希。因此负载分担的均衡效果取决于入流量的IP地址和TCP/UDP源、目的端口号的多样性。不同单板,默认哈希因子可能不同。
组播场景
组播Trunk负载分担
组播对于TRUNK成员口而言,只支持逐流负载分担。哈希因子为三元组<组播源IP地址、组播组地址、VPN实例>。
组播路由负载分担
基于组播组
组播路由器根据组播组G进行哈希运算,为每个组播组G从多条等价路由中选取一条合适的路由,作为该组播组G的转发路由。结果:不同转发路径上的流量属于不同的组播组集合,如图8-55。
该策略适用于一源多组的场景。
基于组播源
组播路由器根据组播源S进行哈希运算,为每个组播源S从多条等价路由中选取一条合适的路由,作为该组播源S的转发路由。结果:不同转发路径上的流量属于不同的组播源集合,如图8-56。
该策略适用于一组多源的场景。
基于组播源组
组播路由器根据组播组G、组播源S进行哈希运算,为每个(S,G)从多条等价路由中选取一条合适的路由,作为该(S,G)的转发路由。结果:不同转发路径上的流量属于不同的(S,G)集合,如图8-57。
该策略适用于多个源和多个组的场景。
稳定优先(stable-preferred)
稳定优先策略同均衡优先策略类似,也是根据网络实际情况进行负载分担算法,将(*,G)和(S,G)表项平均分布在各自的等价路由上,从而实现负载均衡。采用稳定优先策略时,如果等价路由删除时,路由器会对负载自动进行均衡调整;但删除组播路由表项、接口的组播负载分担权值变化时,路由器不主动对负载进行均衡调整。
该策略适用于组播业务稳定的场景。