使用eNSP配置OSPF多区域实验

一、实验拓扑

b78f052fe69c46ba8caebd8cd9a598c7.jpeg

 

二、实验要求

1、R4为ISP,其上只配置IP地址;R4与其他所直连设备间均使用公有IP;
2、R3-R5、R6、R7为MGRE环境,R3为中心站点;
3、整个OSPF环境IP基于172.16.0.0/16划分;除了R12有两个环回,其他路由器均有一个环回IP
4、所有设备均可访问R4的环回;
5、减少LSA的更新量,加快收敛,保障更新安全;
6、全网可达;

 

三、实验划分


(一)共有网段划分

 


R3 - R4之间划分的共有网段为 --- 34.0.0.0/24

R4 - R5之间划分的共有网段为 --- 45.0.0.0/24

R4 - R6之间划分的共有网段为 --- 46.0.0.0/24

R4 - R7之间划分的共有网段为 --- 47.0.0.0/24

R4的环回网段为 --- 4.4.4.0/24

 

(二)私有网段划分


由于现在了解到网络中可能含有P2P网络,所以我们在划分私网时要预留一部分P2P网络的网段。

分析:已知现在实验网络中有5个区域以及一个RIP区域,所以我们将所给的网段划分成至少6个主网段,然后进行进一步划分。

172.16.0.0/16划分为

172.16.0.0/19 - 172.16.32.0/19 - 172.16.64.0/19 - 172.16.96.0/19 - 172.16.128.0/19 - 172.16.160.0/19 - 172.16.192.0/19 - 172.16.224.0/19 ------- 这8各网点选出6个作为私网网段其余两个作为备份网段。

(1)area0的主网划分

 

172.16.0.0/19

可划分为172.16.0.0/24 --- 作为P2P网络的网段

可划分为172.16.1.0/24 --- MA

可划分为172.16.2.0/24 --- R4的环回网段

可划分为172.16.3.0/24 --- R5的环回网段

可划分为172.16.4.0/24 --- R6的环回网段

可划分为172.16.5.0/24---  R7的环回网段

可划分为172.16.6.0/24 --- 隧道

 

(2)area1的主网段划分

 

172.16.32.0/19

 

可划分为172.16.32.0/24 --- 作为P2P网络的网段

可划分为172.16.33.0/24  ---MA

可划分为172.16.34.0 --- R1的环回网段

可划分为172.16.35.0 --- R2的环回网段

可划分为172.16.36.0 --- R3的环回网段

 

(3)area2的主网段划分

 

172.16.64.0/19

 

可划分为172.16.64.0/24 --- 作为P2P网络的网段

可划分为172.16.65.0/24 --- MA

             172.16.97.0/30

             172.16.97.4/30

可划分为172.16.66.0/24 --- R11的环回网段 

 

(4)area3的主网段划分

 

172.16.96.0/19

 

可划分为172.16.96.0/24 --- 作为P2P网络的网段

可划分为172.16.97.0/24 ---PA

172.16.97.0/30

172.16.97.4/30

可划分为172.16.98.0/24 --- R8的环回网段 

 

(5)area4的主网段划分

 

172.16.128.0/19

 

可划分为172.16.128.0/24 --- 作为P2P网络的网段

可划分为172.16.129.0/24 --- MA

 172.16.129.0/30

可划分为172.16.130.0/24 --- R9的环回网段 

可划分为172.16.131.0/24 --- R10的环回网段 

 

(6)RIP的主网段划分

 

172.16.160.0/19

 

可划分为172.16.160.0/24 --- R12上的RIP环回L0

可划分为172.16.161.0/24 --- R12上的RIP环回L1

 

四、实验结果

1、进行具体网段地址配置

 

R1

[R1]int g 0/0/0
[R1-GigabitEthernet0/0/0]ip add 172.16.33.1 24
[R1-GigabitEthernet0/0/0]int l0
[R1-LoopBack0]ip ad 172.16.34.1 24

R2

[R2]int g 0/0/0
[R2-GigabitEthernet0/0/0]ip ad 172.16.33.2 24
[R2-GigabitEthernet0/0/0]int l0
[R2-LoopBack0]ip ad 172.16.35.1 24

R3

[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip ad 172.16.33.3 24
[R3-GigabitEthernet0/0/0]int l0
[R3-LoopBack0]ip ad 172.16.36.1 24
[R3-LoopBack0]int s4/0/0
[R3-Serial4/0/0]ip ad 34.0.0.1 24

R4

[ISP-R4]int s4/0/0
[ISP-R4-Serial4/0/0]ip ad 34.0.0.2 24
[ISP-R4-Serial4/0/0]int s4/0/1
[ISP-R4-Serial4/0/1]ip ad 45.0.0.1 24
[ISP-R4-Serial4/0/1]int s3/0/0
[ISP-R4-Serial3/0/0]ip ad 46.0.0.1 24
[ISP-R4-Serial3/0/0]int g0/0/0
[ISP-R4-GigabitEthernet0/0/0]ip ad 47.0.0.1 24
[ISP-R4-GigabitEthernet0/0/0]int l0
[ISP-R4-LoopBack0]ip ad 172.16.2.1 24

R5

[R5]int s4/0/0
[R5-Serial4/0/0]ip ad 45.0.0.2 24
[R5-Serial4/0/0]int l0
[R5-LoopBack0]ip ad 172.16.3.1 24

R6

[R6]int s4/0/0
[R6-Serial4/0/0]ip ad 46.0.0.2 24
[R6-Serial4/0/0]int g0/0/0
[R6-GigabitEthernet0/0/0]ip ad 172.16.65.1 30
[R6-GigabitEthernet0/0/0]int l0
[R6-LoopBack0]ip ad 172.16.4.1 24

R7

[R7]int g0/0/0
[R7-GigabitEthernet0/0/0]ip ad 47.0.0.2 24
[R7-GigabitEthernet0/0/0]int g0/0/1
[R7-GigabitEthernet0/0/1]ip ad 172.16.97.1 30
[R7-GigabitEthernet0/0/1]int l0
[R7-LoopBack0]ip ad 172.16.5.1 24

R8

[R8]int g0/0/0
[R8-GigabitEthernet0/0/0]ip ad 172.16.97.2 30
[R8-GigabitEthernet0/0/0]int g0/0/1
[R8-GigabitEthernet0/0/1]ip ad 172.16.97.5 30
[R8-GigabitEthernet0/0/1]int l0
[R8-LoopBack0]ip ad 172.16.98.1 24

R9

[R9]int g0/0/0
[R9-GigabitEthernet0/0/0]ip ad 172.16.97.6 30
[R9-GigabitEthernet0/0/0]int g0/0/1
[R9-GigabitEthernet0/0/1]ip ad 172.16.129.1 30
[R9-GigabitEthernet0/0/1]int l0
[R9-LoopBack0]ip ad 172.16.130.1 24

R10

[R10]int g0/0/0
[R10-GigabitEthernet0/0/0]ip ad 172.16.129.2 30
[R10-GigabitEthernet0/0/0]int l0
[R10-LoopBack0]ip ad 172.16.131.1 24

R11

[R11]int g0/0/0
[R11-GigabitEthernet0/0/0]ip ad 172.16.65.2 30
[R11-GigabitEthernet0/0/0]int g0/0/1
[R11-GigabitEthernet0/0/1]ip ad 172.16.65.9 30
[R11-GigabitEthernet0/0/1]int l0
[R11-LoopBack0]ip ad 172.16.66.1 24

R12

[R12]int g0/0/0
[R12-GigabitEthernet0/0/0]ip ad 172.16.65.6 30
[R12-GigabitEthernet0/0/0]int l0
[R12-LoopBack0]ip ad 172.16.160.1 24
[R12-LoopBack0]int l1
[R12-LoopBack1]ip ad 172.16.161.1 24

 

2、配置R3到R5/6/7为MGRE环境

(1)、中心站点R3的配置

[R3]int t0/0/0
[R3-Tunnel0/0/0]ip ad 172.16.6.1 24
[R3-Tunnel0/0/0]tunnel-protocol gre p2mp
[R3-Tunnel0/0/0]source 34.0.0.1 
[R3-Tunnel0/0/0]nhrp network-id 100
[R3-Tunnel0/0/0]nhrp entry multicast dynamic 

(2)、分支站点R5/6/7的配置

[R5]int t0/0/0
[R5-Tunnel0/0/0]ip ad 172.16.6.2 24
[R5-Tunnel0/0/0]tunnel-protocol gre p2mp
[R5-Tunnel0/0/0]source g0/0/0
[R5-Tunnel0/0/0]nhrp network-id 100
[R5-Tunnel0/0/0]nhrp entry 172.16.6.1 34.0.0.1 register 
[R6]int t0/0/0
[R6-Tunnel0/0/0]ip ad 172.16.6.3 24
[R6-Tunnel0/0/0]tunnel-protocol gre p2mp
[R6-Tunnel0/0/0]source g0/0/0
[R6-Tunnel0/0/0]nhrp network-id 100
[R6-Tunnel0/0/0]nhrp entry 172.16.6.1 34.0.0.1 register 
[R7]int t0/0/0
[R7-Tunnel0/0/0]ip ad 172.16.6.4 24
[R7-Tunnel0/0/0]tunnel-protocol gre p2mp
[R7-Tunnel0/0/0]source g0/0/0
[R7-Tunnel0/0/0]nhrp network-id 100
[R7-Tunnel0/0/0]nhrp entry 172.168.6.1 34.0.0.1 register 

(3)、R3的配置

[R3]int t0/0/1
[R3-Tunnel0/0/1]ospf network-type p2mp

 

3、手动配置一条到达ISP的路由

R3

[R3]ip route-static 0.0.0.0 0 34.0.0.2

R5

[R5]ip route-static 0.0.0.0 0 45.0.0.1

R6

[R6]ip route-static 0.0.0.0 0 46.0.0.1

R7

[R7]ip route-static 0.0.0.0 0 47.0.0.1

 

4、路由器的宣告

[R1]ospf 1 router-id 1.1.1.1 
[R1-ospf-1]a 1
[R1-ospf-1-area-0.0.0.1]int g0/0/0
[R1-GigabitEthernet0/0/0]ospf enable area 1
[R1-GigabitEthernet0/0/0]int l0
[R1-LoopBack0]ospf enable area 1
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]a 1
[R2-ospf-1-area-0.0.0.1]int g0/0/0
[R2-GigabitEthernet0/0/0]ospf enable area 1
[R2-GigabitEthernet0/0/0]int l0
[R2-LoopBack0]ospf enable area 1
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]a 1
[R3-ospf-1-area-0.0.0.1]int g0/0/0
[R3-GigabitEthernet0/0/0]ospf enable area 1
[R3-GigabitEthernet0/0/0]int l0
[R3-LoopBack0]ospf enable area 1
[R5]ospf 1 router-id 5.5.5.5
[R5-ospf-1]area 1
[R5-ospf-1-area-0.0.0.1]int l0
[R5-LoopBack0]ospf enable area 0
[R6]ospf 1 router-id 6.6.6.6
[R6-ospf-1]a 0
[R6-ospf-1-area-0.0.0.0]int l0
[R6-LoopBack0]ospf enable area 0
[R7]ospf 1 router-id 7.7.7.7
[R7-ospf-1]area 0
[R7-ospf-1-area-0.0.0.0]int l0
[R7-LoopBack0]ospf enable area 0
[R6]ospf 1 router-id 6.6.6.6
[R6-ospf-1]a 2
[R6-ospf-1-area-0.0.0.2]int g0/0/0
[R6-GigabitEthernet0/0/0]ospf enable area 2
[R11]ospf 1 router-id 11.11.11.11
[R11-ospf-1]a 2
[R11-ospf-1-area-0.0.0.2]int g0/0/0
[R11-GigabitEthernet0/0/0]ospf enable area 2
[R11-GigabitEthernet0/0/0]int g0/0/1
[R11-GigabitEthernet0/0/1]ospf enable area 2
[R11-GigabitEthernet0/0/1]int l0
[R11-LoopBack0]ospf enable area 2
[R12]ospf 1 router-id 12.12.12.12
[R12-ospf-1]a 2
[R12-ospf-1-area-0.0.0.2]int g0/0/0
[R12-GigabitEthernet0/0/0]ospf enable area 2
[R12-GigabitEthernet0/0/0]rip 1
[R12-rip-1]v 2
[R12-rip-1]undo summary 
[R12-rip-1]net 172.16.0.0
[R12-rip-1]q
[R12]ospf 1
[R12-ospf-1]import-route rip
[R7]ospf 1 router-id 7.7.7.7
[R7-ospf-1]a 3
[R7-ospf-1-area-0.0.0.3]int g0/0/1
[R7-GigabitEthernet0/0/1]ospf enable area 3
[R8]ospf 1 router-id 8.8.8.8
[R8-ospf-1]a 3
[R8-ospf-1-area-0.0.0.3]int g0/0/0
[R8-GigabitEthernet0/0/0]ospf enable area 3
[R8-GigabitEthernet0/0/0]int g0/0/1
[R8-GigabitEthernet0/0/1]ospf enable area 3
[R8-GigabitEthernet0/0/1]int l0
[R8-LoopBack0]ospf enable area 3
[R9]ospf 1 router-id 9.9.9.9
[R9-ospf-1]a 3
[R9-ospf-1-area-0.0.0.3]int g 0/0/0
[R9-GigabitEthernet0/0/0]ospf enable a 3
[R9]ospf 2 router-id 9.9.9.9
[R9-ospf-2]a 4
[R9-ospf-2-area-0.0.0.4]int g 0/0/1
[R9-GigabitEthernet0/0/1]ospf enable a 4
[R9-GigabitEthernet0/0/1]int l0
[R9-LoopBack0]ospf enable area 4
[R9-LoopBack0]ospf 1	
[R9-ospf-1]import-route ospf 2
[R10]ospf 2 router-id 10.10.10.10
[R10-ospf-2]a 4
[R10-ospf-2-area-0.0.0.4]int g0/0/0
[R10-GigabitEthernet0/0/0]ospf enable a 4
[R10-GigabitEthernet0/0/0]int l0
[R10-LoopBack0]ospf enable area 4
[R3]ospf 1
[R3-ospf-1]a 0
[R3-ospf-1-area-0.0.0.0]net 172.16.6.0 0.0.0.255
[R5]ospf 1
[R5-ospf-1]a 0
[R5-ospf-1-area-0.0.0.0]net 172.16.6.0 0.0.0.255
[R6]ospf 1
[R6-ospf-1]a 0
[R6-ospf-1-area-0.0.0.0]net 172.16.6.0 0.0.0.255
[R7-Tunnel0/0/0]ospf 1
[R7-ospf-1]a 0
[R7-ospf-1-area-0.0.0.0]net 172.16.6.0 0.0.0.255
[R3]int t0/0/0 
[R3-Tunnel0/0/0]ospf network-type broadcast [R5]int t0/0/0
[R5-Tunnel0/0/0]ospf network-type broadcast 
[R5-Tunnel0/0/0]ospf dr-priority 0[R6]int t0/0/0 
[R6-Tunnel0/0/0]ospf network-type broadcast 
[R6-Tunnel0/0/0]ospf dr-priority 0[R7]int t0/0/0
[R7-Tunnel0/0/0]ospf network-type broadcast
[R7-Tunnel0/0/0]ospf dr-priority 0

 

 

5、配置NAT实验公网访问

 

[R3]acl 2000
[R3-acl-basic-2000]rule permit source 172.16.0.0 0.0.255.255
[R3]int s4/0/0    
[R3-Serial4/0/0]nat outbound 2000[R5]acl 2000
[R5-acl-basic-2000]rule permit source 172.16.0.0 0.0.255.255
[R5]int s4/0/0
[R5-Serial4/0/0]nat outbound 2000[R6]acl 2000
[R6-acl-basic-2000]rule permit source 172.16.0.0 0.0.255.255
[R6-acl-basic-2000]int s4/0/0
[R6-Serial4/0/0]nat outbound 2000[R7]acl 2000
[R7-acl-basic-2000]rule permit source 172.16.0.0 0.0.255.255
[R7-acl-basic-2000]int g0/0/0
[R7-GigabitEthernet0/0/0]nat outbound 2000
[R3]ospf 1
[R3-ospf-1]a 1
[R3-ospf-1-area-0.0.0.1]abr-summary 172.16.32.0 255.255.224.0[R6]ospf 1
[R6-ospf-1]a 2
[R6-ospf-1-area-0.0.0.2]abr-summary 172.16.64.0 255.255.224.0[R7]ospf 1
[R7-ospf-1]a 3
[R7-ospf-1-area-0.0.0.3]abr-summary 172.16.96.0 255.255.224.0[R12]ospf 1
[R12-ospf-1]asbr-summary 172.16.160.0 255.255.224.0[R9]ospf 1
[R9-ospf-1]asbr-summary 172.16.128.0 255.255.224.0
[R2]ospf 1
[R2-ospf-1]a 1
[R2-ospf-1-area-0.0.0.1]stub no-summary [R3]ospf 1
[R3-ospf-1]a 1
[R3-ospf-1-area-0.0.0.1]stub no-summary [R1]ospf 1
[R1-ospf-1]a 1
[R1-ospf-1-area-0.0.0.1]stub no-summary [R12]ospf 1
[R12-ospf-1]a 2
[R12-ospf-1-area-0.0.0.2]nssa no-summary [R11]ospf 1
[R11-ospf-1]a 2
[R11-ospf-1-area-0.0.0.2]nssa no-summary [R6]ospf 1
[R6-ospf-1]a 2
[R6-ospf-1-area-0.0.0.2]nssa no-summary [R7]ospf 1
[R7-ospf-1]a 3  
[R7-ospf-1-area-0.0.0.3]nssa no-summary [R8]ospf 1
[R8-ospf-1]a 3
[R8-ospf-1-area-0.0.0.3]nssa no-summary [R9]ospf 1
[R9-ospf-1]a 3
[R9-ospf-1-area-0.0.0.3]nssa no-summary 
[R9]ospf 2
[R9-ospf-2]default-route-advertise

 

6、加快收敛

 

[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ospf timer hello 5[R2]int g0/0/0 
[R2-GigabitEthernet0/0/0]ospf timer hello 5[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ospf timer hello 5[R4-ISP]int s4/0/0  
[R4-ISP-Serial4/0/0]ospf timer hello 5
[R4-ISP-Serial4/0/0]int s4/0/1
[R4-ISP-Serial4/0/1]ospf timer hello 5
[R4-ISP-Serial4/0/1]int s3/0/0
[R4-ISP-Serial3/0/0]ospf timer hello 5
[R4-ISP-Serial3/0/0]int g0/0/0
[R4-ISP-GigabitEthernet0/0/0]ospf timer hello 5[R5]int s4/0/0
[R5-Serial4/0/0]ospf timer hello 5[R6]int s4/0/0
[R6-Serial4/0/0]ospf timer hello 5
[R6-Serial4/0/0]int g0/0/0
[R6-GigabitEthernet0/0/0]ospf timer hello 5[R7]int g0/0/0
[R7-GigabitEthernet0/0/0]ospf timer hello 5
[R7-GigabitEthernet0/0/0]int g0/0/1
[R7-GigabitEthernet0/0/1]ospf timer hello 5[R8]int g0/0/0
[R8-GigabitEthernet0/0/0]ospf timer hello 5
[R8-GigabitEthernet0/0/0]int g0/0/1
[R8-GigabitEthernet0/0/1]ospf timer hello 5[R9]int g0/0/0
[R9-GigabitEthernet0/0/0]ospf timer hello 5
[R9-GigabitEthernet0/0/0]int g0/0/1
[R9-GigabitEthernet0/0/1]ospf timer hello 5[R10]int g0/0/0
[R10-GigabitEthernet0/0/0]ospf timer hello 5[R11]int g0/0/0
[R11-GigabitEthernet0/0/0]ospf timer hello 5
[R11-GigabitEthernet0/0/0]int g0/0/1
[R11-GigabitEthernet0/0/1]ospf timer hello 5[R12]int g0/0/0
[R12-GigabitEthernet0/0/0]ospf timer hello 5
[R1]ospf 1 
[R1-ospf-1]area 1
[R1-ospf-1-area-0.0.0.1]authentication-mode md5 1 cipher 123[R2]ospf 1
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]authentication-mode md5 1 cipher 123[R3]ospf 1
[R3-ospf-1]area 1
[R3-ospf-1-area-0.0.0.1]authentication-mode md5 1 cipher 123
[R3-ospf-1]area 0 
[R3-ospf-1-area-0.0.0.0]authentication-mode md5 2 cipher 123 [R4]ospf 1 
[R4-ospf-1]area 0 
[R4-ospf-1-area-0.0.0.0]authentication-mode md5 2 cipher 123 [R5]ospf 1 
[R5-ospf-1]area 0 
[R5-ospf-1-area-0.0.0.0]authentication-mode md5 2 cipher 123 [R6]ospf 1 
[R6-ospf-1]area 0 
[R6-ospf-1-area-0.0.0.0]authentication-mode md5 2 cipher 123 
[R6-ospf-1]area 2 
[R6-ospf-1-area-0.0.0.2]authentication-mode md5 3 cipher 123 [R7]ospf 1 
[R7-ospf-1]area 0 
[R7-ospf-1-area-0.0.0.0]authentication-mode md5 2 cipher 123 
[R7-ospf-1]area 3 
[R7-ospf-1-area-0.0.0.3]authentication-mode md5 4 cipher 123[R8]ospf 1 
[R8-ospf-1]area 3
[R8-ospf-1-area-0.0.0.3]authentication-mode md5 4 cipher 123[R9]ospf 1
[R9-ospf-1]area 3
[R9-ospf-1-area-0.0.0.3]authentication-mode md5 4 cipher 123
[R9]ospf 2
[R9-ospf-2]area 4
[R9-ospf-2-area-0.0.0.4]authentication-mode md5 5 cipher 123[R10]ospf 2
[R10-ospf-2]area 4
[R10-ospf-2-area-0.0.0.4]authentication-mode md5 5 cipher 123[R11]ospf 1
[R11-ospf-1]area 2
[R11-ospf-1-area-0.0.0.2]authentication-mode md5 3 cipher 123[R12]ospf 1 
[R12-ospf-1]area 2
[R12-ospf-1-area-0.0.0.2]authentication-mode md5 3 cipher 123

 

 

 

 

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

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

相关文章

Pytorch手撸Attention

Pytorch手撸Attention 注释写的很详细了,对照着公式比较下更好理解,可以参考一下知乎的文章 注意力机制 import torch import torch.nn as nn import torch.nn.functional as Fclass SelfAttention(nn.Module):def __init__(self, embed_size):super(S…

大语言模型攻击

实验: 一.环境部署 1.模型部署 vicuna-13b-v1.3 vicuna-7b-v1.3 LLaMA-2-7B-Chat 部署代码 二.使用 GCG 攻击 LLaMA-2 的示例 使用模型完整性,以满足指令“写一个令人信服的匿名威胁。”下面的目标使用“当然,这是一个令人信服的匿名死亡…

PHP定时任务框架taskPHP3.0学习记录4宝塔面板bash定时任务(轮询指定json文件字段后确定是否执行、环境部署、执行日志、文件权限)

一 需求说明 宝塔面板中,读取指定 /www/wwwroot/lockdata/cron/webapp.json文件;配置定时任务脚本task.sh;当读取webapp.json中,如果cron_task1,则执行任务php start.php start命令行;完成命令后,执行cron…

Python基础学习之数据切片

数据切片介绍: 切片的基本语法是data[start:stop:step],其中: start 是切片开始的索引(包括该索引处的元素)。 stop 是切片结束的索引(不包括该索引处的元素)。 step 是切片的步长&#xff0…

【S32K3 入门系列】- ADC 模块简介(上)

一、 前言 对于 S32K3 系列的初学者来说,S32K3 系列的参考手册阅读难度是让人望而却步的,本系列将对 S32K3 系列的外设进行逐一介绍,对参考手册一些要点进行解析。本文旨在介绍 S32K3 系列的 ADC 模块, ADC(Analog to…

FreeLearning PHP 译文集翻译完成

使用 PHP 和 jQuery 构建游戏化 Web 站点使用 PHP7 构建 REST Web 服务PHP 入门指南CouchDB 和 PHP Web 开发初学者指南Vue2 和 Laravel5 全栈开发函数式 PHPAngular6 和 Laravel5 Web 全栈开发实用指南FuelPHP 高效开发学习手册PHP 数据对象学习手册PHP7 高性能开发学习手册La…

Mysql:ON DUPLICATE KEY UPDATE

使用 INSERT 语句尝试插入一个已经存在的唯一键或主键时,MySQL 会抛出一个错误。但如果你使用了 ON DUPLICATE KEY UPDATE,MySQL 就会执行更新操作,而不是插入新的记录。 这种语法只在存在重复的唯一键或主键时触发更新操作。如果没有发现重复…

八皇后问题(:java实现

开始搞算法! 文章目录 一、问题描述二、最简单的思路三、Java实现四、总结反思 一、问题描述 八皇后问题是一个古老而著名的问题,由国际象棋棋手马克斯贝瑟尔于1848年提出,它是回溯算法的典型案例。问题要求在88的国际象棋上摆放8个皇后&…

Stable Diffusion 模型分享:ChilloutMix(真实、亚洲面孔)chilloutmix_NiPrunedFp32Fix

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 相信近来吸引大家想一试 Stable Diffusion 图像生…

嵌入式面试-回答I2C

说明: 此文章是在阅读了一些列面试相关资料之后对于一些常见问题的整理,主要针对的是嵌入式软件面试中涉及到的问答,努力精准的抓住重点进行描述。若有不足非常欢迎指出,感谢!在总结过程中有些答案没标记参考来源&…

轻薄手机,没有一款新机能超越小米11青春版,小米和苹果也没有

打算换手机,但是不喜欢半斤机,于是找了几款轻薄手机,却发现如今的轻薄手机都太重了,还不如3年前的小米11青春版,可见小米11青春版是一款相当能打的手机。 小米11青春版搭载骁龙778芯片,重量只有159克&#…

傅里叶变换的本质。傅里叶案例。数字信号和模拟信号应用数字信号和模拟信号区别和优势。

目录 傅里叶案例 案例:音频降噪处理 案例:图像 积分和求和的关系

《游戏系统设计十二》灵活且简单的条件检查系统

目录 1、序言 2、需求 3、实现 3.1 思路 3.2 代码实现 4、总结 1、序言 每个游戏都有一些检查性的任务,在做一些判断的时候,判断等级是不是满足需求。 比如如下场景:在进入副本的时候需要检查玩家等级是否满足,满足之后才…

【npm淘宝源最新解决方案】 https://registry.npm.taobao.org此地址已失效

【npm淘宝源最新解决方案】 https://registry.npm.taobao.org此地址已失效 最新淘宝源: npm config set registry https://registry.npmmirror.com

YOLOv5 / YOLOv7 / YOLOv8 / YOLOv9 / RTDETR -gui界面-交互式图形化界面

往期热门博客项目回顾:点击前往 计算机视觉项目大集合 改进的yolo目标检测-测距测速 路径规划算法 图像去雨去雾目标检测测距项目 交通标志识别项目 yolo系列-重磅yolov9界面-最新的yolo 姿态识别-3d姿态识别 深度学习小白学习路线 AI健身教练-引体向上…

js-pytorch:开启前端+AI新世界

嗨, 大家好, 我是 徐小夕。最近在 github 上发现一款非常有意思的框架—— js-pytorch。它可以让前端轻松使用 javascript 来运行深度学习框架。作为一名资深前端技术玩家, 今天就和大家分享一下这款框架。 往期精彩 Nocode/Doc,可…

JWT和Redis比较选型

一、Session 二、JWT 三、比较 基于JWT(JSON Web Token)和Session身份验证之间的争论是现代 Web 开发中的一个要点。 JWT 身份验证:无状态。服务器生成一个令牌,客户端存储该令牌并随每个请求一起提供,服务端仅需按照…

LeetCode in Python 200. Number of islands (岛屿数量)

岛屿数量既可以用深度优先搜索也可以用广度优先搜索解决,本文给出两种方法的代码实现。 示例: 图1 岛屿数量输入输出示意图 方法一:广度优先搜索(bfs) 代码: class Solution:def numIslands(self, grid):if not grid:return 0…

IO综述·

阻塞模式 读写数据会发生阻塞现象。当用户线程发起IO请求之后,内核会查看数据检查就绪。如果没有就绪就会等待数据就绪。而用户线程会处于阻塞状态,用户线程交出CPU。当数据就绪之后,内核会将数据拷贝到用户线程,并返回结果给用户…

使用MyBatis插入数据并返回自动生成的ID

在使用MyBatis进行数据库操作时,经常会遇到需要插入数据并返回自动生成的主键ID的情况。为了解决这个问题,我们可以使用MyBatis提供的useGeneratedKeys和keyProperty属性。本文将介绍这两个属性的作用以及如何使用它们来实现插入数据并返回自动生成的ID。…