ETH-TRUNK链路原理和实验

2024-04-27 15:48
文章标签 原理 实验 链路 trunk eth

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

使用聚合链路目的:

在这里插入图片描述
在华为设备中被称为Eth-Trunk,是将一组相同类型的物理以太网接口捆绑在一起的逻辑接口,是一种用来增加带宽的方式(比如一些设备有多个接口,但是每个接口的最大带宽不满足要求,就可以使用链路聚合的方式),并且比普通的单纯增加链路提高了可靠性(例如备份),并且能够实现有序的负载分担。

同样的Eth-Trunk跟普通的物理以太网口相同,可以配置access,hybrid,trunk或者tunnel接口。

聚合链路负载原理:

在这里插入图片描述
1.Eth-Trunk模块从MAC子层接收到一个数据帧后,根据负载分担方式提取数据帧的源MAC地址/IP地址或目的MAC地址/IP地址(按照自己配置的负载分担的方式提取相同的字段)。
2.根据HASH算法进行计算,得到HASH-KEY值。
3.Eth-Trunk模块根据HASH-KEY值在转发表中查找对应的接口,把数据帧从该接口发送出去。

聚合链路的两种配置方式:

手工负载分担模式(manual,为默认值): 在该模式下,Eth-Trunk接口的建立、成员接口的加入,以及那些接口作为活动接口完全由手工决定的。在该模式下所有活动链路都参与数据的转发,平均分担流量。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。常用在对端链路不支持LACP的模式下。

配置:
mode manual load-balance //手工模式
trunkport Ethernet 0/0/1 to 0/0/3 //将接口加入其中,加入接口时,接口必须为hybrid口,加入之前接口不要做任何的配置
load-balance x //配置相应的负载分担模式
在这里插入图片描述
由于负载分担配置仅对出方向的流量有效,因此链路两端接的负载分担方式可以不一致,互不影响。
查看命令:dis eth-trunk 1
在这里插入图片描述
可以查看到自己这端加入聚合链路的链路和状态,并可以查看最小的激活链路数等(默认为1)。

但是可以发现局限性,仅能看到本端链路聚合专业,但如果对方其实没有进行链路聚合不能够被发现。

LACP模式(根据不同的系统版本lacp或者lacp-static): 是一种利用LACP协议进行聚合参数协商、确定活动接口和非活动接口的高级链路集合方式。在这个模式下,接口的建立和成员的接入虽然是手工完成的,但是具体哪些接口作为活动接口,哪些接口作为备份(注意,手工负载分担模式中无法做备份,全部正常的接口必须进行工作)是依靠LACP报文协商出来的。并且为了使得两端设备所选择的活动接口必须保持一致(不一致无法建立),我们引入了系统优先级这一概念,可以使得其中一端有更高的优先级(默认为32768,数值越小优先级越高,优先级相同的会比较系统的MAC地址,越小的越优先),也就是作为主设备,另外一端根据高优先级一端来选择活动接口即可(作为从设备)。除此之外,我们还有另外一个优先级——接口优先级(默认为32768,数值也是越小越好,相同时比较接口编号,编号越小越优先),在系统优先级高的一端进入参加聚合的接口下进行接口优先级的配置,接口优先级越高的会被优先选举为活动接口。

相应配置:
模式:
mode lacp-static或者mode lacp
聚合接口加入物理接口:(两种方式,一种是在被加入接口上,另外一种是在聚合接口上)
被加入接口上:(首先进入被加入的接口)
eth-trunk 1 //直接输入对应拒绝接口的编号
聚合接口上:(进入聚合接口上)
trunkport GigabitEthernet 0/0/1 //输入要加入聚合接口的物理接口即可
系统优先级:
lacp priority xxx //全局配置模式下,范围为0-65535,越小越优先
接口优先级:
lacp priority xxx //命令相同,但是需要进入相应接口下,范围为0-65535,越小越优先
查看聚合链路的命令:
dis eth-trunk 1 //查看聚合链路的信息,不仅有自己的信息,也有对方的信息
在这里插入图片描述
其中:
System ID:自己系统的MAC地址
SystemID:对端系统的MAC地址
System Priority:自己的系统的优先级
SysPri:对方的系统优先级
PortPri:接口优先级
Status:Selected表示是活动的,Unselected表示备份
Max Active-linnumber:最大活动链路数
Least Active-linnumber:最小活动链路数
Number Of Up Port In Trunk:加入聚合接口的物理接口数

dis lacp statistics eth-trunk 1 //查看lacp在聚合链路中发送PDU的信息
在这里插入图片描述

LACP中的其他参数:
1.配置活动接口输上限阈值:默认为8,也就是按照优先级由高到低选择其对应数量的活动接口,如果接口数目超过阈值,高优先级接口成为备份接口。
配置:
max active-linknumber x //进入聚合接口下配置(范围1-8)
2.配置活动接口的下线阈值: 默认为1,也就是LACP中最少有多少个活动接口,如果无法满足最小的活动端口要求,聚合链路不会开启,其他接口恢复成独立的状态。
配置:
least active-linknumber x //进入聚合接口下配置(范围1-8)
3.LACP的抢占:默认是关闭,也就是有一个接口优先级高的链路加入聚合后,开启后会抢占原来接口优先级低的接口成为活动的接口。
配置:
lacp preempt enable //进入聚合接口开启抢占功能
4.LACP的抢占时间:默认为30s,在抢占开启后会生效,意味着在30s后会将活动端口抢占过来,可以修改。
配置:
lacp preempt delay x //进入聚合接口配置抢占时间(范围10-180s)
5.接收LACP报文超时时间: 默认为90s,也就是在90s内没有收到对端的LACP报文,就会认为对端不可达,然后将本端相应的聚合接口关闭掉,不再进行流量的转发。
配置:
lacp timeout fast\slow //进入聚合接口配置LACP报文超时时间,表示多久没有接收到对方的报文就认为对方出现故障,然后自己也退出lacp聚合链路中
6.负载分担模式:这里和手工负载分担模式中类似。

参考资料:《华为交换机学习指南》

这篇关于ETH-TRUNK链路原理和实验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

JAVA封装多线程实现的方式及原理

《JAVA封装多线程实现的方式及原理》:本文主要介绍Java中封装多线程的原理和常见方式,通过封装可以简化多线程的使用,提高安全性,并增强代码的可维护性和可扩展性,需要的朋友可以参考下... 目录前言一、封装的目标二、常见的封装方式及原理总结前言在 Java 中,封装多线程的原理主要围绕着将多线程相关的操

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工

Java的volatile和sychronized底层实现原理解析

《Java的volatile和sychronized底层实现原理解析》文章详细介绍了Java中的synchronized和volatile关键字的底层实现原理,包括字节码层面、JVM层面的实现细节,以... 目录1. 概览2. Synchronized2.1 字节码层面2.2 JVM层面2.2.1 ente

MySQL的隐式锁(Implicit Lock)原理实现

《MySQL的隐式锁(ImplicitLock)原理实现》MySQL的InnoDB存储引擎中隐式锁是一种自动管理的锁,用于保证事务在行级别操作时的数据一致性和安全性,本文主要介绍了MySQL的隐式锁... 目录1. 背景:什么是隐式锁?2. 隐式锁的工作原理3. 隐式锁的类型4. 隐式锁的实现与源代码分析4

MySQL中Next-Key Lock底层原理实现

《MySQL中Next-KeyLock底层原理实现》Next-KeyLock是MySQLInnoDB存储引擎中的一种锁机制,结合记录锁和间隙锁,用于高效并发控制并避免幻读,本文主要介绍了MySQL中... 目录一、Next-Key Lock 的定义与作用二、底层原理三、源代码解析四、总结Next-Key L

Spring Cloud Hystrix原理与注意事项小结

《SpringCloudHystrix原理与注意事项小结》本文介绍了Hystrix的基本概念、工作原理以及其在实际开发中的应用方式,通过对Hystrix的深入学习,开发者可以在分布式系统中实现精细... 目录一、Spring Cloud Hystrix概述和设计目标(一)Spring Cloud Hystr

SpringBoot项目注入 traceId 追踪整个请求的日志链路(过程详解)

《SpringBoot项目注入traceId追踪整个请求的日志链路(过程详解)》本文介绍了如何在单体SpringBoot项目中通过手动实现过滤器或拦截器来注入traceId,以追踪整个请求的日志链... SpringBoot项目注入 traceId 来追踪整个请求的日志链路,有了 traceId, 我们在排