网络可靠性是什么?
网络的可靠性指当设备或者链路出现单点或者多点故障时保证网络服务不间断的能力。
实际工作中网络需要保证可靠性,实现冗余设计。会从三个层次实现:
链路冗余
单板冗余
整机设备冗余
网络的可靠性指当设备或者链路出现单点或者多点故障时保证网络服务不间断的能力。
这次我们主要学习链路可靠性,通过一些技术实现多条网线共同工作,当其中一条断开不影响网络业务。
为保证设备间链路可靠性,在设备间部署多条物理线路,为防止环路STP只保留一条链路转发流量,其余链路成为备份链路。
以太网链路聚合原理
概述
设备之间存在多条链路时,由于STP的存在,实际只会有一条链路转发流量,设备间链路带宽无法得到提升。STP知识参考之前的文章。
以太网链路聚合Eth-Trunk:简称链路聚合,通过将多个物理接口捆绑成为一个逻辑接口,可以在不进行硬件升级的条件下,达到增加链路带宽的目的。简单讲就是提高链路利用率,让多条链路逻辑上成为一个端口,这样STP就将这个逻辑接口当成一个端口而不会进行阻塞。
工作原理
聚合组(Link Aggregation Group,LAG)::若干条链路捆绑在一起所形成的的逻辑链路。每个聚合组唯一对应着一个逻辑接口,这个逻辑接口又被称为链路聚合接口或Eth-Trunk接口。
成员接口和成员链路:组成Eth-Trunk接口的各个物理接口称为成员接口。成员接口对应的链路称为成员链路。
活动接口和活动链路:活动接口又叫选中(Selected)接口,是参与数据转发的成员接口。活动接口对应的链路被称为活动链路(Active link)
非活动接口和非活动链路:又叫非选中(Unselected)接口,是不参与转发数据的成员接口。非活动接口对应的链路被称为非活动链路(Inactive link)。
聚合模式 :根据是否开启LACP(Link Aggregation Control Protocol,链路聚合控制协议),链路聚合可以分为手工模式和LACP模式。
【注意事项】:
1、链路聚合接口可以作为普通的以太网接口来使用,与普通以太网接口的差别在于:转发的时候链路聚合组需要从成员接口中选择一个或多个接口来进行数据转发。也就是可以配置Trunk口与Access口等。
2、一个聚合组内要求成员接口以下参数相同:
接口速率
双工模式
VLAN配置
大白话讲就是,创建一个聚合逻辑组,然后将多个物理接口加入到聚合组,然后可以设置其中的活动接口和备份接口,比如4个接口只保留3个活动接口,接口对应就是那条链路,然后聚合组和普通的二层接口一致可以配置Trunk和Access等,两端设备建议保持一致。
链路聚合的两种工作模式
链路聚合有两种模式:手工模式,LACP模式。
手工模式
手工模式: Eth-Trunk的建立、成员接口的加入均由手动配置,双方系统之间不使用LACP进行协商。
正常情况下所有链路都是活动链路,该模式下所有活动链路都参与数据的转发,平均分担流量,如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。
当聚合的两端设备中存在一个不支持LACP协议时,可以使用手工模式。
手工模式下的缺陷不足:
为了使链路聚合接口正常工作,必须保证本端链路聚合接口中所有成员接口的对端接口:
属于同一设备
加入同一链路聚合接口
手工模式下,设备间没有报文交互,因此只能通过管理员人工确认。
手动模式下,设备只能通过物理层状态判断对端接口是否正常工作。
配置示例:
# 创建链路聚合组
[Huawei] interface eth-trunk trunk-id
# 配置链路聚合模式,Mode lacp配置链路聚合模式为lacp模式,mode manual load-balance配置链路聚合模式为手工模式。
[Huawei-Eth-Trunk1] mode {
lacp | manual load-balance }
# 将接口加入链路聚合组中(Eth-Trunk视图),可以在聚合组添加也可以手动进入物理以太网接口添加
[Huawei-Eth-Trunk1] trunkport interface-type {
interface-number}
# 将接口加入链路聚合组中(以太网接口视图)
[Huawei-GigabitEthernet0/0/1] eth-trunk trunk-id
# 查看聚合口状态
[LSW2]display eth-trunk 1
# 查看接口信息
[LSW1]display interface Eth-Trunk 1
手工配置链路聚合只能人工判断接口状态,不能检测链路状态,默认所有链路都是活动链路。
LACP模式
LACP模式:采用LACP协议的一种链路聚合模式。设备间通过链路聚合控制协议数据单元(Link Aggregation Control Protocol Data Unit,LACPDU)进行交互,通过协议协商确保对端是同一台设备、同一个聚合接口的成员接口。
LACPDU报文中包含设备优先级、MAC地址、接口优先级、接口号等。
系统优先级:确定哪一边设备为主,另外一端根据主动端进行协商
LACP模式下,两端设备所选择的活动接口数目必须保持一致,否则链路聚合组就无法建立。此时可以使其中一端成为主动端,另一端(被动端)根据主动端选择活动接口。通过系统LACP优先级确定主动端,值越小优先级越高,如果优先级一样则MAC地址小的为主动端。
接口优先级:优先级越小越优先,一致就比较接口ID,如G1/0/1,G1/0/2,越小越优先。
选出主动端后,两端都会以主动端的接口优先级来选择活动接口,优先级高的接口将优先被选为活动接口。接口LACP优先级值越小,优先级越高。
最大活动接口数:LACP模式可以选择性启用活动接口数量,也就是控制带宽速率
LACP模式支持配置最大活动接口数目,当成员接口数目超过最大活动接口数目时会通过比较接口优先级、接口号选举出较优的接口成为活动接口,其余的则成为备份端口(非活动接口)。
当活动链路中出现链路故障时,可以从非活动链路中找出一条优先级最高(接口优先级、接口编号比较)的链路替换故障链路,实现总体带宽不发生变化、业务的不间断转发。
配置示例:
# 创建聚合口
interface Eth-Trunk1
mode lacp-static # 修改为lacp模式
trunkport Ethernet 0/0/1 to 0/0/3 # 添加接口
# 查看命令dis eth-trunk 1
# dis int eth-trunk 1
# 设置最大活动接口,其余为备份接口
max active-linknumber 2
# 使能允许不同速率端口加入同一Eth-Trunk接口的功能
[Huawei-Eth-Trunk1] mixed-rate link enable
# 配置系统LACP优先级
[Huawei] lacp priority priority
# 配置接口LACP优先级
[Huawei-GigabitEthernet0/0/1] lacp priority priority
# 配置最小活动接口数
[Huawei-Eth-Trunk1] least active-linknumber {
number}
LACP选举过程:
负载分担
在使用Eth-Trunk转发数据时,由于聚合组两端设备之间有多条物理链路,如果每个数据帧在不同的链路上转发,则有可能导致数据帧到达对端时间不一致,从而引起数据乱序。
Eth-Trunk推荐采用逐流负载分担的方式,即一条相同的流负载到一条链路,这样既保证了同一数据流的数据帧在同一条物理链路转发,又实现了流量在聚合组内各物理链路上的负载分担。
负载分担模式: Eth-trunk支持基于报文的IP地址或MAC地址来进行负载分担,可以配置不同的模式(本地有效,对出方向报文生效)将数据流分担到不同的成员接口上。
常见的模式有:源IP、源MAC、目的IP、目的MAC、源目IP、源目MAC。
实际业务中用户需要根据业务流量特征选择配置合适的负载分担方式。业务流量中某种参数变化越频繁,选择与此参数相关的负载分担方式就越容易实现负载均衡。
链路聚合是通过在设备间连接多条线实现链路可靠性,但是会因为STP导致阻塞,因此需要链路聚合实现逻辑聚合成一个端口。链路聚合有两种方式,手动模式需要管理员确定端口状态变更,LACP通过报文实现协商,根据系统优先级和接口优先级确定主动端,可以配置最大接口数实现提高带宽以及链路备份功能。实际数据在还是在物理链路中传输,因此可能多条数据流走的接口不一致,可以按需选择合适的负载分担模式。