当前位置: 首页 > news >正文

Linux云计算之网络基础8——IPV6和常用网络服务

目录

一、IPV6基础

IPV6详解

IPv6数据报的基本首部

IPv6数据报的扩展首部

IPv6地址的表示方法

IPv6地址分类

网际控制报文协议ICMPv6

二、cisco基于IPV6的配置

cisco基于IPV6的配置步骤

模拟配置

三、HTML基础介绍

文档的结构

动手操作一下

四、常用网络服务介绍和配置

1、URL和URI

2、DHCP动态主机配置协议

特点:

工作原理:

DHCP功能

cisco上模拟DHCP配置ip地址

DHCP中继功能

作用:

工作原理:

如何实现中继

cisco上模拟配置

3、FTP服务

简介

FTP在cisco模拟器中的使用案例

4、DNS

简介:

工作原理:

cisco模拟DNS解析

5、邮件服务

简要概述:

在思科模拟器上实验操作


一、IPV6基础

IPV6详解

  • IPv6是Internet Protocol version 6(互联网协议第六版)的缩写,是IPv4(Internet Protocol version 4,互联网协议第四版)的后继者。IPv6是互联网上用于标识和定位网络设备的一种协议,旨在解决IPv4所面临的地址枯竭、安全性和性能等方面的问题。
  • 版本迭代:ipv4——ipv5——ipv6
    • IPV4:现有标准IPv4只支持大概40亿(4x109)个网络地址,目前主流使用的三层通信地址。
    • IPv5:不是IPv4的继承,是实验性的面向流的数据流协议,用来对声音,图像等提供支持。
    • IPv6:支持3.4x10^38个,这等价于在地球上每平方英寸有4.3x1020地址。 地址总数 2^128
  • IPv6的一些关键特点和优势
    • 更大的地址空间: IPv6的地址长度为128位,远远超过IPv4的32位地址空间,这意味着IPv6可以提供更多的唯一IP地址,解决了IPv4中IP地址不足的问题。

    • 地址分配和管理: IPv6采用层次式的地址分配和管理,更加灵活和高效。它支持动态分配和配置,简化了网络管理过程。

    • 灵活的首部格式:与IPv4首部并不兼容。IPv6定义了许多可选的的扩展首部,不仅可提供比IPv4更多的功能,而且还可以提高路由器的处理效率,因为路由器对逐跳扩展首部外的其他扩展首部都不进行处理。

    • 改善安全性: IPv6在设计上考虑了安全性,并且内置了IPsec(IP Security,IP安全)协议。IPsec提供了数据加密、身份验证和完整性保护等安全机制,有助于提高通信的安全性。

    • 允许协议继续扩充:这一点很重要,因为技术总是在不断地发展,而新的应用也会层出不穷。然而IPv4的功能却是固定不变的。

    • 增强的性能: IPv6在设计上优化了数据包的路由和转发机制,提高了网络性能。它支持更简洁的头部格式和更快的路由查找,减少了网络延迟和负载。

    • 支持即插即用(即自动配置):IPv6支持主机或路由器自动配置IPv6地址及其他网络配置参数。因此IPv6不需要使用DHCP

    • 支持资源的预分配:IPv6能为实时音视频等要求保证一定带宽和时延的应用,提供更好的服务质量保证

    • 支持新的应用和服务: IPv6为新的互联网应用和服务提供了支持,例如物联网(IoT)、移动互联网、实时通信等,满足了不断发展的网络需求。

IPv6数据报的基本首部

  • 版本
    • 长度为4比特,用来表示IP协议的版本。对于IPv6该字段的值是6
  • 通信量类
    • 长度为8比特,该字段用来区分不同的IPv6数据报的类别或优先级。目前正在进行不同的通信量类性能的实验。
  • 流标号
    • 长度为20比特。
    • IPv6提出了流的抽象概念
      • “流”就是因特网上从特定源点到特定终点 (单播或多播)的一系列IPv6数据报(如实时音视频数据的传送),而在这个“流”所经过的路径上的所有路由器都保证指明的服务质量
      • 所有属于同一个流的IPv6数据报都具有同样的流标号。换句话说,流标号用于资源分配
      • 流标号对于实时音视频数据的传送特别有用,但对于传统的非实时数据,流标号则没有用处,把流标号字段的值置为0即可。
  • 有效载荷长度
    • 长度为16比特,它指明IPv6数据报基本首部后面的有效载荷 (包括扩展首部和数据部分)的字节数量。
    • 该字段以字节为单位,最大取值为65535,因此IPv6数据报基本首部后面的有效载荷的最大长度为65535字节
  • 下一个首部
    • 长度为8比特。该宇段相当于IPv4数据报首部中的协议字段或可选宇段
    • 当IPv6数据报没有扩展首部时,该字段的作用与IPv4的协议字段一样,它的值指出了IPv6数据报基本首部后面的数据是何种协议数据单元PDU
    • 当IPv6数据报基本首部后面带有扩展首部时,该宇段的值就标识后面第一个扩展首部的类型
  • 跳数限制
    • 长度为8比特。该宇段用来防止IPv6数据报在因特网中永久兜圈
    • 源点在每个IPv6数据报发出时即设定某个跳数限制 (最大255跳)
    • 每个路由器在转发IPv6数据报时,要先把跳数限制字段中的值减1。当跳数限制的值为0时,就把这个IPv6数据报丢弃 (即不转发)。
  • 源地址、目的地址
    • 长度都为128比特。分别用来填写IPv6数据报的发送端的IPv6地址和接收端的IPv6地址

IPv6数据报的扩展首部

  • IPv4数据报如果在其首部中使用了选项字段,则在数据报的整个传送路径中的全部路由器,都要对选项字段进行检查,这就降低了路由器处理数据报的速度
  • 实际上,在路径中的路由器对很多选项是不需要检查的。因此,为了提高路由器对数据包的处理效率,IPv6把原来IPv4首部中的选项字段都放在了扩展首部中由路径两端的源点和终点的主机来处理,而数据报传送路径中的所有路由器都不处理这些扩展首部 (除逐跳选项扩展首部) 。
  • 在[RFC 2460]中定义了六种扩展首部
    • 1. 逐跳选项
    • 2. 路由选择
    • 3. 分片
    • 4. 鉴别
    • 5. 封装安全有效载荷
    • 6. 目的站选项

IPv6地址的表示方法

  • “左侧0”省略:是指两个冒号间的十六进制数中最前面的一串0可以省略不写
  • “连续0”压缩:是指一连串连续的0可以用一对冒号取代
    • 在一个IPv6地址中只能使用一次“连续零”压缩,否则会导致歧义
  • 冒号十六进制记法还可结合点分十进制的后缀。这在IPv4向IPv6过渡阶段非常有用
  • 冒号十六进制结合CIDR斜线记法

IPv6地址分类

  • 1、IPv6数据报的目的地址有三种基本类型
    • 单播(unicast):传统的点对点通信
    • 多播 (multicast):一点对多点的通信。数据报发送到一组计算机中的每一个。IPv6没有采用广播的术语,而将广播看作多播的一个特例
    • 任播 (anycast):这是IPv6新增的一种类型。任播的终点是一组计算机,但数据报只交付其中的一个,通常是按照路由算法得出的距离最近的一个。
  • 2、IPv6地址分类
    • 1. 未指明地址(一个)
      • 128个比特为“全0”的地址,可缩写为两个冒号 “::”
      • 该地址不能用作目的地址,只能用于还没有配置到一个标准IPv6地址的主机用作源地址
    • 2. 环回地址(一个)
      • 最低比特为1,其余127个比特为“全0”,即0:0:0:0:0:0:0:1,可缩写为::1
      • 该地址的作用与IPv4的环回地址相同
    • 3. 多播(组播)地址(占IPv6地址空间的1/256)
      • 最高8比特为“全1”的地址,可记为FF00::/8
      • IPv6多播地址的功能与IPv4多播地址相同
    • 4. 本地链路单播地址(占IPv6地址空间的1/1024)
      • 最高10比特为1111111010的地址,可记为FE80::/10
      • 即使用户网络没有连接到因特网,但仍然可以使用TCP/IP协议。连接在这种网络上的主机都可以使用本地链路单播地址进行通信,但不能和因特网上的其他主机通信。
    • 5. 私网地址
      • FCO0::—FD00::1/128
    • 5. 全球单播地址
      • 使用得最多的一类地址
      • 第三位必须为1,默认前缓64,可以做进一步子网划分
      • 以2000开头:2001、2002预留特殊单播。2003开始普通全球单播地址
      • IPv6全球单播地址采用三级结构,这是为了使路由器可以更快地查找路由
  • 3、地址计算工具站点
    • IPv4/IPv6 subnet calculator and addressing planner (gestioip.net)

网际控制报文协议ICMPv6

  • 1、ICMPv6概述
    • 由于IPv6与IPv4一样,都不确保数据报的可靠交付,因此IPv6也需要使用网际控制报文协议ICMP来向发送IPv6数据报的源主机反馈一些差错信息,相应的ICMP版本为ICMPv6。
    • ICMPv6比ICMPv4要复杂得多,它合并了原来的地址解折协议ARP和网际组管理协IGMP的功能因此与IPv6配套使用的网际层协议就只有ICMPv6这一个协议。
  • 2、ICMPv6报文的封装
    • ICMPv6报文需要封装成IPv6数据报进行发送
  • 3、ICMPv6报文的分类
    • ICMPv6报文可被用来报告差错、获取信息、探测邻站或管理多播通信
    • 在对ICMPv6报文进行分类时,不同的RFC文档使用了不同的策略
      • 在[RFC 2463]中定义了六种类型的ICMPv6报文
        在[RFC 2461]中定义了五种类型的ICMPv6报文
        在[RFC 2710]中定义了三种类型的ICMPv6报文
    • 常用的几种ICMPv6报文

二、cisco基于IPV6的配置

cisco基于IPV6的配置步骤

  • 1、路由器中添加IPV6地址ipv6 unicast-routing  //全局模式:开启IPV6寻址功能 int g0/0ipv6 add IPV6地址/前缀号  //接口模式:配置IPV6地址no shutdown //开启接口2、配置静态路由configure terminal  //进入全局配置模式ipv6 route ipv6-prefix next-hop-interface [next-hop-address]//ipv6-prefix: 目标IPv6网络的前缀。//next-hop-interface: 下一跳路由器所在的接口。//next-hop-address(可选): 下一跳的IPv6地址。例如:ipv6 route 2000::200/120 2000::1ffend  //保存配置3、配置动态路由RIPconfigure terminal  //进入全局配置模式ipv6 router rip cisco  //配置IPv6 RIP进程,指定的RIP进程的名称为ciscoint g0/0ipv6 rip cisco enable  //启用IPv6 RIP进程,将指定接口添加到RIP进程中no shutdown  //启用RIP进程network ipv6-prefix  //添加网络到RIP进程(直连网段)4、配置动态路由OSPFconfigure terminal  //进入全局配置模式ipv6 unicast-routing  //启用IPv6路由ipv6 router ospf [process-id]  //进入OSPF路由器配置模式area [area-id] <type>  //配置OSPF区域address-family ipv6 unicast  //启用IPv6协议interface [interface-id]  //添加接口到OSPF进程ipv6 ospf [process-id] area [area-id]  router-id [router-id]  //配置路由器ID(可选)end  //保存配置
    
  • 模拟配置

    • 配置终端的ipv6地址
    • 使用ping,测试ipv6地址是否配置成功(不能使用仿真模式,因为仿真模式是基于ICMP协议,而不是ICMP v6协议)——ping成功如下图(ipv6地址配置成功)

    • 接下来加一个路由器,测试网关通信

      • 网关通信成功

    • 接下啦继续添加设备,测试不同园区的通信

      • 接下来将主干道路打通,配置各个路由器网关地址,如下操作

        • 链路通了,如下。ping一下检验

        • 接下来打通路由——配置静态路由(操作如下,其他路由同理)
        • 现在静态路由已经打通了,进行ping检验

      • 现在来设置动态路由RIP

        • 先将配置的静态路由删除

        • 将路由器接口加入到RIP进程中,并启动

        • ping通

三、HTML基础介绍

  • 这是前端的知识点,但HTML是我们学习的网络范围HTTP协议的一个主要的基石

  • HTML (Hyper Text Markup Language) : 超文本标记语言,网页的”源码”。基于超文本传输协议 (http)来传输和处理数据。通常以浏览器工具来”解释和执行”HTML源码。

  • 文档的结构

    • 头部部分

      • <meta>--->定义元素属性

    • 标题部分

      • <title>

    • 主体部分

      • <body>

    • 6个标签

      • <h1>----<h6>

    • 注释标签

      • <!--- --->

    • 引用签

      • 引用图片,视频等流媒体文件——img src='URL'

    • 网页内容

      • 包括文本、图像

    • 超链接标签

      • href='URL’ xx0000

    • 折行标签

      • </br>

  • 动手操作一下

    • 新建一个test.html文档,右击,用记事本打开,输入代码如下

    • <html><title>ymiii</title><body><!--- 这是一个超链接标签 ---><a href="https://zydx.top/">算八字</a></br><h1>hi, this is ymiii</h1><h2>hi, this is ymiii</h2><h3>hi, this is ymiii</h3><h6>hi, this is ymiii</h6><!--- 这是引用图片标签 ---><img src='https://img.zcool.cn/community/01c29d5bae41fba8012099c8072cfa.jpg@1280w_1l_2o_100sh.jpg'/></br><h1>测试换行没有</h1></body>
      </html>

    • 然后双击用浏览器打开,如下

四、常用网络服务介绍和配置

1、URL和URI

  • URL(统一资源定位器):

    • URL是URI的一种特定类型,用于指定资源的位置以及访问该资源的方法。URL包含了三个主要部分:

      • 协议(Protocol):指定访问资源所使用的协议,例如HTTP、HTTPS、FTP等。

      • 主机名(Host Name):指定资源所在的主机的名称或IP地址。

      • 路径(Path):指定服务器上资源的位置

  • URI(统一资源标识符):

    • URI是一个更广泛的概念,用于标识任何资源的唯一名称。它包含两个具体的子集:URL和URN。

      • URL(统一资源定位器):是URI的一种特定形式,它指定了一个资源的位置以及获取该资源的方法。换句话说,URL告诉您资源位于何处以及如何获取它。例如,https://www.example.com/index.html就是一个URL,它指定了一个Web页面的位置,并且通过HTTPS协议来获取它。

      • URN(统一资源名称):是另一种URI的子类型,它是一个持久的、唯一的资源名称,与资源的位置无关。URN旨在提供一种方法来标识资源,而不考虑资源的位置或获取方式。例如,urn:isbn:0451450523是一个URN,它标识了一本书的ISBN号,而不关心这本书在何处或如何获取它。

2、DHCP动态主机配置协议

  • 网络中一个个给终端配置ip地址太麻烦

    有什么办法呢?

    有的有的——DHCP动态主机配置协议——需要一个DHCP服务器

  • DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种网络协议,用于自动分配IP地址其他网络配置参数给网络上的设备。

  • 特点:

    • 自动化配置: DHCP允许网络管理员自动为设备分配IP地址、子网掩码、默认网关、DNS服务器等网络配置参数,减少了手动配置的工作量。

    • 动态分配: DHCP使用动态分配的方式,即设备在连接到网络时从DHCP服务器获取IP地址,使用完毕后将其释放,以便其他设备使用。

    • 地址重用: 一旦设备释放了它所使用的IP地址,该地址就可以重新分配给其他设备,提高了IP地址的利用率。

    • 集中管理: DHCP允许网络管理员集中管理IP地址池、分配策略、配置参数等,从而简化了网络管理。

  • 工作原理:

    • DHCP服务器发现(DHCP Discover):设备连接到网络时,它会广播一个DHCP Discover消息,寻找可用的DHCP服务器。

    • DHCP服务器提供(DHCP Offer): DHCP服务器收到Discover消息后,会回应一个DHCP Offer消息,其中包含可用的IP地址和其他配置参数。

    • DHCP请求(DHCP Request): 设备收到DHCP Offer后,会选择其中一个提供的IP地址,并向该DHCP服务器发送DHCP Request消息,请求确认使用该地址。

    • DHCP确认(DHCP Acknowledge): DHCP服务器收到请求后,会确认设备的IP地址分配请求,并向设备发送DHCP Acknowledge消息,告知设备可以使用该地址。

    • IP地址续约(IP Address Renewal): 设备在使用IP地址的过程中会定期向DHCP服务器发送续约请求,以保持IP地址的有效性。

    • IP地址释放(IP Address Release):设备不再需要使用IP地址时,它会向DHCP服务器发送释放请求,将IP地址返回给DHCP服务器以便重新分配给其他设备。

  • DHCP功能

    • 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。
    • DHCP应当可以给用户分配永久固定的IP地址
    • DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)
    • DHCP的客户机由DHCP服务器自动分配IP地址、子网掩码、网关地址、DNS服务器地址
  • cisco上模拟DHCP配置ip地址

    • 给DHCP服务器设置ip地址——配置DHCP服务——进入终端IP配置点击DHCP自动获取IP地址
  • DHCP中继功能

    • DHCP只能在一个广播域内进行工作,自动分配

    • 一个局域网一台服务器太浪费,有什么办法只用一台服务器来对所有网段进行ip分配?

    • 有的有的——DHCP中继功能。(路由器或三层交换机来实现)
    • DHCP中继功能是一种网络设备提供的服务允许在不同的网络段中传递DHCP消息,从而使DHCP服务器能够为跨越多个子网的客户端设备提供IP地址和其他配置参数

    • 作用:

      • 跨子网分配: 允许DHCP服务器为位于不同子网上的客户端设备提供IP地址和其他网络配置参数。

      • 减少DHCP服务器数量: DHCP中继功能可以帮助减少网络中所需的DHCP服务器数量,因为它们可以服务于整个网络,而不仅限于单个子网。

      • 简化网络管理: DHCP中继可以简化网络管理,因为管理员只需在少数位置配置DHCP中继代理,而不是在每个子网上都配置DHCP服务器。

    • 工作原理:

      • DHCP Discover广播: 当客户端设备在局域网中启动时,它们会发送DHCP Discover广播以寻找可用的DHCP服务器。

      • DHCP Relay Agent: 当DHCP中继设备收到DHCP Discover广播时,它会将广播包转发到预先配置的DHCP服务器。

      • DHCP服务器响应: DHCP服务器接收到DHCP Discover广播后,会响应一个DHCP Offer,包含可用的IP地址和其他配置参数。

      • DHCP Relay Agent转发: DHCP中继设备会将DHCP Offer消息转发回客户端设备所在的子网。

      • 客户端请求: 客户端设备选择其中一个DHCP Offer并发送DHCP Request请求。

      • DHCP服务器确认: DHCP服务器收到DHCP Request请求后,会确认客户端设备的IP地址分配,并发送DHCP Acknowledge消息。

    • 如何实现中继

      • 三层交换机或路由器,在对应的vlan中,将DHCP服务的IP地址进行中继推送到每个vlan对应的局域网中

      • 确保网络通了之后再做中继推送
        1、交换机上,有几个局域网设置几个vlan并命名:
        全局模式:vlan 10name xiaoshouexit
        2、将两交换机相连的接口设置为中继干道trunk口int f0/7switchport mode trunk
        3、将连接终端的交换机接口设置为对应的vlanint range f0/1-3switchport access vlan 10
        4、将多级交换机的路由功能打开(全局模式下)ip routing
        5、设置vlan对应的网关,配置DHCP服务IP地址的推送int vlan 10ip add 192.168.10.1 255.255.25.0ip helper-address 192.168.1.100
        6、设置DHCP池

      • 核心在于:

        第一必须要在DHCP服务器里面有不同网段的地址租约池

        第二在路由器里面,不同网段要给他推中继

    • cisco上模拟配置

      • 确保网络通了之后再做中继推送

        推送时确保DHCP服务器有多个地址租约池

      • 交换机上进行如下操作

      • 将之前分配的DHCP的ip取消

      • 相同广播域的已经成功了

        接下来看不同广播域怎么去推中继

      • 1、先设置vlan,进入vlan口把IP也就是网关配好,再给它推一下中继

      • 这样推中继设置就完成了

        接下来设置DHCP池

      • 跨网段配置自动配置ip成功

3、FTP服务

  • 简介

    • 用于Internet上的控制文件的双向传输。
    • 同时,它也是一个应用程序 (Application)
    • FTP服务可以实现文件的"下载”(Download)和“上传”(Upload)。
    • 下载”文件就是从远程主机拷贝文件至自己的计算机上;
    • ”上传”文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向 (从) 远程主机上传 (下载)文件。
  • FTP在cisco模拟器中的使用案例

    • 下载文件
    • 删除文件

    • 上传文件

4、DNS

  • 简介:

    • DNS(Domain Name System,域名系统)是互联网中的一种分布式数据库系统,用于将域名(例如example.com)映射到与之对应的IP地址(例如192.0.2.1)。DNS旨在为人类友好的域名提供与计算机友好的IP地址之间的映射,从而使用户能够轻松地访问互联网上的各种资源。
    • 网络中有大量的服务器,其中资源存储在服务器中,我们可以根据其URL来进行绝对定位。但访问互联网服务器中的资源,计算机只能识别IP地址,在人类的视角,IP地址难以记忆,于是诞生了DNS服务,基于城名来访问固定主机的IP地址。
    • 例如:
      1.1.1.1——www.baidu.com
      1.1.1.2——www.sina.com.cn
    • 原理:将域名”翻译”为IP地址,直观、方便记忆
    • 城名解析:域名与IP地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器 (DNS)来完成,整个过程是自动进行的。
    • 解析流程:
      电脑发出一个DNS请求到本地DNS服务器
      本地服务器查询缓存记录,有则直接返回结果。没有则向DNS根服务器进行查询。
  • 工作原理:

    • 域名查询: 当用户在Web浏览器中输入一个域名时,计算机会向本地DNS服务器发送一个DNS查询请求,询问该域名对应的IP地址。

    • 递归查询: 如果本地DNS服务器没有缓存相应的域名解析记录,它会向根域名服务器发送一个递归查询请求,逐级向下查询直到找到目标域名的IP地址。

    • 迭代查询: 根域名服务器会将查询请求指向相应的顶级域名服务器,然后顶级域名服务器将查询请求指向下一级的域名服务器,以此类推,直到找到目标域名的IP地址。

    • 响应返回: 最终,目标域名的IP地址将返回到本地DNS服务器,然后再返回给用户的计算机,使用户能够访问所需的互联网资源

  • cisco模拟DNS解析

    • 重新获得全部终端网络

    • 设置http服务器

    • ping一下

5、邮件服务

  • 简要概述:

    • 邮件服务是一种用于发送和接收电子邮件的通信服务
    • SMTP协议
      • 简单邮件传输协议,端口为TCP 25号。
      • 它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式
      • SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地
      • 特点:发送邮件
    • POP3协议
      • 邮局协议,用于电子邮件的接收,它使用TCP的110端口。常用的是第三版,所以简称为POP3
    • IMAP协议
      • 交互邮件访问协议,是一个应用层协议
      • 用来从本地邮件客户端 (如Microsoft Outlook、Outlook Express、Foxmall、Mozilla
        Thunderbird)访问远程服务器上的邮件
  • 在思科模拟器上实验操作

    • 设置域名

    • 配置邮件
    • 发送
    • 接受

相关文章:

Linux云计算之网络基础8——IPV6和常用网络服务

目录 一、IPV6基础 IPV6详解 IPv6数据报的基本首部 IPv6数据报的扩展首部 IPv6地址的表示方法 IPv6地址分类 网际控制报文协议ICMPv6 二、cisco基于IPV6的配置 cisco基于IPV6的配置步骤 模拟配置 三、HTML基础介绍 文档的结构 动手操作一下 四、常用网络服务介绍…...

页面刚加载的时候显示自己定义的{{***}}然后一闪而过

这时候别用插值表达式语法了&#xff0c;直接用v-text或者v-html就能解决这个问题 但是有个问题&#xff0c;如下图所示&#xff1a; 具体bind使用方式&#xff0c;如下图所示&#xff1a; 但是v-bind也可以进行简写&#xff0c;就是去掉v-bind&#xff0c;直接写&#xff1a…...

python批量转化pdf图片为jpg图片

1.把pdf图片批量转为jpg&#xff1b;需要注意的是&#xff0c;需要先安装poppler这个软件&#xff0c;具体安装教程放在下面代码中了 2.代码 #poppler安装教程参考&#xff1a;https://blog.csdn.net/wy01415/article/details/110257130 #windows上poppler下载链接&#xff1a…...

玫瑰图和雷达图(自备)

目录 玫瑰图 数据格式 绘图基础 绘图升级&#xff08;文本调整&#xff09; 玫瑰图 下载数据data/2020/2020-11-24 mirrors_rfordatascience/tidytuesday - 码云 - 开源中国 (gitee.com) R语言绘图—南丁格尔玫瑰图 - 知乎 (zhihu.com) 数据格式 rm(list ls()) libr…...

动态规划基础

动态规划 1、动态规划的概念 简称DP,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。常常适用于有重叠子问题和最优子结构性质的问题。 简单来说,就是给定一个问题,把它拆成一个个子问题,查到子问题可以直接解决。然后把子问题答案保存起来,以减少重复计算…...

kubeadm部署的k8s1.29集群证书更新

1、查看证书有效期 kubeadm certs check-expiration更新证书前&#xff1a; [check-expiration] Reading configuration from the cluster... [check-expiration] FYI: You can look at this config file with kubectl -n kube-system get cm kubeadm-config -o yamlCERTIFIC…...

【A 类比赛】大学生学科竞赛智慧应用场景题目大全

智能应用的多彩场景&#xff1a;未来生活的无限可能 随着科技的飞速发展&#xff0c;智能应用已经渗透到我们生活的方方面面&#xff0c;它们不仅极大地提高了工作效率&#xff0c;也丰富了我们的生活体验。从家庭到工作场所&#xff0c;从城市到乡村&#xff0c;智能应用正在…...

Yarn的安装和使用(2):使用及问题解决

Yarn是JavaScript的依赖管理工具&#xff0c;它与npm类似&#xff0c;但提供了一些额外的性能优化和一致性保证。 Yarn的使用&#xff1a; 初始化项目&#xff1a; yarn init 此命令会引导您创建一个新的package.json文件&#xff0c;用于记录项目的元信息和依赖。 添加依赖&…...

如何在Bash中连接字符串变量

问题&#xff1a; 在 PHP 中&#xff0c;字符串按如下方式连接在一起&#xff1a; $foo "Hello"; $foo . " World";在这里&#xff0c;$foo 变成了 "Hello World"。 在 Bash 中如何实现这一点? 回答1&#xff1a; foo"Hello" fo…...

doesn‘t contain a valid partition table

查看硬盘空间 $ fdisk -l Disk /dev/mmcblk0: 29 GB, 31037849600 bytes, 60620800 sectors 947200 cylinders, 4 heads, 16 sectors/track Units: sectors of 1 * 512 512 bytesDisk /dev/mmcblk0 doesnt contain a valid partition table Disk /dev/mmcblk0p1: 1 MB, 10485…...

modprobe加载驱动模块时报错:modprobe: module xxx.ko not found in modules.dep

问题 使用modprobe时&#xff0c;报错modprobe: module xxx.ko not found in modules.dep&#xff1a; 原因 加载模块时&#xff0c;依赖没法正确添加 解决 在使用modprobe前&#xff0c;调用一下depmod指令&#xff0c;之后再用modprobe加载驱动模块 depmod modprobe interr…...

游戏引擎中的粒子系统

一、粒子基础 粒子系统里有各种发射器&#xff08;emitter&#xff09;&#xff0c;发射器发射粒子&#xff08;particle&#xff09;。 粒子是拥有位置、速度、大小尺寸、颜色和生命周期的3D模型。 粒子的生命周期中&#xff0c;包含产生&#xff08;Spawn&#xff09;、与环…...

哈佛大学商业评论 -- 第二篇:增强现实是如何工作的?

AR将全面融入公司发展战略&#xff01; AR将成为人类和机器之间的新接口&#xff01; AR将成为人类的关键技术之一&#xff01; 请将此文转发给您的老板&#xff01; --- 本文作者&#xff1a;Michael E.Porter和James E.Heppelmann 虽然物理世界是三维的&#xff0c;但大…...

『python爬虫』巨量http代理使用 每天白嫖1000ip(保姆级图文)

目录 注册 实名得到API链接和账密 Python3requests调用Scpay总结 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 注册 实名 注册巨量http 用户概览中领取1000ip,在动态代理中使用.用来测试一下还是不错的 得到AP…...

6-95 希尔排序(Java语言描述)

编程实现希尔排序函数。public static void shellSort(int arr[])。其中arr存放待排序的数据,数组长度不大于1000。 函数接口定义: /* 对长度为n的数组arr执行希尔排序 */ public static void shellSort(int arr[]); 请实现 shellSort函数,使排序后的数据从小到大排列。…...

JAVA面试大全之分布式篇

目录 1、一致性算法 1.1、什么是分布式系统的副本一致性?有哪些? 1.2、在分布式系统中有哪些常见的一致性算法?...

qt各种锁使用讲解

在Qt中&#xff0c;主要有以下几种锁的类型&#xff1a; 1. QMutex&#xff08;互斥锁&#xff09;&#xff1a; 是最常见的锁类型&#xff0c;用于实现简单的互斥访问。可以通过lock()和unlock()手动控制锁的加锁和解锁。 QMutexLocker&#xff1a;是一个RAII类&#xff0c;…...

5.111 BCC工具之ext4dist.py解读

一,工具简介 ext4dist跟踪ext4的读取、写入、打开和fsync操作,并将其延迟总结为2的幂次方直方图。 二,代码示例 #!/usr/bin/env pythonfrom __future__ import print_function from bcc import BPF from time import sleep, strftime import argparse# symbols kallsyms …...

Rust 的 termion 库控制终端光标的位置

在控制台应用程序中&#xff0c;固定打印在屏幕的第一行通常涉及到控制终端光标的位置。Rust 标准库本身并不提供直接控制终端光标位置的功能&#xff0c;但你可以使用第三方库如 termion 来实现这个需求。 termion 是一个用于处理终端的 Rust 库&#xff0c;它提供了很多有用…...

ADB(Android Debug Bridge)操作命令详解及示例

ADB&#xff08;Android Debug Bridge&#xff09;是一个强大的命令行工具&#xff0c;它是Android SDK的一部分&#xff0c;主要用于Android设备&#xff08;包括真实手机和平板电脑以及模拟器&#xff09;的调试、系统控制和应用程序部署。 下面是一些ADB的常用命令&#xff…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...