HCIP--OSPF实验1

news2024/9/22 11:31:41

 

1、合理规划IP地址,启用ospf单区域
2、R1-R2之间启用ppp的单向认证
3、R2-R3之间启用ppp的chap认证
4、R3-R5-F6之间使用MGRE,R3为hub端,R5,R6为spoke端;
   要求MGRE接口网络型为BMA,spoke之间通信必须经过hub端
5、全网可达

配置路由,启用R1-R3的ospf,并划分为区域0

[R1]INT s 4/0/0
[R1-Serial4/0/0]ip add 12.1.1.1 24
[R1-Serial4/0/0]int lo 0
[R1-LoopBack0]ip add 1.1.1.1 24
[R1-LoopBack0]q
[R1]ospf 100 ro	
[R1]ospf 100 router-id 91.1.1.1
[R1-ospf-100]area 0
[R1-ospf-100-area-0.0.0.0]net	
[R1-ospf-100-area-0.0.0.0]network 12.1.1.1 0.0.0.0
[R1-ospf-100-area-0.0.0.0]net	
[R1-ospf-100-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[R1-ospf-100-area-0.0.0.0]q
[R1-ospf-100]dis this
[V200R003C00]
#
ospf 100 router-id 91.1.1.1 
 area 0.0.0.0 
  network 1.1.1.1 0.0.0.0 
  network 12.1.1.1 0.0.0.0 
#
return
[R1-ospf-100]

[R2]INT S 4/0/0
[R2-Serial4/0/0]ip add 12.1.1.2 24
[R2-Serial4/0/0]
[R2-Serial4/0/0]int s 4/0/1
[R2-Serial4/0/1]ip add 23.1.1.2 24
[R2-Serial4/0/1]int lo 0 
[R2-LoopBack0]ip add 2.2.2.1 24
[R2-LoopBack0]q
[R2]ospf 100 
[R2-ospf-100]q
[R2]undo ospf 100
Warning: The OSPF process will be deleted. Continue? [Y/N]:y
[R2]ospf 100 ne	
[R2]ospf 100 ro	
[R2]ospf 100 router-id 92.2.2.2
[R2-ospf-100]area 0
[R2-ospf-100-area-0.0.0.0]net	
[R2-ospf-100-area-0.0.0.0]network 12.1.1.2 0.0.0.0
[R2-ospf-100-area-0.0.0.0]ne	
[R2-ospf-100-area-0.0.0.0]network 23.1.1.1 0.0.0.0
[R2-ospf-100-area-0.0.0.0]net	
[R2-ospf-100-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[R2-ospf-100-area-0.0.0.0]dis this
[V200R003C00]
#
 area 0.0.0.0 
  network 2.2.2.2 0.0.0.0 
  network 12.1.1.2 0.0.0.0 
  network 23.1.1.1 0.0.0.0 
#
return
[R2-ospf-100-area-0.0.0.0]

[Huawei] sys R3
[R3]int s 4/0/1
[R3-Serial4/0/1]ip add 23.1.1.2 24
[R3-Serial4/0/1]
[R3-Serial4/0/1]int g 0/0/0
[R3-GigabitEthernet0/0/0]ip add 34.1.1.1 24
[R3-LoopBack0]ip add 3.3.3.3 24
[R3-LoopBack0]q
[R3]ospf 100 ro	
[R3]ospf 100 router-id 93.3.3.3 
[R3-ospf-100]area 0
[R3-ospf-100-area-0.0.0.0]ne	
[R3-ospf-100-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[R3-ospf-100-area-0.0.0.0]net	
[R3-ospf-100-area-0.0.0.0]network 23.1.1.2 0.0.0.0
[R3-ospf-100-area-0.0.0.0]dis this
[V200R003C00]
#
 area 0.0.0.0 
  network 3.3.3.3 0.0.0.0 
  network 23.1.1.2 0.0.0.0 
#
return
[R3-ospf-100-area-0.0.0.0]

R1-R2进行ppp认证

[R1]aaa
[R1-aaa]lo	
[R1-aaa]local-user huawei pa	
[R1-aaa]local-user huawei password ci	
[R1-aaa]local-user huawei password cipher 123
Info: Add a new user.
[R1-aaa]lo	
[R1-aaa]local-user huawei ser	
[R1-aaa]local-user huawei service-type ppp
[R1-aaa]int s 4/0/0
[R1-Serial4/0/0]ppp au	
[R1-Serial4/0/0]ppp authentication-mode pa	
[R1-Serial4/0/0]ppp authentication-mode pap 
[R1-Serial4/0/0]dis this
[V200R003C00]
#
interface Serial4/0/0
 link-protocol ppp
 ppp authentication-mode pap 
 ip address 12.1.1.1 255.255.255.0 
#
return
[R1-Serial4/0/0]
[R2]int s 4/0/0
[R2-Serial4/0/0]ppp pa	
[R2-Serial4/0/0]ppp pap lo	
[R2-Serial4/0/0]ppp pap local-user huawei pa	
[R2-Serial4/0/0]ppp pap local-user huawei password ci	
[R2-Serial4/0/0]ppp pap local-user huawei password cipher 123
[R2-Serial4/0/0]dis this
[V200R003C00]
#
interface Serial4/0/0
 link-protocol ppp
 ppp pap local-user huawei password cipher %$%$OSK`1FCGt6/f.:6VD+f:,.6R%$%$
 ip address 12.1.1.2 255.255.255.0 
#
return

R2-R3进行chap认证

[R2]aaa
[R2-aaa]lo	
[R2-aaa]local-user air pa	
[R2-aaa]local-user air password ci	
[R2-aaa]local-user air password cipher 123
Info: Add a new user.
[R2-aaa]lo
[R2-aaa]lo		
[R2-aaa]local-user air ser	
[R2-aaa]local-user air service-type ppp
[R2-aaa]int s 4/0/1
[R2-Serial4/0/1]lin	
[R2-Serial4/0/1]link-protocol p	
[R2-Serial4/0/1]link-protocol ppp 
[R2-Serial4/0/1]ppp	
[R2-Serial4/0/1]ppp au	
[R2-Serial4/0/1]ppp authentication-mode 
[R2-Serial4/0/1]ppp authentication-mode chap
[R2-Serial4/0/1]dis this
[V200R003C00]
#
interface Serial4/0/1
 link-protocol ppp
 ppp authentication-mode chap 
 ip address 23.1.1.2 255.255.255.0 
#
return
[R3]int s 4/0/1
[R3-Serial4/0/1]ppp 	
[R3-Serial4/0/1]ppp ch	
[R3-Serial4/0/1]ppp chap u	
[R3-Serial4/0/1]ppp chap user air
[R3-Serial4/0/1]ppp c	
[R3-Serial4/0/1]ppp chap pas
[R3-Serial4/0/1]ppp chap pas	
[R3-Serial4/0/1]ppp chap password ci	
[R3-Serial4/0/1]ppp chap password cipher 123
[R3-Serial4/0/1]dis this
[V200R003C00]
#
interface Serial4/0/1
 link-protocol ppp
 ppp chap user air
 ppp chap password cipher %$%$.Ax[IOjo63I;E9C#|Ag@,/]l%$%$
 ip address 23.1.1.2 255.255.255.0 
#
return

R3-R5-R6之间使用MGRE,R3为hub端,R5 R6为spoke端;要求MGRE接口网络类型为

BMA,spoke之间通信必须经过hub端

首先需要配置R3,R5,R6到达R4的缺省路由

[R3]ip route-static 0.0.0.0 0 34.1.1.2
[R3]dis ip ro pr s
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : Static
         Destinations : 1        Routes : 1        Configured Routes : 1

Static routing table status : <Active>
         Destinations : 1        Routes : 1

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        0.0.0.0/0   Static  60   0          RD   34.1.1.2        GigabitEthernet
0/0/0

Static routing table status : <Inactive>
         Destinations : 0        Routes : 0
[R5]ip ro	
[R5]ip route-	
[R5]ip route-static 0.0.0.0 0 45.1.1.3
[R5]dis ip p	
[R5]dis ip ro	
[R5]dis ip routing-table pr	
[R5]dis ip routing-table protocol s	
[R5]dis ip routing-table protocol static 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : Static
         Destinations : 1        Routes : 1        Configured Routes : 1

Static routing table status : <Active>
         Destinations : 0        Routes : 0

Static routing table status : <Inactive>
         Destinations : 1        Routes : 1

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        0.0.0.0/0   Static  60   0               45.1.1.3        Unknown

[R5]
[R6]ip ro	
[R6]ip route-	
[R6]ip route-static 0.0.0.0 0 46.1.1.3
[R6]dis ip ro p s
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : Static
         Destinations : 1        Routes : 1        Configured Routes : 1

Static routing table status : <Active>
         Destinations : 0        Routes : 0

Static routing table status : <Inactive>
         Destinations : 1        Routes : 1

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        0.0.0.0/0   Static  60   0               46.1.1.3        Unknown

[R6]

配置R3接口隧道,选择点对多点接口模式,以及配置动态的接口映射 。同时配置R5-R6的接口隧道,模式同样为点对多点接口模式

[R3]int t 0/0/0
[R3-Tunnel0/0/0]ip add 100.1.1.1 24
[R3-Tunnel0/0/0]tu	
[R3-Tunnel0/0/0]tunnel-protocol gr	
[R3-Tunnel0/0/0]tunnel-protocol gre p	
[R3-Tunnel0/0/0]tunnel-protocol gre p2mp 
[R3-Tunnel0/0/0]so	
[R3-Tunnel0/0/0]source 34.1.1.1
[R3-Tunnel0/0/0]
[R3-Tunnel0/0/0]nh	
[R3-Tunnel0/0/0]nhrp ne	
[R3-Tunnel0/0/0]nhrp network-id 100
[R3-Tunnel0/0/0]nh	
[R3-Tunnel0/0/0]nhrp en	
[R3-Tunnel0/0/0]nhrp entry m	
[R3-Tunnel0/0/0]nhrp entry multicast d	
[R3-Tunnel0/0/0]nhrp entry multicast dynamic 
[R3-Tunnel0/0/0]nhrp entry multicast dynamic 
[R3-Tunnel0/0/0]dis this
[V200R003C00]
#
interface Tunnel0/0/0
 ip address 100.1.1.1 255.255.255.0 
 tunnel-protocol gre p2mp
 source 34.1.1.1
 nhrp entry multicast dynamic
 nhrp network-id 100
#
return
[R3-Tunnel0/0/0]
[R5]int t 0/0/0
[R5-Tunnel0/0/0]ip add 100.1.1.2 24
[R5-Tunnel0/0/0]tu	
[R5-Tunnel0/0/0]tunnel-protocol g	
[R5-Tunnel0/0/0]tunnel-protocol gre p	
[R5-Tunnel0/0/0]tunnel-protocol gre p2mp 
[R5-Tunnel0/0/0]s	
[R5-Tunnel0/0/0]so	
[R5-Tunnel0/0/0]source g0/0/1
[R5-Tunnel0/0/0]nh	
[R5-Tunnel0/0/0]nhrp en	
[R5-Tunnel0/0/0]nhrp entry 100.1.1.1 34.1.1.1 re
[R5-Tunnel0/0/0]nh	
[R5-Tunnel0/0/0]nhrp ne	
[R5-Tunnel0/0/0]nhrp network-id 100
[R5-Tunnel0/0/0] dis this
[V200R003C00]
#
interface Tunnel0/0/0
 ip address 100.1.1.2 255.255.255.0 
 tunnel-protocol gre p2mp
 source GigabitEthernet0/0/1
 nhrp network-id 100
 nhrp entry 100.1.1.1 34.1.1.1 register
#
return
[R6]int t 0/0/0
[R6-Tunnel0/0/0]ip add 120.1.1.1 24
[R6-Tunnel0/0/0]tu	
[R6-Tunnel0/0/0]tunnel-protocol gr	
[R6-Tunnel0/0/0]tunnel-protocol gre p	
[R6-Tunnel0/0/0]tunnel-protocol gre p2mp 
[R6-Tunnel0/0/0]s	
[R6-Tunnel0/0/0]so	
[R6-Tunnel0/0/0]source 46.1.1.2
[R6-Tunnel0/0/0]nh	
[R6-Tunnel0/0/0]nhrp ne	
[R6-Tunnel0/0/0]nhrp network-id 100
[R6-Tunnel0/0/0]nh	
[R6-Tunnel0/0/0]nhrp en	
[R6-Tunnel0/0/0]nhrp entry 100.1.1.1 34.1.1.1 re
[R6-Tunnel0/0/0]undo  nhrp entry 100.1.1.1 46.1.1.1 register
Info: This peer doesn't exist.
[R6-Tunnel0/0/0]dis this
[V200R003C00]
#
interface Tunnel0/0/0
 ip address 100.1.1.3 255.255.255.0 
 tunnel-protocol gre p2mp
 source GigabitEthernet0/0/2
 nhrp network-id 100
 nhrp entry 100.1.1.1 34.1.1.1 register
#
return

启动ospf

[R3]ospf 100
[R3-ospf-100]area 0
[R3-ospf-100-area-0.0.0.0]net	
[R3-ospf-100-area-0.0.0.0]network 100.1.1.1 0.0.0.0
[R3-ospf-100-area-0.0.0.0]dis this
[V200R003C00]
#
 area 0.0.0.0 
  network 3.3.3.3 0.0.0.0 
  network 23.1.1.2 0.0.0.0 
  network 100.1.1.1 0.0.0.0 
#
return
[R3-ospf-100-area-0.0.0.0]
[R5-Tunnel0/0/0]ospf 100 
[R5-ospf-100]area 0
[R5-ospf-100-area-0.0.0.0]net	
[R5-ospf-100-area-0.0.0.0]network 100.1.1.2 0.0.0.0
[R5-ospf-100-area-0.0.0.0]net	
[R5-ospf-100-area-0.0.0.0]net	
[R5-ospf-100-area-0.0.0.0]network 5.5.5.1 0.0.0.0
[R5-ospf-100-area-0.0.0.0] dis this
[V200R003C00]
#
 area 0.0.0.0 
  network 5.5.5.1 0.0.0.0 
  network 100.1.1.2 0.0.0.0 
#
return
[R5-ospf-100-area-0.0.0.0]
[R6-Tunnel0/0/0]ospf 100
[R6-ospf-100]area 0
[R6-ospf-100-area-0.0.0.0]net	
[R6-ospf-100-area-0.0.0.0]network 100.1.1.3 0.0.0.0
[R6-ospf-100-area-0.0.0.0]ne	
[R6-ospf-100-area-0.0.0.0]network 6.6.6.1 0.0.0.0
[R6-ospf-100-area-0.0.0.0]dis this
[V200R003C00]
#
 area 0.0.0.0 
  network 6.6.6.1 0.0.0.0 
  network 100.1.1.3 0.0.0.0 
#
return
[R6-ospf-100-area-0.0.0.0]

修改为BMA

[R5-Tunnel0/0/0]ospf ne	
[R5-Tunnel0/0/0]ospf network-type b	
[R5-Tunnel0/0/0]ospf network-type broadcast 
[R3-Tunnel0/0/0]ospf	
[R3-Tunnel0/0/0]ospf ne	
[R3-Tunnel0/0/0]ospf network-type b	
[R3-Tunnel0/0/0]ospf network-type broadcast 
[R6-Tunnel0/0/0]ospf n	
[R6-Tunnel0/0/0]ospf network-type b	
[R6-Tunnel0/0/0]ospf network-type broadcast 

修改dr优先级

[R5-Tunnel0/0/0]ospf dr	
[R5-Tunnel0/0/0]ospf dr-priority 0
[R5-Tunnel0/0/0]
[R6-Tunnel0/0/0]ospf dr	
[R6-Tunnel0/0/0]ospf dr-priority 0
[R6-Tunnel0/0/0]
[R3-Tunnel0/0/0]dis ospf int t 0/0/0

	 OSPF Process 100 with Router ID 93.3.3.3
		 Interfaces 


 Interface: 100.1.1.1 (Tunnel0/0/0)
 Cost: 1562    State:Dr    Type: Broadcast    MTU: 1500  
 Priority: 1
 Designated Router: 100.1.1.1
 Backup Designated Router: 0.0.0.0
 Timers: Hello 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1 
[R3-Tunnel0/0/0]

测试全网可达

[R6-Tunnel0/0/0]ping -a 6.6.6.1 3.3.3.1
  PING3.3.3.1: 56  data bytes, press CTRL_C to break
   Reply from 3.3.3.1: bytes=56 Sequence=1 ttl=255 time=30 ms
    Reply from 3.3.3.1: bytes=56 Sequence=2 ttl=255 time=20 ms
    Reply from 3.3.3.1: bytes=56 Sequence=3 ttl=255 time=20 ms
    Reply from 3.3.3.1: bytes=56 Sequence=4 ttl=255 time=20 ms
    Reply from 3.3.3.1: bytes=56 Sequence=5 ttl=255 time=20 ms

  --- 3.3.3.1 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 20/22/30 ms

[R6-Tunnel0/0/0]ping -a 6.6.6.1 5.5.5.1
  PING 5.5.5.1: 56  data bytes, press CTRL_C to break
      Reply from 5.5.5.1: bytes=56 Sequence=1 ttl=255 time=20 ms
    Reply from 5.5.5.1: bytes=56 Sequence=2 ttl=255 time=20 ms
    Reply from 5.5.5.1: bytes=56 Sequence=3 ttl=255 time=20 ms
    Reply from 5.5.5.1: bytes=56 Sequence=4 ttl=255 time=20 ms
    Reply from 5.5.5.1: bytes=56 Sequence=5 ttl=255 time=20 ms

  --- 5.5.5.1ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 20/20/20 ms

[R6-Tunnel0/0/0]

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

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

相关文章

Linux--进程

什么叫做进程&#xff1f; 程序加载到内存就叫进程&#xff08;看不懂是吧&#xff0c;看下面更详细一些&#xff09; 进程对应的代码和数据进程对应的PCB结构体

MySQL索引原理和优化

目录 1 什么是索引&#xff1f;1.1 引言1.2 索引原理1.3 索引分类1.3.1 主键索引1.3.2 普通索引&#xff08;单列索引&#xff09;1.3.3 复合索引&#xff08;组合索引&#xff09;1.3.4 唯一索引1.3.5 全文索引1.3.6 索引的查询和删除 1.4 索引的优缺点 2 索引数据结构2.1 Has…

做题遇见的PHP函数汇总

mb_substr函数 mb_substr() 函数返回字符串的一部分&#xff0c;之前学过 substr() 函数&#xff0c;它只针对英文字符&#xff0c;如果要分割的中文文字则需要使用 mb_substr() 语法&#xff1a; mb_substr ( $str ,$start [, $length NULL [, $encoding mb_encoding() ]] …

改进版简化路径。

美图 在原有的基础上增加对 cd - 的处理。 在 Unix 命令中&#xff0c;cd - 表示返回上一次所在的目录。我们可以使用一个变量来记录上一次所在的目录&#xff0c;在遇到 cd - 时将当前目录设置为上一次所在的目录。 以下是增加对 cd - 的处理后的代码&#xff1a; 4 cd /…

016 - STM32学习笔记 - SPI读写FLASH(一)

016 - STM32学习笔记 - SPI访问Flash&#xff08;一&#xff09; 之前csdn的名称是宥小稚&#xff0c;后来改成放学校门口见了&#xff0c;所以前面内容看到图片水印不要在意&#xff0c;都是自己学习过程中整理的&#xff0c;不涉及版权啥的。 1、什么是SPI&#xff1f; SP…

Linux项目自动化构建工具-make/Makefile以及git三板斧

目录 一、关于make/makefile的背景知识二、依赖关系和依赖方法三、make/makefile如何书写&#xff1f;四、文件的三个时间(Access、Modify、Change)五、Linux下倒计时和进度条代码的书写5.1 回车换行5.2 缓冲区5.3 倒计时代码实现5.4 进度条代码实现 六、git三板斧6.1 什么是gi…

10.15资源加载

定义&#xff1a; 1.直接属性引用 生成一个actor和声音&#xff1a; 运行时就会产生一个Myactor中设置的Actor并且播放Myactor中设置的声音。 音频&#xff1a;class USoundCue&#xff1b; 纹理&#xff1a;class UTexture&#xff1b; 材质&#xff1a; class UMaterial 模…

TCP/IP出现的背景及其历史【图解TCP/IP(笔记八)】

文章目录 TCP/IP出现的背景及其历史从军用技术的应用谈起ARPANET的诞生TCP/IP的诞生UNIX系统的普及与互联网的扩张商用互联网服务的启蒙 TCP/IP出现的背景及其历史 从军用技术的应用谈起 20世纪60年代&#xff0c;很多大学和研究机构都开始着力于新的通信技术。其中有一家以美…

jmeter列表数据断言

在jmeter接口请求中&#xff0c;通常需要根据接口data列表有无返回的数据断言是接口请求成功&#xff0c;如图1&#xff0c; 通常有这么几种方法&#xff1a; beanshell断言 json断言 响应断言 图1&#xff1a; 失败请求&#xff1a;{"code":0,"msg"…

小甲鱼- python -洗牌算法 —— Fisher-Yates

练习1 自己的原始代码 &#xff08;比较复杂&#xff09; 1.没有把字符串转为列表&#xff0c;所以不能利用pop # 打乱的次数 for i in range(1,4):s "ABCDEF"n 4list []l len(s)while l > 0:k random.randint(1, l)list.append(s[k-1])s s.replac…

电子设备电池容量与充电器功率的关系

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 目录 抛出问题 手机的工作电压 手机的工作电流 手机的电池容量 电能转换公式 充电器功率 充电时间计算 总结 抛出问题 你是否也想过&#xff0c;你的手机电池容量是5000mAh&#xff0c;手机充电器是120W快…

基于低代码平台的项目设计的一般流程及低代码平台(基于iVX)与MVC的关系

基于低代码平台的项目设计的一般流程及低代码平台&#xff08;基于iVX&#xff09;与MVC的关系 1.基于低代码平台的项目设计的一般流程a.流程图b.MVC架构应用于iVX项目的各分层排序&#xff1a;&#xff08;1&#xff09;第一步&#xff1a;写M&#xff08;2&#xff09;第二步…

LeetCode[912]排序数组

难度&#xff1a;Medium 题目&#xff1a; 给你一个整数数组 nums&#xff0c;请你将该数组升序排列。 示例 1&#xff1a; 输入&#xff1a;nums [5,2,3,1] 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;nums [5,1,1,2,0,0] 输出&#xff1a;[0,0,1,1,2,…

Openlayers实战:显示海量数据

Openlayers地图中通常的加载方式是canvas,另外还一种加载方式是webGL,在绘制海量数据时,使用GPU进行绘制可有效减少CPU的负载,提升绘制时的速度在浏览器中,可以使用WebGL的方式与GPU交互。 在本实战中,使用WebGLPoints显示海量数据。 效果图 源代码 /* * @Author: 大剑…

表单标签from

七、表单标签 form text name属性必须添加&#xff0c;否则后端不知道这个值是什么意思。且name不能重复 添加label主要是方便程序员&#xff0c;一看到用户名称这个label就是为username的&#xff0c;添加或者不添加页面效果一样 2、possword 用户密码显式出来&#xff0c;所…

与一款医疗仪器的往事

这是一款比较冷门的医疗仪器&#xff0c;SOD型多普勒脐动脉血流检测仪。 大约是20年前&#xff0c;有个朋友找到了俺&#xff0c;让俺给他写一个医疗仪器的软件。当时这个仪器是这样子的。这是唯一还能找到的当时的图片。朋友要求用C写。俺就选择了C Builder&#xff0c;比用VC…

vue源码阅读之什么是虚拟dom

前面简单说过数据响应式原理&#xff0c;大体是个怎么流程&#xff0c;数据发生变化&#xff0c;我们界面如何更新。 依赖收集收集的是watcher&#xff0c;然后当数据发生变化的时候dep通知watcher&#xff0c;然后watcher负责updateComponent。 那么更新组件过程中&#xff…

PostgreSQL查询引擎——上拉子链接SubLink

子查询是查询语句中经常出现的一种类型&#xff0c;是比较耗时的操作。优化子查询对查询效率的提升有直接的影响。从子查询出现在SQL语句的位置看&#xff0c;它可以出现在目标列、FROM子句、WHERE子句、JOIN/ON子句、GROUPBY子句、HAVING子句、ORDERBY子句等位置。子查询出现在…

c语言指针进阶(一)

大家好&#xff0c;我是c语言boom成家宝。今天为大家分享的是c语言中很重要的一个知识点------指针的深入讲解。 目录 指针 指针数组 数组指针 函数指针 什么是指针&#xff1f; 首先&#xff0c;指针的本质是一个地址&#xff0c;指针在32位机器上的大小是4个字节&a…

python_day3_str

字符串str 按索引下标查找 str Hi, world, follow, admin print(str[0]) print(str[-1])index() str Hi, world, follow, admin print(str.index(world)) #首字母下标 print(str.index(w))字符串.replace&#xff08;字符串1&#xff0c;字符串2&#xff09;&#xff1a;…