链路聚合概述
链路聚合(Link Aggregation)是将多个物理接口当作一个逻辑接口,以增加带宽的提供线路冗余,链路聚合的带宽理论上相当于所包含的物理接口带宽总和,非常适合与企业核心网络中,同时参与捆绑的某个成员接口或链路损坏,不影响聚合链路的正常工作,提供了冗余性,华为设备支持的链路聚合协议是LACP(Link Aggregation Control Protocol)。在华为设备中,由多个物理接口捆绑成逻辑接口,该接口被称为Eth-Trunk接口。链路聚合相关的标准由IEE 802.3ad定义。
链路聚合模式
华为设备支持的链路聚合模式有手工负载分担模式和静态LACP模式。
手工负载分担模式: 手工负载分担模式没有LACP协议报文的参与,所有的配置均由手工完成,如加入多个成员接口。该模式下所有的接口均处于转发状态,实现链路的负载分担。它支持的负载分担方式包括目的MAC,源MAC,源MAC异或目的MAC,源IP,目的IP、源IP异或目的IP。手工负载分担模式通常应用在对端设备不支持LACP协议的情况下。
静态LACP模式:静态LACP模式是线路两端利用LACP协议进行协商。从而确定活动接口和非活动接口的链路聚合方式。在该模式下,创建Eth-Trunk。加入Eth-Trunk成员接口需由手工完成,而确定活动接口和非活动接口则由LACP协议协商产生。静态LACP模式也称为M:N模式。这种方式同时可以实现链路负载分担和冗余备份的双重功能。在链路聚合组中M条链路处于活动状态,转发数据并负载负担,而另外N条链路处于非活动状态,不转发数据。当 M条链路中由链路出现故障时,系统会自动从N条备份链路中选择优先级最高的接替故障链路,并开始转发数据。
静态LACP模式与手工负载分担模式的主要区别为静态LACP模式可以有备份链路,而手工负载分担模式中所有成员接口均处于转发状态,分担负载流量,除非线路故障。
活动接口与非活动
处于活动状态并负责转发数据的接口称为活动接口。相反,处于非活动接口状态并禁止转发的数据的接口称为非活动接口。活动接口和非活动接口一般不需要人为干预,在静态LACP模式中可以配置活动接口数量的上限以及下限。根据配置的工作模式不同,角色分工如下;
手工负载分担模式,正常情况下,所有的成员接口均为活动接口,除非这些接口出现链路故障。
静态LACP模式,M条链路对应的接口为活动接口并负责转发数据,N条链路对应的接口为非活动接口并负责冗余备份。
链路聚合(手动聚合模式)
实验拓扑图
实验需求
1.在交换机上创建相关VLAN;将连接PC的接口配置为Access类型并添加到相应的VLAN; 2. 将SW1及SW2之间的链路配置为聚合链路(Eth-trunk),聚合的链路工作在手工负载分担方 式,并将该Eth-trunk配置为Trunk类型的接口,因为它需要承载多个VLAN的流量; 3. 完成配置后要求PC1与PC3能够相互ping通;PC2与PC4能够相互ping通。
基本配置
LSW1: vlan 10 #创建vlan 10 int vl 10 #打开vlan 10并写入vlan数据表中 ip add 192.168.10.254 24 #配置vlanIP地址 undo shutdown #开启vlan vlan 20 #创建vlan 20 int vl 20 #打开vlan 20并写入vlan数据表中 ip add 192.168.20.254 24 #配置vlanIP地址 undo shutdown #开启vlan int eth0/0/1 进入接口eth0/0/1 port link-type access #将接口转换成access接口,允许单个vlan通过 port default vlan 10 #将接口划分到vlan 10中 undo shutdown #开启接口 int eth0/0/2 进入接口eth0/0/2 port link-type access #将接口转换成access接口,允许单个vlan通过 port default vlan 20 #将接口划分到vlan 20中 undo shutdown #开启接口 LSW2: vlan 10 #创建vlan 10 int vl 10 #打开vlan 10并写入vlan数据表中 ip add 192.168.10.254 24 #配置vlanIP地址 undo shutdown #开启vlan vlan 20 #创建vlan 20 int vl 20 #打开vlan 20并写入vlan数据表中 ip add 192.168.20.254 24 #配置vlanIP地址 undo shutdown #开启vlan int eth0/0/1 进入接口eth0/0/1 port link-type access #将接口转换成access接口,允许单个vlan通过 port default vlan 20 #将接口划分到vlan 20中 undo shutdown #开启接口 int eth0/0/2 进入接口eth0/0/2 port link-type access #将接口转换成access接口,允许单个vlan通过 port default vlan 10 #将接口划分到vlan 10中 undo shutdown #开启接口
实验配置
LSW1: [LSW1]int Eth-Trunk 1 #创建链路聚合组1 [LSW1-Eth-Trunk1]mode manual load-balance #工作方式为手工负载分担(缺省就是),由于改eth-trunk需要承载多vlan的流量,因此需要配置为trunk模式,同时放行vlan 10和vlan 20的流量 [LSW1-Eth-Trunk1]port link-type trunk #设置链路聚合模式为trunk链路 [LSW1-Eth-Trunk1]port trunk allow-pass vlan 10 20 #放行vlan 10和vlan 20 [LSW1-Eth-Trunk1]quit #退出链路聚合配置模式 [LSW1]int Ethernet0/0/3 #进入接口eth0/0/3 [LSW1-Ethernet0/0/3]eth-trunk 1 #将此接口添加到eth-trunk 1的链路聚合组中 [LSW1]int Ethernet0/0/4 #进入接口eth0/0/4 [LSW1-Ethernet0/0/4]eth-trunk 1 #将此接口添加到eth-trunk 1的链路聚合组中 LSW2: [LSW2]int Eth-Trunk 1 #创建链路聚合组1 [LSW2-Eth-Trunk1]mode manual load-balance #工作方式为手工负载分担(缺省就是),由于改eth-trunk需要承载多vlan的流量,因此需要配置为trunk模式,同时放行vlan 10和vlan 20的流量 [LSW2-Eth-Trunk1]port link-type trunk #设置链路聚合模式为trunk链路 [LSW2-Eth-Trunk1]port trunk allow-pass vlan 10 20 #放行vlan 10和vlan 20 [LSW2-Eth-Trunk1]quit #退出链路聚合配置模式 [LSW2]int Ethernet0/0/3 #进入接口eth0/0/3 [LSW2-Ethernet0/0/3]eth-trunk 1 #将此接口添加到eth-trunk 1的链路聚合组中 [LSW2]int Ethernet0/0/4 #进入接口eth0/0/4 [LSW2-Ethernet0/0/4]eth-trunk 1 #将此接口添加到eth-trunk 1的链路聚合组中
理解实验
工作在手工负载分担方式的Eth-trunk,所有的成员链路都会参与数据的转发,也就是所有的成员链路缺省都是活跃链路。一旦我们在创建好的聚合链路Eth-trunk 1中添加GE0/0/23和GE0/0/24,这两个物理接口在交换机看来就形成了一个逻辑的聚合接口,因此针对该聚合接口的相关配置,都在interface eth-trunk 1中进行,而不是在GE0/0/23或GE0/0/24这两个物理接口中进行。由于创建的这个聚合接口Eth-trunk 1需要承载多个VLAN的二层流量,因此需要把这个聚合接口的link-type修改为trunk,并且在允许通行的VLAN列表中添加10及20两个VLAN。
验证
LSW1: display eth-trunk 1 #查看链路聚合的状态
LSW2: display eth-trunk 1 #查看链路聚合的状态
我们看到,eth-trunk1这条聚合链路有两个成员链路,分别是eth0/0/3及eth0/0/4,且状态都是UP的。完成配置后,PC1与PC4应该能够直接ping通;PC2与PC3也应该能直接ping通。
PC1pingPC4
ping 192.168.10.2
PC2pingPC3
ping 192.168.20.2