以太网链路聚合——增加带宽,解决生成树收敛慢的问题

目录

一.对STP生成树的补充

1.STP接口状态

2.STP生成树的改进

二.网络可靠性

1.单板可靠性

2.设备可靠性

3.链路可靠性

三.链路聚合

1.多条链路聚合增加带宽

2.链路聚合术语

四.链路聚合模式

1.手动模式

2.LASP模式

(1).LASP术语

(2)步骤

(3)实例

主动端

对端也一样

五.负载分担方式

1.基于包

2.基于流

六.以太网链路聚合使用场景

七.堆叠,集群

(1).控制平面合一,统一管理

(2).转发平面合一

(3).实际应用


一.对STP生成树的补充

1.STP接口状态

2.STP生成树的改进

STP生成树有一个问题,就是收敛速度慢,为解决这个问题,进而产生了RSTPMSTP,但STP生成树收敛速度慢依旧没有得到解决。

二.网络可靠性

无论是使用STP生成树还是我们接下来要说的以太网链路聚合,都是为了提高网络的可靠性

网络可靠性依靠备份。

1.单板可靠性

大型框式设备

机框——提供插口,实现板卡间的通信

风扇模板——散热

线路版和交换网板——用于转发,这两个设备是单独计算的

主控板——控制平面(显示。。。表,例如路由表,MAC地址表),就像是大脑

电源模板——

2.设备可靠性

无备份

主备备份:一下放几台设备,就是备份

负载分担——负载就是流量,分担就是分开传

以太网链路聚合就是负载分担

3.链路可靠性

前面我们说了,MSTP也不能完全解决收敛慢的问题,以太网链路聚合是为了解决收敛慢的问题,但其实,STP生成树还有一个问题,我们来看这个拓扑——

我们的在两台交换机之间建立两台链路是为了增加带宽,让两条链路都可以使用,但STP生成树势必会堵塞端口(这里我们假设是LSW2的E0/0/2被堵塞),那么就没有实现增加带宽的目的

那么以太网链路聚合如何实现增加带宽呐?

三.链路聚合

1.多条链路聚合增加带宽

原理就是将多个物理端口变成一个逻辑接口Eh-trunk,虚拟化)

如果说三条链路一条为 1G的话,那这个Eh-trunk就有3G(谁想的这么厉害)

2.链路聚合术语

1.聚合组

LAG, Eh-trunk接口

2.成员链路与成员接口

3.活动链路与活动接口

参与转发

4.非活动链路与非活动接口

不参与转发的

5.聚合模式(mode)

四.链路聚合模式

1.手动模式

顾名思义,就是手动配置,在老旧,低端,不支持LACP协议的设备上使用。

步骤:

1.建立Eh-trunk组

2.选择链路聚合模式

默认是手工模式,所以手工模式不用特地配置

3.把端口加入Eh-trunk组中,所以链路都是活动链路

两边的交换机都要配置,两边活动链路数要一样

LSW2

pc1pingpc2

缺点:对管理员依赖高,管理员错链路聚合就错

负载分担:连错了流量丢失,等报文全了才是完整的

本来流量从0/0/1 to 0/0/3负载分担,但3口传给pc6了,就只能等丢失的流量再次过来才能成功传递

2.LASP模式

交互LASPDU报文——链路聚合控制协议数据单元

(1).LASP术语

1.优先级

活动接口:优先级缺省——32768,范围—0到65535

接口:优先级缺省——32768,范围—0到65535

2.最大活动接口数

一般有几个链路活动接口就是几个

两端要一样

3.最小活动接口数

保证最小带宽

如防火墙对带宽要求高,当可用带宽小于最小带宽,网络其实就不能正常使用了,设备会自动shutdown端口(逻辑上关闭端口),管理员就能知道网络出现错误

(2)步骤

1.选取主动端

交互LASP,比较优先级和MAC地址(这个与STP有异曲同工之妙)

2.确定活动端口

根据最大活动端口数,先在主动端上根据优先级确定活动端口

3.告知对端活动端口

主动端通过LASPDU报文把端口选举结果告知对端

4.对端明确端口,形成链路

对端明确活动链路,对应链路成为活动链路

(3)实例

主动端

1.建立Eh-trunk组,选模式,确定最大活动端口数

2.端口加入Eh-trunk组

对端也一样

五.负载分担方式

1.基于包

根据报文/切片来分担

传输速度根据带宽,缺点是数据乱序

2.基于流

同一个源到目的的流量一条链路

SIP,DIP一样就是一种流

但容易导致负载分担不均

但可以依照源,目的MAC地址,源,目的IP地址来进行流的分类

某种参数变化越频繁,就选哪个

六.以太网链路聚合使用场景

交换机与交换机,防火墙双机热备心跳线,交换机与服务器,交换机堆叠(几台交换机逻辑上成为一台)

七.堆叠,集群

堆叠——盒式交换机

集群——框式交换机

(1).控制平面合一,统一管理

想对设备进行修改和管理,对其中一台设备进行配置就可以

(2).转发平面合一

拥有表项一致,做到无感知收敛

(3).实际应用

1.扩展端口

2.扩展带宽,冗余备份

3.MSTP+VRRP

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/775397.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用itext-core生成PDF

1、添加引用依赖包 <dependency><groupId>com.itextpdf</groupId><artifactId>itext-core</artifactId><version>8.0.3</version><type>pom</type></dependency> 2、上代码 package com.student.demo.pdf;impor…

什么是RISC-V?开源 ISA 如何重塑未来的处理器设计

RISC-V代表了处理器架构的范式转变&#xff0c;特点是其开源模型简化了设计理念并促进了全球community-driven的开发。RISC-V导致了处理器技术发展前进方式的重大转变&#xff0c;提供了一个不受传统复杂性阻碍的全新视角。 RISC-V起源于加州大学伯克利分校的学术起点&#xff…

逐步学习Go-协程goroutine

参考&#xff1a;逐步学习Go-协程goroutine – FOF编程网 什么是线程&#xff1f; 简单来说线程就是现代操作系统使用CPU的基本单元。线程基本包括了线程ID&#xff0c;程序计数器&#xff0c;寄存器和线程栈。线程共享进程的代码区&#xff0c;数据区和操作系统的资源。 线…

前端学习-01:Windows 安装 npm 教程

一、安装 Node.js Node.js 官方下载地址&#xff1a;点击这里点击绿色的"Download Node.js vxxxx"下载完成后双击开始安装点击 Next 接受协议&#xff0c;点击 Next 点击 Change&#xff0c;自定义安装目录&#xff0c;然后点击 Next 所有默认全部安装即可&#xff…

在 Linux CentOS 中安装 Docker Engine(Dockers 引擎)【图文详解】

官方文档&#xff1a;https://docs.docker.com/engine/install/centos/ 操作系统要求 如果我们要在 CentOS 中安装 Docker 引擎&#xff0c;那么 CentOS 操作系统需要是以下版本之一的&#xff0c;且是处于维护的 CentOS 版本&#xff1a; CentOS 7CentOS Stream 8CentOS Str…

关于C/C++头文件引起的编译问题

在 C 中&#xff0c;#include 是用于包含头文件的预处理指令。头文件是包含函数声明、类定义、常量等的文件&#xff0c;通常以 .h 或 .hpp 作为文件扩展名。 #include 可以使用两种形式来包含头文件&#xff1a; 使用双引号 (")&#xff1a; #include "CESO.h"…

【Web应用技术基础】CSS(4)——背景样式

第1题&#xff1a;背景颜色 .html <!DOCTYPE html> <html><head><meta charset"utf-8"><title>Hello World</title><link rel"stylesheet" href"step1/CSS/style.css"> </head><body>&…

Zookeeper的系统架构

先看一张图&#xff1a; ZooKeeper 的架构图中我们需要了解和掌握的主要有&#xff1a; 1&#xff1a; ZooKeeper分为服务器端&#xff08;Server&#xff09; 和客户端&#xff08;Client&#xff09;&#xff0c;客户端可以连接到整个ZooKeeper服务的任意服务器上&#xff…

Flink on Kubernetes (flink-operator) 部署Flink

flink on k8s 官网 https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-release-1.1/docs/try-flink-kubernetes-operator/quick-start/ 我的部署脚本和官网不一样&#xff0c;有些地方官网不够详细 部署k8s集群 注意&#xff0c;按照默认配置至少有两台wo…

手机短信验证码自动转发到服务器

今天写一个自动化处理程序&#xff0c;需要验证码登录&#xff0c;怎么样把手机收到的短信自动转发到服务器接口呢&#xff1f; 利用ios手机快捷指令的功能 打开快捷指令点击中间自动化点击右上角号选择信息信息包含选取&#xff0c;输入验证码选择立即执行点击下一步按下图配…

docker run 使用 -p 命令一直显示端口被占用

解决办法 将 -p 换成 --net host 例如&#xff1a; docker run --name one-api -d --restart always -p 3000:3000 -e TZAsia/Shanghai -v /root/oneapi/data:/data justsong/one-api # 换成 docker run --name one-api -d --restart always --net host -e TZAsia/Shanghai -…

ZooKeeper 分布式锁的实现方法

如果有客户端1、客户端2等N个客户端争抢一个 Zookeeper 分布式锁。大致如下&#xff1a; 1&#xff1a; 大家都是上来直接创建一个锁节点下的一个接一个的临时有序节点 2&#xff1a; 如果自己不是第一个节点&#xff0c;就对自己上一个节点加监听器 3&#xff1a; 只要上一…

vue + LogicFlow 实现流程图展示

vue LogicFlow 实现流程图展示 1.背景 部门主要负责低代码平台&#xff0c;配置端负责配置流程图&#xff0c;引擎端负责流程执行&#xff0c;原引擎端只负责流程执行控制以及流程历史列表展示。现在提出个新的要求&#xff0c;认为仅历史记录不直观&#xff0c;需要在展示完…

Overcooked!(并查集区间元素合并优化)

本题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网登录—专业IT笔试面试备考平台_牛客网登录—专业IT笔试面试备考平台_牛客网 题目&#xff1a; 样例&#xff1a; 输入 5 5 1 1 2 3 1 2 2 2 4 3 1 4 3 2 5 输出 YES YES NO 思路&#xff1a; 根据题意&#xff0c;这…

数据结构初阶:排序

排序的概念及其运用 排序的概念 排序 &#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性 &#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&…

HR岗位管理:岗位职级管理体系是什么?概念、知识及方法工具梳理

岗位是组织中最具体、最小的一个基本单位。组织一般都是因事设岗&#xff0c;因而岗位是组织要求个体完成一项或多项责任而赋予个体的权力的总和。岗位是与人相对应的&#xff0c;通常一个岗位只能由一个人担任。正是因为人与岗位相匹配&#xff0c;所以企业人力资源成本管控的…

Component is not found in path “miniprogram_npm/@vant/

在微信小程序中使用vantUI库时&#xff0c;xxx.json内引入vant组件&#xff0c;报错Component is not found in path "miniprogram_npm/vant/checkbox/index &#xff0c;按报错路径查看&#xff0c;在报错目录下的包&#xff0c;文件完好存在&#xff0c;如下截图 找到n…

老项目接入kafka消费信息另一种方式

前言 这次跟大家分享kafka消费的另一种接入实现。其实原因是因为目前这个项目的框架太老了&#xff0c;springboot还是1.5的&#xff0c;直接用注解KafkaListener无法消费的问题。我也不想调这个框架&#xff0c;没工时不说&#xff0c;万一再整出兼容性问题&#xff0c;那问题…

springboot+mybatis项目集成p6spy输出格式化sql日志

本文背景:公司项目框架是基于springboot+mybatis的web项目,由于鄙人在使用过程中发现打印的mybatis日志每次都要粘贴出来,然后再用在线工具的格式化填充参数,很不方便,最近发现那个在线的工具打不开了,更不方便了,因此想有没有直接可以输出的填充好参数的sql语句,当然i…

STM32启动方式

s在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式。 启动方式&#xff1a;从内部的Flash中启动、 存储器映射&#xff1a; 0x0000 0000 -----0x0800 0000 映射的内部Flash