当前位置: 首页 > news >正文

华为交换机配置BGP的基本示例

BGP简介

定义

边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择最佳路由的距离矢量路由协议。早期发布的三个版本分别是BGP-1(RFC1105)、BGP-2(RFC1163)和BGP-3(RFC1267),1994年开始使用BGP-4(RFC1771),2006年之后单播IPv4网络使用的版本是BGP-4(RFC4271),其他网络(如IPv6等)使用的版本是MP-BGP(RFC4760)。

MP-BGP是对BGP-4进行了扩展,来达到在不同网络中应用的目的,BGP-4原有的消息机制和路由机制并没有改变。MP-BGP在IPv6单播网络上的应用称为BGP4+,在IPv4组播网络上的应用称为MBGP(Multicast BGP)。

目的

为方便管理规模不断扩大的网络,网络被分成了不同的自治系统。1982年,外部网关协议EGP(Exterior Gateway Protocol)被用于实现在AS之间动态交换路由信息。但是EGP设计得比较简单,只发布网络可达的路由信息,而不对路由信息进行优选,同时也没有考虑环路避免等问题,很快就无法满足网络管理的要求。

BGP是为取代最初的EGP而设计的另一种外部网关协议。不同于最初的EGP,BGP能够进行路由优选、避免路由环路、更高效率的传递路由和维护大量的路由信息。

虽然BGP用于在AS之间传递路由信息,但并不是所有AS之间传递路由信息都需要运行BGP。比如在数据中心上行的连入Internet的出口上,为了避免Internet海量路由对数据中心内部网络的影响,设备采用静态路由代替BGP与外部网络通信。

受益

BGP从多方面保证了网络的安全性、灵活性、稳定性、可靠性和高效性:

  • BGP采用认证和GTSM的方式,保证了网络的安全性。

  • BGP提供了丰富的路由策略,能够灵活的进行路由选路。

  • BGP提供了路由聚合和路由衰减功能用于防止路由振荡,有效提高了网络的稳定性。

  • BGP使用TCP作为其传输层协议(端口号为179),并支持BGP与BFD联动、BGP Tracking和BGP GR,提高了网络的可靠性。

BGP的基本概念

本章节介绍了BGP的基本概念,理解这些基本概念后,您可以更好的理解BGP的其它功能。

自治系统AS(Autonomous System)

AS是指在一个实体管辖下的拥有相同选路策略的IP网络。BGP网络中的每个AS都被分配一个唯一的AS号,用于区分不同的AS。AS号分为2字节AS号和4字节AS号,其中2字节AS号的范围为1至65535,4字节AS号的范围为1至4294967295。支持4字节AS号的设备能够与支持2字节AS号的设备兼容。

BGP分类

如图1所示,BGP按照运行方式分为EBGP(External/Exterior BGP)和IBGP(Internal/Interior BGP)。

  • EBGP:运行于不同AS之间的BGP称为EBGP。为了防止AS间产生环路,当BGP设备接收EBGP对等体发送的路由时,会将带有本地AS号的路由丢弃。

  • IBGP:运行于同一AS内部的BGP称为IBGP。为了防止AS内产生环路,BGP设备不将从IBGP对等体学到的路由通告给其他IBGP对等体,并与所有IBGP对等体建立全连接。为了解决IBGP对等体的连接数量太多的问题,BGP设计了路由反射器和BGP联盟。

说明:如果在AS内一台BGP设备收到EBGP邻居发送的路由后,需要通过另一台BGP设备将该路由传输给其他AS,此时推荐使用IBGP。
BGP报文交互中的角色

BGP报文交互中分为Speaker和Peer两种角色。

  • Speaker:发送BGP报文的设备称为BGP发言者(Speaker),它接收或产生新的报文信息,并发布(Advertise)给其它BGP Speaker。

  • Peer:相互交换报文的Speaker之间互称对等体(Peer)。若干相关的对等体可以构成对等体组(Peer Group)。

BGP的路由器号(Router ID)

BGP的Router ID是一个用于标识BGP设备的32位值,通常是IPv4地址的形式,在BGP会话建立时发送的Open报文中携带。对等体之间建立BGP会话时,每个BGP设备都必须有唯一的Router ID,否则对等体之间不能建立BGP连接。

BGP工作原理

BGP对等体的建立、更新和删除等交互过程主要有5种报文、6种状态机和5个原则。

BGP的报文

BGP对等体间通过以下5种报文进行交互,其中Keepalive报文为周期性发送,其余报文为触发式发送:

  • Open报文:用于建立BGP对等体连接。

  • Update报文:用于在对等体之间交换路由信息。

  • Notification报文:用于中断BGP连接。

  • Keepalive报文:用于保持BGP连接。

  • Route-refresh报文:用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新(Route-refresh)能力的BGP设备会发送和响应此报文。

BGP状态机

如图1所示,BGP对等体的交互过程中存在6种状态机:空闲(Idle)、连接(Connect)、活跃(Active)、Open报文已发送(OpenSent)、Open报文已确认(OpenConfirm)和连接已建立(Established)。在BGP对等体建立的过程中,通常可见的3个状态是:Idle、Active和Established。

  1. Idle状态是BGP初始状态。在Idle状态下,BGP拒绝邻居发送的连接请求。只有在收到本设备的Start事件后,BGP才开始尝试和其它BGP对等体进行TCP连接,并转至Connect状态。

说明:

  1. Start事件是由一个操作者配置一个BGP过程,或者重置一个已经存在的过程或者路由器软件重置BGP过程引起的。
  2. 任何状态中收到Notification报文或TCP拆链通知等Error事件后,BGP都会转至Idle状态。

  1. 在Connect状态下,BGP启动连接重传定时器(Connect Retry),等待TCP完成连接。

    • 如果TCP连接成功,那么BGP向对等体发送Open报文,并转至OpenSent状态。
    • 如果TCP连接失败,那么BGP转至Active状态。
    • 如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP继续尝试和其它BGP对等体进行TCP连接,停留在Connect状态。
  2. 在Active状态下,BGP总是在试图建立TCP连接。

    • 如果TCP连接成功,那么BGP向对等体发送Open报文,关闭连接重传定时器,并转至OpenSent状态。
    • 如果TCP连接失败,那么BGP停留在Active状态。
    • 如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP转至Connect状态。
  3. 在OpenSent状态下,BGP等待对等体的Open报文,并对收到的Open报文中的AS号、版本号、认证码等进行检查。

    • 如果收到的Open报文正确,那么BGP发送Keepalive报文,并转至OpenConfirm状态。
    • 如果发现收到的Open报文有错误,那么BGP发送Notification报文给对等体,并转至Idle状态。
  4. 在OpenConfirm状态下,BGP等待Keepalive或Notification报文。如果收到Keepalive报文,则转至Established状态,如果收到Notification报文,则转至Idle状态。
  5. 在Established状态下,BGP可以和对等体交换Update、Keepalive、Route-refresh报文和Notification报文。

    • 如果收到正确的Update或Keepalive报文,那么BGP就认为对端处于正常运行状态,将保持BGP连接。
    • 如果收到错误的Update或Keepalive报文,那么BGP发送Notification报文通知对端,并转至Idle状态。
    • Route-refresh报文不会改变BGP状态。
    • 如果收到Notification报文,那么BGP转至Idle状态。
    • 如果收到TCP拆链通知,那么BGP断开连接,转至Idle状态。
BGP对等体之间的交互原则

BGP设备将最优路由加入BGP路由表,形成BGP路由。BGP设备与对等体建立邻居关系后,采取以下交互原则:

  • 从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体。

  • 从EBGP对等体获得的BGP路由,BGP设备发布给它所有EBGP和IBGP对等体。

  • 当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体。

  • 路由更新时,BGP设备只发送更新的BGP路由。

  • 所有对等体发送的路由,BGP设备都会接收。

实验需求

如图中所示,需要在所有Switch间运行BGP协议,S1、S2之间建立EBGP连接,S2、S3和S4之间建立IBGP全连接。

注:请确保该场景下互联接口的STP处于未使能状态。因为在使能STP的环形网络中,如果用交换机的VLANIF接口构建三层网络,会导致某个端口被阻塞,从而导致三层业务不能正常运行。 

配置思路

采用如下的思路配置BGP的基本功能:

  1. 在S2、S3和S4间配置IBGP连接。
  2. 在S1和S2之间配置EBGP连接。

操作步骤
  1. 配置各接口所属的VLAN

    # 配置S1。S2、S3和S4的配置与S1类似。

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.	
[Huawei]sysname S1[S1]undo info-center enable 
Info: Information center is disabled.[S1]vlan batch 10 50
Info: This operation may take a few seconds. Please wait for a moment...done.[S1]interface GigabitEthernet 0/0/1	
[S1-GigabitEthernet0/0/1]port link-type trunk 	
[S1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10[S1-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2r	
[S1-GigabitEthernet0/0/2]port link-type trunk 	
[S1-GigabitEthernet0/0/2]port trunk allow-pass vlan 50	
[S1-GigabitEthernet0/0/2]quit 

   

2. 配置各VLANIF接口的IP地址

       # 配置S1。S2、S3和S4的配置与S1类似。

[S1]interface Vlanif 10	
[S1-Vlanif10]ip address 192.168.1.2 24
[S1-Vlanif10]quit[S1]interface Vlanif 50	
[S1-Vlanif50]ip address 10.1.1.1 16	
[S1-Vlanif50]quit

  3. 配置IBGP连接

       # 配置S2。

[S2]bgp 65009	
[S2-bgp]router-id 172.17.2.2		
[S2-bgp]peer 172.16.1.2 as-number 65009	
[S2-bgp]peer 172.16.3.2 as-number 65009	
[S2-bgp]quit 

      # 配置S3。

[S3]bgp 65009	
[S3-bgp]router-id 172.17.3.3	
[S3-bgp]peer 172.16.3.1 as-number 65009	
[S3-bgp]peer 172.16.2.2 as-number 65009	
[S3-bgp]quit 

     # 配置S4。

[S4]bgp 65009	
[S4-bgp]router-id 172.17.4.4	
[S4-bgp]peer 172.16.1.1 as-number 65009	
[S4-bgp]peer 172.16.2.1 as-number 65009	
[S4-bgp]quit 

4. 配置EBGP

     # 配置S1。

[S1]bgp 65008	
[S1-bgp]router-id 172.17.1.1	
[S1-bgp]peer 192.168.1.1 as-number 65009	
[S1-bgp]quit

    # 配置S2。

[S2]bgp 65009		
[S2-bgp]peer 192.168.1.2 as-number 65008	
[S2-bgp]quit

   # 查看BGP对等体的连接状态。

     可以看出,S2其它Switch的BGP连接均已建立。

 5. 配置S1发布路由10.1.0.0/16

     # 配置S1发布路由。

[S1]bgp 65008	
[S1-bgp]ipv4-family unicast 	
[S1-bgp-af-ipv4]network 10.1.0.0 255.255.0.0	
[S1-bgp-af-ipv4]quit 	
[S1-bgp]quit 

    # 查看S1路由表信息。

    # 查看S2的路由表。

   # 查看S3的路由表。

     从路由表可以看出,S3学到了AS65008中的10.1.0.0的路由,但因为下一跳192.168.1.2不可达,所以也不是有效路由。

 6. 配置BGP引入直连路由

     # 配置S2。

[S2]bgp 65009	
[S2-bgp]ipv4-family unicast 	
[S2-bgp-af-ipv4]import-route direct 	
[S2-bgp-af-ipv4]quit 
[S2-bgp]quit

   # 查看S1的BGP路由表。

   # 查看S3的路由表。

  可以看出,到10.1.0.0的路由变为有效路由,下一跳为S1的地址。

  # 使用Ping进行验证。

S2 配置

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.	
[Huawei]sysname S2[S2]undo info-center enable 
Info: Information center is disabled.[S2]vlan batch 10 20 30
Info: This operation may take a few seconds. Please wait for a moment...done.[S2]interface GigabitEthernet 0/0/1	
[S2-GigabitEthernet0/0/1]port link-type trunk 	
[S2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10[S2-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2	
[S2-GigabitEthernet0/0/2]port link-type trunk 	
[S2-GigabitEthernet0/0/2]port trunk allow-pass vlan 20[S2-GigabitEthernet0/0/2]interface GigabitEthernet 0/0/3	
[S2-GigabitEthernet0/0/3]port link-type trunk 	
[S2-GigabitEthernet0/0/3]port trunk allow-pass vlan 30	
[S2-GigabitEthernet0/0/3]quit [S2]interface Vlanif 10	
[S2-Vlanif10]ip address 192.168.1.1 24[S2-Vlanif10]interface Vlanif 20	
[S2-Vlanif20]ip address 172.16.3.1 24[S2-Vlanif20]interface Vlanif 30
[S2-Vlanif30]ip address 172.16.1.1 24	
[S2-Vlanif30]quit 

S3 配置

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.	
[Huawei]sysname S3[S3]undo info-center enable 
Info: Information center is disabled.[S3]vlan batch 20 40
Info: This operation may take a few seconds. Please wait for a moment...done.[S3]interface GigabitEthernet 0/0/1	
[S3-GigabitEthernet0/0/1]port link-type trunk 	
[S3-GigabitEthernet0/0/1]port trunk allow-pass vlan 20[S3-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2	
[S3-GigabitEthernet0/0/2]port link-type trunk 	
[S3-GigabitEthernet0/0/2]port trunk allow-pass vlan 40	
[S3-GigabitEthernet0/0/2]quit [S3]interface Vlanif 20	
[S3-Vlanif20]ip address 172.16.3.2 24[S3-Vlanif20]interface Vlanif 40	
[S3-Vlanif40]ip address 172.16.2.1 24	
[S3-Vlanif40]quit 

S4 配置

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.	
[Huawei]sysname S4[S4]undo info-center enable 
Info: Information center is disabled.[S4]vlan batch 30 40
Info: This operation may take a few seconds. Please wait for a moment...done.[S4]interface GigabitEthernet 0/0/1	
[S4-GigabitEthernet0/0/1]port link-type trunk 	
[S4-GigabitEthernet0/0/1]port trunk allow-pass vlan 30[S4-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2	
[S4-GigabitEthernet0/0/2]port link-type trunk 	
[S4-GigabitEthernet0/0/2]port trunk allow-pass vlan 40
[S4-GigabitEthernet0/0/2]quit [S4]interface Vlanif 30	
[S4-Vlanif30]ip address 172.16.1.2 24[S4-Vlanif30]interface Vlanif 40	
[S4-Vlanif40]ip address 172.16.2.2 24	
[S4-Vlanif40]quit 

相关文章:

华为交换机配置BGP的基本示例

BGP简介 定义 边界网关协议BGP&#xff08;Border Gateway Protocol&#xff09;是一种实现自治系统AS&#xff08;Autonomous System&#xff09;之间的路由可达&#xff0c;并选择最佳路由的距离矢量路由协议。早期发布的三个版本分别是BGP-1&#xff08;RFC1105&#xff0…...

数据分析基础之《numpy(4)—ndarry运算》

一、逻辑运算 当我们要操作符合某一条件的数据时&#xff0c;需要用到逻辑运算 1、运算符 满足条件返回true&#xff0c;不满足条件返回false # 重新生成8只股票10个交易日的涨跌幅数据 stock_change np.random.normal(loc0, scale1, size(8, 10))# 获取前5行前5列的数据 s…...

分享一个项目——Sambert UI 声音克隆

文章目录 前言一、运行ipynb二、数据标注三、训练四、生成总结 前言 原教程视频 项目链接 运行一个ipynb&#xff0c;就可操作 总共四步 1&#xff09;运行ipynb 2&#xff09;数据标注 3&#xff09;训练 4&#xff09;生成 一、运行ipynb 等运行完毕后&#xff0c;获得该…...

ES6 语法精粹简读

本文旨在记录 ES6 的核心常用语法,略去一些细节。 文章目录 1 var 函数作用域与 let/const 块作用域2 解构赋值数组结构赋值对象结构赋值3 ES6 中字符串的新语法模板字符串模板编译标签模板4 ES6 中的函数默认值rest 参数箭头函数this 指向问题部署管道机制尾调用优化...

uniapp整合echarts(目前性能最优、渲染最快方案)

本文echarts示例如上图,可扫码体验渲染速度及loading效果,下文附带本小程序uniapp相关代码 实现代码 <template><view class="source...

解决Electron应用中的白屏问题的实用方法

在使用Electron构建应用程序时&#xff0c;一些开发者可能会面临窗口加载过程中出现的白屏问题。这种问题主要分为两个方面&#xff1a; Electron未加载完毕HTML&#xff1a; 这时Electron自身产生的白色背景可能导致用户在启动应用时看到一片空白。HTML加载渲染过程中的短暂白…...

大数据---34.HBase数据结构

一、HBase简介 HBase是一个开源的、分布式的、版本化的NoSQL数据库&#xff08;即非关系型数据库&#xff09;&#xff0c;依托Hadoop分布式文件系统HDFS提供分布式数据存储&#xff0c;利用MapReduce来处理海量数据&#xff0c;用Zookeeper作为其分布式协同服务&#xff0c;一…...

【工具使用-有道云笔记】如何在有道云笔记中插入目录

一&#xff0c;简介 本文主要介绍如何在有道云笔记中插入目录&#xff0c;方便后续笔记的查看&#xff0c;供参考。 二&#xff0c;具体步骤 分为两个步骤&#xff1a;1&#xff0c;设置标题格式&#xff1b;2&#xff0c;插入标题。非常简单~ 2.1 设置标题格式 鼠标停在标…...

用户管理第2节课-idea 2023.2 后端一删除表,从零开始---【本人】

一、清空model文件夹下&#xff0c;所有文件 1.1.1效果如下&#xff1a; 1.1代码内容 package com.daisy.usercenter.model;import lombok.Data;Data public class User {private Long id;private String name;private Integer age;private String email; }二、清空mapper文件…...

如何添加jar包到本地Maven项目中

在 Maven 中添加一个外部 JAR 包的依赖&#xff0c;你需要使用 Maven 的 <dependency> 元素来指定该 JAR 包的坐标信息。以下是具体的步骤&#xff1a; 将 JAR 包手动添加到 Maven 本地仓库&#xff1a; 首先&#xff0c;确保将外部 JAR 包手动添加到 Maven 本地仓库。可…...

智能优化算法应用:基于学校优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于学校优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于学校优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.学校优化算法4.实验参数设定5.算法结果6.…...

【MATLAB第85期】基于MATLAB的2023年智能进化算法/元启发式算法合集(持续更新)

【MATLAB第85期】基于MATLAB的2023年智能进化算法/元启发式算法合集&#xff08;持续更新&#xff09; 1.海象进化算法&#xff08;Walrus Optimization Algorithm&#xff09; 作者&#xff1a;Pavel Trojovsk and Mohammad Dehghani 2.暴龙优化算法&#xff08;Tyrannosa…...

[Realtek sdk-3.4.14b]RTL8197FH-VG+RTL8812F WiFi使用功率限制功能使用说明

sdk说明 ** Gateway/AP firmware v3.4.14b – Aug 26, 2019**  Wireless LAN driver changes as:  Refine WiFi Stability and Performance  Add 8812F MU-MIMO  Add 97G/8812F multiple mac-clone  Add 97G 2T3R antenna diversity  Fix 97G/8812F/8814B MP issu…...

Vue中为什么data属性是一个函数而不是一个对象?(看完就会了)

文章目录 一、实例和组件定义data的区别二、组件data定义函数与对象的区别三、原理分析四、结论 一、实例和组件定义data的区别 vue实例的时候定义data属性既可以是一个对象&#xff0c;也可以是一个函数 const app new Vue({el:"#app",// 对象格式data:{foo:&quo…...

Linux中一些知识积累(持续补充)

如何安装Eigen3库&#xff1f; 在linux中直接命令安装。Eigen/Dense 是 Eigen 库中的一个模块&#xff0c;提供了对密集矩阵&#xff08;Dense Matrix&#xff09;的支持。 sudo apt install libeigen3-devLinux 中VScode中运行C时&#xff0c;gdb 的Launch与Attach有什么区别…...

内网渗透基础

内网 内网指的是内部局域网&#xff0c;常说的LAN&#xff08;local area network&#xff09;。常见家庭wifi网络和小型的企业网络&#xff0c;通常内部计算机直接访问路由器设备&#xff0c;路由器设备接入移动电信的光纤实现上网。 内部局域网可以通过交换机/防火墙组成多个…...

【2023年网络安全优秀创新成果大赛专刊】银行数据安全解决方案(天空卫士)

在2023年网络安全优秀创新成果大赛&#xff0c;成都分站中&#xff0c;天空卫士银行数据安全方案获得优秀解决方案奖。与此同时&#xff0c;天空卫士受信息安全杂志邀请&#xff0c;编写《银行数据安全解决方案》。12月6日&#xff0c;天空卫士编写的《银行数据安全解决方案》做…...

嵌入式串口输入详细实例

学习目标 掌握串口初始化流程掌握串口输出单个字符掌握串口输出字符串掌握通过串口printf熟练掌握串口开发流程学习内容 需求 串口循环输出内容到PC机。 串口数据发送 添加Usart功能。 首先,选中Firmware,鼠标右键,点击Manage Project Items 接着,将gd32f4xx_usart.c添…...

springboot(ssm智慧生活商城系统 网上购物系统Java系统

springboot(ssm智慧生活商城系统 网上购物系统Java系统 开发语言&#xff1a;Java 框架&#xff1a;ssm/springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;mysql 5.7&#xff08;或8.0&#xff09; 数…...

Peter算法小课堂—贪心与二分

太戈编程655题 题目描述&#xff1a; 有n辆车大甩卖&#xff0c;第i辆车售价a[i]元。有m个人带着现金来申请购买&#xff0c;第i个到现场的人带的现金为b[i]元&#xff0c;只能买价格不超过其现金额的车子。你是大卖场总经理&#xff0c;希望将车和买家尽量多地进行一对一配对…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...