首页 > 其他分享 >trunk聚合

trunk聚合

时间:2024-05-08 21:44:52浏览次数:14  
标签:负载 聚合 Trunk 接口 分担 链路 Eth trunk

Eth-Trunk又叫以太网链路聚合Eth-Trunk,它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路。达到增加链路带宽的目的。在实现增大带宽目的的同时,Eth-Trunk采用备份链路的机制,可以有效的提高设备之间链路的可靠性。每个聚合组唯一对应着一个逻辑接口,这个逻辑接口称之为链路聚合接口或Eth-Trunk接口。链路聚合接口可以作为普通的以太网接口来使用,与普通以太网接口的差别在于:转发的时候链路聚合组需要从成员接口中选择一个或多个接口来进行数据转发。

两种模式

根据是否启用链路聚合控制协议LACP(Link Aggregation Control Protocol),Eth-trunk的模式分为手工模式和LACP模式。

  • 手工模式Eth-Trunk

    手工模式Eth-Trunk,Eth-Trunk的建立、成员接口的加入由手工配置,没有链路聚合控制协议LACP的参与。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。当需要在两个直连设备之间提供一个较大的链路带宽,而其中一端或两端设备都不支持LACP协议时,可以配置手工模式Eth-Trunk。

    DeviceA与DeviceB之间创建Eth-Trunk,手工模式下三条活动链路都参与数据转发并分担流量。当一条链路故障时,故障链路无法转发数据,链路聚合组自动在剩余的两条活动链路中分担流量。

  •  LACP模式Eth-Trunk

LACP是基于IEEE802.3ad标准的一种实现链路动态聚合与解聚合的协议,以供设备根据自身配置自动形成聚合链路并启动聚合链路收发数据,LACP模式就是采用LACP的一种链路聚合模式。聚合链路形成以后,LACP负责维护链路状态,在聚合条件发生变化时,自动调整链路聚合。

DeviceA与DeviceB之间创建Eth-Trunk,需要将DeviceA上的四个接口与DeviceB捆绑成一个Eth-Trunk。由于错将DeviceA上的一个接口与DeviceC相连,这将会导致DeviceA向DeviceB传输数据时可能会将本应该发到DeviceB的数据发送到DeviceC上。而手工模式的Eth-Trunk不能及时检测到此故障。

如果在DeviceA和DeviceB上都启用LACP协议,经过协商后,Eth-Trunk就会选择正确连接的链路作为活动链路来转发数据,从而DeviceA发送的数据能够正确到达DeviceB。

Eth-Trunk错连示意图

接口LACP优先级是为了区别同一个Eth-Trunk中的不同接口被选为活动接口的优先程度,优先级高的接口将优先被选为活动接口。
注意:只通过比较主动端的各接口接口优先级确定活跃链路

LACP抢占机制

如上图:若LACP开启抢占机制,假如一条主链路发生故障,此时备用链路就会被启用,进行数据转发。假设过了一段时间之后发生故障的主链路回复正常,则端口开始抢占,在抢占延时超时后,成为活跃端口,进入转发状态。备份链路不再转发数据。

为什么要设置抢占延时:
避免由于某些原因链路状态频繁变化而导致的链路聚合数据传输不稳定。(主动链路恢复后,立马抢占,然后突然又故障,有恢复。在恢复和故障之间来回徘徊)

注意:

若未开启抢占机制,则活跃端口故障恢复之后,不抢占,不会重新成为活跃端口,而是成为备份端口。
若希望手动修改端口优先级来指定原本优先级低的端口成为活跃端口,则需要先开启抢占功能,不然调高了优先级也不会切换成活跃端口。

配置方法

  • 手工负载分担模式

当两台设备中至少有一台设备不支持LACP协议时,我们可以使用手工负载分担模式来增加设备间的带宽以及可靠性。
在手工负载模式下,加入Eth-Trunk的链路都进行数据的转发。

手工负载分担模式配置
创建手工负载分担模式Eth-Trunk:

在系统视图中执行命令interface Eth-Trunk trunk-id,创建Eth-Trunk接口并进入Eth-Trunk接口视图。

执行命令portswitch,将Eth-Trunk接口切换为二层模式。(默认为二层模式)
执行命令undo portswitch,将Eth-Trunk接口切换为三层模式。

配置Eth-Trunk的工作模式:mode manual load-balance配置当前Eth-Trunk工作模式为手工负载分担模式。 (默认为手工负载分担模式)

Eth-Trunk中加入成员接口:

方法一:在Eth-Trunk视图下,

执行trunkport interface-type { interface-number1 [ to interface-number2 ] } &<1-16>命令,批量增加成员接口。
执行trunkport interface-type interface-number命令,增加一个成员接口。
在成员接口视图下:

进入想要加入Eth-Trunk的接口视图,执行eth-trunk trunk-id命令,将当前接口加入Eth-Trunk。

  • 创建LACP模式Eth-Trunk

执行interface eth-trunk trunk-id命令,创建Eth-Trunk。
执行命令portswitch,将Eth-Trunk接口切换为二层模式。(默认为二层)
配置Eth-Trunk的工作模式:

在Eth-Trunk接口视图。执行命令mode lacp-static,配置Eth-Trunk的工作模式为LACP模式。

Eth-Trunk接口负载分担

Eth-Trunk接口进行负载分担时,可以选择IP地址或者包作为负载分担的散列依据;同时还可以设置成员接口的负载分担权重。

接口负载分担特点
逐流负载分担 当报文的源IP地址、目的IP地址都相同或者报文的源MAC地址、目的MAC地址都相同时,这些报文从同一条成员链路上通过。
逐包负载分担 以报文为单位分别从不同的成员链路上发送。


两种散列依据造成的问题:

假如主机A向主机B发送一个数据比较大的100个包。

逐流负载分担的处理方式是:这100个包都从一条物理链路发送。这时可能会造成一条物理链路负载较大,一条物理链路空闲。
逐包负载分担的处理方式是:可能第1,3,5…个包从一条物理链路发送;第2,4,6…个包从另一条物理链路发送。此时数据包可能不能按顺序到达目的端,可能会造成数据乱码。

配置命令

进入Eth-Trunk接口视图,执行命令load-balance { ip | packet-all },配置Eth-Trunk接口的散列依据。(缺省情况下,当Eth-Trunk接口根据IP进行散列。)

负载分担权重
配置成员接口的负载分担权重,某成员接口的权重值占所有成员接口负载分担权重之和的比例越大,该成员接口承担的负载就越大。

  • 配置命令

进入以太网接口视图。执行命令distribute-weight weight-value,配置Eth-Trunk成员接口的负载分担权重。(缺省情况下,成员接口的负载分担权重为1。)

 


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



原文链接:https://blog.csdn.net/qq_46254436/article/details/105140125

标签:负载,聚合,Trunk,接口,分担,链路,Eth,trunk
From: https://www.cnblogs.com/yujin123456/p/18180944

相关文章

  • HIVE SQL 聚合函数与 rows between / range between详解
    HIVESQL聚合函数与rowsbetween/rangebetween详解名词解释unbounded:无边界preceding:根据排序后的结果集选定的当前数据行往前following:根据排序后的结果集选定的当前数据行往后unboundedpreceding:根据排序后的结果集选定的当前数据行往前,即到初始行结束npreceding:往......
  • postgresql中两张表的聚合函数合并到一列或一行,做除法,并保留两位小数
    --两张表的无关数据合并到一张表SELECTA.name,B.nameFROM(selecto.name,row_number()over(orderbyname)fromtb_orgaso)A FULLJOIN (selectr.name,row_number()over(orderbyr.name)fromtb_regionasr)BONA.row_number=B.row_number;这里是利用......
  • springboot项目找不到符号问题以及模块聚合项目maven插件使用的相关问题 问题如图
    参考:https://www.cnblogs.com/coderxiaobai/p/15005181.html问题:更换maven,清空缓存重新导入依赖依然无效后(1)解决方法:方式一:删除项目中.idea文件夹,重新打开项目,选中jdk版本,重新导入依赖即可。(2)如果不是上述的原因可能是项目是模块聚合项目,原因就是父工程的pom中存在maven插......
  • H3C 5120配置链路聚合(动态LACP)
    网络拓扑图如下: 组网需求【华三默认链路聚合模式是静态模式】:DeviceA与DeviceB通过各自的以太网端口GigabitEthernet1/0/1~GigabitEthernet1/0/3相互连接在DeviceA和DeviceB上分别配置链路聚合组,并使两端的VLAN10和VLAN20之间分别互通(1)        配置Device......
  • having的用法 对分组后的数据进行条件过滤 ,HAVING语句通常与GROUP BY语句联合使用,用来
    having的用法HAVING语句通常与GROUPBY语句联合使用,用来过滤由GROUPBY语句返回的记录集。HAVING语句的存在弥补了WHERE关键字不能与聚合函数联合使用的不足。语法:SELECTcolumn1、column2、...column_n,aggregate_function(expression)。FROMtables。WHEREpredicates。GRO......
  • 简单聊聊,聚合支付+分账系统体系的运用
    聚合支付分账体系的意义在哪里呢?前端可使用聚合支付通道来进行收款,后端为了资金的快速有效的分配,那么分账系统是比较好的选择,今天我们来着重讲讲分账系统。分账账户体系-自动分账,减少人工支出,降低二清风险!!!在数字化浪潮下第三方支付价值凸显,大大提升资金流与信息流流转效率,成......
  • MySQL多表联合查询&聚合函数应用实例
     DDL——学生表——成绩表CREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'学号',`createDate`datetimeDEFAULTNULL,`userName`varchar(20)DEFAULTNULL,`pwd`varchar(36)DEFAULTNULL,`phone`varchar(11)DEFAULTNULL,`......
  • MYSQL五个常见的聚合函数
    学生表DDLCREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'学号',`createDate`datetimeDEFAULTNULL,`userName`varchar(20)DEFAULTNULL,`pwd`varchar(36)DEFAULTNULL,`phone`varchar(11)DEFAULTNULL,`age`tinyi......
  • ES查询之聚合函数、分组查询
    目录一、前言二、准备数据三、avg四、max五、min六、sum七、多个聚合和嵌套聚合七、分组查询一、前言聚合函数大家都不陌生,同数据库的聚合函数一样,elasticsearch中也没玩出新花样,所以,这一章相对简单,只需要记得下面几个用法即可:avgmaxminsum聚合的两个主要的......
  • MySQL多表联合查询、聚合函数
    1、DDLCREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'学号',`createDate`datetimeDEFAULTNULL,`userName`varchar(20)DEFAULTNULL,`pwd`varchar(36)DEFAULTNULL,`phone`varchar(11)DEFAULTNULL,`age`tinyin......