华为eNSP配置专题-策略路由的配置
文章目录
- 华为eNSP配置专题-策略路由的配置
- 0、概要介绍
- 1、前置环境
- 1.1、宿主机
- 1.2、eNSP模拟器
- 2、基本环境搭建
- 2.1、终端构成和连接
- 2.2、终端的基本配置
- 3、配置接入交换机上的VLAN
- 4、配置核心交换机为网关和DHCP服务器
- 5、配置核心交换机和出口路由器互通
- 6、配置PC和出口路由器互通
- 6.1、方法一:配置静态路由
- 6.2、方法二:配置动态路由(RIP)
- 6.3、方法三:配置动态路由(OSPF)
- 7、让电信和联通服务器(环回口模拟的)互通
- 7.1、方法一:配置RIP
- 8、配置让PC能访问电信和联通服务器(环回口模拟的)
- 8.1、基础配置
- 8.1.1、出口路由器配置NAT
- 8.1.2、网关(核心路由器)配置默认路由
- 8.2、方法一:出口路由器配置RIP
- 8.2、方法二:出口路由器配置默认路由
- 9、策略路由一:所有流量默认走电信,如果电信出现故障,流量切换到联通
- 9.1、BFD介绍
- 9.2、删除已有默认路由
- 9.3、BFD配置
- 9.4、出口路由器配置默认路由,其中到电信的跟踪BFD
- 9.5、模拟电信故障
- 10、策略路由二:教学楼流量走电信出口,图书馆流量走联通出口
- 11、策略路由三:访问电信的服务器走电信出口,访问联通的服务器走联通出口
华为eNSP配置专题-策略路由的配置
0、概要介绍
1、前置环境
1.1、宿主机
笔记本电脑,配置如下:Windows10企业版,32GB内存

1.2、eNSP模拟器
eNSP1.3.00

2、基本环境搭建
2.1、终端构成和连接
0、总体拓扑如下:

1、2台PC,1台代表教学楼的网络,1台代表宿舍楼的网络。
2、2台交换机,1台为接入交换机acsw,1台为核心交换机(网关)coresw。
3、3台路由器,1台为出口路由器,1台代表电信服务器,1台代表联通服务器。
4、启动设备。
2.2、终端的基本配置
1、PC1和PC2配置使用DHCP
2、出口路由器配置IP
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname router
[router]int g0/0/0
[router-GigabitEthernet0/0/0]ip add 12.1.1.3 24
[router-GigabitEthernet0/0/0]int g0/0/1
[router-GigabitEthernet0/0/1]ip add 192.168.30.3 24
[router-GigabitEthernet0/0/1]int g0/0/2
[router-GigabitEthernet0/0/2]ip add 23.1.1.3 24
[router-GigabitEthernet0/0/2]quit
[router]display ip interface brief
3、电信路由器配置IP,并且配置完成后ping,ping是一个好习惯,确保每步配置都是正确的,防止到最后一步才发现错了,难以定位问题。
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname DIANXIN
[DIANXIN]int g0/0/0
[DIANXIN-GigabitEthernet0/0/0]ip add 12.1.1.1 24
[DIANXIN-GigabitEthernet0/0/0]int g0/0/1
[DIANXIN-GigabitEthernet0/0/1]ip add 100.1.1.1 24
[DIANXIN-GigabitEthernet0/0/1]quit
[DIANXIN]int LoopBack 0
[DIANXIN-LoopBack0]ip add 1.1.1.1 24
[DIANXIN-LoopBack0]quit
[DIANXIN]ping 12.1.1.3
4、联通路由器配置IP,配置环回口地址,并且配置完成后ping。
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LIANTONG
[LIANTONG]int g0/0/0
[LIANTONG-GigabitEthernet0/0/0]ip add 23.1.1.2 24
[LIANTONG-GigabitEthernet0/0/0]int g0/0/1
[LIANTONG-GigabitEthernet0/0/1]ip add 100.1.1.2 24
[LIANTONG-GigabitEthernet0/0/1]int LoopBack 0
[LIANTONG-LoopBack0]ip add 2.2.2.2 24
[LIANTONG-GigabitEthernet0/0/1]ping 23.1.1.3
[LIANTONG-GigabitEthernet0/0/1]ping 100.1.1.1
5、接入交换机改名
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname acsw
6、核心交换机改名
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname coresw
3、配置接入交换机上的VLAN
1、进入接入交换机CLI,先创建两个VLAN:
<acsw>system-view
Enter system view, return user view with Ctrl+Z.
[acsw]vlan batch 10 20
Info: This operation may take a few seconds. Please wait for a moment...done.
2、配置access口:将接口1绑定到VLAN 10,port的link-type有四种类型,其中access用于接用户,trunk接交换机,hybrid混合,QinQ用于城域网(将用户的VLAN封装到城域网的VLAN)
[acsw]int g0/0/1
[acsw-GigabitEthernet0/0/1]port link-type access
[acsw-GigabitEthernet0/0/1]port default vlan 10
3、配置access口:同理配置接口2和VLAN 20:
[acsw]int g0/0/2
[acsw-GigabitEthernet0/0/2]port link-type access
[acsw-GigabitEthernet0/0/2]port default vlan 20
[acsw-GigabitEthernet0/0/2]quit
4、配置trunk口:配置接口3为trunk口,并允许所有vlan通过:
[acsw]int g0/0/3
[acsw-GigabitEthernet0/0/3]port link-type trunk
[acsw-GigabitEthernet0/0/3]port trunk allow-pass vlan all
[acsw-GigabitEthernet0/0/3]quit
4、配置核心交换机为网关和DHCP服务器
1、进入coresw的CLI,先创建VLAN
<coresw>system-view
[coresw]vlan batch 10 20 30
2、配置下行接口为trunk口,并允许VLAN10和20通过:
[coresw]int g0/0/2
[coresw-GigabitEthernet0/0/2]port link-type trunk
[coresw-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 20
[coresw-GigabitEthernet0/0/2]quit
3、配置网关:配置VLAN10和20的两个VLANIF,这样才能做网关。
[coresw]interface vlanif 10
[coresw-Vlanif10]ip add 192.168.10.254 24
[coresw-Vlanif10]interface vlanif 20
[coresw-Vlanif20]ip add 192.168.20.254 24
[coresw-Vlanif20]quit
4、启动DHCP
[coresw]dhcp enable
Info: The operation may take a few seconds. Please wait for a moment.done.
5、先配置IP地址池
[coresw]ip pool 10
Info:It's successful to create an IP address pool.
[coresw-ip-pool-10]network 192.168.10.0 mask 24
[coresw-ip-pool-10]gateway-list 192.168.10.254
[coresw-ip-pool-10]dns-list 8.8.8.8
[coresw-ip-pool-10]lease day 3
[coresw-ip-pool-10]excluded-ip-address 192.168.10.2 192.168.10.253
[coresw-ip-pool-10]quit
6、然后在VLANIF接口上配置DHCP,使用global时,会根据VLAN分配与VLAN接口相同网段的地址池
[coresw]int vlanif 10
[coresw-Vlanif10]dhcp select global
7、查看PC1(VLAN 10系)的IP配置,果然已经分配到地址:
PC>ipconfig
Link local IPv6 address...........: fe80::5689:98ff:fece:10eb
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 192.168.10.1
Subnet mask.......................: 255.255.255.0
Gateway...........................: 192.168.10.254
Physical address..................: 54-89-98-CE-10-EB
DNS server........................: 8.8.8.8
8、同理配置VLAN20的地址池和DHCP,然后查看PC2,已获得IP地址192.168.20.1
[coresw-Vlanif10]ip pool 20
[coresw-ip-pool-20]network 192.168.30.0 mask 24
[coresw-ip-pool-20]undo network
[coresw-ip-pool-20]network 192.168.20.0 mask 24
[coresw-ip-pool-20]gateway-list 192.168.20.254
[coresw-ip-pool-20]dns-list 114.114.114.114
[coresw-ip-pool-20]lease day 3
[coresw-ip-pool-20]excluded-ip-address 192.168.20.2 192.168.20.253
[coresw-ip-pool-20]quit
[coresw]interface vlanif 20
[coresw-Vlanif20]dhcp select global
9、从PC1 ping PC2,发现可以Ping通,tracert可以看到路由情况。因为PC2不在PC1的网段,所以会把包扔给网关。而在网关上可以看到20网段的路由。这样就用三层交换机实现了跨VLAN的通信。
PC>tracert 192.168.20.1
traceroute to 192.168.20.1, 8 hops max
(ICMP), press Ctrl+C to stop1 192.168.10.254 47 ms 47 ms 47 ms2 192.168.20.1 78 ms 94 ms 93 ms

5、配置核心交换机和出口路由器互通
1、本来可以再核心交换机和出口路由器的端口上配置IP即可。但eNSP上华为的三层交换机不能直接给接口配IP。所以只能先配置VLAN,然后VLANIF绑定IP。
2、在coresw上配置VLAN,再通过VLAN绑定IP:
[coresw]int vlanif 30
[coresw-Vlanif30]ip add 192.168.30.254 24
[coresw-Vlanif30]quit
[coresw]int g0/0/1
[coresw-GigabitEthernet0/0/1]port link-type access
[coresw-GigabitEthernet0/0/1]port default vlan 30
[coresw-GigabitEthernet0/0/1]quit
3、在出口路由器上的端口上直接配置IP,然后发觉可以ping同192.168.30.254即核心交换机了。
[router]int g0/0/1
[router-GigabitEthernet0/0/1]ip add 192.168.30.3 24
[router-GigabitEthernet0/0/1]quit
[router]ping 192.168.30.254
6、配置PC和出口路由器互通
1、其实现在PC ping出口路由器,出口路由器已经能收到IICMP包,但无法回包,因为路由器上没有回10网段或20网段的路由。
6.1、方法一:配置静态路由
1、最简单的简单方法就是在路由器上写静态路由。
[router]ip route-static 192.168.10.0 255.255.255.0 192.168.30.254
[router]ip route-static 192.168.20.0 255.255.255.0 192.168.30.254
6.2、方法二:配置动态路由(RIP)
1、先在出口路由器上删除静态路由:
[router]undo ip route-static 192.168.10.0 255.255.255.0 192.168.30.254
[router]undo ip route-static 192.168.20.0 255.255.255.0 192.168.30.254
2、在出口路由器上配置RIP:
[router]rip
[router-rip-1]version 2
[router-rip-1]network 192.168.30.0
[router-rip-1]quit
3、在核心交换机上配置RIP:
[coresw]rip
[coresw-rip-1]version 2
[coresw-rip-1]network 192.168.10.0
[coresw-rip-1]network 192.168.20.0
[coresw-rip-1]network 192.168.30.0
4、这时PC和路由器又可以互通了。
6.3、方法三:配置动态路由(OSPF)
1、先在路由器和核心交换机上删除RIP
[coresw]undo rip 1
Warning: The RIP process will be deleted. Continue?[Y/N]y
[router]undo rip 1
Warning: The RIP process will be deleted. Continue?[Y/N]y
2、在核心交换机上配置OSPF:
[coresw]ospf 1
[coresw-ospf-1]area 0
[coresw-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255
[coresw-ospf-1-area-0.0.0.0]network 192.168.20.0 0.0.0.255
[coresw-ospf-1-area-0.0.0.0]network 192.168.30.0 0.0.0.255
3、在出口路由器上配置OSPF:
[router]ospf 1
[router-ospf-1]area 0
[router-ospf-1-area-0.0.0.0]network 192.168.30.0 0.0.0.255
4、在路由器上可以看到通过OSPF学到了10和20网段的路由:

5、而且这时PC和路由器可以互通了。
7、让电信和联通服务器(环回口模拟的)互通
7.1、方法一:配置RIP
1、在电信服务器上配置RIP,注意RIP只宣告网络号:
[DIANXIN]rip 1
[DIANXIN-rip-1]network 100.0.0.0
[DIANXIN-rip-1]network 12.0.0.0
[DIANXIN-rip-1]network 1.0.0.0
[DIANXIN-rip-1]quit
2、在联通服务器上配置RIP:
[LIANTONG]rip 1
[LIANTONG-rip-1]network 100.0.0.0
[LIANTONG-rip-1]network 23.0.0.0
[LIANTONG-rip-1]network 2.0.0.0
[LIANTONG-rip-1]quit
3、这时在电信服务器可以ping通联通服务器的环回口2.2.2.2了。
8、配置让PC能访问电信和联通服务器(环回口模拟的)
8.1、基础配置
8.1.1、出口路由器配置NAT
1、在出口路由器上先配置ACL:
[router]acl 2000
[router-acl-basic-2000]rule 10 permit source 192.168.10.0 0.0.0.255
[router-acl-basic-2000]rule 20 permit source 192.168.20.0 0.0.0.25
[router-acl-basic-2000]quit
2、在到电信的接口上配置easyIP:
[router]int g0/0/0
[router-GigabitEthernet0/0/0]nat outbound 2000
[router-GigabitEthernet0/0/0]quit
3、在到联通的接口上配置easyIP:
[router]int g0/0/2
[router-GigabitEthernet0/0/2]nat outbound 2000
[router-GigabitEthernet0/0/2]quit
4、这时在PC1上ping 电信服务器,仍然ping不通。这时查看核心路由器即默认网关,发觉没有默认路由:

8.1.2、网关(核心路由器)配置默认路由
1、在核心路由器上配置默认路由,发觉PC可以ping通电信和联通服务器了。
[coresw]ip route-static 0.0.0.0 0.0.0.0 192.168.30.3
8.2、方法一:出口路由器配置RIP
1、在出口路由器上配置RIP,然后发现PC可以ping通电信和联通的环回口(用来模拟其服务器)了。
[router]rip 1
[router-rip-1]network 12.0.0.0
[router-rip-1]network 23.0.0.0
8.2、方法二:出口路由器配置默认路由
1、先在出口路由器删除RIP
[router]undo rip 1
Warning: The RIP process will be deleted. Continue?[Y/N]y
2、这时发觉PC就ping不通电信和联通了。
3、在出口路由器上配置默认路由,其中到电信的默认路由优先级调整为50(默认路由的优先级默认为60),50比60小,因此50优先级的默认路由器优先级更高。
[router]ip route-static 0.0.0.0 0 12.1.1.1 preference 50
[router]ip route-static 0.0.0.0 0 23.1.1.2
4、可以看到现在在出口路由器上起作用的默认路由指向电信:

5、在PC上ping联通的2.2.2.2,可以通。通过tracert发觉虽然ping的事联通服务器,却会经过电信服务器,就是因为默认路由的配置的优先级的关系。

9、策略路由一:所有流量默认走电信,如果电信出现故障,流量切换到联通
- 策略路由,是一种比基于目标网络进行路由更加灵活的数据包路由转发机制。路由器将通过路由图决定如何对需要路由的数据包进行处理,路由图决定了一个数据包的下一跳转发路由器。
- 本策略路由可以通过BFD+静态路由跟踪BFD来实现。
9.1、BFD介绍
BFD是一种双向转发检测机制,可以提供毫秒级的检测,可以实现链路的快速检测,BFD通过与上层路由协议联动,可以实现路由的快速收敛,确保业务的永续性。BFD Echo报文采用UDP封装,目的端口号为3784
9.2、删除已有默认路由
1、在路由器上先把默认路由删除:
[router]undo ip route-static 0.0.0.0 0 12.1.1.1 preference 50
[router]undo ip route-static 0.0.0.0 0 23.1.1.2
9.3、BFD配置
1、在路由器做BFD配置:
[router]bfd
[router-bfd]bfd dianxin bind peer-ip 12.1.1.1 source-ip 12.1.1.3 auto
[router-bfd-session-dianxin]quit
2、在电信服务器上配置BFD:
[DIANXIN]bfd
[DIANXIN-bfd]bfd dianxin bind peer-ip 12.1.1.3 source-ip 12.1.1.1 auto
[DIANXIN-bfd-session-dianxin]quit
3、可以通过display bfd session all命令查看BFD session

9.4、出口路由器配置默认路由,其中到电信的跟踪BFD
1、在出口路由器配置第一条默认路由,优先级为50,跟踪BFD,BFD连通了才生效。
[router]ip route-static 0.0.0.0 0 12.1.1.1 preference 50 track bfd-session dianxin
2、再配置一条默认路由指向联通:
[router]ip route-static 0.0.0.0 0 23.1.1.2
3、通过display ip routing-table查看当前生效路由:

4、通过display current-configuration可以看到实际配了两条静态路由:

9.5、模拟电信故障
1、关闭电信g0/0/0端口
[DIANXIN]int g0/0/0
[DIANXIN-GigabitEthernet0/0/0]shutdown
2、发觉PC仍然可以ping通2.2.2.2。然后display看到已切换到联通默认路由

3、重新打开电信g0/0/0端口
[DIANXIN]int g0/0/0
[DIANXIN-GigabitEthernet0/0/0]undo shutdown
4、这时发觉又会切回电信默认路由

10、策略路由二:教学楼流量走电信出口,图书馆流量走联通出口
1、在路由器上先把默认路由删除:
[router]undo ip route-static 0.0.0.0 0 12.1.1.1 preference 50
[router]undo ip route-static 0.0.0.0 0 23.1.1.2
2、配置ACL,匹配流量
[router]acl 2010
[router-acl-basic-2010]rule 10 permit source 192.168.10.0 0.0.0.255
[router-acl-basic-2010]acl 2020
[router-acl-basic-2020]rule 10 permit source 192.168.20.0 0.0.0.255
[router-acl-basic-2020]quit
3、配置流分类
[router]traffic classifier jiaoxue
[router-classifier-jiaoxue]if-match acl 2010
[router-classifier-jiaoxue]traffic classifier tushuguan
[router-classifier-tushuguan]if-match acl 2020
[router-classifier-tushuguan]quit
4、配置流行为
[router]traffic behavior re-dianxin
[router-behavior-re-dianxin]redirect ip-nexthop 12.1.1.1
[router-behavior-re-dianxin]traffic behavior re-liantong
[router-behavior-re-liantong]redirect ip-nexthop 23.1.1.2
[router-behavior-re-liantong]quit
5、配置流策略,将流分类和刘行为绑定
[router]traffic policy p
[router-trafficpolicy-p]classifier jiaoxue behavior re-dianxin
[router-trafficpolicy-p]classifier tushuguan behavior re-liantong
[router-trafficpolicy-p]quit
6、在入接口应用流策略。注意一定要在入接口应用。
[router]int g0/0/1
[router-GigabitEthernet0/0/0]traffic-policy p inbound
7、在教学楼区域的PC1上tracert,发觉走的是电信服务器

8、在图书馆区域的PC2上tracert,发觉走的是联通服务器

11、策略路由三:访问电信的服务器走电信出口,访问联通的服务器走联通出口
方法和策略路由二差不多,只不过要修改ACL,之前匹配的是源,现在要改的是匹配的是目标。
1、配置ACL,注意要用3000以上序号:
[router]acl 3010
[router-acl-adv-3010]rule 10 permit ip source any destination 1.1.1.0 0.255.255.255
[router-acl-adv-3010]acl 3020
[router-acl-adv-3020]rule 10 permit ip source any destination 2.2.2.0 0.255.255.255
[router-acl-adv-3020]quit
相关文章:
华为eNSP配置专题-策略路由的配置
文章目录 华为eNSP配置专题-策略路由的配置0、概要介绍1、前置环境1.1、宿主机1.2、eNSP模拟器 2、基本环境搭建2.1、终端构成和连接2.2、终端的基本配置 3、配置接入交换机上的VLAN4、配置核心交换机为网关和DHCP服务器5、配置核心交换机和出口路由器互通6、配置PC和出口路由器…...
JAVA实现智能停车场管理系统 开源
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容A. 车主端功能B. 停车工作人员功能C. 系统管理员功能1. 停车位模块2. 车辆模块3. 停车记录模块4. IC卡模块5. IC卡挂失模块 三、界面展示3.1 登录注册3.2 车辆模块3.3 停车位模块3.4 停车数据模块3.5 IC卡档案模块3.6 IC卡挂…...
深入理解Docker之:存储卷相关概念详解和分析
深入理解Docker之:存储卷相关概念详解和分析 1. 为什么要使用存储卷 Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层,并在镜像栈顶部添加一个读写层如果运行中的容器修改了现有的一个已经存在的文件&#x…...
Node.js的基本概念node -v 和npm -v 这两个命令的作用
Node.js 是一个开源且跨平台的 JavaScript 运行时环境,它可以让你在服务器端运行 JavaScript 代码。Node.js 使用了 Chrome 的 V8 JavaScript 引擎来执行代码,非常高效。 在 Node.js 出现之前,JavaScript 通常只在浏览器中运行,用…...
mysql bin_log日志恢复数据
1、开启bin_log日志 开启方式1 my.ini 下配置开启或者vi /etc/my.cnf log_binmysql-bin server_id1 2、参考文章 https://blog.csdn.net/DreamEhome/article/details/130010601 (重点) 【mysql】binlog日志_mysql binlog日志-CSDN博客 MySQL 开启binlog日志和windows服务…...
C++系列之list的模拟实现
💗 💗 博客:小怡同学 💗 💗 个人简介:编程小萌新 💗 💗 如果博客对大家有用的话,请点赞关注再收藏 🌞 list的节点类 template struct list_Node { public: list_Node* _prev; list_…...
什么情况下你会使用AI工具(chatgpt、bard)?
在当今数字化和智能化的时代,AI工具已成为许多领域的常见工具。在本文中,我将探讨什么情况下会使用AI工具。前言 – 人工智能教程 ChatGPT是一款由OpenAI开发的大型语言模型,可以生成文本、翻译语言、编写不同类型的创意内容,并以…...
【go】两数求和
文章目录 题目代码解法2 代码仓库 题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案…...
软考高项-成本管理
工具和技术 三点估算 通过考虑估算中的不确定性与风险,使用3种估算值来界定活动成本的近似区间,可以提高活动成本估算的准确性; 储备分析 为应对成本的不确定性,成本估算中可以包括应急储备。应急储备的管理方法: 将…...
24年FRM备考知识点以及一级公式表
FRM一级公示表以及备考知识点 链接:https://pan.baidu.com/s/17RpFF9OyfRk7FGtEQrxf3A?pwd1234 提取码:1234 FRM二级公示表以及备考知识点 链接:https://pan.baidu.com/s/175D05wV1p94dIfBZThutCQ?pwd1234 提取码:1234...
Spring Cloud学习:二【详细】
目录 Nacos的配置 Nacos的单机启动 服务注册 Nacos服务分级存储模型 优先访问同集群的服务 根据权重负载均衡 环境隔离Namespace Nacos调用流程 Nacos与Eureka注册对比 Nacos与Eureka的共同点 Nacos与Eureka的区别 Nacos配置管理 统一配置 配置自动刷新 多环境配…...
Unity的live2dgalgame多语言可配置剧情框架
这段代码用于读取表格 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using OfficeOpenXml; using System.IO; using UnityEngine.Networking; using UnityEngine.UI; using Random UnityEngine.Random;public class Plots…...
再畅通工程(最小生成树)
题目描述:还是畅通工程 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)&…...
前后端分离不可忽视的陷阱,深入剖析挑战,分享解决方案,助你顺利实施分离开发。
不管你设计的系统架构是怎么样,最后都是你的组织内的沟通结构胜出。这个观点一直在组织内不断地被证明,但也不断地被忽略。 前后端分离的利与弊 近几年,随着微服务架构风格的引入、前后端生态的快速发展、多端产品化的出现,前后…...
(四)库存超卖案例实战——优化redis分布式锁
前言 在上一节内容中,我们已经实现了使用redis分布式锁解决商品“超卖”的问题,本节内容是对redis分布式锁的优化。在上一节的redis分布式锁中,我们的锁有俩个可以优化的问题。第一,锁需要实现可重入,同一个线程不用重…...
【ROS入门】雷达、摄像头及kinect信息仿真以及显示
文章结构 雷达信息仿真以及显示Gazebo仿真雷达配置雷达传感器信息xacro文件集成启动仿真环境 Rviz显示雷达数据 摄像头信息仿真以及显示Gazebo仿真摄像头新建xacro文件,配置摄像头传感器信息xacro文件集成启动仿真环境 Rviz显示摄像头数据 kinect信息仿真以及显示Ga…...
实用篇-认识微服务
一、服务架构演变 1. 单体架构 单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署 单体架构的优点: 架构简单部署成本低 单体架构的缺点: 耦合度高 2. 分布式架构 分布式架构: 根据业务功能对系…...
【产品运营】产品需求应该如何管理
产品项目在进行时经常会有一些需求需要实现,需求是产品更新迭代的动力,需求也是从用户诉求转化而来;在做需求管理时,我们需要判断一个需求的优先级等方面,对产品进行优化; 目录: 一、 为什么要…...
Linux 系统调用IO口,利用光标偏移实现文件复制
用系统调用IO函数实现从一个文件读取最后2KB数据并复制到另一个文件中,源文件以只读方式打开,目标文件以只写的方式打开,若目标文件不存在,可以创建并设置初始值为0664,写出相应代码,要对出错情况有一定的处…...
【原创】指针变量作为函数参数要点注意
指针变量作为函数参数要点注意(已写至笔记) 1传参指针不加*(main中函数) 2收参指针要加*(被main调用的函数) 3传参指针名可与收参指针名不同,不影响 4【问】如何看主函数中指针所指内容是否改变…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
