数据通信网络之IPv6基础

news2024/11/15 15:48:01

文章及资源归档至公众号【AIShareLab】,回复 通信系统与网络 可获取。

文章目录

  • 一、目的
  • 二、环境及网络拓扑
  • 三、需求
  • 四、步骤及结果分析

一、目的

  1. 掌握网络设备静态IPv6 地址配置的方法。
  2. 掌握IPv6 地址无状态自动配置的应用。
  3. 掌握通过DHCPv6 部署IPv6 地址配置自动化。
  4. 掌握基本的IPv6 网络连通性测试方法。
  5. 理解RA 报文及无状态地址自动配置过程。
  6. 分析Ping 与Tracert 应用所使用的ICMPv6 报文及工作原理。

二、环境及网络拓扑

如图 1 所示,路由器 R1 通过两个物理接口分别连接物联网终端 R4(通过一台路由器
模拟)及计算机 PC1。其中,路由器 R1 和 R4 推荐使用 AR2220 及以上设备。
在这里插入图片描述

图1 网络拓扑图

三、需求

  1. 完成 R1 的IPv6 基础配置。
  2. 在R1 的GE0/0/2 接口上启动RA 报文通告,使得物联网终端R4 的GE0/0/0 接口能够通
    过无状态自动配置获取IPv6 地址。
  3. 在R1 的GE0/0/1 接口上部署DHCPv6,使得PC1 能够通过DHCPv6 协议自动获取IPv6
    地址。
  4. 观察各类常见的ICMPv6 报文在网络中的功能与应用。

四、步骤及结果分析

1.完成 R1 的 IPv6 基础配置。
在 R1 上完成如下配置, 配置结果如图2所示:

<Huawei> system-view
[Huawei] sysname R1 
[R1] ipv6 
[R1] interface GigabitEthernet 0/0/1 
[R1-GigabitEthernet0/0/1] ipv6 enable 
[R1-GigabitEthernet0/0/1] ipv6 address FC00:1000::1 64 
[R1-GigabitEthernet0/0/1] quit 
[R1] interface GigabitEthernet 0/0/2 
[R1-GigabitEthernet0/0/2] ipv6 enable 
[R1-GigabitEthernet0/0/2] ipv6 address FC00:14::1 64 
[R1-GigabitEthernet0/0/2] quit

在这里插入图片描述
图2 R1的IPv6基础配置

备注:以上配置展示的是在华为路由器上通过手工方式配置静态IPv6 地址的过程。在多数情况下,络设备的IPv6 地址需要固定,因此大多采用手工配置的方式为设备配置静态IPv6地址。

阶段性验证:在R1上查看IPv6接口信息并展示相应结果,验证R1的GE0/0/1与GE0/0/2 接口是否正确获得了相应的静态IPv6地址。

备注:在设备系统视图上执行display ipv6 interface brief 命令可查看设备的IPv6 接口信息,其中包括接口IPv6 地址、接口物理状态及协议状态。

经过验证, R1的GE0/0/1与GE0/0/2 接口正确地获得了相应的静态IPv6地址,结果如图3所示, 其相应的静态IPv6地址分别为FC00:1000::1、FC00:14::1。

在这里插入图片描述
图3 在R1上查看IPv6接口信息

(2)完成 IPv6 地址无状态自动配置

①在 R1 上完成如下配置:

[R1] interface GigabitEthernet 0/0/2 
[R1-GigabitEthernet0/0/2] undo ipv6 nd ra halt 

备注:在华为路由器上ipv6 nd ra halt 命令用来取消使能设备发布路由器通告(Router Advertisement,RA)报文功能,缺省情况下,设备发布RA 报文功能处于未使能状态,可以认为该命令缺省时已经被配置在接口上了。在本实验中,我们需要在R1 的GE0/0/2 接口上发布RA 报文,因为RA 报文中携带IPv6 地址前缀信息,通过RA 报文的通告,R4 可解析出报文中携带的IPv6 地址前缀,并且使用该前缀结合R4 本地生成的接口ID 构造一个IPv6地址,这个过程被称为无状态地址自动配置。为实现这个功能,需要在R1 的GE0/0/2 接口上使能发布RA 报文功能,即执行undo ipv6 nd ra halt 命令。

在这里插入图片描述

图4 在R1上完成IPv6 地址无状态自动配置
在R1 的GE0/0/2 接口上单击鼠标右键,按图 5 所示开始抓包,以试图捕获R1 的GE0/0/2 接口上的入向与出向数据包。
在这里插入图片描述

图5 在R1上完成IPv6 地址无状态自动配置
②在物联网终端 R4 上完成如下配置, 配置结果如图6所示:

<Huawei> system-view 
[Huawei] sysname R4 
[R4] ipv6 
[R4] interface GigabitEthernet 0/0/0 
[R4-GigabitEthernet0/0/0] ipv6 enable 
[R4-GigabitEthernet0/0/0] ipv6 address auto global default 

在这里插入图片描述

图6 配置物联网终端 R4

备注:在以上配置中,ipv6 address auto global 命令用来使能无状态自动生成IPv6 全局地址功能,命令末尾的default 关键字用于指定学习缺省路由,这样一来R4 在收到RA 报文生
成IPv6 地址同时,还可以学习RA 报文中的源IPv6 地址,并且把它作为IPv6 缺省路由的
下一跳地址。
完成上述配置后,R4 便会通过IPv6 无状态地址自动配置功能在GE0/0/0 接口上自动配
置一个IPv6 地址。在R4 上查看IPv6 接口地址信息:

[R4] display ipv6 interface brief
*down: administratively down
(l): loopback
(s): spoofing
Interface Physical Protocol
GigabitEthernet0/0/0 up up
[IPv6 Address] FC00:14::2E0:FCFF:FECB:6980

备注:以上面的结果为例,R1 通告给R4 的RA 报文中缺省时携带的IPv6 地址前缀是前者
GE0/0/2 接口的IPv6 地址前缀FC00:14::/64,R4 将该64bit 前缀与自己本地GE0/0/0 接口的
IPv6 接口ID(2E0:FCFF:FECB:6980)构成了一个IPv6 地址:FC00:14::2E0:FCFF:FECB:6980。
其中,接口ID 2E0:FCFF:FECB:6980 是R4 在GE0/0/0 接口上根据接口MAC 地址自动生成
的,采用的是EUI-64 规范,该规范可确保生成的接口ID 唯一。

阶段性验证
⑴ 在R4系统视图下执行display interface GigabitEthernet 0/0/0命令,查看R4的GE0/0/0接口的相关信息并展示相应结果,验证接口MAC地址与上述接口ID是否符合EUI-64规范。
R4的GE0/0/0接口信息如图6所示,可知接口MAC地址与上述接口ID符合EUI-64规范。
在这里插入图片描述

图6 R4的GE0/0/0接口信息

⑵ 在R4上ping R1 GE0/0/2,具体命令格式为 ping ipv6 IPv6 地址,验证R4是否可与 R1 成功通信。结果如图7所示, R4与 R1 成功通信。
在这里插入图片描述

图7 在R4上ping R1 GE0/0/2

(3)观察RA 报文与无状态地址自动配置过程
(1)捕获数据包,查看协议栈。
在Wireshark 界面中,查看前面开启抓包后所捕获的信息, R1 和R2 接口配置完成后网络中产生了多个ICMPv6 数据包交互,具体的包含Neighbor Solicitation、Router Solicitation 和Router Advertisement,其中,1 号Neighbor Solicitation 报文为R4 GE0/0/0 接口获得IPv6 地址后为确保该地址在链路上的唯一性而启动重复地址检测(Duplicate Address Detection,DAD)机制所发出的邻居请求报文,2 号ICMPv6 Router Solicitation 报文为R4 主动发送的路由器请求(Router Solicitation,RS)报文以请求R1 发送RA 路由器通告报文,3 号ICMPv6 Router Advertisement 报文即为R1 周期性发送的RA 报文。
在这里插入图片描述

图8 R1 和R2 接口配置完成后,R2 GE 0/0/0 所捕获的数据包

回答下列问题:

结合捕获信息,说明 ICMPv6 数据包自下而上的协议栈及封装结构
答:ICMPv6是IPv6协议栈中的一个核心协议,它主要用于在IPv6网络中传递控制信息和错误报告。ICMPv6数据包的协议栈和封装结构如下所示:
数据链路层:ICMPv6数据包首先被封装在数据链路层的帧中。这个帧包含了目标MAC地址、源MAC地址以及帧类型等信息。
IPv6层:ICMPv6数据包被封装在IPv6数据报中。IPv6数据报包含了目标IP地址、源IP地址、下一个头部字段等信息。
上层协议:ICMPv6数据包被封装在IPv6数据报的上层协议字段中。这个字段指定了封装在IPv6数据报中的上层协议类型,其中包括ICMPv6协议。
ICMPv6头部:ICMPv6数据包的头部包含了类型、代码、校验和等字段。这些字段指定了ICMPv6数据包的类型和用途。
数据部分:ICMPv6数据包的数据部分取决于ICMPv6数据包的类型和代码。例如,当ICMPv6数据包的类型为Echo Request(类型值为128)时,数据部分包含了发送方发送的数据。如果ICMPv6数据包的类型为Router Advertisement(类型值为134),则数据部分包含了路由器的信息。

⑵分析单一数据包格式。
①RA 报文:
以实际捕获数据为准,选中一个 RA 报文,回答下列问题:
a. 包含 RA 报文的以太网帧的源地址和目的地址的十六进制值是多少?
答:包含 RA 报文的以太网帧的源地址为00:e0:fc:1c:7d:1b 目的地址为33:33:00:00:00:01
b. 包含 RA 报文的 IPv6 数据报源地址和目的地址的十六进制值是多少?
答:包含 RA 报文的 IPv6 数据报源地址和目的地址的十六进制值分别是fe80::2e0:fcff:fe1c:7d1b 和ff02::1
c. 给出 ICMPv6 中类型字段的十进制值。
答:134
d. RA 报文中是否包含发送者的 IPv6 地址?
答:RA 报文中包含发送者的 IPv6 地址

②RS 报文:以实际捕获数据为准,选中一个与上面 RA 对应并由 R4 主动发送的 RS 报文,
然后展开该数据包的详细信息。
回答下列问题:
a. 包含 RS 报文的以太网帧的源地址和目的地址的十六进制值是多少?
答:包含 RS 报文的以太网帧的源地址和目的地址的十六进制值分别是: Source:00:e0:fc:ca:38:20 Destination:33:33:00:00:00:01
b. 包含 RS 报文的 IPv6 数据报源地址和目的地址的十六进制值是多少?
答:包含 RS 报文的 IPv6 数据报源地址和目的地址的十六进制值分别是Source:fe80::2e0:fcff:feca:3820 Destination:ff02::1
c. 给出 ICMPv6 中类型字段的十进制值。
答:133
d. RS 报文中是否包含发送者的 IPv6 地址?
答:RS 报文中不包含发送者的 IPv6 地址

在这里插入图片描述
图9 RS报文捕捉

(4)完成 DHCPv6 部署
①在 R1 上完成如下配置, 配置结果如图10所示。

[R1] dhcp enable 
[R1] dhcpv6 pool pool1 
[R1-dhcpv6-pool-pool1] address prefix fc00:1000::/64 
[R1-dhcpv6-pool-pool1] excluded-address fc00:1000::1 
[R1-dhcpv6-pool-pool1] quit 
[R1] interface GigabitEthernet 0/0/1 
[R1-GigabitEthernet0/0/1] dhcpv6 server pool1 #在接口上绑定地址池 
[R1-GigabitEthernet0/0/1] quit

在这里插入图片描述

图10 R1上完成DHCPv6 部署
②配置 PC1 的以太网卡,开启 DHCPv6 客户端功能,如图11所示:
在这里插入图片描述

图11 开启PC1的DHCPv6客户端功能
阶段性验证:在 PC1 的配置界面上选择“命令行”选项卡,然后执行 ipconfig 查看网卡信息并展示相应结果,验证 PC1 是否通过 DHCPv6 获取到了正确地址,如图12所示。

在这里插入图片描述

图12 PC1查看网卡信息
(5)联通性测试。

R4 ping PC1:以 PC1 获取的动态地址为 fc00:1000::2 为例,在 R4 上执行如下命令,测试到达PC1的连通性,可以发现二者已经可以正常通信, 如图13所示。

<R4> ping ipv6 fc00:1000::2 
PING fc00:1000::2 : 56 data bytes, press CTRL_C to break 
Request time out 
Reply from FC00:1000::2 
bytes=56 Sequence=2 hop limit=254 time = 30 ms 
Reply from FC00:1000::2 
bytes=56 Sequence=3 hop limit=254 time = 30 ms 
Reply from FC00:1000::2 
bytes=56 Sequence=4 hop limit=254 time = 20 ms 
Reply from FC00:1000::2 
bytes=56 Sequence=5 hop limit=254 time = 30 ms 
--- fc00:1000::2 ping statistics --- 5 packet(s) transmitted 
4 packet(s) received 
20.00% packet loss 
round-trip min/avg/max = 20/27/30 ms 

在这里插入图片描述

图13 R4 ping PC1
(6)抓包分析。
①启动抓包。本实验中,可保持之前在 R1 的 GE0/0/2 接口上持续抓包,期间各种阶段性测试命令及设备间状态更新均会触发多个数据包的产生和交互。另外,也可在前期阶段性抓包分析后停止抓包,此处重新启动抓包。
②运行命令。
在 R4 上依次执行以下命令:ping ipv6 fc00:1000::2;tracert ipv6 fc00:1000::2,分别完
成测试与 fc00:1000::2(以 PC1 获取的动态地址为fc00:1000::2为例)的联通性,以及跟踪到fc00:1000::2 的路由信息。结果如图14所示:
在这里插入图片描述

图14 在R4中执行命令
备注: 在网络日常运维和管理过程中,Tracert 是被广泛使用的应用程序,该应用使用ICMPv6的相关报文来实现其功能。Tracert 可以帮助网络管理员检测从源节点到目的节点之间所经过的逐跳设备。由图6 中执行tracert ipv6 fc00:1000::2 命令结果可见,从R4 到PC1 经过了FC00:14::1,最终到达FC00:1000::2。当源与目的节点之间存在多跳设备时,Tracert 执行的结果更加直观。因此面对一个复杂的网络时,这个工具可以方便地帮助网络管理员识别流量的转发路径。以图7 为例,Tracert 的实现原理及过程如下:
①R1 首先构造第一个发往目标地址FC00:23::3 的UDP(UDP 目的端口为特殊的33434,该
端口不会被具体的应用所使用)报文,这个报文的内容是随机填充的,没有实际意义,但是
在该报文的IPv6 头部中,R1 将Hop Limit 字段设置为1,这意味着报文在发出去之后,只
能传递一跳。R1 可能一次会发出多个相同的UDP 报文。
②R2 收到该UDP 报文后将Hop Limit 字段值减1 后发现值已为0,因此立即向R1 发送
ICMPv6 错误消息,告知报文的生存时间截止,这个错误消息的源地址为R2 的接口地址;
R1 收到这个报错消息后,获得了第一跳设备R2 的接口地址,然后将该地址打印在回显中;
③接着R2 以Hop Limit=2 继续发送UDP 报文,如此反复;
④直到报文到达目的地R3,由于R1 在Tracert 中所使用的UDP 端口在R3 处并未侦听,因
此R3 回应ICMPv6 差错报文,告知R1 目的端口不可达。R1 收到该差错报文后即知晓最后
一跳已到达。

③分析报文
Ⅰ 分析 ping 报文
在 ICMPv6 报文中,Echo Request 和 Echo Reply 报文是非常基础且重要的报文,被用于 Ping应用程序等,当我们在一个 IPv6 节点上执行 Ping 操作探测到某个目的地址的可达性时,实际上该应用将触发一个 ICMPv6 Echo Request 报文发往目的地址,如果收到了对方回应的Echo Reply,则认为网络是可达的。当 R4 ping PC1 时(即执行相应的命令 ping ipv6
fc00:1000::2)捕获到多对 Echo Request 和 Echo Reply 报文,如图15所示。
在这里插入图片描述
在这里插入图片描述

图15 捕获Echo Request报文

在这里插入图片描述

图16 捕获Echo Reply 报文

回答下列问题:
a. 此处分别出现多少个 ICMPv6 Echo Request 和 Echo Reply 报文?与测试命令显示的结果是否一致?
答:如图15所示, 一共有5个ICMPv6 Echo Request报文 和5个Echo Reply 报文,并且与测试命令显示的结果一致。
b. 查看 Echo Request 报文,ICMPv6 类型和代码号取值为多少?包含该报文的 IPv6 数据报源地址和目的地址分别是多少?包含该报文的以太网帧源地址和目的地址分别是多少?
答:如图15所示, ICMPv6 类型和代码号取值为128. 包含该报文的 IPv6 数据报源地址和目的地址分别是 Source:fc00:14::2e0:fcff:feca:3820, Destination:fc00:1000::2,包含该报文的以太网帧源地址和目的地址分别是Source:00:e0:fc:ca:38:20, Destination:00:e0:fc:1c:7d:1b
c. 查看 Echo Reply 报文,ICMPv6 类型和代码号取值为多少?包含该报文的 IPv6 数据报源地址和目的地址分别是多少?包含该报文的以太网帧源地址和目的地址分别是多少?
答:如图16所示, ICMPv6 类型和代码号取值为129,包含该报文的 IPv6 数据报源地址和目的地址分别是Source:fc00:1000::2, Destination:fc00:14::2e0:fcff:feca:3820,包含该报文的以太网帧源地址和目的地址分别是 Source:00:e0:fc:1c:7d:1b, Destination:00:e0:fc:ca:38:20.
Ⅱ 分析 Tracert 报文
当 R4 tracert PC1 时(即执行相应的命令 tracert ipv6 fc00:1000::2)捕获到多个 UDP 和
ICMPv6 报文,如图 17 所示。
在这里插入图片描述

图17 捕获的Tracert 报文
在这里插入图片描述

图18 捕获的 ICMPv6 Time Exceeded 报文
在这里插入图片描述

图19 捕获的ICMPv6 Destination Unreachable 报文

以实际捕获数据为准,回答下列问题:
a.实际捕获结果中分别出现多少个 UDP、ICMPv6 Time Exceeded 和 ICMPv6 Destination Unreachable 报文?与测试命令显示的结果是否一致?
答:如图17所示,一共有6个 UDP、3个ICMPv6 Time Exceeded 和 3个ICMPv6 Destination Unreachable 报文,与测试命令显示的结果一致。
b.查看 UDP 报文,源端口号和目的端口号分别是多少?不同 UDP 报文所采用的源端口号 是否相同?不同 UDP 报文所采用的目的端口号是否相同?包含该报文的 IPv6 数据报源地址和目的地址分别是多少?包含该报文的 IPv6 数据报中 Hop Limit 取值分别是多少?
答:如图18所示,源端口号是:30037,目的端口号是:33434.不同 UDP 报文所采用的目的端口号不同,包含该报文的 IPv6 数据报Source:fc00:14::2e0:fcff:feca:3820,Destination:fc00:1000::2.包含该报文的 IPv6 数据报中 Hop Limit 取值是1.
c.查看 ICMPv6 Time Exceeded 报文,ICMPv6 类型和代码号取值为多少?包含该报文的IPv6 数据报源址和目的地址分别是多少?包含该报文的以太网帧源地址和目的地址分别是 多少?
答:ICMPv6 类型和代码号取值为3,包含该报文的IPv6 数据报源址和目的地址分别是Source:fc00:14::1,Destination:fc00:14::2e0:fcff:feca:3820,包含该报文的以太网帧Source:00:e0:fc:1c:7d:1b,Destination:00:e0:fc:ca:38:20
d.查看 ICMPv6 Destination Unreachable 报文,ICMPv6 类型和代码号取值为多少?包含该 报文的 IPv6 数据报源址和目的地址分别是多少?包含该报文的以太网帧源地址和目的地址分别是多少?
答:如图19所示,ICMPv6 类型和代码号取值为1,包含该报文的IPv6 数据报Source:fc00:1000::2,Destination:fc00:14::2e0:fcff:feca:3820,包含该报文的以太网Source:00:e0:fc:1c:7d:1b,Destination:00:e0:fc:ca:38:20.

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

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

相关文章

inappropriate address 127.0.0.1 for the fudge command, line ignored 时间同步的时候报错

1、安装ntp服务后&#xff0c;启动ntpd正常&#xff0c;但是在查看ntpd服务状态时&#xff0c;有一个红色的报错&#xff0c;报错信息如下&#xff1a; inappropriate address 127.0.0.1 for the fudge command, line ignored 2、解决方法&#xff1a;编辑ntp配置文件&#xf…

群晖NAS:通过Docker 部署宝塔面板【注册表:cyberbolt/baota】

群晖NAS&#xff1a;通过 Docker 部署宝塔面板【注册表&#xff1a;pch18/baota】 由于 docker 源地址被墙&#xff0c;在面板里面查询不到注册表&#xff0c;使用 ssh 命令行拉取 1、打开 SSH&#xff0c;链接后打开命令行 这里不赘述&#xff0c;具体自行百度 2、下载 镜像…

51单片机的简易篮球计分器倒计时仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

51单片机的简易篮球计分器倒计时仿真设计( proteus仿真程序原理图报告讲解视频&#xff09; 1.主要功能&#xff1a;2.仿真3. 程序代码4. 原理图5. 设计报告6. 设计资料内容清单&&下载链接 51单片机的简易篮球计分器倒计时仿真设计( proteus仿真程序原理图报告讲解视频…

代码随想录第33天 | ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯

509. 斐波那契数 //法一&#xff1a; /*** param {number} n* return {number}*/ var fib function(n) {let bpnew Array(n)bp[0]0bp[1]1for(let i2;i<n;i){bp[i]bp[i-1]bp[i-2]}return bp[n] };//法二&#xff0c;时间少&#xff0c;空间少&#xff0c;只需要维护两个数值…

宝宝餐椅上亚马逊要求的合规标准有哪些?

宝宝餐椅上架亚马逊需要做什么认证&#xff1f; 大家都知道儿童餐椅是宝宝饮食的重要伙伴。它们为宝宝提供了一个舒适的环境&#xff0c;让宝宝在吃饭的时候更愉快&#xff0c;更健康。然而&#xff0c;许多家长可能不知道&#xff0c;亚马逊美国站售卖的儿童餐椅需要进行一系…

2023国赛数学建模E题思路代码 - 黄河水沙监测数据分析

# 1 赛题 E 题 黄河水沙监测数据分析 黄河是中华民族的母亲河。研究黄河水沙通量的变化规律对沿黄流域的环境治理、气候变 化和人民生活的影响&#xff0c; 以及对优化黄河流域水资源分配、协调人地关系、调水调沙、防洪减灾 等方面都具有重要的理论指导意义。 附件 1 给出了位…

HGDB-修改分区表名称及键值

瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台&#xff1a;N/A 版本&#xff1a;4.5.7 文档用途 使用存储过程拼接SQL&#xff0c;修改分区名称、分区键值、并重新加入主表&#xff0c;适用于分区表较多场景。 详细信息 说明&#xff1a;本文档为测试过程&#xff1…

15 轮转数组

轮转数组 题解1 环状替换&#xff08;学习思想&#xff09;&#xff08;空间O(1)&#xff09;题解2 翻转数组&#xff08;有意思好理解&#xff09;&#xff08;空间O(1)&#xff09;题解3 空间O(N)秒答 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&a…

护眼台灯A级好还是AA级好?盘点五款AA级台灯

台灯如何选择&#xff0c;随着人们生活水平的提高及科技的不断进步&#xff0c;台灯的品质也得到了极大的提高&#xff0c;在生活中很多时候都需要使用台灯&#xff0c;但是市面上的台灯那么多&#xff0c;台灯如何选择 国aa级是对台灯的照度进行的一个很重要的划分&#xff0…

【2023集创赛】安谋科技杯全国一等奖分享:基于安路PH1A60的3D图形体感游戏机

本文为2023年第七届全国大学生集成电路创新创业大赛&#xff08;“集创赛”&#xff09;安谋科技杯全国一等奖作品分享&#xff0c;参加极术社区的【有奖征集】分享你的2023集创赛作品&#xff0c;秀出作品风采&#xff0c;分享2023集创赛作品扩大影响力&#xff0c;更有丰富电…

leetcode 215.数组中第k大的元素

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;数组中第k大的元素 思路&#xff1a; 使用堆数据结构&#xff0c;大堆的堆顶是堆内最大的元素&#xff0c;也就是把当前堆 pop k - 1 次&#xff0c;第 k 次 top 出来的元素就是第 k 大的数。 代码&#xff1a; class …

Python中的Pathlib

迷途小书童 读完需要 4分钟 速读仅需 2 分钟 大家好&#xff0c;我是迷途小书童&#xff01; 今天给大家介绍 Python 中的内置库 Pathlib。 pathlib 模块是 Python 3.4 中新增的标准库&#xff0c;它提供了面向对象的文件系统路径处理方法。pathlib 致力于解决直接操作文件路径…

宝塔Linux面板的安装配置

一、 宝塔Linux面板的功能 宝塔面板是一款服务器管理软件&#xff0c;可以帮助用户建立网站&#xff0c;一键配置服务器环境&#xff0c;使得用户通过web界面就可以轻松的管理安装所用的服务器软件。 二、宝塔Linux面板的安装 宝塔官网地址&#xff1a;https://www.bt.cn/new…

【C++进阶(五)】STL大法--list模拟实现以及list和vector的对比

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:C从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习C   &#x1f51d;&#x1f51d; list模拟实现 1. 前言2. list类的大致框架与结构…

开源协议对比:局限性、应注意事项与详细对比

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

浙江工业大学MBA和浙江工商大学MBA哪个容易上岸?

在浙江省内&#xff0c;一般嫌弃浙大MBA项目学费贵的考生基本会从其它八个MBA项目中做衡量选择&#xff0c;其中浙工大MBA和浙工商MBA项目就是不少考生经常会做对比的项目&#xff0c;究竟哪个项目更容易上岸也是大家所关注的话题之一&#xff0c;立足浙江的杭州达立易考教育结…

从融云数智办公平台,看企业需要什么样的大模型?

本文中&#xff0c;我们将聚焦 ToB 领域&#xff0c;打开 AIGC 在 C 端社交泛娱乐之外的另一个切面&#xff0c;探索 B 端叙事的新变化。关注【融云 RongCloud】&#xff0c;了解协同办公平台更多干货。 过去两年&#xff0c;关于互联网大厂最多的消息当属裁员和关停非短期商业…

2.9 PE结构:重建导入表结构

脱壳修复是指在进行加壳保护后的二进制程序脱壳操作后&#xff0c;由于加壳操作的不同&#xff0c;有些程序的导入表可能会受到影响&#xff0c;导致脱壳后程序无法正常运行。因此&#xff0c;需要进行修复操作&#xff0c;将脱壳前的导入表覆盖到脱壳后的程序中&#xff0c;以…

速看!外滩大会发布银行数字科技5大趋势

通用人工智能风起云涌&#xff0c;金融行业将如何应对&#xff1f; 9月8日&#xff0c;由中国银行业协会指导&#xff0c;网商银行承办的外滩大会银行业数字化论坛上&#xff0c;IDC中国副总裁兼首席分析师武连峰发布了《银行数字科技五大趋势》&#xff1a;随身银行、AI风控、…

群晖(Synology)NAS 后台安装 Docker 后配置 PostgreSQL

群晖&#xff08;Synology&#xff09;NAS 的后台在新版本对 Docker 不再称为 Docker&#xff0c;现在改称为 Container Manager 了。 单击进入后运行 Container Manager。 PostgreSQL 容器 针对 PostgreSQL 的容器&#xff0c;我们选择容器后&#xff0c;如果你已经安装了 P…