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

【计算机网络】细说IP

文章目录

    • 概述
      • IP地址的组成
      • IP地址的分类
      • IP地址的作用
    • 分类
      • 一、A类IP地址
      • 二、B类IP地址
      • 三、C类IP地址
      • 四、D类IP地址
      • 五、E类IP地址
    • 协议报文
    • 子网掩码
      • 一、定义与功能
      • 二、表示方法
      • 三、子网掩码与IP地址的关系
      • 四、子网掩码的设置与配置
      • 五、实例说明
    • IPv6
      • 一、定义与背景
      • 二、地址格式与特点
      • 三、优势与功能
      • 四、过渡与部署
      • 五、应用与发展
    • IPv6协议报文
    • 有了IPv6还需要子网掩码吗

概述

IP,全称Internet Protocol,即互联网协议,是计算机网络领域中的一个核心概念。它主要用于为网络中的每一台设备分配一个唯一的数字标识,这个标识就是IP地址。通过这个地址,设备可以在网络上被准确地定位和识别,从而实现数据的传输和共享。

IP地址的组成

IP地址由一组数字组成,对于IPv4(第四版互联网协议),它使用32位二进制数来表示,这通常被划分为四个8位(一个字节)的十进制数,各数之间用点号(.)分隔。例如,常见的IPv4地址格式如192.168.1.1。

而IPv6(第六版互联网协议)则使用128位二进制数来表示地址,其表示方式相较于IPv4更为复杂,通常使用冒号分隔的十六进制数来表示,如2001:0db8:85a3:0000:0000:8a2e:0370:7334。

IP地址的分类

IP地址根据其用途和分配方式,可以分为多种类型:

  1. 公网IP:这是在全球互联网上唯一且可路由的地址。它允许设备在互联网上被直接访问和通信。

  2. 私网IP(也称为局域网IP):这些地址是在私有网络内部使用的,通常用于家庭、办公室或企业等局域网环境。私网IP地址在外部互联网上是不可见的,也无法直接访问。

  3. 动态IP:这种地址是由网络中的动态主机配置协议(DHCP)服务器在设备连接到网络时自动分配的。动态IP地址可能会随着设备的每次连接而改变。

  4. 静态IP:与动态IP不同,静态IP地址是手动分配给设备的,并且不会改变(除非手动更改)。静态IP地址通常用于需要稳定网络连接的设备,如服务器。

IP地址的作用

IP地址在计算机网络中起着至关重要的作用:

  1. 身份标识:它为网络中的每一台设备提供了一个唯一的身份标识,使得设备可以被准确地定位和识别。

  2. 路由和转发:路由器使用IP地址来确定数据包在网络中的传输路径,并将其转发到目标设备。

  3. 网络通信:IP地址是实现网络通信的基础,它允许设备之间发送和接收数据。

  4. 网络安全:通过IP地址,可以实现网络安全策略,如访问控制、防火墙规则等。

总之,IP地址是计算机网络中不可或缺的一部分,它使得设备能够在网络上相互通信和共享数据。随着互联网的不断发展,IP地址的重要性和作用也将越来越突出。

分类

IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。IPv4地址由4段数据构成,每段1字节,8位二进制数,根据网络号和主机号所占位数的不同,可以将IP地址分为以下几类:

一、A类IP地址

  • 组成:1字节的网络地址和3字节主机地址。
  • 最高位:网络地址的最高位必须是“0”。
  • 地址范围:从1.0.0.0到126.0.0.0。
  • 可用网络数:可用的A类网络有126(2^7-2)个。
  • 主机容纳量:每个网络能容纳1亿多(2^24-2)个主机。
  • 特殊地址:127.0.0.1是一个特殊的IP地址,表示主机本身,用于本地机器的测试。
  • 默认子网掩码:255.0.0.0。
  • 应用场景:一般用于大型网络。

二、B类IP地址

  • 组成:2个字节的网络地址和2个字节的主机地址。
  • 最高位:网络地址的最高位必须是“10”。
  • 地址范围:从128.0.0.0到191.255.255.255。
  • 可用网络数:可用的B类网络有16382(2^14-1)个。
  • 主机容纳量:每个网络能容纳(2^16-2)个主机。
  • 默认子网掩码:255.255.0.0。
  • 应用场景:一般用于中等规模网络,如大学、科研所等。

三、C类IP地址

  • 组成:3字节的网络地址和1字节的主机地址。
  • 最高位:网络地址的最高位必须是“110”。
  • 地址范围:从192.0.0.0到223.255.255.255。
  • 可用网络数:C类网络可达209万余(2^21-1)个。
  • 主机容纳量:每个网络能容纳254(2^8-2)个主机。
  • 默认子网掩码:255.255.255.0。
  • 应用场景:一般用于小型网络,如公司、家庭网络(wifi)。

四、D类IP地址

  • 组成:无网络号和主机号之分。
  • 最高位:IP地址最前面为“1110”(二进制)。
  • 地址范围:从224.0.0.0到239.255.255.255。
  • 应用:D类地址作为组播地址(一对多的通信),用于多点广播(Multicast)。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。

五、E类IP地址

  • 组成:无网络号和主机号之分。
  • 最高位:IP地址最前面为“1111”(二进制)。
  • 地址范围:从240.0.0.0到255.255.255.255。
  • 应用:E类地址为保留地址,供以后使用,通常用于科学研究。

此外,还有一些特殊的IP地址需要注意:

  • 全零地址:“0.0.0.0”地址对应于当前主机。
  • 全1地址:“255.255.255.255”是当前子网的广播地址。
  • 回环地址:127.0.0.0/8被用作回环地址,表示本机的地址,常用于对本机的测试,其中127.0.0.1用的最多。
  • 私有地址(专用地址):不会在全球使用,只具有本地意义。包括A类私有地址10.0.0.0/8(范围是10.0.0.0~10.255.255.255),B类私有地址172.16.0.0/12(范围是172.16.0.0~172.31.255.255),C类私有地址192.168.0.0/16(范围是192.168.0.0~192.168.255.255)。

总的来说,IP地址的分类是基于其网络号和主机号的位数以及最高位的二进制数来确定的。不同类型的IP地址具有不同的地址范围和用途,适用于不同规模的网络和应用场景。

协议报文

以下是一个关于IP协议(以IPv4为例)的表格形式展示:

字段名称字段长度(bit)描述
版本号(Version)4指定IP协议的版本,IPv4为4
首部长度(Internet Header Length, IHL)4IP头部的长度,以4字节为单位,取值范围为5-15(即20-60字节)
服务类型(Type of Service, TOS)8包括优先权(已弃用)、延迟、吞吐量、可靠性和花费等子字段,声明数据报被网络系统传输时可以被怎样处理
总长度(Total Length)16整个IP报文的总长度(包括头部和数据),以字节为单位,最大长度为65535字节
标识(Identification)16用于标识一组属于同一数据包的分片,在组装时,相同标识的放到一起组装
标志(Flags)3包括是否分片、禁止分片、更多分片等子字段
片偏移(Fragment Offset)13描述分片相对于原始IP报文开始处的偏移,以8字节为单位
生存时间(Time to Live, TTL)8数据报到达目的地的最大报文跳数,每经过一个路由器转发,TTL值减1,减到0时数据报被丢弃
协议(Protocol)8表示上层协议的类型,如ICMP(1)、IGMP(2)、TCP(6)、UDP(17)等
头部校验和(Header Checksum)16使用CRC进行校验,鉴别头部是否损坏,只校验IP的首部,载荷中的TCP/UDP都自带校验
源地址(Source Address)32发送端IP地址
目标地址(Destination Address)32接收端IP地址
可选项(Options, 可变长度)32的整数倍定义一些任选项,如记录路径、时间戳等,长度可变,但必须是32比特的整数倍,不足时需填充0

这个表格展示了IPv4协议头的主要字段及其描述。请注意,IPv6协议头的结构与IPv4有所不同,并且不使用传统意义上的子网掩码。如果您需要IPv6的详细字段信息,请查阅相关IPv6协议文档或标准。

子网掩码

子网掩码(Subnet Mask),也被称为网络掩码或地址掩码,是计算机网络中一个重要的概念。以下是对子网掩码的详细解释:

一、定义与功能

子网掩码是一个32位地址(对于IPv4),用于屏蔽IP地址的一部分,以区分网络标识(网络地址)和主机标识(主机地址)。它必须与IP地址一起使用,不能单独存在。子网掩码的主要功能包括:

  1. 区分网络地址和主机地址:通过子网掩码,可以将IP地址划分为网络部分和主机部分,从而确定设备所在的网络以及该网络中的具体位置。
  2. 提高IP地址分配效率:子网掩码允许将一个大的网络划分为多个小的子网,从而更有效地利用IP地址资源,减少浪费。
  3. 支持路由决策:路由器使用子网掩码来确定数据包的目标网络,并根据路由表进行转发,从而确保数据包能够正确地到达目的地。

二、表示方法

子网掩码通常有两种表示方法:

  1. 点分十进制表示法:将32位的子网掩码划分为四个8位(一个字节)的十进制数,并用点号(.)分隔。例如,255.255.255.0。
  2. CIDR表示法:使用斜杠(/)后跟一个数字来表示子网掩码中网络位的长度(即二进制数字“1”的个数)。例如,/24表示子网掩码为255.255.255.0。

三、子网掩码与IP地址的关系

子网掩码与IP地址一起使用,通过按位与运算来确定网络地址。具体过程如下:

  1. 将32位的子网掩码与32位的IP地址进行按位与运算。
  2. 运算结果即为网络地址,它表示了设备所在的网络。

四、子网掩码的设置与配置

子网掩码的设置通常根据网络的规模和需求来确定。以下是一些设置子网掩码的注意事项:

  1. 确定网络需求:根据网络的规模和需求,选择合适的子网掩码。
  2. 计算子网地址和广播地址:根据选定的子网掩码,计算每个子网的子网地址和广播地址。
  3. 配置网络设备:将计算出的子网地址和子网掩码配置到网络设备(如路由器、交换机等)中,确保网络设备能够正确识别和处理子网。

五、实例说明

假设有一个IP地址为192.168.1.10,子网掩码为255.255.255.0的网络。通过子网掩码与IP地址的按位与运算,可以得到网络地址为192.168.1.0。这意味着该IP地址属于192.168.1.0这个网络。

综上所述,子网掩码是计算机网络中一个重要的组成部分,它通过与IP地址一起使用,实现了网络地址和主机地址的区分、IP地址的高效分配以及路由决策的支持。

IPv6

IPv6(Internet Protocol Version 6)是互联网工程任务组(IETF)设计的用于替代IPv4(Internet Protocol Version 4)的下一代IP协议。以下是关于IPv6的详细解释:

一、定义与背景

IPv6是互联网协议的第6版,旨在解决IPv4地址耗尽的问题,并提供更多的地址空间以及增强的安全性和功能。随着互联网的快速发展,IPv4的32位地址空间已经无法满足日益增长的设备连接需求,因此IPv6应运而生。

二、地址格式与特点

  1. 地址长度:IPv6地址长度为128位,相比IPv4的32位地址空间,IPv6的地址空间要大得多,理论上可以为地球上的每一粒沙子分配一个唯一的IP地址。
  2. 地址表示:IPv6地址通常使用16进制数表示,由8组4个16进制数组成,各组之间用冒号(:)分隔。例如,2001:0db8:85a3:0000:0000:8a2e:0370:7334。
  3. 简化表示:在实际应用中,IPv6地址的某些部分可以省略,以简化表示。例如,连续的零块可以用双冒号(::)表示,但双冒号在地址中只能出现一次。
  4. 地址类型:IPv6地址分为单播地址、任播地址和组播地址三种类型,分别用于标识单个设备、一组设备中的任意一个以及一组设备。

三、优势与功能

  1. 更大的地址空间:IPv6提供了足够的地址空间,可以满足未来互联网设备连接的需求。
  2. 增强的安全性:IPv6内置了IPSec协议,提供了身份认证、数据完整性和加密等安全功能,增强了网络的安全性。
  3. 更好的头部格式:IPv6简化了报文头部格式,减少了处理开销,提高了网络性能。
  4. 支持自动配置:IPv6支持无状态地址自动配置(SLAAC),使得设备可以自动获取IP地址,简化了网络管理。
  5. 支持更多的服务类型:IPv6加入了对自动配置的支持,改进和扩展了DHCP协议,使得网络管理更加方便和快捷。

四、过渡与部署

由于IPv4和IPv6在地址格式、报文头部等方面存在显著差异,因此IPv4向IPv6的过渡是一个复杂的过程。目前,常见的过渡技术包括双栈技术、隧道技术和翻译技术等。双栈技术是指在设备上同时支持IPv4和IPv6协议栈;隧道技术是将IPv6数据包封装在IPv4数据包中传输;翻译技术则是将IPv4地址和IPv6地址之间进行转换。

五、应用与发展

随着IPv6的逐步部署和普及,越来越多的网络和应用开始支持IPv6。例如,许多操作系统、网络设备、网站和应用程序都已经或正在支持IPv6。此外,IPv6还促进了物联网、云计算等新兴技术的发展,为未来的互联网应用提供了更广阔的空间。

综上所述,IPv6是互联网协议的重要升级版本,它提供了更大的地址空间、增强的安全性和功能,为未来的互联网发展奠定了坚实的基础。

IPv6协议报文

以下是一个关于IPv6协议主要字段的表格形式展示:

字段名称字段长度(bit)描述
版本号(Version)4表明IP协议实现的版本号,IPv6中为6,用0110表示
通信类型/流量类别(Traffic Class)8类似于IPv4中的服务类型字段,用于区分不同的分组,可标识数据包的优先级或服务类型
流标记(Flow Label)20原发主机用该字段来标识某些需要特别处理的分组,如特定的服务质量或实时数据传输等
负载长度(Payload Length)16表示除了IPv6固定头部40个字节之外的负载长度,扩展头包含在负载长度之中
下一头部(Next Header)8指示下一个头部字段的类型,可能是IPv6协议的头部,也可能是上层协议头部
跳数限制(Hop Limit)8用于检测路由循环,每个转发路由器对这个字段减1,如果变成0,则分组被丢弃,类似于IPv4中的生存时间(TTL)字段
源地址(Source Address)128发送节点的地址,使用IPv6地址格式
目标地址(Destination Address)128接收节点的地址,使用IPv6地址格式

这个表格列出了IPv6协议报头中的主要字段及其描述。IPv6协议报头相对于IPv4来说更加简化,并且提供了更大的地址空间(128位)以支持更多的设备连接。此外,IPv6还内置了IPSec协议,提供了身份认证、数据完整性和加密等安全功能,增强了网络的安全性。

请注意,IPv6协议还可能包含扩展头部,这些扩展头部是任选的,用于提供额外的功能,如路由、分片、认证和加密等。然而,由于扩展头部是任选的,因此不是每个IPv6报文都会包含所有的扩展头部。在实际应用中,IPv6报文可能只包含基本报头和上层协议数据单元。

有了IPv6还需要子网掩码吗

在IPv6中,虽然子网划分和路由的概念仍然存在,但是传统意义上的子网掩码(如IPv4中使用的那种)并不直接应用于IPv6

IPv6采用了不同的机制来处理地址的层次结构和路由。

在IPv4中,子网掩码用于区分IP地址中的网络部分和主机部分。然而,IPv6地址的结构和长度(128位)使得这种简单的划分不再适用。IPv6地址的分配和路由更多地依赖于地址的前缀长度,而不是像IPv4那样依赖于一个固定的子网掩码。

IPv6地址通常表示为一系列8位的十六进制数,每组4个十六进制数之间用冒号分隔。例如,一个IPv6地址可能看起来像这样:2001:0db8:85a3:0000:0000:8a2e:0370:7334。在这个地址中,前缀(即网络部分)的长度是可变的,并且通常由网络管理员或路由协议来确定。

当在IPv6网络中进行路由时,路由器会根据地址的前缀长度来做出决策。这意味着,对于给定的IPv6地址,路由器需要知道该地址的前缀长度才能正确地将其路由到目的地。这个前缀长度信息通常是通过路由协议(如OSPF、BGP等)在网络中传播的。

因此,虽然IPv6不使用传统意义上的子网掩码,但它仍然需要一种机制来指示地址的网络部分和主机部分。在IPv6中,这种机制是通过地址的前缀长度来实现的。前缀长度是一个数字,表示地址中网络部分的位数。例如,如果一个IPv6地址的前缀长度为64位,那么该地址的前64位就表示网络部分,而剩下的64位则表示主机部分(尽管在实际应用中,主机部分可能并不会完全用于标识单个主机,而是可能包含其他信息,如子网ID等)。

总的来说,虽然IPv6不直接使用子网掩码,但它仍然需要一种机制来处理地址的层次结构和路由。在IPv6中,这种机制是通过地址的前缀长度来实现的。

相关文章:

【计算机网络】细说IP

文章目录 概述IP地址的组成IP地址的分类IP地址的作用 分类一、A类IP地址二、B类IP地址三、C类IP地址四、D类IP地址五、E类IP地址 协议报文子网掩码一、定义与功能二、表示方法三、子网掩码与IP地址的关系四、子网掩码的设置与配置五、实例说明 IPv6一、定义与背景二、地址格式与…...

树与图深度优先遍历——acwing

题目一:树的重心 846. 树的重心 - AcWing题库 分析 采用暴力枚举,试探每个点,除去之后,连通分量最大值是多少, 各个点的最大值找最小的 因为可以通过 dfs 来得到 根u以下点数,以及可以求各分树的点数&am…...

vue3.0 根据富文本html页面生成压缩包(含视频在线地址、图片在线地址、前端截图、前端文档)

vue3.0生成压缩包(含在线地址、前端截图、前端文档) 需求描述效果开始下载插件包基本代码构造 点击下载按钮1.截图content元素,并转化为pdfcanvas putImageData、getImageDatagetImageData 获取指定矩形区域的像素信息putImageData 将这些数据…...

WPF+LibVLC开发播放器-LibVLC在C#中的使用

LibVLC在C#中的使用 安装包Nuget使用控件使用播放器初始化加载视频文件 视频教程: 使用WPFLibVLC快速开发一个播放器 安装包Nuget 安装下面两个包,必须安装两个 一个是相关框架对应的包,Winform就安装LibVLCSharp.Winform;WPF就安装LibVLCSharp.WPF&am…...

消息中间件-Kafka1-实现原理

消息中间件-Kafka 一、kafka简介 1、概念 Kafka是最初由Linkedin公司开发,是一个分布式、支持分区(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以…...

2023年华数杯数学建模B题不透明制品最优配色方案设计解题全过程文档及程序

2023年华数杯全国大学生数学建模 B题 不透明制品最优配色方案设计 原题再现: 日常生活中五彩缤纷的不透明有色制品是由着色剂染色而成。因此,不透明制品的配色对其外观美观度和市场竞争力起着重要作用。然而,传统的人工配色存在一定的局限性…...

Mysql事务常见面试题 -- 事务的特性 ,并发事务问题 , undo_log和redo_log , 分布式事务

一. 事务的特性 ACID 原子性 --> 事务操作被视为一个整体 , 要么全部成功 , 要么全部失败一致性 --> 事务操作前后数据的变化是一致的隔离性 --> 事务的执行不受其他事务的影响持久性 --> 事务执行完毕会对数据永久保存 比如我们在转账的过程中 , A给B转账1000元…...

【数据库系列】Spring Boot如何配置Flyway的回调函数

Flyway 提供了回调机制,使您能够在特定的数据库迁移事件发生时执行自定义逻辑。通过实现 Flyway 的回调接口,可以在迁移前后执行操作,如记录日志、执行额外的 SQL 语句等。 1. 创建自定义回调类 要配置 Flyway 的回调函数,需要创…...

分布式推理框架 xDit

1. xDiT 简介 xDiT 是一个为大规模多 GPU 集群上的 Diffusion Transformers(DiTs)设计的可扩展推理引擎。它提供了一套高效的并行方法和 GPU 内核加速技术,以满足实时推理需求。 1.1 DiT 和 LLM DiT(Diffusion Transformers&am…...

DR.KNOWS:医疗图谱UMLS + 图神经网络 + LLM 模拟医生的诊断推理过程, 从症状出发找到可能的诊断结果

DR.KNOWS:医疗图谱UMLS 图神经网络 LLM 模拟医生的诊断推理过程, 从症状出发找到可能的诊断结果 理解要点解法拆解全流程分析图神经网络的训练论文大纲核心模式真实应用中,为什么说俩跳推理过于简化? 论文:Leveraging A Medical…...

缓存雪崩 详解

缓存雪崩详解 缓存雪崩是分布式系统中一种常见的问题,它指的是缓存中大量数据在同一时间失效,导致所有的请求都直接涌向数据库或后端服务,进而导致系统负载骤增,甚至引发系统宕机或崩溃。 1. 缓存雪崩的原因 缓存雪崩通常由以下…...

使用 Vite 创建 Vue3+TS 项目并整合 ElementPlus、Axios、Pinia、Less、Vue-router 等组件或插件

前言 记录一下使用 Vite 创建 Vue3TS 项目并整合 ElementPlus、Axios、Pinia、Less、Vue-router 等组件或插件。 一、使用 Vite 创建 Vue3TS 项目 1.新建一个 temp 文件夹 (1)在桌面新建一个 temp 文件夹,然后在 VS Code 中打开此文件夹&…...

Flink随笔 20241203 Flink重点内容

Flink 是一个强大的流处理框架,它的设计理念是高吞吐量、低延迟的流式计算。你提到的这些重点是 Flink 的核心组成部分,下面我将详细解析每一个方面。 1. 窗口(Window) 窗口是 Flink 流处理中一个非常重要的概念,主要…...

shell脚本实战

学习视频来自B站UP主泷羽sec,如涉及侵权马上删除文章。 笔记只是方便学习,以下内容只涉及学习内容,切莫逾越法律红线。 安全见闻,包含了各种网络安全,网络技术,旨在明白自己的渺小,知识的广博&a…...

【机器学习】分类任务: 二分类与多分类

二分类与多分类:概念与区别 二分类和多分类是分类任务的两种类型,区分的核心在于目标变量(label)的类别数: 二分类:目标变量 y 只有两个类别,通常记为 y∈{0,1} 或 y∈{−1,1}。 示例&#xff…...

FreeSWITCH mod_conference 的按键会控

又是一篇命题作文 mod_conference 官方文档: https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Modules/mod_conference_3965534/ 英文不好的可以看中文: http://www.freeswitch.org.cn/books/references/1.7-mod_conference.html…...

串口工作方式

串口工作方式 方式0方式0输出方式0输入 方式1方式1输出方式1输入 方式2或方式3输出输入 串口使用方法如何计算波特率串口初始化步骤串口回传实验模拟printf实验串口接收数据不丢失实验 方式0 方式 0 时,串行口为同步移位寄存器的输入输出方式。主要用于扩展并行输 入…...

统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现

要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现。以下是一些常见的方法和步骤: 一、通过命令行工具统计 查看Nginx访问日志: Nginx的访问日志通常默认存储在/var/log/nginx/access.log,但具体位置可能因安装和配置…...

Apache Airflow 快速入门教程

Apache Airflow已经成为Python生态系统中管道编排的事实上的库。与类似的解决方案相反,由于它的简单性和可扩展性,它已经获得了普及。在本文中,我将尝试概述它的主要概念,并让您清楚地了解何时以及如何使用它。 Airflow应用场景 …...

42 基于单片机的智能浇花系统

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机,采样DHT11温湿度传感器检测温湿度,通过LCD1602显示 4*4按键矩阵可以设置温度湿度阈值,温度大于阈值则开启水泵,湿度大于阈值则开启风扇…...

乐橙云小程序插件接入HbuilderX

乐橙插件使用: 1.配置app.json文件,uniapp中在mainfest.json中配置 https://uniapp.dcloud.net.cn/collocation/manifest.html#mp-weixin ** 2、集成插件页面.json文件 ** uniapp在 pages.json 对应页面的 style -> usingComponents 引入组件&…...

VoCo-LLaMA: Towards Vision Compression with Large Language Models

视觉语言模型在各种多模态任务上取得了显著的成功,但经常受到有限上下文窗口和处理高分辨率图像输入和视频的高计算成本的瓶颈。视觉压缩可以通过减少视觉令牌数量避免该问题。先前方法使用额外模块压缩视觉令牌并强制LLM理解压缩的令牌。然而,LLM对视觉…...

Vue+vite 组件开发的环境准备

一.nodejs安装 进入Node.js 官网(Node.js — Run JavaScript Everywhere),点击下载。 双击打开,进行安装 双击打开后,点击 next(下一步),后面也是一直点击 next 无其他设置,直到 …...

基于社区发现的GraphRAG思路

GraphRAG出自2024年4月的论文《From Local to Global: A Graph RAG Approach to Query-Focused Summarization》,其代码也在2024年年中开源 。它在用图结构来完成RAG时,使用社区这个概念并基于社区摘要来回答一些概括性的问题。 Graph RAG流程如论文图1所…...

react学习记录

一、目录结构react优秀代码之react目录结构简洁之道React 作为一个库,不会决定你如何组织项目的结构。这是件好事,因为这样 - 掘金【React】项目的目录结构全面指南_react项目结构-CSDN博客 1、创建项目:开发文档 Getting Started | Create…...

Day2——需求分析与设计

教师端签到应用软件的需求分析; 产品经理如何写好产品需求文档(附模板) 需求分析是软件开发过程中的关键步骤,它确保了开发的软件能够满足用户的需求。以下是进行需求分析的具体步骤: 1. 确定分析目标 明确教师端签到…...

VScode离线下载扩展安装

在使用VScode下在扩展插件时,返现VScode搜索不到插件,网上搜了好多方法,都不是常规操作,解决起来十分麻烦,可以利用离线下载安装的方式安装插件!亲测有效!!! 1.找到VScod…...

【机器学习】机器学习的基本分类-监督学习-决策树(Decision Tree)

决策树是一种树形结构的机器学习模型,适用于分类和回归任务。它通过一系列基于特征的条件判断来将数据分割为多个子区域,从而预测目标变量的值。 1. 决策树的结构 根节点(Root Node) 决策树的起点,包含所有样本。根据某…...

【第 1 章 初识 C 语言】1.8 使用 C 语言的 7 个步骤

目录 1.8 使用 C 语言的 7 个步骤 1.8.1 第 1 步:定义程序的目标 1.8.2 第 2 步:设计程序 1.8.3 第 3 步:编写代码 1.8.4 第 4 步:编译 1.8.5 第 5 步:运行程序 1.8.6 第 6 步:测试和调试程序 1.8.…...

Docker 使用 Dockerfile 文件打包部署前端项目

编写 Dockerfile 文件: FROM nginx:latest ADD dist /etc/nginx/html/dist COPY nginx.conf /etc/nginx/nginx.conf ENV PATH /usr/sbin:$PATH EXPOSE 80 ENTRYPOINT ["nginx"] CMD ["-g","daemon off;"]编写 nginx.conf 文件&#…...