定义
链路聚合或端口聚合,将多条物理链路聚合成一条逻辑上的链路(这条逻辑链路带宽相当于物理链路带宽之各),不单独配置物理口,这些物理链路作为这个逻辑通道的成员,配置时只配置这个逻辑通道。这些物理口同时都在工作,某条断了,也不会影响使唤用,只是带宽降低了。
VLAN的端口汇聚则是将一条物理链路中支撑多个VLAN,相当于多条虚拟的物理链路,用VLAN ID来区分和互联。
一条链路一个VLAN的话,如果交换机上划了10个VLAN就需要分别连10条线作级联,端口效率就太低了。
当交换机支持TRUNKING的时候,事情就简单了,只需要2个交换机之间有一条级联线,并将对应的端口设置为Trunk,这条线路就可以承载交换机上所有VLAN的信息。这样的话,就算交换机上设了上百个个VLAN也只用1个端口就解决了。
链路聚合或端口聚合技术:它是一个链路问题,解决的是多个物理链路组成一个逻辑链路,增加带宽和成为冗余备份。这个逻辑链路对于我们来说就是一条链路,它即可以是trunk口,也可以是access口。
vlan端口聚合:一般指将多个VLAN通道合成一个通道,共享一个链路(它可以是一个物理链路,也可是一个逻辑链路链路聚合或端口聚合的口),即前面说的,这个口成为中继端口。这个口必须是TRUNK类型。
E-trunk、Eth-trunk与链路聚合LACP解析
在路由/交换领域,VLAN的中继端口叫做trunk。trunk技术用在交换机之间互连,使不同VLAN通过共享链路与其它交换机中的相同VLAN通信。交换机之间互连的端口就称为trunk端口。trunk是基于OSI第二层数据链路层(DataLinkLayer)的技术。trunk不能实现不同VLAN间通信,不同VLAN之间通信,需要通过三层设备(路由/三层交换机)来实现。
LACP,基于IEEE802.3ad标准的LACP(Link Aggregation Control Protocol,链路汇聚控制协议)是一种实现链路动态汇聚的协议。LACP协议通过LACPDU(Link Aggregation Control Protocol Data Unit,链路汇聚控制协议数据单元)与对端交互信息。启用某端口的LACP协议后,该端口将通过发送LACPDU向对端通告自己的系统优先级、系统MAC地址、端口优先级、端口号和操作Key。对端接收到这些信息后,将这些信息与其它端口所保存的信息比较以选择能够汇聚的端口,从而双方可以对端口加入或退出某个动态汇聚组达成一致。端口汇聚是将多个端口汇聚在一起形成一个汇聚组,以实现出/入负荷在汇聚组中各个成员端口中的分担,同时也提供了更高的连接可靠性。
E-trunk与Eth-trunk都是一种链路聚合技术, 那么E-trunk与Eth-trunk又有什么区别呢?
Eth-Trunk:一般指同一设备的链路聚合
一台交换机将这多个接口捆绑,形成一个Eth-Trunk接口,从而实现了增加带宽和提高可靠性的目的。
Trunk接口连接的链路可以看成是一条点到点的直连链路。
Trunk的优势在于:
负载分担
通过Trunk接口可以实现负载分担。在一个Eth-Trunk接口内,可以实现流量负载分担。
提高可靠性
当某个成员接口连接的物理链路出现故障时,流量会切换到其他可用的链路上,从而提高整个Trunk链路的可靠性。
增加带宽
Trunk接口的总带宽是各成员接口带宽之和。
如果是两台交换机做堆叠,则端口的链路聚合为跨框的Eth-Trunk(跨不同背板或业务板)
E-Trunk(Enhanced Trunk)是一种实现跨设备链路聚合的机制,基于LACP(单台设备链路聚合的标准)进行了扩展,能够实现多台设备间的链路聚合。从而把链路可靠性从单板级提高到了设备级。
E-Trunk机制主要应用于CE双归接入VPLS、VLL、PWE3网络时,CE与PE间的链路保护以及对PE设备节点故障的保护。在没有使用E-Trunk前,CE通过Eth-Trunk链路只能单归到一个PE设备。如果Eth-Trunk出现故障或者PE设备故障,CE将无法与PE设备继续进行通信。使用E-Trunk后,CE可以双归到PE上,从而实现设备间保护。
如下图所示:
如果两台设备做的CSS集群,那么两台设备可以看作是一台设备,这两台物理设备之间的链路聚合是通过Eth-trunk实现的,相当于同一台设备的链路聚合,而非跨设备的链路聚合。
附两个举例:
基于堆叠的二层架构数据中心网络部署
产品:华为CE12800/CE6800/CE5800系列产品
如下图所示的数据中心组网,采用接入层+核心层的两层方式部署。为了简化网络并提高可靠性,核心层由两台CE12800组成CSS,接入层由多台CE6800组成iStack。接入层与核心层之间通过跨设备Eth-Trunk连接,消除二层环路。同时,通过Eth-Trunk的流量本地优先转发功能减少框间链路的带宽承载压力。核心层通过创建VRF隔离业务网段路由与公网路由,采用旁挂方式部署防火墙,两台防火墙进行双机热备份,保证高可靠性。
基于堆叠的三层架构数据中心网络部署
产品:华为CE12800/CE6800/CE5800系列产品
如下图所示的三层数据中心组网中,核心层由两台CE12800组成,两台设备间通过2条10GE链路聚合,从而保证链路的高可靠性。汇聚层采用CE12800交换机堆叠实现冗余备份,堆叠与上下游设备间通过跨框Eth-Trunk连接。同时,通过Eth-Trunk的流量本地优先转发功能减少框间链路的带宽承载压力。汇聚层通过创建VRF隔离业务网段路由与公网路由,采用旁挂方式部署防火墙,两台防火墙进行双机热备份,保证高可靠性。
补充:
iStack堆叠是指将多台支持堆叠特性的交换机设备组合在一起,从逻辑上组合成一台整体交换设备。iStack是一种虚拟化技术,在不改变网络物理拓扑连接结构条件下,将网络同一层的多台设备虚拟化成单台逻辑设备,达到简化网络结构、简化网络协议部署、提高网络可靠性和可管理性的目的。iStack这种虚拟设备既具有盒式设备的低成本优点,又具有框式设备的扩展性以及高可靠性优点。
网络横向虚拟化示例
路由器链路聚合技术(Eth-Trunk、Ip-Trunk)
随着网络规模不断扩大,运营商对骨干链路的带宽和可靠性提出越来越高的要求。在传统技术中,常用更换高速率的接口板或更换支持高速率接口板的设备的方式来增加带宽,但这种方案需要付出高额的费用,而且不够灵活。采用链路聚合技术可以在不进行硬件升级的条件下,通过将多个物理接口捆绑为一个逻辑接口实现增大链路带宽的目的。在实现增大带宽目的的同时,链路聚合采用备份链路的机制,可以有效的提高设备之间链路的可靠性。
一、链路聚合技术(Eth-Trunk、Ip-Trunk)的概念
链路聚合是将-组物理接口捆绑在一起作为一个逻辑接口来增加带宽及可靠性的方法。例如两台路由器通过3个100M以太网接口直连,将这3个以太网接口捆绑,可形成一个300M带宽的Eth-Trunk逻辑接口,这就是链路聚合技术。
1、链路聚合组
将若干条物理链路捆绑在一起所形成的逻辑链路称之为链路聚合组(LAG)或者Trunk.如果这些被捆绑链路都是以太网链路,该聚合组被称为以太网链路聚合组,简写为Eth-Trunk,该聚合组接口称之为Eth-Trunk接口;如果这些被捆绑链路都是POS链路,该聚合组被称为POS链路聚合组,简写为IP-Trunk.该聚合组接口称之为IP-Trunk接口。
2、成员接口
组成Trunk的各个接口称之为成员接口。例如:Eth-Trunk接口可以作为普通的以太网接口来使用,它与普通以太网接口的差别只在于:转发的时候Eth-Trunk需要从众多成员接口中选择一个或多个接口来进行转发。所以,除了一些必须在物理接口下配置的特性,可以像配置普通以太网接口那样配置Eth-Trunk逻辑接口。不能把已有的Trunk成员接口再捆绑成为其它Trunk的成员。
3、活动接口和非活动接口
链路聚合存在活动接口和非活动接口两种。转发数据的接口称为活动接口,而不转发数据的接口称为非活动接口。活动接口对应的链路称为活动链路,非活动接口对应的链路称为非活动链路。
在链路聚合中为了提高链路的可靠性,引入了备份链路的机制。而这些备份链路对应的接口通常情况下担当了非活动接口的角色,只有当前活动接口出现故障时,备份的接口才可以由非活动接口转变为活动接口。
4、活动接口数上限阈值
在Eth-Trunk中,如果配置了活动接口数上限阈值,当活动接口数达到这个值后,再向Eth-Trunk中添加成员接口,不会增加Eth-Trunk活动接口的数目。
5、活动接口数下限阈值
设置活动接口数下限阈值主要目的是保证Eth-Trunk链路的带宽。防止由于活动接口数目过少而使这些链路负载过大,出现传输数据丢包的情况。
在Eth-Trunk中,如果配置了活动接口数下限阈值,当活动接口数目低于该值时,Eth-Trunk接口状态将变为Down,此时所有Eth-Trunk中的成员接口不再转发数据。
6、链路聚合的分类
链路聚合根据是否启用链路聚合控制协议分为两种类型:
1)手工负载分担模式链路聚合
手工负载分担模式是一种最基本的链路聚合方式,在该模式下,Eth-Trunk的建立,成员接口的加入,以及哪些接口作为活动接口完全由手工来配置,没有链路聚合控制协议的参与。该模式下所有活动接口都参与数据的转发,分担负载流量,因此称为负载分担模式。
手工负载分担模式下所有的成员接口可以平均分担数据流量,也可以配置成员接口的权重,使部分接口分担更多的流量,实现非平均的流量分担。
如果活动链路中出现故障链路,链路聚合组自动在剩余的活动链路中平均分担或按权重分担数据流量。
2)LACP协议链路聚合
LACP(Link Aggregation Control Protocol)协议链路聚合包含两种类型:
静态LACP模式链路聚合
静态LACP模式下,Eth-Trunk的建立,成员接口的加入,都是由手工配置完成的。但与手工负载分担模式链路聚合不同的是,该模式下LACP协议报文参与活动接口的选择。也就是说,当把一组接口加入Eth-Trunk后,这些成员接口中哪些接口作为活动接口,哪些接口作为非活动接口还需要经过LACP协议报文的协商确定。
动态LACP模式链路聚合
动态LACP模式下,Eth-Trunk的建立,成员接口的加入,活动接口的选择完全由LACP协议通过协商完成。这就意味着启用了动态LACP协议的两台直连设备上,不需要创建Eth-Trunk,也不需要指定哪些接口作为聚合组成员接口,两台设备会通过LACP协商自动完成链路的聚合操作。
8、Trunk接口的约束条件
把多条物理链路在逻辑上等同于一条逻辑链路,而又对上层数据传输透明,必须遵循一定的规则,主要有下列几条。
1)物理接口的物理参数必须一致
Eth-Trunk链路两端相连的物理接口数量必须一致
Eth-Trunk链路两端相连的物理接口的速率必须一致
Eth-Trunk链路两端相连的物理接口的双工方式必须一致
Eth-Trunk链路两端相连的物理接口的流控方式必须一致
2)必须保证数据的有序性
数据流就是具有相同源MAC地址、目的MAC地址、源网络层地址、目的网络层地址以及相同的四层源和目的端口号的一组数据包。例如,两台设备之间的Telnet或FTP连接就是一个数据流。
如果要求属于同一个数据流的二层数据帧必须按照顺序到达,在没使用Eth-Trunk接口时是可以保证的,因为两台设备之间只有一条物理连接。但如果把多条物理链路聚合起来而不采取一定的措施,这个要求就不能被保证了。因为两台设备之间有多条物理链路,如果第一个数据帧在第一条链路上传播,第二个数据帧在第二条链路上传播,这样就可能第二个数据帧比第一个数据帧先到达对端设备。
为了避免这种数据包乱序的情况发生,在实现Eth-Trunk的时候引入了一种数据包转发机制,确保属于同一个数据流的数据帧按照发送的先后顺序到达目的地。这种机制根据MAC地址或IP地址来区分数据流,将属于同一数据流的数据帧通过同一条物理链路发送到目的地。
思科、华为交换机链路聚合(LACP)配置实例
思科:3560G
华为:S5300
思科G0/25---华为G0/0/1
思科G0/27---华为G0/0/2
华为交换机配置链路聚合有两种模式,分别是manual和lacp-static,如果不做配置,交换机默认是manual,所以一定要手动将模式改为lacp-static,这点很重要,否则无法跟思科交换机成功协商LACP。
华为交换机
#interface Eth-Trunk1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
mode lacp-static //修改链路聚合模式
max active-linknumber 2 //设置最大活动链接数为2
bpdu enable //开启BPDU
#lacp priority 100
#interface GigabitEthernet0/0/1
eth-trunk 1
undo ntdp enable
undo ndp enable
(在配置端口前,一定要将端口原有配置清空,全部undo掉,否则无法应用eth-trunk命令。如果之前端口配置过trunk口,可以使用undo port link-type清除trunk状态)
#interface GigabitEthernet0/0/2
eth-trunk 1
undo ntdp enable
undo ndp enable
思科交换机
interface port-channel1
switchport trunk encapsulation dot1q
switchport mode trunk
interface g0/25
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 1 mode active
interface g0/27
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 1 mode active