华为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【问】如何看主函数中指针所指内容是否改变…...
ApiPost实战指南:从接口创建到自动化测试的全流程解析
1. 从零开始创建你的第一个API接口 作为一个常年和API打交道的开发者,我深知新手第一次接触接口工具时的迷茫。ApiPost作为一款国产的API开发工具,用起来确实比Postman更顺手,特别是对中文用户特别友好。下面我就带你一步步创建第一个接口&am…...
1815《中国城市统计年鉴》面板数据(1985-2024)
1、搜说数据皮皮侠2、使用兑换码 516004233462b5Qy0SoHIf26 获取注意:兑换码2026.3.30(不包括30号)前有效!数据简介《中国城市统计年鉴》是国家统计局城市社会经济调查司主办的、全面反映中国城市经济和社会发展情况的资料性年刊。…...
避坑指南:.NET MAUI页面跳转最常见的5个坑点及解决方案(2023最新版)
.NET MAUI页面导航避坑实战:5个高频问题与工业级解决方案 刚接触.NET MAUI的开发者常会在页面跳转环节踩坑——传参莫名丢失、导航堆栈突然崩溃、模态窗口关闭失效...这些问题往往消耗大量调试时间。本文将结合GitHub高星issue和StackOverflow热帖,拆解5…...
嵌入式开发工具选择与效率提升实践
1. 嵌入式开发者的工作状态与开发工具选择1.1 程序员工作场景分析嵌入式开发者在家庭办公环境中往往表现出独特的工作状态。通过观察典型的工作场景,我们可以总结出几个关键特征:专注度提升:家庭环境减少了办公室干扰,开发者更容易…...
Windows下BERTopic安装避坑指南:解决hdbscan报错(附Python 3.8环境配置)
Windows下BERTopic安装避坑指南:解决hdbscan报错(附Python 3.8环境配置) 第一次在Windows上安装BERTopic时,那个红色的hdbscan报错信息让我盯着屏幕发了十分钟呆。作为一款强大的主题建模工具,BERTopic的安装本不该如此…...
从‘水变油’到‘大师一问三不知’:求实学风如何塑造科学巨匠与避免历史弯路
1. 科学史上的两副面孔:浮夸与求实 1993年,一场名为"水变油"的闹剧在国内掀起轩然大波。某"发明家"声称发明了能将水转化为燃料的"神奇添加剂",甚至获得了部分政府部门的支持。这个明显违背能量守恒定律的&quo…...
PUMA560轨迹规划踩坑记:DH参数选错,你的仿真结果还准吗?
PUMA560轨迹规划实战:从DH参数陷阱到精准运动控制 第一次在MATLAB中看到PUMA560机械臂的末端执行器画出诡异的"8"字轨迹时,我盯着屏幕足足愣了三分钟。按照教科书上的标准DH参数编写的代码,理论上应该生成完美的直线运动࿰…...
手把手教你用XCVU3P和FMC+接口搭建高性能PCIe载板(附原理图下载)
基于XCVU3P与FMC的高性能PCIe载板开发实战指南 在当今高速数据处理领域,FPGA因其并行计算能力和可重构特性成为关键器件。Xilinx UltraScale系列的XCVU3P芯片配合FMC扩展接口,为开发者提供了强大的硬件加速平台。本文将深入解析如何从零开始构建一个支持…...
别再只盯着KNN了:聊聊Wi-Fi指纹定位中那些被低估的匹配算法与实战选择
超越KNN:Wi-Fi指纹定位中的高阶匹配算法与工程化选型指南 商场里找不到心仪店铺的焦虑、仓库中耗时的手动货品盘点、医院里紧急设备定位的延迟——这些场景背后都指向同一个技术痛点:室内定位精度不足。当大多数开发者习惯性采用KNN算法时,我…...
从硬件迷宫到macOS殿堂:OpCore Simplify如何重塑黑苹果配置体验
从硬件迷宫到macOS殿堂:OpCore Simplify如何重塑黑苹果配置体验 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 对于许多技术爱好者来说&a…...
