0x00 汇总
0x01 链路聚合
随着网络规模不断扩大,用户对骨干链路的带宽和可靠性提出了越来越高的要求。在传统技术中,常用更换高速率的接口板或更换支持高速率接口板的设备的方式来增加带宽,但这种方案需要付出高额的费用,而且不够灵活。
采用链路聚合技术可以在不进行硬件升级的条件下,通过将多个物理接口捆绑为一个逻辑接口,来达到增加链路带宽的目的。在实现增大带宽目的的同时,链路聚合采用备份链路的机制,可以有效的提高设备之间链路的可靠性。
- 链路聚合是把两台设备之间的多条物理链路聚合在一起,当做一条逻辑链路来使用。这两台设备可以是一对路由器,一对交换机,或者是一台路由器和一台交换机。一条聚合链路可以包含多条成员链路,在ARG3系列路由器和X7系列交换机上默认最多为
8
条。 - 链路聚合能够提高链路带宽。理论上,通过聚合几条链路,一个聚合口的带宽可以扩展为所有成员口带宽的总和,这样就有效地增加了逻辑链路的带宽。
- 链路聚合为网络提供了高可靠性。配置了链路聚合之后,如果一个成员接口发生故障,该成员口的物理链路会把流量切换到另一条成员链路上。
- 链路聚合还可以在一个聚合口上实现负载均衡,一个聚合口可以把流量分散到多个不同的成员口上,通过成员链路把流量发送到同一个目的地,将网络产生拥塞的可能性降到最低。
聚合要求
在一个聚合口中,聚合链路两端的物理口(即成员口)的所有参数必须一致,包括物理口的数量
,传输速率
,双工模式
。
成员口可以是二层接口
或三层接口
。
0x02 链路聚合模式
链路聚合包含两种模式:手动负载均衡模式
和LACP(Link Aggregation Control Protocol)
模式。
- 手工负载分担模式下,Eth-Trunk的建立、成员接口的加入由手工配置,没有链路聚合控制协议的参与。该模式下所有活动链路都参与数据的转发,平均分担流量,因此称为负载分担模式。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。当需要在两个直连设备间提供一个较大的链路带宽而设备又不支持LACP协议时,可以使用手工负载分担模式。
- 在LACP模式中,链路两端的设备相互发送LACP报文,协商聚合参数。协商完成后,两台设备确定活动接口和非活动接口。在LACP模式中,需要手动创建一个Eth-Trunk口,并添加成员口。LACP协商选举活动接口和非活动接口。LACP模式也叫M:N模式。M代表活动成员链路,用于在负载均衡模式中转发数据。N代表非活动链路,用于冗余备份。如果一条活动链路发生故障,该链路传输的数据被切换到一条优先级最高的备份链路上,这条备份链路转变为活动状态。
两种链路聚合模式的主要区别是:
- 在LACP模式中,一些链路充当
备份链路
。 - 在手动负载均衡模式中,所有的成员口都处于
转发状态
。
链路聚合配置
配置LACP还是手工来说,其实就一条命令有区别,所以大体配置还是相似的。由于华为设备配置链路聚合有些特殊,这里还是简单记录下。
一、创建链路聚合组
执行命令system-view
,进入系统视图。
执行命令interface eth-trunk trunk-id
,创建Eth-Trunk接口,并进入Eth-Trunk接口视图。
二、 配置链路聚合模式
执行命令system-view
,进入系统视图。
执行命令interface eth-trunk trunk-id
,进入Eth-Trunk接口视图。
执行命令mode manual load-balance
,配置Eth-Trunk的工作模式,可以不用配置
。
注意,缺省情况下,Eth-Trunk
的工作模式为手工负载分担
模式,如果想使用lacp
,则将mode manual load-balance
改为mode lacp
即可。
三、 将成员接口加入聚合组
这里有两种方法:
- 一种是进入
eth-trunk
接口,将物理接口关联进来,这个可以批量关联,在某些时候会更加方便;
执行命令system-view
,进入系统视图。
执行命令interface eth-trunk trunk-id
,进入Eth-Trunk接口视图。
执行命令trunkport interface-type { interface-number1 [ to interface-number2 ] } &<1-8> [ mode { active | passive } ]
,增加成员接口。 - 另外一种则是进入物理接口,将
eth-trunk
接口进行关联,选择其中一种就可以,但是要注意,不管是哪种,接口一定得空配
,不然关联失败。
执行命令system-view
,进入系统视图。
执行命令interface interface-type interface-number
,进入接口视图。
执行命令eth-trunk trunk-id [ mode { active | passive } ]
,将当前接口加入Eth-Trunk
。