网络协议 — BGP 边界网关协议

news2024/11/20 14:28:28

目录

文章目录

  • 目录
  • BGP 和 AS
  • BGP Router 和 Routes
  • BGP Message 类型和格式
    • BGP Msg Header
    • BGP Msg Data
      • Open Msg
      • Keepalive Msg
      • Notification Msg
      • Route-refresh Msg
      • Update Msg
    • BGP Msg 状态机
  • BGP RR(Route-Reflectors,路由反射器)
  • BGP MP(Multi-protocols Extensions,多协议扩展)

BGP 和 AS

BGP(Border Gateway Protocol,边界网关协议)是一种被广泛应用到 Internet 中的距离矢量(Distance Vector)动态路由协议,能够在不同的 AS(Autonomous System,自治系统,互联网路由选择的基本单元)间交换 Route Informations(路由信息)。

BGP 协议起源于 1989 年 1 月举行的第 12 次 IETF 会议。在那时,由于互联网的快速发展和规模的不断扩大,互联网中存在的 AS 数量不断增加。传统的距离矢量路由协议(e.g. RIP)已经无法满足互联网中不同 AS 之间的路由选择(控制 Routes 的传播)需求。因此,会议上讨论的主题就是需要一种新的路由协议。

所谓 AS 的含义是指一个单一的逻辑系统,具体表现为一个(或多个)组织所拥有的 IP Networks 和 Routers 的全体集合,它们对外执行共同的路由策略(Routes 发布和接收的策略)。

Internet 中的 AS Number 由 IANA(Internet Assigned Numbers Authority,互联网分配号码管理局)统一管理和分配,全球共有 1-65535 多个,本质是一个长度为 16bit 的数字。其中:

  • 1~64511:是全球唯一的 Internet 编号。
  • 64512~65535:是自用的编号,类似于私网网段。

如下图所示,每个在 Internet 上提供网络服务的自治网络(各种组织、大学、政企网络等)都需要拥有自己的 AS Number。

在这里插入图片描述

在 BGP 协议出现之前,这些 AS 就像是一座座孤岛,所以才会在第 12 次 IETF 会议中讨论这个问题。会议结束后,由 Len Bosack、Kirk Lougheed 和 Yakov Rekhter 三人在餐巾纸上完成了 BGP 协议的设计草稿,并在 1989 年 6 月发布了 RFC1105 BGPv1 标准。

BGPv1 的设计初衷是为了解决 2 个 AS 之间的互联互通问题,最初的想法也比较简单:

  1. 第一个想法,为了连接不同的 AS,应该在 2 个 AS 中分别部署 Border Gateway Router(边界网关路由器),由它们专门负责在不同的 AS 之间交换 Routes。
  2. 第二个想法,为了避免在多个 AS 之间形成路由环路,应该在 Routes 中包含相应的 Path Attribute(路径属性),以此来确定 AS 之间的最优路径。
  3. 第三个想法,为了在 WAN(广域网)中可靠的同步 Routes,应该使用 TCP 作为传输层协议。
  4. 第四个想法,为了减少 Border Gateway Router 之间需要交换的 “大量的“ Routes 的大小,应该采用增量更新的方式。
  5. 最后一个想法,使用 TLV(Type-Length-Value)数据编码方式来定义 BGP Message 的数据结构,使其拥有更好的可扩展性。

在这里插入图片描述

可见,BGP 最初定位于 EGP( Exterior Gateway Protocol,外部网关/路由协议)应用场景,即:E-BPG,将 AS 作为计量单位,支持通过路由策略、路由过滤等手段,控制 Routes 在 AS 之间的交换和选择最佳路径。

后面,随着 BGP 的发展也逐渐完善了在 IGP(Interior Gateway Protocol,内部网关/路由协议)场景中的应用,即:I-BGP,将 Local Router 作为计量单位,支持在一个大规模的 AS 内的所有 Router 之间发现、计算和宣发 Routes。

区别于 OSPF、ISIS 等链路状态(Link State)路由协议,BGP 作为距离矢量路由协议,在 IGP 场景中的路由策略控制、路由宣告收敛的网络稳定性更好。举例来说,在大规模组网中,任何节点发生故障时,OSPF、ISIS 会引发全网状态信息的泛洪和数据库信息更新,然后在此基础上收敛路由;而 BGP 则只会在节点间通告路由,通过增量更新的方式刷新路由信息,同时还具有分区路由域独立,故障域可控等优势。但在中小规模场景中,三者间的性能差别不大,特性也各异。

在这里插入图片描述

经过过年的发展后,现如今被广泛应用的是 BGPv4 版本,具有以下完备的功能特性:

  1. 支持 IPv4 和 IPv6;
  2. 支持 CIDR(Classless Inter-Domain Routing);
  3. 支持 Multi-Path(多路径),提高网络的可用性和容错能力;
  4. 支持 BGP Confederations(联盟);
  5. 支持 BGP Route-Reflectors(路由反射器);
  6. 支持 BGP Community(团体属性);
  7. 支持 BGP Route Dampening(路由惩罚);
  8. 支持 BGP MP(Multi-protocols Extensions,多协议扩展);
  9. 支持 Capability Advertisement(能力通告);
  10. 支持 BGPSEC 安全协议;
  11. 等等。

BGP Router 和 Routes

BGP 组网的核心就是 BGP Router,实现了 BGP 协议标准。能够对外 Advertise(发布)BGP Msg 的 BGP Router,称为 BGP Speaker(宣告者)。建立了 BGP Connection/Session 并互相交换 BGP Msg 的 Speaker 之间互称为 BGP Peers(对等体),根据应用场景的不同,又可以细分为 I-BGP Peer 和 E-BGP Peer,同时若干相关的 Peer 还可以构成一个 Peer Group(对等体组)。

而 BGP Routes 就被包含了专门的 BGP Update Msg 类型中。所以,BGP 协议实际上是一种承载在 TCP 协议之上的应用层协议。

在这里插入图片描述

一个 Router 最基本的组成部分就是 RIBs(Routing Information Base)和 FIB(Forwarding Information Base)Table,前者负责 Control Plane 的路由选择,后者负责 Data Plane 的报文转发。

更具体的,BGP Router 的 RIB 由以下部分构成:

  1. Adj-RIBs-In:用于存储从 BGP Peers 接收到的 Update Msg 中所携带的 Routes。或者根据 Update Msg 中的 WITHDAWN Route 在 Adj-RIBs-In 中删除相关条目。并在此后交由 Input Policy 处理。

  2. Input Policy:当 Adj-RIBs-In 存储了从 BGP Peer 传递过来的 Routes 时,会根据本地的 Input Policy 并结合 Local RIB 中的内容来判断是否接受,只有满足路由策略的 Routes 才会被写入到 Router 的 RIB。例如:如果 BGP Router 收到 2 条 Routes,它们的目的网络一样,但是路径不一样,一个是 AS1=>AS3=>AS5,另一个是 AS1=>AS2。那么,通常情况下,Router 会优先选用路径短的 AS1=>AS2 这条 Route。

  3. BGP Selection Process(路径决策进程):再将 Routes 写入 Local RIB 之前,还需要经过 BGP Selection Process 进行处理。例如:将自己的 AS Number 注入到 Route 中,将 Next hop 改为自己,并将自己加入到 Path Attribute 中,形成一条新的可达信息。在这之后,这条信息会继续向其他 Peers 宣告,使得其他 Peers 知道可以通过 Next hop 到当前 Router,并最终到达目的网络。

  4. Local RIB:用于存储 BGP Selection Process 的处理结果,同时某些本地路径也可以注入到 Local RIB 中。这些结果将用于生成 Local Route Table。

  5. Output Policy:BGP Router 通过 Output Policy 来控制那些 Routes 是需要且允许对外进行宣告的。Local RIB 存储的结果在进行了一些 Output Policy 处理后,再把允许输出的 Routes 存储到 Adj-RIB-Out 中。

  6. Adj-RIB-Out:最终 BGP Router 根据 Adj-RIB-Out 的结果向其它 Peers 发送 Update Msg。

另外,如果 BGP Router 收到的一条 Route 的 Path Attribute 中包含了自己的 AS Number,那么 Router 就会判定为这是一条自己发出的 Route,就会将这条 Route 丢弃掉。

在这里插入图片描述

BGP Message 类型和格式

BGP Message(消息),由 Header 和 Data 这两部分组成,最大长度为 4096Bytes。BGP Message 类型和格式的细节有很多,具体建议浏览相应的 RFC 文档,下面只作概括性的介绍。

在这里插入图片描述

BGP Msg Header

在这里插入图片描述

所有 BGP Msg Header 的格式都一样,共有 19Bytes。

  • Marker(16Bytes):记录着同步信息和加密信息。
  • Length(2Bytes):记录 BGP Msg 的总长度。
  • Type(1Byte):表示当前 BGP Msg 的类型。

BGP Msg Data

Open Msg

是 TCP connection 建立后发送的第一个 BGP Msg 类型,用于建立 BGP Peers 之间的 Session 关系。

在这里插入图片描述

Keepalive Msg

用于检测和维护 BGP Session 的健康状况,BGP Peers 之间会周期性地发出 Keepalive Msg,用来保持 Session 的有效性。

在这里插入图片描述

Notification Msg

用于 BGP Router 运维信息的通知,例如:当 BGP Router 检测到错误状态时,就会向 Peer 发出 Notification Msg,并中断 BGP Session。

在这里插入图片描述

Route-refresh Msg

用于实现路由刷新。通常的,在 BGP Router 改变了自身的路由策略(Input/Output Policy)后就会请求 BGP Peers 重新发送 Routes。以此来实现 Peers 之间动态的交换路由刷新请求,并在后续的过程中使相关的 Adj-RIB-Out 重新通告路由。

在这里插入图片描述

Update Msg

用于在 BGP Peers 之间交换 Routes,它既可以用于发布 Routes,也可以用于撤销不可达的 Routes。

在这里插入图片描述

Update Msg 是最关键的 BGP Msg 类型之一,BGP Routers 的 NLRI(Network Layer Reachability Information,网络层可达性信息)和 Path Attribute(路径属性)都被包含在里面。

  • Path Attribute:BGP Router 使用 Path Attribute 来确定前往目的地的最佳路径。
  • NLRI:BGP Router 使用 NLRI 中的 IP Prefixes(网络前缀)信息来完成路由分发。

下面稍作展开 BGP Path Attribute,可以分为以下 4 类。

  1. 公认必遵属性:所有的 BGP Router 都能够识别该属性,并且必须出现在所有 Update Msg 中。包括:

    1. Origin(源头):指出了 BGP Routes 的来源,用于判断 Routes 的可信度,Router 会根据 Origin 属性作为路由决策的参考。
    2. AS-path(AS 路径):它通过一种 Record-Route(记录路由)的方式,记录了一个 IP Prefix(路由前缀)在传递过程中所经过了的 AS。
    3. Next-hop(下一跳):表示目的网络所使用的下一跳路由器的地址。
  2. 公认可选属性:所有的 BGP Router 都能够识别该属性,但可以不出现在 Update Msg 中。包括:

    1. local-preference(本地优先级):Update Msg 可以携带这个属性并将其发给 I-BGP 邻居,用于 AS 内部的 BGP Router 作为参考,具有较高的 local-preference 值的 Routes 将在路由选择过程中被优先考虑。
    2. Atomic-aggregate(原子聚合):当 BGP Router 进行路由聚合时,由于会产生一条新的聚合路由,因此精细路由所携带的 AS-path 属性将会在聚合时被丢失。
  3. 可选传递属性:不要求所有 BGP Router 都能识别,但即使不能识别也会传递该属性。包括:

    1. Aggregator(聚合站点):可以包含在产生聚合路由的 Update Msg 中,通过携带发送 Update Msg 的 Router 的 BGP-ID,以此来告知进行了路由聚合通告的 Router 的标识。
    2. Community(共同体):在 RFC1997 和 RFC1998 中定义,用于对 Routes 进行分组管理。通常在制定路由策略时会对一系列的 IP Prefix 进行控制,例如:对从某个 AS 来的 Routes 进行特殊处理等。基于这样的原因,可以通过在 Update Msg 中携带 Community 属性来进行相关的路由策略管理。例如:ISP 可以为某个特定的用户分配一个 Community 属性值,此后该 ISP 就可以基于 Community 值来设置专门的 local-preference 或者 MED 等属性来完成路由策略的控制。
  4. 可选非传递属性:不要求所有 BGP Router 都能识别,不识别该属性就会丢弃该 Msg。包括:

    1. MED(Multi-exit-discriminator,多出口鉴别器):用于在具有多个出口的 AS 之间选择最优路径,MED 值越小,路径的开销就越小,该路径将被优先选择。

基于 Path Attribute 的影响,BGP Router 进行具体的路由选择时,通常遵守下述规则:

  1. 首选 Weight 值最高的。
  2. 如果 Weight 相同,选择 local-preference 最高的。
  3. 如果 local-preference 相同,选择 Next-hop=0.0.0.0 的(当前路由器通告的路由)。
  4. 如果没有当前路由器通告的路由,选择 AS-path 最短的。
  5. 如果 AS-path 相同,选择 Origin 最优的(IGP > EGP > 不完全)。
  6. 如果 Origin 相同,选择 MED 最低的。
  7. 如果 MED 相同,则 E-BGP 优于 I-BGP。
  8. 若都是 E-BGP,选择优先到达的。
  9. 若都是 I-BGP,选择下一跳最近的。
  10. 首选 BGP 邻居的 Router-id 最小的。
  11. 如果 Router-id 相同,选择邻居 IP 地址最小的。

BGP Msg 状态机

在这里插入图片描述

  1. Idle(空闲状态):为初始状态,该状态下,BGP Router 拒绝邻居发送的连接请求。只有在收到本设备的 Start 事件后,BGP Router 才开始尝试和其它 BGP Peers 进行 TCP Connection,并转至 Connect 状态。

  2. Connect(连接状态):BGP Router 启动 Connect Retry(连接重传定时器),等待 TCP Connection 完成。如果 TCP 连接成功,那么 BGP Router 向 Peer 发送 Open Msg,并转至 OpenSent 状态;如果 TCP 连接失败,那么 BGP Router 转至 Active 状态。

  3. Active(行动状态):BGP Router 总是在试图与邻居建立 TCP Connection。如果 TCP 连接成功,那么 BGP Router 向 Peer 发送 Open Msg,并关闭 Connect Retry,然后转至 OpenSent 状态。如果 TCP 连接失败,那么 BGP Router 停留在 Active 状态。

  4. OpenSent(发送状态):BGP Router 等待 Peer 的 Open Msg,并对收到的 Open Msg 中携带的 AS Numer、Version、认证码等字段进行检查。如果收到的 Open Msg 正确,那么 BGP Router 发送 Keepalive Msg,并转至 OpenConfirm 状态。

  5. OpenConfirm(确认状态):BGP Router 等待 Keepalive 或 Notification Msg。如果收到 Keepalive Msg,则转至 Established 状态;如果收到 Notification Msg,则转至 Idle 状态。

  6. Established(连接建立状态):BGP Router 建立了邻居关系后,就可以和 Peer 交换 Update、Keepalive、Route-refresh、Notification Msg 了。如果收到 Update 或 Keeplive Msg,则继续保持该状态;如果收到 Notification Msg,则迁移到 Idle 状态。

更具体的状态机流程如下图所示。

在这里插入图片描述

BGP RR(Route-Reflectors,路由反射器)

在 BGP RR(Route-Reflectors,路由反射器)标准被提出之前,采用的是 BGP Full Mesh 组网拓扑,即:每一个 BGP Speaker 都需要和其他 BGP Speaker 建立 BGP Session。这样全网中 BGP Session 的总数就是 N^2,如果 BGP Cluster 的规模超过了 100 台,就会对设备造成非常大的配置和处理压力。因此 Tony Bates 和 Ravi Chandra 在 1996 年 6 月提出了《RFC1966: Route Reflector》标准。

BGP RR 通过指定少量的(一个或多个)高性能 BGP Speaker 作为 RR,由它们与网络中其他 BGP Router 建立 BGP Session,并负责将 Routes 信息反射给所有建立连接的 Peers。每个 BGP Router 只要成为了 RR 的 Peer 之后,即可获得全网的 Routes 信息,以此来有效减轻 Cluster 的配置压力。目前 BGP RR 已经被广泛应用在 I-BGP 和 E-BGP 场景中,例如:Kubernetes Calico CNI 等。

在这里插入图片描述

为了保证 RR 方案的简洁性和支持平滑升级,RR 标准引入了一些新的概念。比如,当一个 BGP Speaker 被配置为 RR 后,它会将 BGP 邻居分为 2 类:

  1. Client Peer
  2. Non-Client Peer

并且在宣告路由时遵循以下规则:

  1. 当收到一个来自 Non-Client Peer 的 I-BGP Update Msg 后,该 Route 将会反射到所有的 Client Peer。
  2. 当收到一个来自 Client Peer 的 I-BGP Update Msg 后,该 Route 将会反射到所有的 Client Peer 和 Non-Client Peer。
  3. 当收到一个来自 E-BGP Update Msg 后,该 Route 将会反射到所有的 Client 和 Non-Client Peer。

BGP MP(Multi-protocols Extensions,多协议扩展)

最初的 BGPv1 只能管理 IPv4 协议和单播路由,后来为了让 BGP 支持更多的协议类型(e.g. IPv6)和路由类型(e.g. 多播),在《RFC 4760: Multiprotocol Extensions for BGP-4》中定义了 BGP MP 标准。支持 MP 的 BGP Router 又称为 MP-BGP Router(多协议 BGP 路由器)。

BGP MP 的实现思路是,在 Update Msg 的 TLV 编码格式的基础上,对 NLRI 字段进行扩展,添加了协议类型字段和子网前缀字段,用来描述不同协议类型和路由类型信息。同时,为了区分 NLRI 中的多种协议类型和路由类型,还分别引入了 AFI(Address Family Identifier,地址族标识)和 SAFI(Subsequent Address Family Identifier,子地址族标识)的概念。

在这里插入图片描述

通过这样的方式,BGP MP 的可扩展性得到了极大的增强,使得 BGP 已经不仅仅是一个单纯的动态路由协议,而是可以被设计用于支持一些新型的应用场景,例如:IPv6 单播地址族、MPLS VPN 地址族、EVPN VxLAN 地址族等等。

更具体的,MP-BGP 支持了以下多种协议类型:

  • IPv4 地址族:用于路由 IPv4 地址,是 BGP 的最原始地址族。
  • IPv6 地址族:用于路由 IPv6 地址。
  • VPNv4 地址族:用于 MPLS VPN 的 IPv4 路由。
  • VPNv6 地址族:用于 MPLS VPN 的 IPv6 路由。
  • L2VPN EVPN 地址族:用于 EVPN 的路由。
  • IPv4 Flow Label 地址族:用于标识 IPv4 Flow 的标签路由。
  • IPv6 Flow Label 地址族:用于标识 IPv6 Flow 的标签路由。

以及支持了下列多种路由类型:

  • Unicast(单播路由类型):表示路由信息的目的地址只有一个。
  • Multicast(多播路由类型):表示路由信息的目的地址有多个。
  • Flow(流路由类型):它是一种带有源地址和目的地址的路由类型,用于 MPLS 标签转发流量工程。

下图为一个 MPLS VPN 场景中的 BGP MP Update Msg 示例。

在这里插入图片描述

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

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

相关文章

基于STM32+NBIOT+华为云IOT设计的智能井盖

一、概述 智能井盖是一种通过物联网技术实现对井盖状态监测和管理的设备。当前介绍基于STM32微控制器,BC26 NBIOT模组以及华为云IOT平台设计一款智能井盖系统。该系统通过光线传感器、霍尔传感器、温湿度传感器等设备实现井盖状态的实时监测,通过NBIOT网络将数据上传到华为云…

5 Redis缓存穿透、击穿、雪崩、分布式锁、布隆过滤器

1 Redis 应用问题解决 1.1 缓存穿透 1.1.1 问题描述 key 对应的数据在数据源并不存在,每次针对此 key 的请求从缓存获取不到,请求都会压到数据源(数据库),从而可能压垮数据源。比如 用一个不存在的用户 id 获取用户…

ES的概述

一、ECMASript 相关介绍 1.1什么是 ECMA ECMA ( European Computer Manufacturers Association )中文名称为欧洲计算机制 造商协会,这个组织的目标是评估、开发和认可电信和计算机标准。 1994 年后该 组织改名为 Ecma 国际。 1.2.什么…

Three.js--》模型材质与纹理的使用

目录 初识材质与纹理 修改模型材质颜色 模型添加纹理 纹理常用属性使用 纹理显示算法 设置粗糙度 纹理加载进度情况 设置环境贴图 初识材质与纹理 three.js中的材质就是几何体表面的材料。所有材质均继承自Material。ThreeJS的材质分为:基础材质、深度材质…

Linux(centos 7) 环境安装MySQL5.7

mysql安装包 链接:百度网盘 请输入提取码 提取码:b8w4 环境准备 安装好的centos 7系统 root 用户登录Linux 在根目录下创建/soft目录 上传mysql安装包到/soft目录,结果如下 准备完毕 安装 根据现有序号挨个安装 rpm 包,依…

“聪明车”接驳“智慧路”—— 智能网联车驶上新赛道

去年底,智己L7首批200台Beta体验版下线交付。 智能网联车,“新赛道”上疾驶着“新终端”。“聪明车”如何更好接驳“智慧路”?全国两会现场,不少代表委员聚焦于这一话题展开热议,出谋划策。 “只有把‘终端’牢牢掌握在…

06 - 2 分层架构模式(Layered Arch)

层 层的定义 层:软件的逻辑单元每一层都有特定的功能组件被分配到不同的层 何谓分层 将系统按照职责拆分和组织上层依赖于直接下层 下层不可以依赖于上层不可以跃层访问(理想状况) 经典分层架构 OSI 7 层架构 CS 两层架构Client&…

生动形象的傅里叶变换解析!

使用联想链条和几何直观,辅以从实际需求衍生概念的思考模式,详解什么是傅立叶变换,为什么要做傅立叶变换等,帮助记忆和理解,目的当然是标题所说:让你永远忘不了傅里叶变换这个公式。另,这篇博客…

MySQL之Server层的内存结构

前言 本文已收录在MySQL性能优化原理实战专栏,点击此处浏览更多优质内容。 前面的文章我们介绍了InnoDB存储引擎的一些内存、内存磁盘的结构以及工作原理,今天我们就来看一下关于MySQL Server层的一些内存结构。 目录 一、Binlog Cache1.1 Binlog Cache工…

jvm之远程调试

写在前面 工作中,有时会出现测试环境有问题,本地却正常的情况,此时我们就可以通过JVM提供的远程调用的功能,实现在本地debug调试测试环境代码。 1:例子1直接运行class 首先我们来定义类: package com.f…

Blender 形变类修改器:曲线

目录 形变类修改器1. 测试一:减少环切数量1.1 调整物体原点1.2 让两个物体原点重合1.3 添加曲线修改器1.4 融并边 2. 测试二:曲线的方向2.1 查看曲线的方向(曲线法向显示)2.2 在3D空间调整曲线 3. 测试三:空间位置的影…

【Minecraft开服教学】使用 MCSM 面板一键搭建我的世界服务器 并使用内网穿透公网远程联机

文章目录 前言1.Mcsmanager安装2.创建Minecraft服务器3.本地测试联机4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射内网端口 5.远程联机测试6. 配置固定远程联机端口地址6.1 保留一个固定TCP地址6.2 配置固定TCP地址 7. 使用固定公网地址远程联机 转载自远程穿透文章&…

C语言中链表经典面试题目

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C 🔥座右铭:“不要等到什么都没有了,才下…

MySQL之Change Buffer详解

前言 本文已收录在MySQL性能优化原理实战专栏,点击此处浏览更多优质内容。 上一篇文章一文带你了解MySQL数据库InnoDB_Buffer_Pool(点击跳转)我们学习了InnoDB Buffer Pool的工作原理,其作用是减少MySQL读取数据时直接与磁盘打交道…

百趣代谢组学党参远志散对记忆障碍大鼠学习能力和肠道菌群的影响

文章标题:Effects of Dangshen Yuanzhi Powder on learning ability and gut microflora in rats with memory disorde 发表期刊:Journal of Ethnopharmacology 影响因子:5.195 作者单位:山西中医药大学 百趣提供服务&#xf…

什么是元宇宙数字展厅?元宇宙前景如何 ?

元宇宙是一个近年来备受关注的概念,它被认为是未来数字世界的新形态。元宇宙是一个虚拟的、数字化的世界,它可以模拟现实世界的各种物理、社会和经济系统,同时也可以融合人工智能、虚拟现实等前沿技术,为用户提供更加丰富、多样化…

钴基双金属氧化物储能材料的高效制备和电化学应用

一、引言 钴金属氧化物作为一类典型的储能材料,既可以用于锂离子电池负极材料,又可以用于超级电容器电极材料,因而备受关注 。在作为锂离子电池负极材料时,具有较高的理论比容量,但充放电体积变化较大、材料导电性较差…

十、MyBatis的缓存

文章目录 十、MyBatis的缓存10.1 MyBatis的一级缓存场景1:判断同一个sqlSession是否查询1级缓存,答案:会查询1级缓存场景2:判断不同sqlSession是否查询1级缓存,答案:不会查询1级缓存场景3:判断相…

企业服务管理(ESM)工具

什么是企业服务管理 企业服务管理 (ESM) 是 IT 服务管理(ITSM)原则的延伸,旨在为人力资源 (HR)、法律、设施、营销和财务等业务团队提供更好的服务。ITSM 是 IT 团队管理向客户提供端到端 IT 服务的方式。ESM 的一个例子是建立一个可供整个组织所有团队使用的服务台…

LED显示屏周边设备

LED显示屏市场也呈多元化发展,异型屏、灯条屏、透明屏、小间距等应用新产品的出现无疑不是一种技术创新。以上创新技术的应用,对LED显示屏周边设备生产企业也提出了更高要求。因此,周边设备对推动整个LED显示屏的产业发展起着举足轻重、不可或…