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

news2024/11/15 8:45:43

目录

一.实验目的

二.预备知识

三.实验原理

四.实验内容

五.实验步骤

六、实验数据及结果分析

七、实验结论

八、总结及心得体会

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


一.实验目的

1、掌握 IP 子网划分技术、IP 地址分配原则,以及特殊 IP 地址的特征和作用

2、理解掌握直接交付与间接交付 IP 分组过程中的路由选择、ARP 解析和以太网封

装技术

3、分析子网划分对 IP 分组交付的影响

二.预备知识

1、IP 地址、MAC 地址、子网和掩码的概念

2、掩码运算:确定 IP 网络(或子网)及其范围

3、以太网原理和帧结构

三.实验原理

IP 子网中使用一个 32 比特的掩码来标识一个 IP 地址的网络/子网部分和主机部分。将 IP 地址和掩码进行“位与”运算后可以得到该 IP 地址所在 IP 子网的子网地址,结合 掩码中 0 比特个数可以确定该 IP 子网的 IP 地址空间范围。根据 IP 地址所在 IP 子网的子网地址及其掩码,可以判断这些 IP 地址是否属于同一个 IP 子网。IP 地址空间中定义了一些特殊地址:

l 网络/子网地址:标识一个 IP 网络或子网。

l 直接广播地址:表示该分组应由特定网络上的所有主机接收和处理。

l 受限广播地址:表示该分组应由源所在网络或子网上的所有主机接收和处理。

l 本网络上本主机地址:表示主机自己。

l 环回地址:用来测试机器的协议软件。

IP 分组被交付到最终目的地有两种不同的交付方式:直接交付和间接交付。交付时 首先通过路由选择技术确定交付方式:如果 IP 分组的目的与交付者在同一个 IP 网络上,就直接交付该分组至目的站点;如果 IP 分组的目的与交付者不在同一个 IP 网络上,就间接交付该分组至下一个路由器(即下一跳站点)。在以太网上,IP 分组是封装在以太帧中发送的,因此发送时除了要有接收站的 IP地址(IP 分组中的目的IP地址)外,还需要接收站的 MAC 地址(以太网帧中的目MAC 地址)。ARP 协议(RFC 826)实现了 IP 地址(逻辑地址)到 MAC 地址(物理地址)的动态映射,并将所获得的映射存放在 ARP 高速缓存表中。不同的交付方法将导致不同的 ARP 解析操作,获取不同的目的物理地址。直接交付时,交付者直接将 IP 分组交付给该分组的目的站点,因此交付者使用 ARP 协议找出 IP分组中目的 IP 地址对应的物理地址。间接交付时,交付者需要将 IP 分组交付给下一跳站点,而不是该 IP 分组的目的端,因此交付者使用 ARP 协议找出下一跳站点 IP 地址对应的物理地址。

IP 网络是一个逻辑网络,一个物理网络可以被逻辑划分成若干个 IP 网络。两个 IP网络之间的通信必须经由路由器中继,未经路由器互连的两个 IP 网络即使在同一物理网中也不能通信。主机的默认网关地址就是连接该主机所在 IP 网络的路由器接口的 IP 地址。

四.实验内容

 

五.实验步骤

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

六、实验数据及结果分析

1.记录实验当中的PC1、PC2和PC3的网络连接。

PC1

PC2

PC3

步骤1

步骤3

IP地址

169.254.95.187

192.168.11.3

192.168.11.2

192.168.22.3

子网掩码

255.255.0.0

255.255.255.0

255.255.255.0

255.255.255.0

默认网关

-----

192.168.11.254

192.168.11.254

192.168.22.254

【分析】PC1 在步骤1和步骤3中是否与 PC2、PC3 在一个 IP 子网?为什么?

PC1在步骤1中与PC2、PC3不在一个子网内,二者的网络地址不一样

PC1在步骤3中与PC2处于同一子网,但与PC3不是处于同一子网,根据IP和子网掩码就可以判断。

2.记录实验中PC1的ping通信结果

步骤

目的主机

PING回应的消息

能否通信

1

PC2:192.168.11.2

Destination host unreachable

3

PC2:192.168.11.2

Reply from 192.168.11.2: bytes=32 time<1ms TTL=128

PC3:192.168.22.3

Destination host unreachable

4

0.0.0.0

Destination specified is invalid

255.255.255.255

Ping request could not find host 255.255.255.255.Please check the name and try again

192.168.11.0

Destination specified is invalid

192.168.11.255

Request timed out

127.0.0.0

Destination specified is invalid

127.0.0.1

Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

127.0.0.10

Reply from 127.0.0.10: bytes=32 time<1ms TTL=128

127.255.255.255

Request timed out

9

PC2:192.168.11.2

Reply from 192.168.11.2: bytes=32 time<1ms TTL=128

10

R2 F0/0:192.168.22.254

Reply from 192.168.22.254: bytes=32 time=77ms TTL=128

11

PC3:192.168.22.3

Reply from 192.168.22.3: bytes=32 time=90ms TTL=128

12

子网A:192.168.11.10

Request timed out

13

子网B:192.168.22.20

Request timed out

【分析】PC1 在什么情况下能与 PC2、PC3 通信?

当能够成功发送接收报文的时候就可以通信,就是可以ping成功

PC1与PC2、PC3在同一网络内或者有路由器连接后,能够ping通就可以通信。

3、记录实验中 PC1、PC2、PC3、R1 和 R2 的 ARP 缓存表项:

步骤 6:使用“show arp”命令查看 R1 和 R2 当前的 ARP 缓存表

IP地址

MAC地址

Interface

R1

192.168.11.254

cc00.20ec.0000

FastEthernet0/0

R2

192.168.22.254

cc01.20ec.0000

FastEthernet0/0

步骤 8:使用“arp –a”命令查看清空操作后 PC1~PC3 的 ARP 缓存表

IP地址

MAC地址

Interface

PC1

PC2

PC3

步骤 9:PC1 ping 192.168.11.2 后,R1、R2 和 PC1~PC3 的 ARP 缓存表

IP地址

MAC地址

Interface

R1

192.168.11.254

cc00.20ec.0000

FastEthernet0/0

R2

192.168.22.254

cc01.20ec.0000

FastEthernet0/0

PC1

192.168.11.2

00-0c-29-53-16-f6

192.168.11.3—0x2

PC2

192.168.11.3

00-0c-29-bb-d4-f3

192.168.11.2—0x2

PC3

步骤 10:PC1 ping 192.168.22.254 后,R1、R2 和 PC1~PC3 的 ARP 缓存表

IP地址

MAC地址

Interface

R1

192.168.11.3

192.168.11.254

000c.29bb.d4f3

cc00.20ec.0000

FastEthernet0/0

FastEthernet0/0

R2

192.168.22.254

cc01.20ec.0000

FastEthernet0/0

PC1

192.168.11.254

cc-00-20-ec-00-00

192.168.11.3—0x2

PC2

PC3

步骤 11:PC1 ping 192.168.22.3 后,R1、R2 和 PC1~PC3 的 ARP 缓存表

IP地址

MAC地址

Interface

R1

192.168.11.3

192.168.11.254

000c.29bb.d4f3

cc00.20ec.0000

FastEthernet0/0

FastEthernet0/0

R2

192.168.22.3

192.168.22.254

000c.294a.8f03

cc01.20ec.0000

FastEthernet0/0

FastEthernet0/0

PC1

192.168.11.254

cc-00-20-ec-00-00

192.168.11.3—0x2

PC2

PC3

192.168.22.254

cc-01-20-ec-00-00

192.168.22.3---0x20002

步骤 12:PC1 ping 192.168.11.10 后,PC1 的 ARP 缓存表

IP地址

MAC地址

Interface

PC1

步骤 13:PC1 ping 192.168.22.20 后,PC1 的 ARP 缓存表

IP地址

MAC地址

Interface

PC1

192.168.11.254

cc-00-20-ec-00-00

192.168.11.3—0x2

【分析】

1)每台 PC 的 ARP 缓存表中能否有其它 IP 子网中 PC 的地址映射?为什么?

不能,ARP地址广播请求只发生在此子网内(即此物理网络内),如果需要跨网,直接交付给路由器

2)在实验中 PC2 的 ARP 缓存表中能否会有其默认网关 192.168.11.254 的地址映射?为什么?

不能,在此次实验当中PC2没有向其他主机发送报文(别的子网内的主机或者网关),因此没有请求过网关的MAC地址。此外,PC1发送报文时,需要ARP广播请求默认网关MAC地址时,MAC地址ARP应答是单播,PC2不会接收。

3)如果步骤 11 中出现了某条 ARP 表项消失的情况,原因可能是什么?

ARP的cache缓存生存时间有限,等到设定时间,会自动消失。

4.记录步骤 9、步骤 10、步骤 11、步骤 12、步骤 13 中捕获的分组信息:

步骤9 :PC1 ping 192.168.11.2(PC2)

子网A

ARP请求

以太帧头

源地址

00-0c-29-bb-d4-f3

目的MAC

ff-ff-ff-ff-ff-ff

ARP分组

发方MAC

00-0c-29-bb-d4-f3

目标MAC

00-00-00-00-00-00

发方IP

192.168.11.3

目标IP

192.168.11.2

ARP应答

以太帧头

源地址

00-0c-29-53-16-f6

目的MAC

00-0c-29-bb-d4-f3

ARP分组

发方MAC

00-0c-29-53-16-f6

目标MAC

00-0c-29-bb-d4-f3

发方IP

192.168.11.2

目标IP

192.168.11.3

ICMP回送请求

以太帧头

源MAC

00-0c-29-bb-d4-f3

目的MAC

00-0c-29-53-16-f6

IP分组头

源IP

192.168.11.3

目的IP

192.168.11.2

ICMP回送应答

以太帧头

源MAC

00-0c-29-53-16-f6

目的MAC

00-0c-29-bb-d4-f3

IP分组头

源IP

192.168.11.2

目的IP

192.168.11.3

子网B

ARP请求

以太帧头

源地址

目的MAC

ARP分组

发方MAC

目标MAC

发方IP

目标IP

ARP应答

以太帧头

源地址

目的MAC

ARP分组

发方MAC

目标MAC

发方IP

目标IP

ICMP回送请求

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

ICMP回送应答

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

子网C

ICMP回送请求

PPP帧头

地址

IP分组头

源IP

目的IP

ICMP会送应答

PPP帧头

地址

IP分组头

源IP

目的IP

步骤10 :PC1 ping 192.168.22.254(R2的F0/0)

子网A

ARP请求

以太帧头

源地址

00-0c-29-bb-d4-f3

目的MAC

ff-ff-ff-ff-ff-ff

ARP分组

发方MAC

00-0c-29-bb-d4-f3

目标MAC

00-00-00-00-00-00

发方IP

192.168.11.3

目标IP

192.168.11.254

ARP应答

以太帧头

源地址

cc-00-20-ec-00-00

目的MAC

00-0c-29-bb-d4-f3

ARP分组

发方MAC

cc-00-20-ec-00-00

目标MAC

00-0c-29-bb-d4-f3

发方IP

192.168.11.254

目标IP

192.168.11.3

ICMP回送请求

以太帧头

源MAC

00-0c-29-bb-d4-f3

目的MAC

cc-00-20-ec-00-00

IP分组头

源IP

192.168.11.3

目的IP

192.168.22.254

ICMP回送应答

以太帧头

源MAC

cc-00-20-ec-00-00

目的MAC

00-0c-29-bb-d4-f3

IP分组头

源IP

192.168.22.254

目的IP

192.168.11.3

子网B

ARP请求

以太帧头

源地址

目的MAC

ARP分组

发方MAC

目标MAC

发方IP

目标IP

ARP应答

以太帧头

源地址

目的MAC

ARP分组

发方MAC

目标MAC

发方IP

目标IP

ICMP回送请求

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

ICMP回送应答

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

子网C

ICMP回送请求

PPP帧头

地址

0xff

IP分组头

源IP

192.168.11.3

目的IP

192.168.22.254

ICMP会送应答

PPP帧头

地址

0xff

IP分组头

源IP

192.168.22.254

目的IP

192.168.11.3

步骤11 :PC1 ping 192.168.22.3(PC3)

子网A

ARP请求

以太帧头

源地址

00-0c-29-bb-d4-f3

目的MAC

ff-ff-ff-ff-ff-ff

ARP分组

发方MAC

00-0c-29-bb-d4-f3

目标MAC

00-00-00-00-00-00

发方IP

192.168.11.3

目标IP

192.168.11.254

ARP应答

以太帧头

源地址

cc-00-20-ec-00-00

目的MAC

00-0c-29-bb-d4-f3

ARP分组

发方MAC

cc-00-20-ec-00-00

目标MAC

00-0c-29-bb-d4-f3

发方IP

192.168.11.254

目标IP

192.168.11.3

ICMP回送请求

以太帧头

源MAC

00-0c-29-bb-d4-f3

目的MAC

cc-00-20-ec-00-00

IP分组头

源IP

192.168.11.3

目的IP

192.168.22.3

ICMP回送应答

以太帧头

源MAC

cc-00-20-ec-00-00

目的MAC

00-0c-29-bb-d4-f3

IP分组头

源IP

192.168.22.3

目的IP

192.168.11.3

子网B

ARP请求

以太帧头

源地址

cc-01-20-ec-00-00

目的MAC

ff-ff-ff-ff-ff-ff

ARP分组

发方MAC

cc-01-20-ec-00-00

目标MAC

00-00-00-00-00-00

发方IP

192.168.22.254

目标IP

192.168.22.3

ARP应答

以太帧头

源地址

00-0c-29-4a-8f-03

目的MAC

cc-01-20-ec-00-00

ARP分组

发方MAC

00-0c-29-4a-8f-03

目标MAC

cc-01-20-ec-00-00

发方IP

192.168.22.3

目标IP

192.168.22.254

ICMP回送请求

以太帧头

源MAC

cc-01-20-ec-00-00

目的MAC

00-0c-29-4a-8f-03

IP分组头

源IP

192.168.11.3

目的IP

192.168.22.3

ICMP回送应答

以太帧头

源MAC

00-0c-29-4a-8f-03

目的MAC

cc-01-20-ec-00-00

IP分组头

源IP

192.168.22.3

目的IP

192.168.11.3

子网C

ICMP回送请求

PPP帧头

地址

0xff

IP分组头

源IP

192.168.11.3

目的IP

192.168.22.3

ICMP会送应答

PPP帧头

地址

0xff

IP分组头

源IP

192.168.22.3

目的IP

192.168.11.3

步骤12 :PC1 ping 192.168.11.10(子网A内不存的主机)

子网A

ARP请求

以太帧头

源地址

00-0c-29-bb-d4-f3

目的MAC

ff-ff-ff-ff-ff-ff

ARP分组

发方MAC

00-0c-29-bb-d4-f3

目标MAC

00-00-00-00-00-00

发方IP

192.168.11.3

目标IP

192.168.11.10

ARP应答

以太帧头

源地址

目的MAC

ARP分组

发方MAC

目标MAC

发方IP

目标IP

ICMP回送请求

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

ICMP回送应答

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

子网B

ARP请求

以太帧头

源地址

目的MAC

ARP分组

发方MAC

目标MAC

发方IP

目标IP

ARP应答

以太帧头

源地址

目的MAC

ARP分组

发方MAC

目标MAC

发方IP

目标IP

ICMP回送请求

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

ICMP回送应答

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

子网C

ICMP回送请求

PPP帧头

地址

IP分组头

源IP

目的IP

ICMP会送应答

PPP帧头

地址

IP分组头

源IP

目的IP

步骤13 :PC1 ping 192.168.22.20(子网B内不存在的主机)

子网A

ARP请求

以太帧头

源地址

00-0c-29-bb-d4-f3

目的MAC

ff-ff-ff-ff-ff-ff

ARP分组

发方MAC

00-0c-29-bb-d4-f3

目标MAC

00-00-00-00-00-00

发方IP

192.168.11.3

目标IP

192.168.11.254

ARP应答

以太帧头

源地址

cc-00-20-ec-00-00

目的MAC

00-0c-29-bb-d4-f3

ARP分组

发方MAC

cc-00-20-ec-00-00

目标MAC

00-0c-29-bb-d4-f3

发方IP

192.168.11.254

目标IP

192.168.11.3

ICMP回送请求

以太帧头

源MAC

00-0c-29-bb-d4-f3

目的MAC

cc-00-20-ec-00-00

IP分组头

源IP

192.168.11.3

目的IP

192.168.22.20

ICMP回送应答

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

子网B

ARP请求

以太帧头

源地址

cc-01-20-ec-00-00

目的MAC

ff-ff-ff-ff-ff-ff

ARP分组

发方MAC

cc-01-20-ec-00-00

目标MAC

00-00-00-00-00-00

发方IP

192.168.22.254

目标IP

192.168.22.20

ARP应答

以太帧头

源地址

目的MAC

ARP分组

发方MAC

目标MAC

发方IP

目标IP

ICMP回送请求

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

ICMP回送应答

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

子网C

ICMP回送请求

PPP帧头

地址

0xff

IP分组头

源IP

192.168.11.3

目的IP

192.168.22.20

ICMP会送应答

PPP帧头

地址

IP分组头

源IP

目的IP

注意:以上PC1要经过路由器R1通信时,子网A内的通信如果实验时间足够短在cache地址映射表项响应目的IP存活时间之内的话,PC1就不需要进行ARP请求和应答了。由于本实验者实验时间较长,所以每一次PC1都会进行ARP请求网关地址。

【分析】

1)5 个步骤中是否在子网 A、B 和 C 中都有 ARP 分组?为什么?

否,本子网内的主机ping本子网内的其他主机,不会在其他子网内产生ARP报文。

2)5 个步骤中 PC1 是否每次都发出了封装着 ICMP 报文的 IP 分组?为什么?

否,在发送ARP请求报文后,没有收到ARP应答中下一跳的MAC地址的情况下,不会发出ICMP报文。

3)5 个步骤中 PC1 是否每次都收到了封装着 ICMP 报文的 IP 分组?为什么?

否,ICMP请求报文没有到达目的主机情况下PC1不会收到封装着 ICMP 报文的 IP 分组。

4)如果 PC1、PC2 和路由器 R1 之间采用以太网交换机连接,那么在步骤 9 中R1 能否捕获到 PC1 ping PC2 时产生的 ARP 请求分组、ARP 响应分组以ICMP 回送请求报文和 ICMP 回送应答报文?为什么?

ARP请求分组是可以的,ARP请求分组是广播,可以从交换机除入口端口外的其余端口发送出去,会到达路由器R1。

ARP响应、ICMP回送请求和ICMP回送应答不可以。因为这三个报文都是单播分组,由于以太网交换机的存在,路由器R1不会收到。

5)步骤 10 中路由器 R1 和 R2 在转发源为 PC1、目的为 PC3 的 IP 分组时,分别采用的是直接交付还是间接交付?为什么?

R1为间接交付,目的IP所在的网络不是R1的直连网络。

R2为直接交付,目的IP所在的网络是R2的直连网络。

七、实验结论

1、根据步骤 2 和 4,总结本实验中所有特殊 IP 地址的地址结构特征,以及它们在

通信中的使用情况。

This host on this network

地址结构特征:Netid和Hostid全为0。

通信中的使用情况:网络中0.0.0.0的IP地址表示整个网络,即网络中的所有主机。它的作用是帮助路由器发送路由表中无法查询的包。如果设置了全零网络的路由,路由表中无法查询的包都将送到全零网络的路由中去。

网络地址

地址结构特征:Hostid全为0

通信中的使用情况:表示此网络的地址,通常用做路由表项中的目的地址网络

直接广播地址

地址结构特征:Hostid全为1

通信中的使用情况:将一个分组发给特定网络中的所有主机,进行广播时使用。某些情况下,可以跨子网(不过要设定路由器)。

受限广播地址

地址结构特征:netid和hostid全为1。

通信中的使用情况:受限广播地址通常在配置主机的启动信息时使用,通常用于此主机不知道自己IP 的情况下的请求IP。 

环回地址

地址结构特征:127.x.x.x,其中最后一个x不能为0或者255,因为这样会构成特殊的地址

通信中的使用情况:作为本地环回地址,可以用于主机进程之间通信。

2、总结主机发送 IP 分组时的直接交付和间接交付操作过程,以及过程中 ARP 协议

和 ARP 缓存表的具体操作步骤。

直接交付和间接交付的操作流程图如下:

 

直接交付和间接交付的操作过程伪代码:

读取一条路由表项

if 分组目的IP&子网掩码==目的网络

if 路由表下一跳为NULL

直接交付(寻找分组IP对应的MAC地址:ARP)

else

if 路由表项存在

寻找下一条对应的IP,在寻找IP对应的MAC地址

else

直接丢弃分组

end

ARP协议的具体操作步骤:

ARP协议的工作的具体步骤:

 

文字描述为:

1.主机A查看自己的ARP缓存,查看是否存在下一跳IP对应的MAC地址,如果存在就直接进行交付

2.如果主机A 的ARP缓存表不存在下一跳IP 的地址映射,就进行ARP广播请求。

主机A收到ARP应答之后,会更新ARP缓存表,然后进行交付

ARP缓存表的具体操作步骤:

  1. 收到ARP应答之后,更新ARP缓存表项
  2. 每个表项到了生存周期会自动清除
  3. 收到同一IP 的映射,会更新为新的收到的映射。

3、总结当源和目的主机间跨越多个 IP 网络时,它们的 IP 分组在交付过程中源和目的 IP 地址的变化情况,以及封装该分组的数据帧的源和目的 MAC 地址的变化情况。

源和目的IP不变。

MAC地址会发生变化,具体变化是:每一跳进行时,MAC源地址是sender的MAC地址,MAC的目的地址是receiver的MAC地址。

八、总结及心得体会

1.在此次实验当中,学习了如何在虚拟机中配置IP和默认网关等,以及熟练了对VM下虚拟机的使用。

2.在实验当中,对于处于同一子网下Ping不同的问题,发现虚拟机的防火墙没有关闭,查阅相关资料加深了对于防火墙的作用的理解。

3.在实验过程中,要认真仔细,不要把步骤操作顺序搞反了。

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

1.建议可以增加一下对报文的分析,采用别的软件,不借助wireshark直接对报文进行分析,根据课上学习的相关协议报文的格式,对捕获的数据进行分析。

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

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

相关文章

Lambda表达式的本质

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

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

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

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

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

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

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

java简单学习

Java 基础语法 一个 Java 程序可以认为是一系列对象的集合&#xff0c;而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。 对象&#xff1a;对象是类的一个实例&#xff0c;有状态和行为。例如&#xff0c;一条狗是一个对象&#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可能对于很多后端开发人员来说&#xff0c;并不是什么难事儿&#xff0c;但如果您主要从事前端功能&#xff0c;那么可能还是有一些门槛。 那么有没有工具可以帮助我们降低编写API的学习门槛和复杂度呢&#xff1f; 今天就来给大家推荐一个不错的开源工具&#xff1a;…

初识C++模板

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

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

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

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

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

Linux网络配置(NAT)

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

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

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

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

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

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

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

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

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

CorelDRAW2023最新版序列号使用教程

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

RabbitMQ交换机(Exchanges)

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

【LeetCode】1255. 得分最高的单词集合

1255. 得分最高的单词集合 题目描述 你将会得到一份单词表 words&#xff0c;一个字母表 letters &#xff08;可能会有重复字母&#xff09;&#xff0c;以及每个字母对应的得分情况表 score。 请你帮忙计算玩家在单词拼写游戏中所能获得的「最高得分」&#xff1a;能够由 …

我看谁还敢说不懂git

文章目录一、Git介绍1.1、Git的作用1.2、Git的理念1.3、Git的特点1.4、Git对比SVN二、Git的概念2.1、Git基础概念三、Git的基本操作3.1、使用Git管理一个代码仓库的流程3.2、Git常用命令介绍四、Git状态的变化五、Git安装和配置5.1、Git的安装5.2、Git的配置六、Git的高级操作6…

【阅读笔记】SecureML: A System for ScalablePrivacy-Preserving Machine Learning

1. Motivation 针对机器学习中的出现的数据隐私泄露的风险&#xff0c;提出了线性回归、逻辑回归以及简单神经网络的隐私保护模型。 2. Contributions 2.1 为线性回归、逻辑回归以及神经网络设计安全计算协议 2.1.1.1 线性回归 线性回归损失函数为&#xff1a; , 采用SG…