OSPF的多区域特性 (电子科技大学TCP/IP实验三)

news2024/9/24 13:22:54

一.实验目的

1、掌握OSPF 协议中区域的类型、特征和作用

2、掌握OSPF 路由器的类型、特征和作用

3、掌握OSPF LSA 分组的类型、特征和作用

4、理解OSPF 区域类型、路由器类型和OSPF LSA 分组类型间的相互关系

二.预备知识

1、静态路由选择和动态路由选择

2、内部网关协议和外部网关协议

3、链路状态路由选择

三.实验原理

OSPF 协议(RFC 2328)是一个基于链路状态路由选择的内部网关协议:路由器仅在网络拓扑变化时使用洪泛法(flooding)将自己的链路状态更新信息扩散到整个自治系统中。

为了增强OSPF 协议的可伸缩能力(Scalability),OSPF 协议引入了区域的概念来有效并及时的处理路由选择。OSPF 区域是包含在AS 中的一些网络、主机和路由器的集合, 自治系统中所有OSPF 区域必须连接到一个主干区域(Area 0)上。

区域内的OSPF 路由器(内部路由器,IR)使用洪泛法(flooding)传送本区域内的链路状态信息,区域边界的 OSPF 路由器(区域边界路由器,ABR)将本区域的信息汇总发给其他区域,自治系统边界的 OSPF 路由器(自治系统边界路由器,ASBR)将自治系统外的路由(外部路由)发布在自治系统中。主干区域中的 OSPF 路由器也称为“主干路由器”(BR)。ABR 不能向OSPF 残桩区域(Stub Area)通告外部路由。在多址网络中,为了避免不必要的链路状态洪泛,需要选举 1 个指定路由器(DR)和 1 个备份指定路由器(BDR)。

OSPF 协议有 5 种类型的报文,它们被直接封装在 IP 分组中多播发送。

  • 问候(Hello)报文:用来建立并维护 OSPF 邻接关系。在建立了邻接关系后,

OSPF 路由器会定期发送Hello 报文,来测试邻站的可达性。

  • 数据库描述(DBD)报文:描述OSPF 路由器的链路状态数据库的概要信息, 即数据库中每一行的标题,它在两台相邻路由器彼此建立邻接关系时发送的。
  • 链路状态请求(LSR)报文:由需要若干条特定路由信息的路由器发送出的, 它的回答是 LSU 报文。新接入的路由器在收到 DBD 报文后,可以使用 LSR 报文请求关于某些路由的更多信息。
  • 链路状态更新(LSU)报文:OSPF 的核心。OSPF 路由器使用 LSU 报文通告链路状态更新信息(即链路状态通告,LSA),每一个 LSU 报文可包含几个LSA。 OSPF 协议的 LSA 有 5 种常用类型:路由器链路 LSA、网络链路 LSA、汇总链路到网络 LSA、汇总链路到 ASBR LSA 和外部链路LSA。这 5 种类型的 LSA 由不同类型的OSPF 路由器产生,在特定类型的区域范围内扩散。
  • 链路状态确认(LSAck)报文:用来确认每一个收到的 LSU 报文,使得OSPF

协议的路由选择更加可靠。

四.实验内容

实验拓扑中 Dynamips 软件模拟实现的路由器R1~R6 互联了 2 个自治系统(AS 10 和 AS  20),路由器之间使用 OSPF 协议进行路由选择。AS  10 中有 5 个子网,划分了 3个区域:Area 0、Area 1 和 Area 2,其中 Area 2 是一个 Stub 区域。AS 20 中有 1 个子网, 其路由信息将以OSPF 的外部路由方式发布到AS 10 的OSPF 网络中。

实验者使用 Dynamips 软件捕获子网 1、2、3 上传送的 OSPF 报文,使用 Wireshark 软件查看捕获的 OSPF 报文,分析 OSPF 协议的路由更新过程,考察 OSPF 协议中不同类型的区域、路由器和 LSA 的特征和作用。

 

实验拓扑中 Dynamips 软件模拟实现的路由器R1~R6 互联了 2 个自治系统(AS 10 和 AS  20),路由器之间使用 OSPF 协议进行路由选择。AS  10 中有 5 个子网,划分了 3个区域:Area 0、Area 1 和 Area 2,其中 Area 2 是一个 Stub 区域。AS 20 中有 1 个子网, 其路由信息将以OSPF 的外部路由方式发布到AS 10 的OSPF 网络中。

实验者使用 Dynamips 软件捕获子网 1、2、3 上传送的 OSPF 报文,使用 Wireshark 软件查看捕获的 OSPF 报文,分析 OSPF 协议的路由更新过程,考察 OSPF 协议中不同类型的区域、路由器和 LSA 的特征和作用。

五.实验步骤

实验步骤详见TCP//IP实验指导书。由于步骤过长,就在此不在赘述。

六、实验数据及结果分析

1、步骤 2 中根据 R1 路由表和 R4 路由表中的哪些信息可以确保实验网中的 OSPF

协议已经收敛?为什么?

1.路由表项的数目,稳定之后。路由表项的数目应该和整个网络网络的数目一致。

2.多次输入show ip route 命之后,显示的路由表项没有变化。

2、分析执行步骤 4 之前在 4 个子网上捕获的OSPF 报文。记录子网 2、3、4 和 5 上每一台路由器发送的 1 个OSPF Hello 报文的如下信息:

步骤3:子网2

路由器

R1

R2

IP分组首部

源IP

172.16.2.1

172.16.2.2

目的IP

224.0.0.5

224.0.0.5

OSPF报文首部

路由器ID

1.1.1.1

2.2.2.2

区域ID

0.0.0.1

0.0.0.1

Hello报文

网络掩码

255.255.255.252

255.255.255.252

Hello间隔

10s

10s

优先级

1

1

失效间隔

40s

40s

DR

0.0.0.0

0.0.0.0

BDR

0.0.0.0

0.0.0.0

邻居1

2.2.2.2

1.1.1.1

邻居2

-

-

步骤3:子网3

路由器

R2

R3

IP分组首部

源IP

172.16.3.2

172.16.3.3

目的IP

224.0.0.5

224.0.0.5

OSPF报文首部

路由器ID

2.2.2.2

3.3.3.3

区域ID

0.0.0.1

0.0.0.1

Hello报文

网络掩码

255.255.255.248

255.255.255.248

Hello间隔

10s

10s

优先级

1

1

失效间隔

40s

40s

DR

0.0.0.0

0.0.0.0

BDR

0.0.0.0

0.0.0.0

邻居1

3.3.3.3

2.2.2.2

邻居2

-

-

步骤3:子网4

路由器

R3

R4

R5

IP分组首部

源IP

172.16.4.3

172.16.4.4

172.16.4.5

目的IP

224.0.0.5

224.0.0.5

224.0.0.5

OSPF报文首部

路由器ID

3.3.3.3

4.4.4.4

5.5.5.5

区域ID

0.0.0.0

0.0.0.0

0.0.0.0

Hello报文

网络掩码

255.255.255.0

255.255.255.0

255.255.255.0

Hello间隔

10s

10s

10s

优先级

1

1

1

失效间隔

40s

40s

40s

DR

172.16.4.5

172.16.4.5

172.16.4.5

BDR

172.16.4.4

172.16.4.4

172.16.4.4

邻居1

5.5.5.5

5.5.5.5

4.4.4.4

邻居2

4.4.4.4

3.3.3.3

3.3.3.3

步骤3:子网5

路由器

R5

R6

IP分组首部

源IP

172.16.5.5

172.16.5.6

目的IP

224.0.0.5

224.0.0.5

OSPF报文首部

路由器ID

5.5.5.5

6.6.6.6

区域ID

0.0.0.2

0.0.0.2

Hello报文

网络掩码

255.255.255.0

255.255.255.0

Hello间隔

10s

10s

优先级

1

1

失效间隔

40s

40s

DR

172.16.5.6

172.16.5.6

BDR

172.16.5.5

172.16.5.5

邻居1

6.6.6.6

5.5.5.5

邻居2

-

-

【分析】

  1. 实验中的OSPF hello 间隔是多少秒?

10s

2)是否 4 个子网上都选举有 DR 和 BDR?为什么?根据记录中的 DR 和 BDR 信息,用路由器编号写出图 A 中子网 4 上的 DR 和 BDR。在本实验的后续步骤中,各子网上的 DR 和 BDR 是否会改变?

1.不是每一个子网中都是有DR和BDR,只有在转接网络才需要指定路由器和备份指定路由器,而点到点链路和残桩链路不需要。

2.子网4中的DR是5.5.5.5,BDR是4.4.4.4

3.在本实验后续的步骤之中不会改变,因为子网4和子网5在后续的操作步骤中网络拓扑没有发生变化,因此DR和BDR不会改变

3、分析从执行步骤 4 开始到执行步骤 5 之前在 4 个子网上捕获的OSPF 报文。按报文的捕获顺序记录每个子网上捕获到的OSPF 报文概要,要求:从第 1 个非类型1(即 hello 报文)的 OSPF 报文开始记录,包括后续的类型 1(hello)报文,一直记录到最后 1 个非类型 1 的OSPF 报文。记录的信息如下:

步骤4:子网:2

IP分组首部

OSPF报文首部

捕获时间

源IP

目的IP

类型

路由器ID

区域ID

Time

172.16.2.1

224.0.0.5

LS Update

1.1.1.1

0.0.0.1

19:01:44

172.16.2.2

224.0.0.5

LS Acknowledge

2.2.2.2

0.0.0.1

19:01:46

步骤4:子网:3

IP分组首部

OSPF报文首部

捕获时间

源IP

目的IP

类型

路由器ID

区域ID

Time

172.16.3.2

224.0.0.5

LS Update

2.2.2.2

0.0.0.1

19:01:44

172.16.3.3

224.0.0.5

LS Acknowledge

3.3.3.3

0.0.0.1

19:01:46

步骤4:子网:4

IP分组首部

OSPF报文首部

捕获时间

源IP

目的IP

类型

路由器ID

区域ID

Time

172.16.4.3

224.0.0.6

LS Update

3.3.3.3

0.0.0.0

19:01:49

172.16.4.5

224.0.0.5

LS Update

5.5.5.5

0.0.0.0

19:01:49

172.16.4.3

224.0.0.5

Hello Packet

3.3.3.3

0.0.0.0

19:01:51

172.16.4.4

224.0.0.5

LS Acknowledge

4.4.4.4

0.0.0.0

19:01:51

步骤4:子网:5

IP分组首部

OSPF报文首部

捕获时间

源IP

目的IP

类型

路由器ID

区域ID

Time

172.16.5.5

224.0.0.5

LS Update

5.5.5.5

0.0.0.2

19:01:49

172.16.5.6

224.0.0.5

LS Acknowledge

6.6.6.6

0.0.0.2

19:01:51

【分析】

  1. 为什么会在实验中捕获到两种不同目的 IP 地址(224.0.0.6 和 224.0.0.5)的LSU 报文?

一般情况下都是组播地址244.0.0.5,但是在转接链路中,非BD和BDR的路由器只与DR/BDR是邻接关系,LSA只需要发送给DR/BDR即可,所以需要244.0.0.6这个组播地址。DR/BDR以目的IP为244.0.0.5发送LSU报文。在子网4当中,即存在DR/BDR,也存在非DR/BDR的路由器,所以会捕获到两种不同目的IP地址的LSU报文。

  1. OSPF 要求路由器确认收到的 LSA,即对收到的每个 LSU 报文进行确认。为什么在子网 4 上捕获到了 2 个 LSU 报文,但 LSAck 报文却只有 1 个?

OSPF对报文的确认方式有两种:显式和隐式

在子网4中,R3先对收到的LSA进行洪泛,但是R3不是指定路由器,目的IP是指定路由器的组播地址,所以收到该LSU的R5用过LSU洪泛进行隐式确认。此时R4收到目的224.0.0.5的LSU,知道是指定路由器发的,进行显式的回复。所以在子网4中有两个LSU,却只有一个LSAck。

4、按报文捕获顺序,记录从执行步骤 4 开始到执行步骤 5 之前在 4 个子网上捕获到的所有 LSU 报文的如下信息。

步骤4:子网:2

LSU首部

LSA#1首部

LSA#2首部

LSA数量

寿命

类型值

链路状态ID

通告路由器

序号

校验和

….

1

1s

Router-LSA

1.1.1.1

1.1.1.1

0x80000003

0x7c9a

步骤4:子网:3

LSU首部

LSA#1首部

LSA#2首部

LSA数量

寿命

类型值

链路状态ID

通告路由器

序号

校验和

….

1

2s

Router-LSA

1.1.1.1

1.1.1.1

0x80000003

0x7c9a

步骤4:子网:4

LSU首部

LSA#1首部

LSA#2首部

LSA数量

寿命

类型值

链路状态ID

通告路由器

序号

校验和

….

1

3600s

Summary-LSA(IP network)

172.16.1.0

3.3.3.3

0x80000002

0x9cd5

1

3600s

Summary-LSA(IP network)

172.16.1.0

3.3.3.3

0x80000002

0x9cd5

步骤4:子网:5

LSU首部

LSA#1首部

LSA#2首部

LSA数量

寿命

类型值

链路状态ID

通告路由器

序号

校验和

….

1

3600s

Summary-LSA(IP network)

172.16.1.0

5.5.5.5

0x80000002

0x7eed

【分析】

1)同一 Area 内不同发送者发送的LSU 报文(例如:Area 1 中子网 2 上 R1 发送的 LSU 报文和子网 3 上R2 发送的 LSU 报文)中携带的 LSA 内容是否完全一致?在 LSU 报文中,1 个 LSA 首部中的通告路由器、该 LSU 报文的OSPF 首部中的路由器 ID,以及封装该 OSPF 报文的 IP 分组首部中的源 IP 地址,它们指的是什么路由器?是否是同一台路由器?

(1)同一个区域上捕获到了不同发送者发送的LSU报文完全一致。

(2)LSA首部中的通告路由器是始发这条LSA通告的路由器,该LSU报文的OSPF首部中的路由器ID是发送这个LSU的路由器,封装该 OSPF 报文的 IP 分组首部中的源 IP 地址也是发送这个LSU的路由器。

(3)后面两者同一台路由器,但是三者不一定是同一台路由器。

2)每个子网上捕获到的 LSU 报文中的 LSA 是哪种类型的 LSA?每种类型的LSA 是由图 B 中的哪台路由器始发的?该路由器属于哪种类型的 OSPF 路由器?这些LSA 分别在图B 的哪些区域中洪泛?通告的是其洪泛区域内部的链路信息还是该区域外部的链路信息

(1)子网2:

    捕获的LSA类型是路由器链路LSA(Router-LSA)

    始发路由器:R1

    路由器类型:IR(内部路由器)

    洪泛区域:Area1

    通告的是其洪泛区域内部的链路信息

(2)子网3:

    捕获的LSA类型是路由器链路LSA(Router-LSA)

    始发路由器:R1

    路由器类型:IR(内部路由器)

    洪泛区域:Area1

    通告的是其洪泛区域内部的链路信息

(3)子网4:

    捕获的LSA类型是汇总链路到网络LSA(Summary-LSA(IP network))

    始发路由器:R3

    路由器类型:BR(主干路由器),ABR(区域边界路由器)

    洪泛区域:Area0

    通告的是该区域外部的链路信息

(4)子网5:

    捕获的LSA类型是汇总链路到网络LSA(Summary-LSA(IP network))

    始发路由器:R5

    路由器类型:BR(主干路由器),ABR(区域边界路由器)

    洪泛区域:Area2

    通告的是该区域外部的链路信息

3)除路由器 R1 外,其它路由器可以根据收到的 LSA 中的什么信息判定子网 1

不可达?(提示:对比记录 6 的信息)

   R2和R3根据收到的LSA消息没有子网1 的信息可以判断不可达;其他路由器根据子网1 的Metric值为16777215判断子网1不可达。

4)如果在图B 中,将子网 1 接到 R3 上,并且让子网 1 处于区域 0 中,那么此时在各个区域中会出现哪些路由器始发的哪些类型的 LSA?

Area0: R3始发的路由器链路LSA(Router-LSA)

Area1: R3始发的汇总链路到网络LSA(Summary-LSA(IP network))

Area2: R5始发的汇总链路到网络LSA(Summary-LSA(IP network))

5、按报文捕获顺序,记录从执行步骤 5 开始到执行步骤 6 之前在 4 个子网上捕获到的所有 LSU 报文,记录信息如下

步骤5:子网:2

LSU首部

LSA#1首部

LSA#2首部

LSA数量

寿命

类型值

链路状态ID

通告路由器

网络掩码

度量

….

1

1s

Router-LSA

1.1.1.1

1.1.1.1

-

-

1

3s

AS-External-LSA(ASBR)

20.0.0.0

4.4.4.4

255.255.0.0

20

1

2s

Summary-LSA(ASBR)

4.4.4.4

3.3.3.3

0.0.0.0

1

步骤5:子网:3

LSU首部

LSA#1首部

LSA#2首部

LSA数量

寿命

类型值

链路状态ID

通告路由器

网络掩码

度量

….

1

2s

Router-LSA

1.1.1.1

1.1.1.1

-

-

1

2s

AS-External-LSA(ASBR)

20.0.0.0

4.4.4.4

255.255.0.0

20

1

1s

Summary-LSA(ASBR)

4.4.4.4

3.3.3.3

0.0.0.0

1

步骤5:子网:4

LSU首部

LSA#1首部

LSA#2首部

LSA数量

寿命

类型值

链路状态ID

通告路由器

网络掩码

度量

….

1

1s

Summary-LSA(IP network)

172.16.1.0

3.3.3.3

255.255.255.0

129

1

2s

Summary-LSA(IP network)

172.16.1.0

3.3.3.3

255.255.255.0

129

1

1s

Router-LSA

4.4.4.4

4.4.4.4

-

-

1

1s

AS-External-LSA(ASBR)

20.0.0.0

4.4.4.4

255.255.0.0

20

步骤5:子网:5

LSU首部

LSA#1首部

LSA#2首部

LSA数量

寿命

类型值

链路状态ID

通告路由器

网络掩码

度量

….

1

1s

Summary-LSA(IP network)

172.16.1.0

5.5.5.5

255.255.255.0

130

【分析】

  1. 为什么子网 5 上只有类型 3 的 LSA?

因为子网5的拓扑结构没有发生变化,并且不在主干区域,且其为残桩区域。

  1. Area 1(子网 2、子网 3)中的类型 1 LSA 所通告的拓扑变化,在 Area 0( 子网 4)和 Area 2(子网 5)中分别使用哪种类型的 LSA 进行通告?

类型3

  1. Area 0(子网 4)中的类型 1 LSA 所通告的拓扑变化,在Area 1(子网 2、子网 3)中使用哪种类型的 LSA 进行通告?

类型4

  1. Area 0(子网 4)中的类型 5 LSA 所通告的拓扑变化,在Area 1(子网 2、子网 3)中使用哪种类型的 LSA 进行通告?

类型5

  1. 子网 2、3 和 4 上的类型 5 LSA 信息(包括 LSA 首部及其数据部分)是否完全一致?如有不同,请指出不同之处,并解释不同的原因?

首部和数据部分都会有所不同。

首部部分:LSA首部信息不同的主要是源路由器和OSPF的区域,

数据部分:数据部分OSPF的寿命和相关掩码也不同。

【思考题】

1、OSPF 协议有 5 种类型的报文,并能通告 5 种类型的 LSA。本实验中捕获到了哪些类型的 OSPF 报文和哪些类型的 LSA?请解释本实验中不能捕获到某些类型的 OSPF 报文和某些类型的 LSA 的原因。

1)本实验中捕获到了OSPF协议的Hello报文、LSU报文和LSAck报文,没有捕获到LSR和DBD报文。DBD报文是在两台相邻路由器建立邻接关系的时发送的。但是在本次实验的过程中,捕获报文之前,相邻路由器都已经建立好关系。所以在实验过程中DBD报文不会产生。因为LSR报文是链路状态数据库同步过程中根据收到的DBD报文产生的,DBD报文没有产生,所以LSR报文不会产生。

2)本次实验过程中捕获到了1,3,4,5的LSA,没有捕获到类型2(Network-LSA)的LSA。因为类型2(Network-LSA)是由DR在转接链路内发布其所在Transit network上其它路由器信息。而在实验中两次网络拓扑变化都没有发生在子网4内,所以不会产生类型2

七、实验结论

1、本实验中,路由器 R1~R6 分别属于哪种类型的 OSPF 路由器?

R1:内部路由器

R2:内部路由器

R3:区域边界路由器,主干路由器

R4:在步骤五之前属于主干路由器,内部路由器;在步骤五之后属于主干路由器和AS边界路由器。

R5:主干路由器,区域边界路由器

R6:内部路由器

2、结合实验拓扑图和小组捕获的所有 OSPF 报文,总结 5 种 LSA 分别由哪种类型的 OSPF 路由器产生?通告了哪些信息?能在哪些区域范围内洪泛?

1)路由器链路LSA(Router-LSA):由网络中的每一台路由器产生,在本区域内发布所有邻居及其对应链路的信息,只能在始发区域洪泛(本区域)

2)网络链路LSA(Network-LSA):由DR(指定路由器)产生,由DR在本区域内发布其所在Transit network上其它路由器信息,只能在始发区域洪泛(本区域)

3)Summary–LSA(汇总链路到网络):由ABR区域边界路由器产生,在其所属的每个区域里中发布到达其它区域的路由信息,在这个区域内洪泛,但不能在残桩区域洪泛。

4)Summary–LSA (汇总链路到ASBR) :由ABR区域边界路由器产生,在本AS内的所有区域中发布到达ASBR的路径信息,可以洪泛到本AS内部所有非残桩区域中。

5)AS–external–LSAASBR产生,在本AS内的某些区域中发布到达AS以外网络的路径信息

八、总结及心得体会

1.通过本次实验体会到了OSPF路由的过程,包括OSPF各种LSA的类型和OSPF的四种报文类型,并对每一种报文进行了分析,对OSPF的工作流程有了更加深刻的认识。

2.同时

九、对本实验过程及方法、手段的改进建议

1.建议可以对子网4里面的网络拓扑进行改变,让学生体会一下类型2的LSA的变化。

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

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

相关文章

分享美容美发会员管理系统功能的特点_美容美发会员管理系统怎么做

人们越来越关心美发,美发行业发展迅速,小程序可以连接在线场景,许多美发院也开发了会员卡管理系统。那么一个实用的美发会员管理系统怎么制作呢?它有什么功能?我们一起来看看~(干货满满,耐心看完…

Lenovo Legion Y530-15ICH电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网,转载需注明出处。硬件型号驱动情况主板Lenovo Legion Y530-15ICH处理器Intel Core™ i7-8750H (Coffee-Lake)已驱动内存16GB RAM DDR4 2667MHz已驱动硬盘2TB HP EX950 PCI-E Gen3 x4 NVMe SSD已驱动显卡Intel UHD Graphics 630Nvidia GTX 10…

电子科技大学TCP/IP实验一——IP分组和ARP协议

目录 一.实验目的 二.预备知识 三.实验原理 四.实验内容 五.实验步骤 六、实验数据及结果分析 七、实验结论 八、总结及心得体会 九、对本实验过程及方法、手段的改进建议 一.实验目的 1、掌握 IP…

Lambda表达式的本质

一直想写一篇文章,来总结lambda表达式,但是之前感觉总结的不是特别到位,现在看了几篇文章和视频后,感觉对lambda表达式有了比较深刻的认识,现在进行记录总结如下: lambda表达式又叫做匿名函数,…

数据恢复软件EasyRecovery Photo16新版本功能特点介绍

EasyRecovery Photo16是一款支持Mac/Wind平台进行恢复图片的专业工具,尤其是各种流行单反相机RAW格式文件,以及超大型视频文件等,摄影爱好者使用。EasyRecovery是一款非常专业的硬盘数据恢复工具,可以帮你恢复丢失的数据&#xff…

【论文极速读】VQ-VAE:一种稀疏表征学习方法

【论文极速读】VQ-VAE:一种稀疏表征学习方法 FesianXu 20221208 at Baidu Search Team 前言 最近有需求对特征进行稀疏编码,看到一篇论文VQ-VAE,简单进行笔记下。如有谬误请联系指出,本文遵循 CC 4.0 BY-SA 版权协议,…

华为OD机试题,用 Java 解【矩阵扩散】问题

最近更新的博客 华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】华为OD机试 - 分糖果(Java) | 机试题算法思路 【2023】华为OD机试 - 非严格递增连续数字序列 | 机试题算法思路 【2023】华为OD机试 - 消消乐游戏(Java) | 机试题算法思路 【2023】华为OD机试 - 组成最大数…

java简单学习

Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象&#xff…

01-Maven基础-简介安装、基本使用(命令)、IDEA配置、(写jar,刷新自动下载)、依赖管理

文章目录0、Maven1、Maven 简介2、Maven 安装配置安装配置步骤3、Maven 基本使用Maven 常用命令Maven 生命周期IDEA 配置 MavenMaven 坐标详解IDEA 创建 Maven 项目IDEA 导入 Maven 项目配置 Maven-Helper 插件 (非常实用的小插件)依赖管理使用坐标导入 jar 包依赖范围0、Maven…

任何人均可上手的数据库与API搭建平台

编写API可能对于很多后端开发人员来说,并不是什么难事儿,但如果您主要从事前端功能,那么可能还是有一些门槛。 那么有没有工具可以帮助我们降低编写API的学习门槛和复杂度呢? 今天就来给大家推荐一个不错的开源工具:…

初识C++模板

文章目录前言1.模板概念2.函数模板1.示例用法1. 注意事项2.函数模板的原理3.函数模板的实例化4.模板参数的匹配原则3.类模板4.总结前言 本文主要围c中的模板进行介绍。模板是c中一个比较重要的概念,由于模板的存在,c才能进行泛型编程。模板的存在大大增…

针孔成像模型零基础入门(三)

2020年爆火的Nerf(神经辐射场)横空出世,据说只要用手机拍照,然后喂给模型,就可以生成3D模型了,我试过了,确有此事! 那我们有想过,为什么可以从二维的图片里面获取物体三…

【7】linux命令每日分享——cat查看文件内容

大家好,这里是sdust-vrlab,Linux是一种免费使用和自由传播的类UNIX操作系统,Linux的基本思想有两点:一切都是文件;每个文件都有确定的用途;linux涉及到IT行业的方方面面,在我们日常的学习中&…

Linux网络配置(NAT)

在搭配好一台虚拟机的时候想要下载,安装些什么但一直失败这个时候就可以检查一下网络是否连接这里我们使用centos7举例子使用命令——ifconfig由此可见我们的系统中目前有3个网卡ens33——用于接入外网,该网卡默认关闭lo——用于访问本地网络&#xff0c…

[数据结构]:04-循环队列(数组)(C语言实现)

目录 前言 已完成内容 循环队列实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-QueueCommon.cpp 04-QueueFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容,除其中使用到C引用外,全为C语言代码。使用C引用主要是为了…

1.7校验码:校验码、规则校验码-奇偶校验、检验码-循环校验码CRC、模2除法、校验码-海明校验

1.7校验码:校验码、规则校验码-奇偶校验、检验码-循环校验码CRC、模2除法、校验码-海明校验校验码校验码-奇偶校验编码规则检验码-循环校验码CRC编码规则什么是模2除法如何计算校验码校验码-海明校验校验码 计算机在接收相应信息的时候能够识别的的都是一些电器信号…

【Spring6】| Spring的入门程序、集成Log4j2日志框架

目录 一:Spring的入门程序 1. Spring的下载 2. Spring的jar文件 3. 第一个Spring程序 4. 第一个Spring程序详细剖析 5. Spring6启用Log4j2日志框架 一:Spring的入门程序 1. Spring的下载 官网地址:https://spring.io/ 官网地址&…

数学建模 latex 图片以及表格排版整理(overleaf)

无论是什么比赛,图片和表格的格式都非常重要,这边的重要不只是指规范性,还有抓住评委眼球的能力。 那么怎样抓住评委的眼球? 最重要的一点就是善用图片和表格(当然撰写论文最重要的是逻辑,这个是需要长期…

CorelDRAW2023最新版序列号使用教程

CorelDRAW2023用起来非常顺手,旨在为用户解决因在工作上带来的问题,在业内可谓享有极高的声誉,是业内人士常用的一款工具,有了它,可以更好的帮助用户把握好各个方面的细节,减少其他方面的失误,让…

RabbitMQ交换机(Exchanges)

目录 一、概念 二、临时队列 三、绑定 四、Fanout(扇出交换机) (一)介绍 (二)实战 五、Direct(直接交换机) (一)介绍 (二)实…