链路聚合Eth-Trunk

  • 什么是链路聚合?
    • 原理
    • 基本术语
    • 聚合模式
    • 负载分担的逐流转发和逐包转发
    • 负载分担的延伸
    • 链路聚合实验一、手工聚合
    • 链路聚合实验二、LACP-STATIC聚合
    • 链路聚合实验的疑问思考
    • 补充,三层Eth-Trunk配置
    • 补充,集群环境下的链路聚合

什么是链路聚合?

以太网链路聚合Eth-Trunk:简称链路聚合,通过将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的。同时这些捆绑在一起的链路通过相互间的动态备份,可以有效提高链路可靠性。Eth-Trunk链路可以看成是一条点到点的直连链路,可以实现流量的负载分担。

为了提高链路的带宽、、安全、可靠性,通常是升级设备性能、通过STP来确保链路传输的可靠性,但是这种解决方案灵活度低,协议实现复杂,浪费链路资源,不能提供负载分担等功能,不太适用于技术的发展,于是繁衍出链路聚合技术。

——————————————————————————————————————————————————————————

原理

在这里首先声明一些基本的原理。

——————————————————————————————————————————————————————————

1、首先链路聚合Eth-Trunk位于MAC与LLC子层之间,属于数据链路层。

Eth-Trunk模块内部维护一张转发表,这张表由两部分组成:
1、HASH-KEY值:根据数据包的MAC地址或IP地址等,经HASH算法计算得出。
2、接口号:转发表表项分布和设备每个Eth-Trunk支持加入成员接口数量相关,不同HASH-KEY值对应不同的出接口。


好比三个人,ABC;三个门,123。把A/B/C三个人通过HASH计算得出的值,分别通过绑定的三个门转发。

———————————————————————————————————————————————————————————

基本术语

———————————————————————————————————————————————————————————

1、聚合组(Link Aggregation Group ,LAG):若干条链路捆绑在一起所形成的的逻辑链路。每个聚合组唯一对应着一个逻辑接口,这个逻辑 接口又被称为链路 聚合接口或Eth-Trunk 接口。
2、成员接口和成员链路:组成Eth-Trunk接口的各个物理接口称为成员接口。成员接口对应的链路称为成员链路。
3、活动接口和活动链路:活动接口又叫选中(Selected)接口 ,是参与数据转发的成员接口。活动接口对应的链路被称为活动链路(Active link)
4、非活动接口和非活动链路:又叫非选中(Unselected)接口,是不参与转发数据的成员接口 。非活动接口对应的链路被称为非活动链路(Inactive link )。
5、聚合模式 :根据是否开启LACP(Link Aggregation Control Protocol ,链路聚合 控制协议),链路聚合可以分为手工模式和 LACP 模式 。
6、其他概念:活动接口上限阈值和活动接口下限阈值。

就好比一个部门有5个人(成员接口),五个人的部门名称(聚合组名称)=技术部,其中要求最少两个人干活(接口的下线阈值),最多四个人干活(接口的上限阈值),干活的=活动接口,没有干活的=非活动接口。

———————————————————————————————————————————————————————————

聚合模式

———————————————————————————————————————————————————————————
手工模式

DA与DB之间创建聚合,手工模式下三条活动链路都参与数据转发并分担流量,当一条链路故障时,故障链路无法转发数据,链路聚合组自动在剩余的两条链路活动中分担流量。常用的设备基本都支持手工模式聚合。

LACP模式(LACP-STATIC)

为了提高容错性,并且提供备份功能,保证成员链路的可靠性,出现链路聚合LACP。聚合链路形成后,LACP负责维护链路状态,在聚合发生变化时,自动调整或解散链路。
启用LACP协议后,两端互相发送LACPDU报文。确定主动端和活动链路。

手工模式和LACP模式的主要区别:手工模式无法识别链路错连、差错检测,只要端口UP,就会转发数据,并不关心链路差错以及跨交换机错连线路。至于两者关于备份链路的区别,只有在配置了接口阈值才会体现。

活动接口及链路选举
前提:两端配置最大活跃接口数为2

1.通过lacp选举出优先级较高的交换机作为主动端
2.主动端比较接口优先级,选举出活动接口
3.主动端通过lacpdu将本端的活动接口选举结果告诉对方
4.被动端根据主动端的选举结果,明确本端的活动接口且数量一致,对应的链路就是活动链路

————————————————————————————————————————————————————————————

负载分担的逐流转发和逐包转发

————————————————————————————————————————————————————————————
逐包转发

使用Eth-Trunk转发数据时,聚合组两端有多条物理链路,将一整段数据切割成多个数据帧,在多个链路上传输,速度较快,但是有可能因为到达时间不同而导致乱序。这才是真正的负载分担,有效保证链路带宽率,但是会使数据发生乱序。

逐流转发
把数据帧中的地址通过HASH算法生成HASH-KEY值,然后根据这个数值在Eth-Trunk转发表中寻找对应的出接口,不同的地址算出不同的HASH-KEY值,从而出接口也不相同,这样保证了同一数据流的帧在同一条物理链路转发,也实现了不同流的负载分担,也保证了数据不会乱序,但是不能保证带宽的有效利用。

逐包转发就好比:想玩吃鸡,在淘宝组装一个台式电脑,分别多个店铺下单了,结果下单完成,等了1个礼拜,CPU/内存/主板/硬盘/电源/机箱/显示器都到货了,分别用了京东、顺丰,韵达、申通。唯独买的英伟达3080Ti显卡给发了个邮政快递,结果还要等4天才到。导致电脑组装不起来,吃鸡玩不了。难受啊!(用了多个快递公司=链路利用率高,邮政送的太慢了=数据会发生错乱)

逐流转发就好比:就好比,火车站进站,外面人排了一大堆刷身份证验票进站,马上要发车了,结果我来迟了,花了15块钱,从侧门走了个绿色通道,快速的进站了。在发车前,大家都坐上了心爱的绿皮火车。(排队刷身份证和花15块钱走绿色通道=对报文的地址进行了HASH计算,结果就是普通和VIP。排队的人几百个,绿色通道的人就那么几十个人=不能保证带宽的利用率。)

华为设备默认基于逐流转发。

————————————————————————————————————————————————————————————

负载分担的延伸

基于逐包的负载分担,对于数据会造成错乱现象,这个对于保证数据的可靠性几乎是致命的。

基于逐流的负载分担,对于链路利用率又充分。有时会出现某条线路负载过高,而其余链路比较空闲。

在这个问题上又出现了细分的基于流的负载分担

基于流的负载分担又分为以下几种,根据具体的应用场景选择不同的负载分担方式。
根据报文的源MAC地址进行负载分担 =SA
根据报文的目的MAC地址进行负载分担 =DA
根据报文的源IP地址进行负载分担=SIP
根据报文的目的IP地址进行负载分担=DIP
根据报文的源MAC地址和目的MAC地址进行负载分担=SA-XOR-DA
根据报文的源IP地址和目的IP地址进行负载分担=SIP-XOR-DIP
扩展:
根据报文的VLAN、源物理端口等对L2、IPv4、IPv6和MPLS报文进行增强型负载分担。
配置Eth-Trunk接口基于同源同宿的分流功能。

**例如:数据报文的目的MAC和IP地址只有一个,则应选择根据报文的源MAC和IP地址进行负载分担,如果选择根据报文的目的MAC和IP地址进行负载分担则会造成流量只在一条链路上传输,造成流量拥堵。

————————————————————————————————————————————————————————————

链路聚合实验一、手工聚合

使用默认的简单配置。

LSW1配置:
sys
[Huawei]int Eth-Trunk 1 //创建聚合端口
[Huawei-Eth-Trunk1] Mode manual load-balance //配置聚合模式为手工
[Huawei-Eth-Trunk1] Trunkport GE0/0/1 to 0/0/3 //成员加入聚合组
[Huawei-Eth-Trunk1]port link-type trunk
[Huawei-Eth-Trunk1] port trunk allow-pass vlan //没有规划VLAN,可省略

LSW2配置:
sys
[Huawei]int Eth-Trunk 1 //创建聚合端口
[Huawei-Eth-Trunk1] Mode manual load-balance //配置聚合模式为手工
[Huawei-Eth-Trunk1] Trunkport GE0/0/1 to 0/0/3 //成员加入聚合组
[Huawei-Eth-Trunk1]port link-type trunk
[Huawei-Eth-Trunk1] port trunk allow-pass vlan //没有规划VLAN,可省略

查看结果:LSW1

WorkingMode:NORMAL=普通的链路聚合
Hash arithmetic:SIP-XOR-DIP=接口基于源IP地址与目的IP地址进行负载分担
Max Bandwidth=affected-linknmber:8=影响链路聚合带宽最大连接数,主要用于STP计算
其他的没什么好说的了。一会在具体分析。
——————————————————————————————————————————————————————————

链路聚合实验二、LACP-STATIC聚合

使用默认的简单配置。

LSW1配置:
[Huawei] int Eth-Trunk 1
[Huawei-Eth-Trunk1]mode lacp-static //配置LACP模式
[Huawei-Eth-Trunk1]port link-type trunk
[Huawei-Eth-Trunk1]port trunk allow-pass vlan all //可选配置
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]eth-trunk 1 //成员加入聚合组1
[Huawei]int g0/0/2
[Huawei-GigabitEthernet0/0/1]eth-trunk 1
[Huawei]int g0/0/3
[Huawei-GigabitEthernet0/0/1]eth-trunk 1

LSW2配置:
[Huawei] int Eth-Trunk 1
[Huawei-Eth-Trunk1]mode lacp-static
[Huawei-Eth-Trunk1]port link-type trunk
[Huawei-Eth-Trunk1]port trunk allow-pass vlan all
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]eth-trunk 1
[Huawei]int g0/0/2
[Huawei-GigabitEthernet0/0/1]eth-trunk 1
[Huawei]int g0/0/3
[Huawei-GigabitEthernet0/0/1]eth-trunk 1

配置完了看下结果

LAG ID=链路聚合组ID=1
WorkingMode:STATIC=LACP-STATIC
System Priority:32768,用来协商主动被动的。默认都是32768,对比MAC地址。
Preempt Delay:Disbaled:抢占延迟的意思,没配置,默认是关闭的
Hash:负载分担,基于IP的负载分担。
其他的就不多说了,设备的优先级,设备的MAC地址,上限/下线阈值,状态,链路成员数量。
本地端口成员状态,Selected和Unselected。主和备,转发和不转发区别。
下面就是对端的信息。

————————————————————————————————————————————————————————————

链路聚合实验的疑问思考

问题一:LACP聚合的原理不是说有备份功能么,怎么没看见非活动接口成员UnSelected呢?

比如三条线路做聚合捆绑,配置了Max active-linknumber 2,那么剩余的那条链路就是UnSelected状态,不能转发数据。

[Huawei-Eth-Trunk1]max active-linknumber 2

当我们Shutdown掉G0/0/2,会出现什么状态呢?
非活动端口(备份链路)自动转换为活动链路。
G0/0/2就算undo shutdown,也不会变成活动接口,G0/0/1和G0/0/3依旧是活动接口。要想切换回去需要配置抢占,这里就不介绍了,华为设备默认关闭抢占模式。个人觉得,没哈意义啊。谁能解释下呢?

——————————————————————————————————————————————————————————
问题二:那配置了默认的设置后,你怎么知道就流量负载了呢?能实验不?

还是之前的LACP模式的聚合,我们通过PC1和和PC3一起PING PC2和PC4,看到底能不能进行分流?


192.168.1.1 Ping 192.168.1.3
192.168.1.2 Ping 192.168.1.4

看看是从一条链路上通过的,还是负载了。G0/0/1和G0/0/3是活动转发端口。抓包这两个端口,PC同时回车。

妈的配了半天,居然没分流?不是负载均衡吗。。。逐流分担,不是说了,根据源地址,进行HASH计算吗。
负载的算法哪里出问题了,查看了下,手工的和LACP的Hash=SIP-XOR-DIP,都是基于源IP和目的IP进行负载分担。
修改负载分担方式,基于MAC地址的负载分担。看看效果如何。
[Huawei-Eth-Trunk1]load-balance src-dst-mac

立马负载分担了。

结论吧,基于二层的聚合,就根据源MAC和目的MAC进行负载分担,如果配置的Eth-Trunk是基于IP的聚合,就配置load-balance src-dst-ip

文章内容如有错误或是有更好的见解,直接在评论处留言。

————————————————————————————————————————————————————————————

补充,三层Eth-Trunk配置

AR1配置
[Huawei] interface Eth-Trunk1
[Huawei-Eth-Trunk1] undo portswitch
[Huawei-Eth-Trunk1] ip address 10.1.1.1 255.255.255.0
[Huawei-Eth-Trunk1] mode lacp-static

[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]eth-trunk 1
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/0]eth-trunk 1

[Huawei]int g0/0/2
[Huawei-GigabitEthernet0/0/2]ip add 192.168.1.254 24
[Huawei]ip route-static 192.168.2.0 24 10.1.1.2

AR2就不演示了。


测试了,默认分流。基于MAC,就不分流了。
基于MAC的话,路由器接收过来的MAC,都是路由器的MAC,不管谁都是同一标记。

——————————————————————————————————————————————————————————

补充,集群环境下的链路聚合

将集群设备不同设备中的物理接口聚合到一个逻辑接口中,当集群设备中某台设备故障或加入聚合接口中的物理成员口故障,可通过集群设备间线缆跨框传输数据流量,从而保证数据传输的可靠性,同时实现了设备间的备份。

如图在B网络无故障的情况下从DeviceB或DeviceC上来的流量,通过本设备中的成员口转发,而不是像a图中通过集群设备间线缆跨框转发。

这里有个重点,就是牵扯本地流量优先转发。在网络无故障的情况下,DB或DC上来的流量,通过本设备成员口优先本地转发,而不是像A图中通过集群设备间的线缆跨框转发。

在详细解释下:在设备集群情况下,为了保证流量的可靠传输,流量的出接口设置为Eth-Trunk接口。那么Eth-Trunk接口中必定存在跨框成员口。当集群设备转发流量时,Eth-Trunk接口通过HASH算法可能会选择跨框的成员口。由于集群设备间线缆带宽有限,跨框转发流量增加了集群设备之间的带宽承载压力,同时也降低了流量转发效率。为了解决这个问题,可以使能Eth-Trunk接口流量本地优先转发。
华为设备做CSS的默认本地优先转发。
进入Eth-Trunk视图
执行命令local-preference enable

**链路聚合技术如今广泛应用,在交换机至核心链路及双核心之间,服务器区至核心的服务器接入交换机/WF等等都应用的比较广泛。链路捆绑技术也不只有Eth-Trunk。
Eth-Trunk:以太网链路聚合技术。
E-Trunk:以太网链路聚合技术的扩展版。支持跨设备聚合。(感觉意义不大)
MP:应用在广域网PPP链路捆绑技术。
IP-Trunk:应用在广域网POS接口捆绑技术,HDCL封装形式

华为以太网链路聚合Eth-Trunk实验相关推荐

  1. 华为以太网链路聚合原理及配置

      链路聚合在华为交换机中称Eth-Trunk,是将一组相同类型的物理以太网口绑定在一起的逻辑接口,是一种用于增加链路带宽的方法.该逻辑接口与物理接口一样,可以被配置为Access.Hybrid.Tr ...

  2. 华为端口聚合命令_以太网链路聚合配置命令 - S1720, S2700, S5700, S6720 V200R011C10 命令参考 - 华为...

    以太网链路聚合配置命令 命令支持情况 默认所有款型均支持本章节命令,如有个别命令行或参数存在差异,请详见具体命令行中的说明. authentication-mode(E-Trunk视图) 命令功能 a ...

  3. 网络技术之以太网链路聚合!

    什么是链路聚合 以太网链路聚合Eth-Trunk简称链路聚合,通过将多个物理接口捆绑为一个逻辑接口,可以在不进行硬件升级的条件下,达到增加链路带宽的目的. 链路聚合技术主要有以下三个优势: 增加带宽 ...

  4. HCIA~以太网链路聚合与交换机堆叠、集群

    1.网络可靠性需求 网络的可靠性 网络的可靠性指当设备或者链路出现单点或者多点故障时保证网络服务不间断的能力. 网络的可靠性可以从单板.设备.链路多个层面实现. 单板可靠性   设备可靠性 链路可靠性 ...

  5. 华为交换机链路聚合命令总结(eNSP)

    华为交换机链路聚合: [LSW1]和[LSW2]配置相同, [LSW1]undo info-center enable 关闭信息提示 [LSW1]interface Eth-Trunk 1 [LSW1 ...

  6. 华为交换机-链路聚合

    链路聚合简介 以太网链路聚合Eth-Trunk简称链路聚合,它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路, 从而实现增加链路带宽的目的.同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效 ...

  7. 华为LACP链路聚合配置

    华为LACP链路聚合配置 链路聚合原理:链路聚合的原理是将一组相同属性的物理接口捆绑在一起为一个逻辑接口来增加带宽和可靠性的一种方法.有以下优势: 增加带宽.提高冗余(提高可靠性).负载分担.节省成本 ...

  8. 以太网链路聚合与交换机堆叠、集群(浅谈、总结)

    目录: 网络可靠性需求 链路聚合技术原理与配置 堆叠/集群概述 网络可靠性需求 目的:避免单点故障,避免因某个链路或者某个设备发生故障而导致整个数据通信中断 解决方法: 方法一: 链路聚合 方法二: ...

  9. 华为HCIA(六)以太网链路聚合与交换机堆叠、集群

    网络可靠性需求 随着网络的快速普及和应用的日益深入,各种增值业务得到了广泛部署,网络中断可能导致大量业务异常.造成重大经济损失.因此,作为承载业务主体的基础网络,其可靠性成为备受关注的焦点.网络的可靠 ...

最新文章

  1. 求最大值_Excel求最大值地球人都知道,那要求出第2、第3、第N大值呢?
  2. 长沙经济复苏战打的如何?我们从高桥红星两个市场里找到了答案
  3. 购物车商品计算JavaScript实现
  4. matlab从哪里学,从零开始学MATLAB(附光盘)/从零开始学系列
  5. yum是什么?(linux命令)
  6. 85. Maximal Rectangle 由1拼出的最大矩形
  7. 微服务架构是啥?一个故事告诉你!
  8. sprint() 和 snprint()
  9. atmega 328P-PU 烧录arduino uno成功(纪念)
  10. 用acdess制作html文件,Acdsee如何制作幻灯片 Acdsee制作幻灯片方法教程
  11. 正则表达式匹配非负数字
  12. Zookeeper的事务--Transaction
  13. unity ar vr_学习在Unity中创建AR和VR应用
  14. 11月合资SUV销量:日系车统治榜单 大众产品攻势“拳意渐乱”
  15. 使用Audacity制作ACX有声读物 ACX Audiobook Production Using Audacity
  16. 走查是什么意思啊?如何给原稿进行走查?
  17. 实战PyQt5: 130-使用HTTP请求下载文件
  18. 周易六十四卦——雷火丰卦
  19. oracle通信通道的文件结尾_Oracle错误——ORA-03113:通信通道的文件结尾 解决办法...
  20. 北航计算机考博经验,考博经验——说说我北邮北航考博经历

热门文章

  1. SSL-ZYC 2405 巧克力
  2. 2021-09-13 多组EQ切换
  3. 【官方文档】Fluent Bit 数据管道之过滤插件(Parser)
  4. 华为云存储空间图库占比太大_管理云存储空间
  5. kerastensorflow+分布式训练︱实现简易视频内容问答框架
  6. Unity3D中UGUI的RectTransform对齐方式详解
  7. 翻译-现代浏览器的架构与发展
  8. LuceneElasticSeach
  9. iso8583协议说明
  10. ado连接oracle数据库帮助类,MFC ADO连接Oracle12c数据库 类库文件