LACP链路聚合

2024-09-02 14:04
文章标签 聚合 链路 lacp

本文主要是介绍LACP链路聚合,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

链路聚合包含两种模式:手动负载均衡模式和LACP(Link AggregationControl Protocol)模式。
在这里插入图片描述

手工负载分担模式:Eth-Trunk的建立、成员接口的加入由手工配置,没有链路聚合控制协议的参与。该模式下所有活动链路都参与数据的转发,平均分担流量,因此称为负载分担模式。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。当需要在两个直连设备间提供一个较大的链路带宽而设备又不支持LACP协议时,可以使用手工负载分担模式。ARG3系列路由器和X7系列交换机可以基于目的MAC地址,源MAC地址,或者基于源MAC地址和目的MAC地址,源IP地址,目的IP地址,或者基于源IP地址和目的IP地址进行负载均衡。

LACP模式:链路两端的设备相互发送LACP报文,协商聚合参数。协商完成后,两台设备确定活动接口和非活动接口。在LACP模式中,需要手动创建一个Eth-Trunk口,并添加成员口。LACP协商选举活动接口和非活动接口。LACP模式也叫M:N模式。M代表活动成员链路,用于在负载均衡模式中转发数据。N代表非活动链路,用于冗余备份。如果一条活动链路发生故障,该链路传输的数据被切换到一条优先级最高的备份链路上,这条备份链路转变为活动状态。

两种链路聚合模式的主要区别是:在LACP模式中,一些链路充当备份链路。在手动负载均衡模式中,所有的成员口都处于转发状态。

数据流在聚合链路上传输,数据顺序必须保持不变。配置了链路聚合后,多条物理链路被绑定成一条聚合链路,一个数据流中的帧通过不同的物理链路传输。如果第一个帧通过一条物理链路传输,第二个帧通过另外一条物理链路传输,这样一来同一数据流的第二个数据帧就有可能比第一个数据帧先到达对端设备,从而产生接收数据包乱序的情况。

为了避免这种情况的发生,Eth-Trunk采用逐流负载分担的机制,这种机制把数据帧中的地址通过HASH算法生成HASH-KEY值,然后根据这个数值在Eth-Trunk转发表中寻找对应的出接口,不同的MAC或IP地址HASH得出的HASH-KEY值不同,从而出接口也就不同,这样既保证了同一数据流的帧在同一条物理链路转发,又实现了流量在聚合组内各物理链路上的负载分担,即逐流的负载分担。逐流负载分担能保证包的顺
序,但不能保证带宽利用率。

负载分担的类型主要包括以下几种,用户可以根据具体应用选择不同的负载分担类型。

  1. 根据报文的源MAC地址进行负载分担;
  2. 根据报文的目的MAC地址进行负载分担;
  3. 根据报文的源IP地址进行负载分担;
  4. 根据报文的目的IP地址进行负载分担;
  5. 根据报文的源MAC地址和目的MAC地址进行负载分担;
  6. 根据报文的源IP地址和目的IP地址进行负载分担;
  7. 根据报文的VLAN、源物理端口等对L2、IPv4、IPv6和MPLS报文进行增强型负载分担。
    在这里插入图片描述
    配置LACP模式的链路聚合示例(交换机之间直连)
    在这里插入图片描述
SwitchA的配置文件
#
sysname SwitchA
#
vlan batch 10 20
#
lacp priority 100
#
interface Eth-Trunk1port link-type trunkport trunk allow-pass vlan 10 20mode lacpmax active-linknumber 2
#
interface GigabitEthernet1/0/1eth-trunk 1lacp priority 100
#
interface GigabitEthernet1/0/2eth-trunk 1lacp priority 100
#
interface GigabitEthernet1/0/3eth-trunk 1
#
return•SwitchB的配置文件
#
sysname SwitchB
#
vlan batch 10 20
#
interface Eth-Trunk1port link-type trunkport trunk allow-pass vlan 10 20mode lacp
#
interface GigabitEthernet1/0/1eth-trunk 1
#
interface GigabitEthernet1/0/2eth-trunk 1
#
interface GigabitEthernet1/0/3eth-trunk 1
#
return

配置跨设备的LACP模式的链路聚合示例
在这里插入图片描述


•CE1的配置文件
#
sysname CE1
#
vlan batch 10
#
interface Eth-Trunk20port link-type trunkport trunk allow-pass vlan 10mode lacp
#
interface GigabitEthernet1/0/1eth-trunk 20
#
interface GigabitEthernet1/0/2eth-trunk 20
#
interface GigabitEthernet1/0/3eth-trunk 20
#
interface GigabitEthernet1/0/4eth-trunk 20
#
return       •PE1的配置文件
#
sysname PE1
#
vlan batch 100
#
lacp e-trunk system-id 00e0-fc00-0000
lacp e-trunk priority 1
#
bfd
#
interface Vlanif100ip address 10.1.1.1 255.255.255.0
#
e-trunk 1priority 10peer-address 2.2.2.9 source-address 1.1.1.9timer hello 9timer hold-on-failure multiplier 3e-trunk track bfd-session session-name hello1
#
interface Eth-Trunk10port link-type trunkmode lacpe-trunk 1
#
interface GigabitEthernet1/0/1eth-trunk 10
#
interface GigabitEthernet1/0/2eth-trunk 10
#
interface GigabitEthernet1/0/3port link-type trunkport trunk allow-pass vlan 100
#
interface LoopBack1ip address 1.1.1.9 255.255.255.255
#
bfd hello1 bind peer-ip 2.2.2.9 source-ip 1.1.1.9discriminator local 1discriminator remote 2commit
#
ospf 1area 0.0.0.0network 1.1.1.9 0.0.0.0network 10.1.1.0 0.0.0.255
#
return•PE2的配置文件
#
sysname PE2
#
vlan batch 200
#
lacp e-trunk system-id 00e0-fc00-0000
lacp e-trunk priority 1
#
bfd
#
interface Vlanif200ip address 10.1.2.1 255.255.255.0
#
e-trunk 1priority 20peer-address 1.1.1.9 source-address 2.2.2.9timer hello 9timer hold-on-failure multiplier 3e-trunk track bfd-session session-name hello2
#
interface Eth-Trunk10port link-type trunkmode lacpe-trunk 1
#
interface GigabitEthernet1/0/1eth-trunk 10
#
interface GigabitEthernet1/0/2eth-trunk 10
#
interface GigabitEthernet1/0/3port link-type trunkport trunk allow-pass vlan 200
#
interface LoopBack1ip address 2.2.2.9 255.255.255.255
#
bfd hello2 bind peer-ip 1.1.1.9 source-ip 2.2.2.9discriminator local 2discriminator remote 1commit
#
ospf 1area 0.0.0.0network 2.2.2.9 0.0.0.0network 10.1.2.0 0.0.0.255
#
return•PE3的配置文件
#
sysname PE3
#
vlan batch 100 200
#
interface Vlanif100ip address 10.1.1.2 255.255.255.0
#
interface Vlanif200ip address 10.1.2.2 255.255.255.0
#
interface GigabitEthernet1/0/1port link-type trunkport trunk allow-pass vlan 100
#
interface GigabitEthernet1/0/2port link-type trunkport trunk allow-pass vlan 200
#
interface LoopBack1ip address 3.3.3.9 255.255.255.255
#
ospf 1area 0.0.0.0network 3.3.3.9 0.0.0.0network 10.1.1.0 0.0.0.255network 10.1.2.0 0.0.0.255
#
return

这篇关于LACP链路聚合的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1130157

相关文章

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

ElasticSearch的DSL查询⑤(ES数据聚合、DSL语法数据聚合、RestClient数据聚合)

目录 一、数据聚合 1.1 DSL实现聚合 1.1.1 Bucket聚合  1.1.2 带条件聚合 1.1.3 Metric聚合 1.1.4 总结 2.1 RestClient实现聚合 2.1.1 Bucket聚合 2.1.2 带条件聚合 2.2.3 Metric聚合 一、数据聚合 聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。例如:

七、Maven继承和聚合关系、及Maven的仓库及查找顺序

1.继承   2.聚合   3.Maven的仓库及查找顺序

maven-聚合工程

聚合工程: 聚合工程里可以分为顶级项目(顶级工程、父工程)与子工程,这两者的关系其实就是父子继承的关系,子工程在maven里称之为模块(module),模块之间是平级,是可以相互依赖的。子模块可以使用顶级工程里所有的资源(依赖),子模块之间如果要使用资源,必须构建依赖(构建关系)一个顶级工程是可以由多个不同的子工程共同组合而成。

链路聚合配置

链路聚合配置前需要将物理接口进行清除,然后将接口加入到聚合内完成对接。 对接端口核心3口4口与财务核心的23口与24口进行对接。 拓扑如下:​​​​​​​ 配置如下: 核心路由器[CK]dhcp enable [CK]interface GigabitEthernet 0/0/0[CK-GigabitEthernet0/0/0]ip address dhcp-alloc[CK]a

华为eNSP:手工链路聚合和动态链路聚合

手工链路聚合(静态链路聚合) 一、拓扑图 二、交换机配置过程 [s1]int Eth-Trunk 1#创建进入链路聚合组1[s1-Eth-Trunk1]trunkport g0/0/1#将g0/0/1口加入聚合组1[s1-Eth-Trunk1]trunkport g0/0/2[s1-Eth-Trunk1]trunkport g0/0/3[s1-Eth-Trunk1]quit 配

SNAT的链路流程

A主机,有公网ip,比如1.1.1.1               有内网ip,比如192.168.1.1 B主机, 有内网ip,比如192.168.1.123 A主机和B主机在同一局域网,用交换机连接。或者在云平台,两个属于同一个vpc下的同一个subnet,也就是在同一个虚拟私人网络下的,同一个子网内。 如何实现B主机通过A主机的公网ip访问公网的服务? 这个就是snat解决的问题

实时数仓链路分享:kafka =SparkStreaming=kudu集成kerberos

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! 本文档主要介绍在cdh集成kerberos情况下,sparkstreaming怎么消费kafka数据,并存储在kudu里面 假设kafka集成kerberos假设kudu集成kerberos假设用非root用户操作spark基

Flink实战案例(二十三):自定义时间和窗口的操作符(四)window functions之增量聚合函数(一)ReduceFunction

实例一 例子: 计算每个传感器15s窗口中的温度最小值 val minTempPerWindow = sensorData.map(r => (r.id, r.temperature)).keyBy(_._1).timeWindow(Time.seconds(15)).reduce((r1, r2) => (r1._1, r1._2.min(r2._2))) 实例二 ReduceFun

【硬刚ES】ES基础(十四)Elasticsearch聚合分析简介

本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的ES部分补充。