华为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【问】如何看主函数中指针所指内容是否改变…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...

C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...

排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...