Eth-Trunk链路聚合

2023-10-27

一、链路聚合原理

1.1 原理简述

链路聚合能够提高链路带宽,增强网络可用性,支持负载分担。

在这里插入图片描述
链路聚合是把两台设备之间的多条物理链路聚合在一起,当做一条逻辑链路来使用。这两台设备可以是一对路由器,一对交换机,或者是一台路由器和一台交换机。一条聚合链路可以包含多条成员链路,默认最多为8条。链路聚合能够提高链路带宽。理论上,通过聚合几条链路,一个聚合口的带宽可以扩展为所有成员口带宽的总和,这样就有效地增加了逻辑链路的带宽。链路聚合为网络提供了高可靠性。配置了链路聚合之后,如果一个成员接口发生故障,该成员口的物理链路会把流量切换到另一条成员链路上。链路聚合还可以在一个聚合口上实现负载均衡,一个聚合口可以把流量分散到多个不同的成员口上,通过成员链路把流量发送到同一个目的地,将网络产生拥塞的可能性降到最低。

1.2 链路聚合模式

链路聚合包含两种模式:手动负载均衡模式和静态LACP(Link Aggregation Control Protocol)模式。

1.2.1 手工负载均衡模式

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

1.2.2 静态LACP(Link Aggregation Control Protocol)模式

  • LACP模式支持链路备份。

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

在静态LACP模式的Eth-Trunk中加入成员端口后,这些端口将向对端通告自己的优先级、mac地址、接口优先级、接口ID等信息,对端接受到这些信息后,将这些信息与自身接口所保存的信息进行比较以选择出能够聚合的端口双方对那些端口能够达成一致,确定活动链路。
在两端设备中选择优先级较高的一端作为主动端,如果系统LACP优先级相同则选择Mac地址较小的一端作为主动端(注:系统优先级的值越小,优先级越高,默认是32768)
接口LACP的值越小优先级越高,如果接口LACP的值相同,接口ID小的优先级被选为活动接口(注:接口LACP优先级是为了区分同一个Eth-Trunk中不同接口被选为活动接口的有限程度,优先级越高的接口被选择为活动接口)

静态LACP的抢占机制:
LACP抢占延时设置:LACP抢占发生时,处于备份状态的链路将会等待一段时间后,再切换到转发状态,这就是抢占延时配置抢占延时是为了避免由于某些链路频繁变化而导致的Eth-trunk数据传输不稳定的情况发生,在链路恢复正常,若系统使能了LACP抢占延时,端口重新切换回活动端口的状态就需要经过抢占延时的时间。

1.3 流量控制

  • Eth-Trunk链路两端相连的物理接口的数量、速率、双工方式、流控方式必须一致。
    在这里插入图片描述
    在一个聚合口中,聚合链路两端的物理口(即成员口)的所有参数必须一致,包括物理口的数量,传输速率,双工模式和流量控制模式。成员口可以是二层接口或三层接口。数据流在聚合链路上传输,数据顺序必须保持不变。一个数据流可以看做是一组MAC地址和IP地址相同的帧。例如,两台设备间的Telnet或FTP连接可以看做一个数据流。如果未配置链路聚合,只是用一条物理链路来传输数据,那么一个数据流中的帧总是能按正确的顺序到达目的地。配置了链路聚合后,多条物理链路被绑定成一条聚合链路,一个数据流中的帧通过不同的物理链路传输。如果第一个帧通过一条物理链路传输,第二个帧通过另外一条物理链路传输,这样一来同一数据流的第二个数据帧就有可能比第一个数据帧先到达对端设备,从而产生接收数据包乱序的情况。为了避免这种情况的发生,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报文进行增强型负载分担。

二、链路聚合配置

配置Eth-Trunk口和成员口,需要注意以下规则:

  1. 只能删除不包含任何成员口的Eth-Trunk口。
  2. 把接口加入Eth-Trunk口时,二层Eth-Trunk口的成员口必须是二层接口,三层Eth-Trunk口的成员口必须是三层接口。
  3. 一个Eth-Trunk口最多可以加入8个成员口。
  4. 加入Eth-Trunk口的接口必须是hybrid接口(默认的接口类型)。
  5. 一个Eth-Trunk口不能充当其他Eth-Trunk口的成员口。
  6. 一个以太接口只能加入一个Eth-Trunk口。如果把一个以太接口加入另一个Eth-Trunk口,必须先把该以太接口从当前所属的Eth-Trunk口中删除。
  7. 一个Eth-Trunk口的成员口类型必须相同。例如,一个快速以太口(FE口)和一个千兆以太口(GE口)不能加入同一个Eth-Trunk。
  8. 位于不同接口板(LPU)上的以太口可以加入同一个Eth-Trunk口。如果一个对端接口直接和本端Eth-Trunk口的一个成员口相连,该对端接口也必须加入一个Eth-Trunk口。否则两端无法通信。
  9. 如果成员口的速率不同,速率较低的接口可能会拥塞,报文可能会被丢弃。
  10. 接口加入Eth-Trunk口后,Eth-Trunk口学习MAC地址,成员口不再 学习。
  11. 如果要在路由器上配置三层链路聚合,需要首先创建Eth-Trunk接口,然后在Eth-Trunk逻辑口上执行undo portswitch命令,把聚合链路从二层转为三层链路。执行undo portswitch命令后,可以为Eth-Trunk逻辑口分配一个IP地址。
[Huawei]interface Eth-Trunk 1 
[Huawei-Eth-Trunk1]interface GigabitEthernet0/0/1
[Huawei-GigabitEthernet0/0/1]eth-trunk 1
[Huawei-GigabitEthernet0/0/1]interface GigabitEthernet0/0/2
[Huawei-GigabitEthernet0/0/2]eth-trunk 1

2.1 手工负载分担模式:

实验拓扑:
在这里插入图片描述

<Huawei>system-view 
[Huawei]vlan batch 10 20
[Huawei]interface Eth-Trunk 1
[Huawei-Eth-Trunk1]trunkport GigabitEthernet 0/0/1 to 0/0/2
[Huawei-Eth-Trunk1]mode manual load-balance
[Huawei-Eth-Trunk1]portswitch
[Huawei-Eth-Trunk1]load-balance src-dst-ip
[Huawei-Eth-Trunk1]port link-type trunk
[Huawei-Eth-Trunk1]port trunk allow-pass vlan 10 20

LSW2配置相同。

2.2静态LACP

实验拓扑:
在这里插入图片描述
LSW1:

<Huawei>system-view 
[Huawei]vlan batch 10 20
[Huawei]interface Eth-Trunk 1
[Huawei-Eth-Trunk1]trunkport GigabitEthernet 0/0/1 to 0/0/3
[Huawei-Eth-Trunk1]mode lacp-static
[Huawei-Eth-Trunk1]load-balance src-dst-mac  # 设置负载分担模式
[Huawei-Eth-Trunk1]max active-linknumber 2   # 设置活动链路为2条
[Huawei-Eth-Trunk1]max bandwidth-affected-linknumber  3 # 设置最大链路数量为3
[Huawei-Eth-Trunk1]lacp preempt enable    # 开启LACP抢占
[Huawei-Eth-Trunk1]lacp preempt delay 10  # 设置LACP抢占延时
[Huawei-Eth-Trunk1]port link-type trunk
[Huawei-Eth-Trunk1]port trunk allow-pass vlan 10 20
[Huawei-Eth-Trunk1]quit
[Huawei]interface GigabitEthernet 0/0/4
[Huawei-GigabitEthernet0/0/4]port link-type access
[Huawei-GigabitEthernet0/0/4]port default vlan 10
[Huawei-GigabitEthernet0/0/4]quit
[Huawei]interface GigabitEthernet 0/0/5
[Huawei-GigabitEthernet0/0/5]port link-type access
[Huawei-GigabitEthernet0/0/5]port default vlan 20
[Huawei-GigabitEthernet0/0/5]quit

LSW2配置相同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Eth-Trunk链路聚合 的相关文章

  • kitti中stereo的disparity的gt数据的读取和使用

    首先 kitti中disparity的gt的值是uint16的 https blog csdn net chenxicx1992 article details 44784559 这个博客是讲解如何读取存储的是uint16型数据的图片 我也
  • ETCD 详解

    一 ETCD简介 etcd是一个Go言编写的分布式 高可用的一致性键值存储系统 用于提供可靠的分布式键值存储 配置共享和服务发现等功能 具有以下特点 简单 易使用 基于HTTP JSON的API让你用curl就可以轻松使用 易部署 使用Go
  • JSON详解

    JSON的全称是 JavaScript Object Notation 意思是JavaScript对象表示法 它是一种基于文本 独立于语言的轻量级数据交换格式 XML也是一种数据交换格式 为什么没有选择XML呢 因为XML虽然可以作为跨平台
  • PC++:矩阵乘法操作

    实验要求 编写矩阵乘法代码实现 并编译执行 对代码进行执行时间分析 比较不同实现的效率差异 实验步骤 1 完成GEMM示例 并修改输入数据大小 首先 建立一个test cpp文件 利用以下代码 来源 https github com pen
  • canvas 画布 arcTo 方法的理解与使用

    参考文档 https codeplayer vip p j7scu arcTo x1 y1 x2 y2 radius x1 y1 理解为端点1 x2 y2 理解为端点2 radius 半径是基于断点2画的一个弧
  • 【uniapp之h5 微信小程序 app 开发项目结构图 思维导图及注意事项】

    uniapp之h5 微信小程序 app 开发项目结构图 思维导图及注意事项

随机推荐

  • python-网络安全编程第三天(正则表达式)

    python 正则表达式 正则表达式本身是一种小型的 高度专业化的编程语言 而在python中 通过内嵌集成re模块 程序媛们可以直接调用来实现正则匹配 正则表达式模式被编译成一系列的字节码 然后由用C编写的匹配引擎执行 用法 match
  • go.DB 富集分析子集 go子集 offspring children多层次结构go

    安装archr包 别处复制 libPaths c home data t040413 R x86 64 pc linux gnu library 4 2 home data t040413 R yll usr local lib R sit
  • Interceptor的基本介绍和使用preHandle、postHandle与afterCompletion

    目录 preHandle postHandle afterCompletion 项目测试代码 项目测试 preHandle 调用时间 Controller方法处理之前 执行顺序 链式Intercepter情况下 Intercepter按照声
  • 通用单目标跟踪综述《Handcrafted and Deep Trackers: A Review of Recent Object Tracking Approaches》

    近年来 视觉目标跟踪成为一个非常活跃的研究领域 每年都会提出越来越多的跟踪算法 跟踪在人机交互 自动驾驶汽车 机器人 监控和安全等各种现实问题中有着广泛的应用 本文将回顾跟踪领域的最新的趋势和进展 并基于特征提取方法评估了不同跟踪算法的鲁棒
  • pickle读文件解码问题

    运行 Revisiting Semi Supervised Learning with Graph Embeddings 的代码 kimiyoung planetoid 其中用 pickle 读数据文件出现问题 它本身是用 python 2
  • Nacos修改配置文件如何使其立即生效

    目录 前言 实现方案 方案一 方案二 注意事项 前言 当配置信息发生变动时 修改实时生效 无需要重新重启服务 就能够自动感知相应的变化 并将新的变化统一发送到相应程序上 快速响应变化 要实现这一目的 需要通过下面两种方案来实现 实现方案 方
  • 渗透测试工具ZAP入门教程(3)-渗透测试扫描流程

    使用ZAP对网站进行渗透测试流程如下 ZAP启动浏览器 输入URL 点击启动浏览器 在打开的浏览器登录要扫描的网站 在打开的浏览器上进行需要测试的流程操作 ZAP会记录操作过程中的HTTP请求 spider爬虫 点击Spider Start
  • 永恒话题,编程语言的选择

    当编程初学者要选择编程语言时 可以像选择一家餐厅一样 下面是一些建议 像选择美食一样选择编程语言 想象你是个美食家 编程语言就是菜单上的各种美食 先思考你的目标和口味偏好 是想开发网页 那就选择前端语言如HTML CSS和JavaScrip
  • 哈希(Hash)和哈希树(Merkle tree)

    哈希函数 英语 Hash function 又称散列函数 是一种从任何一种数据中创建小的数字 指纹 的方法 散列函数把消息或数据压缩成摘要 使得数据量变小 将数据的格式固定下来 该函数将数据打乱混合 重新创建一个叫做散列值 哈希值 hash
  • 白菜板裸机程序转换成智龙板PMON引导程序

    裸机程序转换成PMON引导程序 根据勤为本 gitee 上的龙芯1C 裸机程序 应用于白菜板 修改 Makefile 和 ld script 和 start s 使之应用于智龙开发板 1 替换修改文件 1 1 make与ld script
  • python 编码规范 Style Guide for Python Code

    目录 python 编码规范简述 编码规范的好处 PEP Python Enhancement Proposals 简介 规范基本内容 代码的整体布局 缩进与空格 制表符 隐式换行 悬挂缩进 行最大长度 运算符与换行 代码之间的空行 导入的
  • vue、uniapp调试工具【vueDevTools】

    点击下载
  • 【GD32篇】CAN总线入门教程——实现数据收发

    本文主要介绍CAN总线的软件配置 1 简介 CAN 总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线 并且拥有以 CAN 为底层协议专为大型货车和重工机械车辆设计的 J1939 协议 近年来 它具有的高可靠性和良好的错误检
  • 算法与数据结构可视化网站

    今天画B 树用到了 算法与数据结构可视化网站 https www cs usfca edu galles visualization Algorithms html
  • iOS自定义转场动画

    如果你在开发中遇到需求 需要实现各种各样的转场动画 那么你可以看看这篇文章 当然 本文并没有实现各种各样的花式转场动画 而是实现了一种思路 抛砖引玉 希望你在看了本文之后能举一反三 随心所欲的定制自己喜欢的转场动画 注意这里讲的实现仅仅支持
  • Python基础学习04--字符串

    注释 单行注释 gt 以井号 开头 可以单独行 也可以在某行代码后边 多行注释 块注释 gt 多行代码或者内容 以三个连续单引号或双引号开始和结束 中间任何内容都忽略 我写了这么多 会不会打印出来 print 第1个 Hello World
  • ctfshow RCE极限挑战 wp

    这五题都做出来 真的不容易呀 最终终于是在比赛结束以前全部做完了 拿到了十几块钱 是一个星期的早餐了 嘿嘿嘿嘿 哎 不过对于 自增的理解可以说是提升很多很多 这里主要讲的自增 主要详细讲解他是怎么用的 目录 基本 题目详解 RCE挑战1 R
  • python第五章课后答案加注释_Python自然语言处理第五章分类标注词汇_关于自然语言处理的问题...

    optioninfo dynamic ture static true simplifiedDisplay newEdition newCard ifIcon img link https img alicdn com tfs TB1XY8
  • 比较两个二叉树是否相同

    也许你看过书 也许你背过代码 都不重要 重要的是 你能将你看过的变成自己的想法 然后实现它 不在其他代码的阴影下活着 让你的代码舞动起来 也许代码可能看起来有点不简洁 思想 可以按照递归的思路进行 左子树是否相等 右子树是否相等进行遍历 b
  • Eth-Trunk链路聚合

    一 链路聚合原理 1 1 原理简述 链路聚合能够提高链路带宽 增强网络可用性 支持负载分担 链路聚合是把两台设备之间的多条物理链路聚合在一起 当做一条逻辑链路来使用 这两台设备可以是一对路由器 一对交换机 或者是一台路由器和一台交换机 一条