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

【计算机网络】IP协议

目录

 1. 协议头格式

2. 网段划分 

3. 特殊的IP

 4. 公网IP && 内网IP

总结


在这里插入图片描述

网络层的IP协议主要解决的是什么问题?——将数据包从B主机发送给C主机;传输层协议tcp提供可靠的策略;网络层IP协议提供数据数据传输的能力;

 发送报文时,传输路径的选择;想要去一个景点要怎么去?所在城市 + 景点;IP地址也是如此,IP地址就包含了:目标网络,目标主机的信息;IP =  网络号 + 主机号;

 任何一台主机一定在某一个局域网(子网)中;

  • 主机:配有IP地址, 但是不进行路由控制的设备;
  • 路由器:即配有IP地址, 又能进行路由控制; 
  • 节点:主机和路由器的统 称;  

 1. 协议头格式

4位版本号:指定IP协议的版本,对于IPv4来说,就是4;

关于IPv4和IPv6:

  • IPv4:4字节IP地址(32位,大约42亿个IP地址)随着网络的发展(智能家电、手机、电脑...),4字节IP面临着不够用的问题;
  • IPv6:16字节ip地址128位,可表示的主机数量2的128次方,数量比4位IP大的多,目前并没有被广泛使用(国内使用较多主要原因:IPv4和IPv6不兼容);

4位首部长度:0000,4位bit位可表示[0~15],单位也是4字节,可表示范围[0~60]字节;标准报头长度是20字节(不包含选项);

16位总长度:属于自描述字段,报头(含选项)+有效载荷的长度;

8位服务类型:3位优先权字段(已经弃用),4位TOS字段,和1位保留字段(必须置为0)
4位TOS分别表示:最小延时,最大吞吐量,最高可靠性,最小成本;

这四者相互冲突,只能选择一个,对于 ssh / telnet 这样的应用程序,最小延时比较重要;对于ftp这样的程序,最大吞吐量比较重要;

16位标识(id):唯一的标识主机发送的报文. 如果IP报文在数据链路层被分片了, 那么每一个片里面的这个 id都是相同的;

3位标志字段:第一位保留(保留的意思是现在不用, 但是还没想好说不定以后要用到). 第二位置为1表示禁 止分片, 这时候如果报文长度超过MTU, IP模块就会丢弃报文. 第三位表示"更多分片", 如果分片了的话, 最后一个分片置为1, 其他是0. 类似于一个结束标记;

13位分片偏移: 是分片相对于原始IP报文开始处的偏移;其实就是在表示当前分片 在原报文中处在哪个位置;实际偏移的字节数是这个值 * 8 得到的.;因此, 除了最后一个报文之外, 其他报 文的长度必须是8的整数倍(否则报文就不连续了);13位 * 8本质是为了补位到16位;

第二行(16位标识、3位标志字段、13位分片偏移)涉及到数据分片:

背景: MTU的限制,MTU相当于发快递时对包裹尺寸的限制. 这个限制是不同的数据链路对应的物理层, 产生的限制,限制最大为1500字节,最小为46字节;也就是说发送的每个数据包大小不能超过1500字节,超过了就需要分包发送;

 举例示例中就不再 * 8;

比如:这有一个要发送的数据包,大小是3000字节;

 受到MTU的限制,需要对数据包进行分包:

 分成三个包进行划分;接收方收到数据包后,需要进行装片:

如何知道标识(16位标识)的报文分片了?

  • 收到分片,更多分片是1,就证明分片了
  • 如果更多分片位(第三位)是0,看片偏移是否为0,(为0表示没有分片,不为0表示是分片的最后一片)

如何保证分片收全?

  • 3位标志和13位偏移可以确保收到开头(开头偏移是0);
  • 3位标志可和13位偏移以确保收到结尾(偏移不为0,标志位为0);
  • 按照 片偏移进行升序排序,然后进行计算(根据偏移量判断),确保中间是否收到;

如何正确组装?

  • 根据片偏移进行排序,然后去掉后续的报头,进行组装;

8位生存时间(Time To Live, TTL):数据报到达目的地的最大报文跳数,一般是64,每次经过一个路由, TTL -= 1, 一直减到0还没到达,那么就丢弃; 这个字段主要是用来防止出现路由循环;如下图的情况:

 8位协议:表示上层协议的类型,由发送方填充,接收方识别;如果是TCP协议,8位协议就填充为TCP,对方接收到报文,网络层解析报文,通过协议号区分,向上交付时是交给TCP还是UDP;

 16位头部校验和:使用CRC进行校验, 来鉴别头部是否损坏;

IP地址:访问服务时:./tcp_client 192.1.1.1 8888;IP被填充在报头的32位目的IP地址中,端口号被填充在TCP报头中的目的端口中;

2. 网段划分 

         知道了它的协议格式,那如何做到数据发送呢?虽然协议中有8位生存时间,但是依然没有路由选择的策略啊?比如:从一个路由器转发给另一个路由器该如何选择?选择的策略需要根据网段进行选择;在此之前需要了解网段的划分;

IP地址分为两个部分,网络号和主机号;

  • 网络号:用于标识网络的唯一性,标识特定的网络或子网,保证相互连接的两个网段具有不同的标识;
  • 主机号:表示网络中设备的唯一性,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号; 

         一个路由器通常至少需要连接到两个局域网;一个路由器集连两个网络,那就要有两个IP、两个网卡、两个不同的网络物理接口;

比如:在家里连网线,都会有一个路由器,路由器在安装时都会连接网线,这个网线来自于运营商提供的宽带网络线路(电信、移动、联通)通过线路可以连接到运营商的网络;联网之后在家就可以使用局域网上网了;使用手机或电脑发送消息时,就是先发给家中的路由器,然后路由器再将信息发送给运营商,由运营商替你发送请求;由此也可以知道,路由器也有构建子网的功能;这里的路由器就集连了两个局域网,一个家中的局域网,一个运行商的局域网;

路由器构建子网,同时也可以对局域网内的IP地址进行管理;

DHCP服务(应用层):能够自动的给子网内新增主机节点分配IP地址,避免了手动管理IP的不便,一般的路由器都带有DHCP功能,因此路由器也可以看做一个DHCP服务器;现在的路由器,主要工作是在网络层,但不仅仅只工作在网络层,比如:DHCP、http它都可以支持,http访问路由器ip,修改用户名密码等功能;

五种IP地址:

  •  A类 0.0.0.0到127.255.255.255
  • B类 128.0.0.0到191.255.255.255
  • C类 192.0.0.0到223.255.255.255
  • D类 224.0.0.0到239.255.255.255
  • E类 240.0.0.0到247.255.255.255

这种分配方法有很大的问题:
一个B类地址,理论上一个子网内能允许6万5千多个主机;A类地址的子网内的主机数更多;然而实际网络架设中,不会存在一个子网内有这么多的情况。大多数情况下很多的IP地址都被浪费掉了;

大多数组织都申请B类网络地址,导致B类地址很快就分配完了B类只能分配1万6千多个子网,
C类8位主机号,只能允许有256台主机,不满足需求;针对这种情况提出了新的划分方案,称为CIDR(ClasslessInterdomain Routing):

引入一个额外的子网掩码(subnet mask)来区分网络号和主机号;子网掩码也是一个32位的正整数,由一串 "0”来结尾;将IP地址和子网掩码进行"按位与”操作,得到的结果就是网络号;网络号和主机号的划分与这个IP地址是A类、B类还是C类无关;

子网掩码的作用:左边全为1,右边全为0;可以动态的调整划分;

示例:比如一个B类IP(通常是16位网络号,16位主机号),在实际情况下,16位主机号可能就只用了(低)8位;此时就可使用子网划分,划分出多个不同的子网,怎么划分子网?——通过子网掩码调整网络号;

 比如:这个B类的IP,主机号在实际使用中可能只用了后8位(红色部分);前8位(紫色部分)并没有使用,那么就可以使用子网掩码来动态调整,将没有使用的前8位主机号转化成网络号;

 子网掩码:255 . 255 . 255 . 0;

前16位标识的路由器下可以继续组建子网:

这些路由器前16位都是一样的,中间的8位作为网络号的一部分,用来区分这些路由器;
因此:可以划分给256个路由器;当然,这些路由器也都可以构建自己的子网;

 划分网络号有什么用?提高定位和查找主机的效率;

举个例子:

 比如:计算机学院的张三,捡到了一张学生证(李四丢失),张三想要把学生证还给李四,因此他就需要找到李四;怎么找?

在教学楼门口,来一个学生问一下学号,是否与学生证上的学号相同吗?这样等于是遍历全校所有的学生,这样效率大慢了,那怎么找呢?——根据学号,学号有院号和个人编号,根据学号的前几位找到李四所在的院系,张三通过自己院系的学生会主席,找到音乐学院的学生会主席(假设学生会主席知道学院所有的学生),然后学生会主席去通知李四,这样就把学生证交到了李四手中;

网络传输也是如此,只不过是把院系换成一个一个的子网;

3. 特殊的IP

  • 将IP地址中的主机地址全部设为0,就成为了网络号,代表这个局域网;
  • 将IP地址中的主机地址全部设为1,就成为了广播地址,用于给同一个链路中相互连接的所有主机发送数据包;
  • 127.*的IP地址用于本机环回(loop back)测试,通常是127.0.0.1;

 4. 公网IP && 内网IP

  • 10.*,前8位是网络号,共16,777,216个地址
  • 172.16.到172.31.前12位是网络号,共1,048,576个地址
  • 192.168.*,前16位是网络号,共65,536个地址

包含在这些范围中的,都属于私有IP,其余的则称为全局IP(或公网IP); 通常情况下,我们手机电脑使用的都是私有IP(内网IP);

 家用路由器内使用的都是内网IP,通过上图可以发现,在不同的家用局域网中,存在相同的IP;主要原因是因为子网的私有IP不会出现在公网中,大大缓解了IP地址不足的问题;

比如:在家用路由器中,使用手机请求某音的短视频(公网),手机把发送请求发送给家用路由器,路由器识别到网络编号不属于自己的子网,就会把请求交给自己所在的子网路由器(运营商路由器),然后通过运营商路由器发送请求访问公网中的某音服务器;

        现在有新的问题,如何把响应报文从公网中返回回来?任何一个内网路由器,在转发报文的时候,都要将源IP,替换成路由器的WAN口IP;

举个例子:使用手机发送请求给家用路由器,家用路由器发送给运营商路由器时,就会将源IP(手机IP)替换成自己的(路由器的)WAN口IP,运营商路由器发送请求也是如此;这样在返回时,公网的服务器起码知道,要返回的下一级IP是哪个——这种计算就是NAT技术;

其实家用路由器发送请求时,也是将请求到一个更大的子网中,在学校使用校园网也是一样;手机发送请求,先发给学校的路由器(机房),然后机房再将请求发送给运营商路由器(更大的子网,上边可能还有),最终就可以请求到公网的服务器;

 拓展

运行商在网络中扮演什么样的角色?

 不仅仅我们是运营商的客户,互联网公司也是运营商的客户,也要有机房宽带;

家用路由器中拥有两套密码:

  • 局域网名、密码
  • 账号:手机号、密码:XXXX 

举个例子:比如家里的无线局域网,一般都会有一个关联的电话号,只要电话不欠费,就可以一直上网,电话号的话费(网费);手机号账户的密码一般只有运营商知道,发送数据时,会连带着手机号的账号一起发送给运营商;运营商记录着账户的费用,如果发现账户欠费,那就直接将报文丢弃
欠费时运营商可以拦截,如果访问的是非法网址(外网),运营商也可以拦截;

 而我们日常上网所使用的网络,也基本都是运营商组建的局域网;

        IP地址(IPv4)是一个4字节32位的正整数,那么一共只有 2的32次方个IP地址,大概是43亿左右;而TCP/IP,协议规定,每个主机都需要有一个IP地址,这意味着,一共只有43亿台主机能接入网络么?

        实际上,由于一些特殊的IP地址的存在(192.168.限定的内外IP),IP的实际数量远不足43亿;另外IP地址并非是按照主机台数来配置的,而是每一个网卡都需要配置一个或多个IP地址;

CIDR在一定程度上缓解了IP地址不够用的问题(提高了利用率,减少了浪费,但是IP地址的绝对上限并没有增加),仍然不是很够用,这时候有三种方式来解决:

  • 动态分配IP地址:只给接入网络的设备分配IP地址,因此同一个MAC地址的设备,每次接入互联网中,得到的IP地址不一定是相同的;
  • NAT技术:(允许子网中IP地址的重复)
  • IPv6:IPv6并不是IPv4的简单升级版,这是互不相干的两个协议,彼此并不兼容;IPv6用16字节128位来表示一个IP地址;但是目前IPv6还没有普及;

 关于NAT技术:

一个路由器可以配置两个IP地址,一个是WAN口IP(对外),一个是LAN口IP(对内)(子网IP);

路由器LAN口连接的主机,都从属于当前这个路由器的子网中;

        不同的路由器,子网IP一般都是一样的(通常都是192.168.1.1);子网内的主机IP地址不能重复。内网可以使用相同的IP;
        每一个家用路由器,其实又作为运营商路由器的子网中的一个节点。这样的运营商路由器可能会有很多级,最外层的运营商路由器的WAN口IP就是一个公网IP了;

        子网内的主机需要和外网进行通信时,路由器将IP首部中的IP地址进行替换(替换成自己的WAN口IP),这样逐级替换,最终数据包中的IP地址成为一个公网IP。这种技术称为NAT(Network Address Translation,网络地址转换);
        如果希望我们自己实现的服务器程序,能够在公网上被访问到,就需要把程序部署在一台具有外网IP的服务器上、这样的服务器可以在阿里云/腾讯云上进行购买;

 使用命令查看路由表:route

示例:

  1. 路由表匹配:当数据包到达路由器时,路由器会查看路由表,尝试找到一个匹配的路由条目(通常是目的IP地址)。如果找到了匹配的路由条目,路由器会将数据包转发到指定的下一跳地址及其对应的发送接口。

  2. 缺省路由:如果路由器未能找到与目的IP地址匹配的条目(即目的地址不在任何已知的子网中),则路由器会使用缺省路由(通常是一个“0.0.0.0/0”条目)将数据包转发到指定的下一跳地址(通常是上级局域网)。缺省路由用于处理所有未处理的流量。

  3. 同一子网中的路由:路由表可以包含同级路由器的地址以及同一子网中的其他入口或出口。这便于局域网内设备之间的通信,也有助于确保流量能够根据最佳路径转发

怎么理解网络结构?

IP在划分时首先根据国家进行划分,全球国家组成一个巨大的广域网;

国内根据省份再次划分IP,组建以省份为单位的广域网;然后再到市级,地区...;

比如:郑州市的子网路由器的路由表中可能就有其他市区的路由信息(其他子网的入口),同样也有河南省省级局域网路由器(网关)的地址(自己所处子网的出口);网络就是类似于这种的层级结构;


总结

        以上便是本文的全部内容,希望对你有所帮助,感谢阅读!

相关文章:

【计算机网络】IP协议

目录 1. 协议头格式 2. 网段划分 3. 特殊的IP 4. 公网IP && 内网IP 总结 网络层的IP协议主要解决的是什么问题?——将数据包从B主机发送给C主机;传输层协议tcp提供可靠的策略;网络层IP协议提供数据数据传输的能力; 发…...

Libgdx游戏开发系列教程(2)——接水滴游戏实现

目录 游戏玩法 步骤 1.创建项目 2.添加资源文件 3.设置游戏配置 4.加载资源文件 5.播放背景音乐 6.绘制图形 7.雨滴下落实现 8.判断雨滴是否掉落在桶里 9.键盘控制改变桶位置 10.随机雨滴 打包 本文使用Kotlin语言开发 通过本文的学习可以初步了解以下基础知识的…...

【2025rust笔记】超详细,小白,rust基本语法

一、常见cargo命令 查看cargo版本 cargo --version创建cargo项目 create new demo_name构建编译项目 cargo build运行项目 cargo run检查项目代码 cargo check (比cargobuild快)发布构建项目 cargo build --release 电子markdown/pdf格式 二、小demo-----猜数游戏 1、print…...

将 SSH 密钥添加到 macOS 的钥匙串中

git提交代码时,如果SSH密码并未免密,每次拉取,上传操作时都需要密码输入, 可将SSH密钥添加到钥匙串中 git config --global credential.helper store报错: WARNING: The -K and -A flags are deprecated and have bee…...

Gpt翻译完整版

上一篇文章收到了很多小伙伴的反馈,总结了一下主要以下几点: 1. 说不知道怎么调api 2. 目前只是把所有的中文变成了英文,如果想要做多语言还需要把这些关键字提炼出来成放到message_zh.properties和message_en.properties文件中&#xff0c…...

CC++的内存管理

目录 1、C/C内存划分 C语言的动态内存管理 malloc calloc realloc free C的动态内存管理 new和delete operator new函数和operator delete函数 new和delete的原理 new T[N]原理 delete[]的原理 1、C/C内存划分 1、栈:存有非静态局部变量、函数参数、返回…...

HTTP 状态代码 501 502 问题

问题 单个客户端有时会出现 报错 501 或 502 如下: System.Net.Http.HttpRequestException: Response status code does not indicate success: 501 (Not Implemented) 分析 可以排除 服务器无法处理的问题(测试发现 一个客户端报错,不会影响…...

virtio_video virtio_snd

在 Qualcomm 平台的 虚拟机(VM) 环境中,qcom,virtio_snd 是 VirtIO 机制下的 音频 DMA 共享 设备节点,它用于 虚拟机和宿主机(Hypervisor)之间共享音频数据,类似于标准的 VirtIO 声音设备。 1️…...

【大模型安全】大模型安全概述

【大模型安全】大模型安全概述 1.大模型安全目前的关键挑战技术安全合规安全 2.大语言模型的安全隐患与主要风险点3.大语言模型与国家安全风险4.大语言模型的信息安全原则 1.大模型安全目前的关键挑战 技术安全 1、数据的安全与合理利用 大语言模型通常需要处理大量敏感数据…...

基于 vLLM 部署 LSTM 时序预测模型的“下饭”(智能告警预测与根因分析部署)指南

Alright,各位看官老爷们,准备好迎接史上最爆笑、最通俗易懂的 “基于 vLLM 部署 LSTM 时序预测模型的智能告警预测与根因分析部署指南” 吗? 保证让你笑出猪叫,看完直接变身技术大咖!🚀😂 咱们今天的主题,就像是要打造一个“智能运维小管家”! 这个小管家,不仅能提…...

深入理解三色标记、CMS、G1垃圾回收器

三色标记算法 简介 三色标记算法是一种常见的垃圾收集的标记算法,属于根可达算法的一个分支,垃圾收集器CMS,G1在标记垃圾过程中就使用该算法 三色标记法(Tri-color Marking)是垃圾回收中用于并发标记存活对象的核心算…...

【车规芯片】如何引导时钟树生长方向

12nm车规DFTAPR项目中,我们可以看到,绝大部分的sink都受控于xxxx_tessent_occ_clk_cpu_inst/tessent_persistent_cell_clock_out_mux/C10_ctmi_1这个mux,这是我们DFT设计结果: 这里我们重新打开place的数据 Anchor,也就…...

基于Spring Boot的企业车辆管理系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...

Spring Boot 中短时间连续请求时出现Cookie获取异常问题

Spring Boot 中短时间连续请求时出现Cookie获取异常问题 一、问题描述:异步线程操作导致请求复用时 Cookie 解析失败1. 场景背景2. 问题根源 二、问题详细分析1. 场景重现2. 问题分析 三、如何避免影响下一次请求?✅方式 1:在主线程提前复制 …...

轮播图案例

&#xff08;1&#xff09;、搭建轮播图的结构 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>轮播图结构</title><!-- <script src"../js/tools.js"></script> --…...

通俗版解释:分布式和微服务就像开餐厅

一、分布式系统&#xff1a;把大厨房拆成多个小厨房 想象你开了一家超火爆的餐厅&#xff0c;但原来的厨房太小了&#xff1a; 问题&#xff1a;一个厨师要同时切菜、炒菜、烤面包&#xff0c;手忙脚乱还容易出错。 解决方案&#xff1a; 拆分成多个小厨房&#xff08;分布式…...

【开源-常用C/C++命令行解析库对比】

以下是几种常用的C/C命令行解析库的对比表格&#xff0c;以及它们的GitHub开源库地址&#xff1a; 库名称语言特点是否支持子命令是否支持配置文件是否支持自动生成帮助信息GitHub地址ClaraC11及以上单一头文件&#xff0c;轻量级&#xff0c;非异常错误处理&#xff0c;自动类…...

JavaEE_多线程(一)

目录 1. 为啥要有线程1.1 线程是什么1.2 进程和线程的区别1.3 Java如何进行多线程编程 2 使用线程2.1 创建线程2.2 Thread类的几个常见方法和属性2.2.1 Thread常见构造方法2.2.2 Thread常见属性2.2.3 常见其他方法 2.3 终止一个线程2.3.1 通过共享的标记位来进行沟通2.3.2 调用…...

table 拖拽移动

表格拖拽 Sortable.js中文网|配置 <!-- 教务处 --><template><div class"but"><el-button click"mergeAndPrintArrays()" type"primary">保存数据</el-button><el-button click"restoration()" t…...

【QGIS二次开发】地图显示与交互-01

1. 系统界面设计 设计的系统界面如下&#xff0c;很好还原了QGIS、ArcGIS等软件的系统界面&#xff0c;充分利用了QT中顶部工具栏、菜单栏、底部状态栏&#xff0c;实现了图层管理器、鹰眼图、工具箱三个工具面板。 菜单栏、工具栏、工具箱集成了系统中实现的全部功能&#x…...

Microsoft.Office.Interop.Excel 的简单操作

Microsoft.Office.Interop.Excel 的简单操作 1、安装 Microsoft.Office.Interop.Excel2、声明引用 Microsoft.Office.Interop.Excel3、简单的新建 EXCEL 操作代码4、将 DataGridView 表数据写到 EXCEL 操作代码5、将 EXCEL 表数据读取到 C# 数据表 DataTable 操作代码 1、安装 …...

Debezium日常分享系列之:Debezium 3.0.8.Final发布

Debezium日常分享系列之&#xff1a;Debezium 3.0.8.Final发布 稀疏向量逻辑类型重命名架构历史配置默认值的更改潜在的 Vitess 数据丢失Oracle 的 Reselect 列后处理器行为更改MariaDB 的 SSL 连接 稀疏向量逻辑类型重命名 PostgreSQL 扩展 vector&#xff08;也称为 pgvecto…...

论传输层的TCP协议和UDP协议scoket通讯

TCP传输前需要三次握手---断开需要四次挥手 谁先发出请求、谁是客户端&#xff08;client&#xff09;另一个就是服务器&#xff08;server&#xff09;---简称CS架构 现在更多的是BS架构 什么是BS架构&#xff1f; blower server 浏览器服务器---也就是浏览器代替了客户端…...

《鸢尾花数学大系:从加减乘除到机器学习》开源资源

《鸢尾花数学大系&#xff1a;从加减乘除到机器学习》开源资源 Gitee&#xff1a;https://gitee.com/higkoo/ bilibili&#xff1a;https://space.bilibili.com/513194466 GitHub&#xff1a;https://github.com/Visualize-ML...

DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)示例2: 分页和排序

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)示例2: 分页和排序📚页面效果📚指令输入定义…...

MySQL——DQL、多表设计

目录 一、DQL 1.基本查询 2.条件查询 3.分组查询 4.排序查询 5.分页查询 二、多表设计 1.一对多 2.一对一 3.多对多 一、DQL 1.基本查询 注意&#xff1a; *号代表查询所有字段&#xff0c;在实际开发中尽量少用&#xff08;不直观、影响效率&#xff09; 2.条件查询…...

【文献阅读】The Efficiency Spectrum of Large Language Models: An Algorithmic Survey

这篇文章发表于2024年4月 摘要 大语言模型&#xff08;LLMs&#xff09;的快速发展推动了多个领域的变革&#xff0c;重塑了通用人工智能的格局。然而&#xff0c;这些模型不断增长的计算和内存需求带来了巨大挑战&#xff0c;阻碍了学术研究和实际应用。为解决这些问题&…...

玩转大模型——Trae AI IDE国内版使用教程

文章目录 Trae AI IDE完备的 IDE 功能强大的 AI 助手 安装 Trae 并完成初始设置管理项目什么是 “工作空间”&#xff1f;创建项目 管理插件安装插件从 Trae 的插件市场安装从 VS Code 的插件市场安装 禁用插件卸载插件插件常见问题暂不支持安装 VS Code 插件市场中某个版本的插…...

【实战 ES】实战 Elasticsearch:快速上手与深度实践-2.3.1 避免频繁更新(Update by Query的代价)

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 Elasticsearch数据更新与删除深度解析&#xff1a;2.3.1 避免频繁更新&#xff08;Update by Query的代价&#xff09;案例背景1. Update by Query的内部机制解析1.1 文档更…...

stable-diffusion-webui 加载模型文件

背景 stable-diffusion-webui 安装完毕后&#xff0c;默认的模型生成的效果图并不理想&#xff0c;可以根据具体需求加载指定的模型文件。国内 modelscope 下载速度较快&#xff0c;以该站为例进行介绍 操作步骤 找到指定的模型文件 在 https://modelscope.cn/models 中查找…...

BKA-CNN基于黑翅鸢算法优化卷积神经网络的数据多特征分类预测Matlab

BKA-CNN基于黑翅鸢算法优化卷积神经网络的数据多特征分类预测Matlab 目录 BKA-CNN基于黑翅鸢算法优化卷积神经网络的数据多特征分类预测Matlab分类效果基本介绍BKA-CNN基于黑翅鸢算法优化卷积神经网络的数据多特征分类预测一、引言1.1、研究背景和意义1.2、研究现状1.3、研究目…...

SparkStreaming之04:调优

SparkStreaming调优 一 、要点 4.1 SparkStreaming运行原理 深入理解 4.2 调优策略 4.2.1 调整BlockReceiver的数量 案例演示&#xff1a; object MultiReceiverNetworkWordCount {def main(args: Array[String]) {val sparkConf new SparkConf().setAppName("Networ…...

maven高级-05.私服

一.私服...

FFmpeg-chapter2-C++中的线程

1 常规的线程 一般常规的线程如下所示 // CMakeProject1.cpp: 定义应用程序的入口点。 //#include "CMakeProject1.h" #include <thread> using namespace std;void threadFunction(int index) {for (int i 0; i < 1000; i){std::cout << "Th…...

【前端】简单原生实例合集html,css,js

长期补充&#xff0c;建议关注收藏点赞。 目录 a标签设置不一样的花样&#xff08;图片但不用img)侧边固定box分栏input各种类型iframe表单拖拽 a标签设置不一样的花样&#xff08;图片但不用img) a标签里面不用嵌套img&#xff0c;直接设置为其bg-img即可 <!DOCTYPE html…...

Linux下的shell指令(一)

作业 1> 在终端提示输入一个成绩&#xff0c;通过shell判断该成绩的等级 [90,100] : A [80, 90) : B [70, 80) : C [60, 70) : D [0, 60) : 不及格 #!/bin/bash read -p "请输入学生成绩:" score if [ "$score" -ge 90 ] && [ "$scor…...

AJAX介绍

XMLHttpRequest get请求使用 const xhr new XMLHttpRequest(); xhr.open("GET", "/data/test.json", true); xhr.onreadystatechange function () {if (xhr.readyState 4) {if (xhr.status 200) {alert(xhr.responseText);} else {console.log("…...

Serilog: 强大的 .NET 日志库

Serilog 是一个功能强大的日志记录库&#xff0c;专为 .NET 平台设计。它提供了丰富的 API 和可插拔的输出器及格式化器&#xff0c;使得开发者能够轻松定制和扩展日志记录功能。在本文中&#xff0c;我们将探索 Serilog 的基础知识、API 使用、配置和一些常见的示例。 1. 日志…...

串口通讯基础

第1章 串口的发送和接收过程 1.1 串口接收过程 当上位机给串口发送(0x55)数据时&#xff0c;MCU的RX引脚接受到&#xff08;0x55&#xff09;数据&#xff0c;数据(0x55)首先进入移位寄存器。数据全部进入移位寄存器后&#xff0c;一次将&#xff08;0x55&#xff09;全部搬运…...

SSL证书和HTTPS:全面解析它们的功能与重要性

每当我们在互联网上输入个人信息、进行在线交易时&#xff0c;背后是否有一个安全的保障&#xff1f;这时&#xff0c;SSL证书和HTTPS便扮演了至关重要的角色。本文将全面分析SSL证书和HTTPS的含义、功能、重要性以及它们在网络安全中的作用。 一、SSL证书的定义与基本概念 S…...

全国青少年航天创新大赛各项目对比分析

全国青少年航天创新大赛各项目对比分析 一、比赛场地对比 项目名称场地尺寸场地特点组别差异筑梦天宫虚拟三维场景动态布局&#xff0c;小学组3停泊处&#xff0c;初高中组6停泊处&#xff1b;涉及传送带、机械臂、传感器等虚拟设备。初中/高中组任务复杂度更高&#xff0c;运…...

低空监视-无人机专用ADS-B应答机

产品简介 ping200XR是经过TSO适航认证的无人机专用ADS-B应答机&#xff0c;用于中大型无人机的低空监视。将经过认证的航空级航电设备引入无人机系统。该应答机支持航管二次雷达A&#xff0c;C/S模式和ADS-B OUT。重量仅52克满足无人机所面临的尺寸、重量、功耗的挑战&#xf…...

【linux】文件与目录命令 - sort

文章目录 1. 基本用法2. 常用参数3. 用法举例4. 注意事项 sort 命令用于对文本文件中的行进行排序&#xff0c;支持按字母顺序、数值大小、特定字段等方式进行排序。默认按字母顺序升序排序。 1. 基本用法 语法&#xff1a; sort [选项] 文件 sort [选项] -o 输出文件 文件功能…...

【工具推荐】在线提取PDF、文档、图片、论文中的公式

网址1&#xff1a;https://simpletex.cn/ai/latex_ocr 网址2: https://www.latexlive.com/home 推荐理由&#xff1a;无需下载&#xff0c;在线使用&#xff0c;直接 截图 CTRLV 效果更佳。...

大模型在垂直行业的落地实践:从通用到定制化的技术跃迁

大模型在垂直行业的落地实践&#xff1a;从通用到定制化的技术跃迁 一、通用大模型的局限性&#xff1a;从 “全能” 到 “专精” 的转型挑战 通用大模型&#xff0c;如 GPT 系列&#xff0c;凭借其强大的自然语言处理能力&#xff0c;在文本生成、语义理解、机器翻译等基础任…...

FPGA开发,使用Deepseek V3还是R1(1):应用场景

以下都是Deepseek生成的答案 FPGA开发&#xff0c;使用Deepseek V3还是R1&#xff08;1&#xff09;&#xff1a;应用场景 FPGA开发&#xff0c;使用Deepseek V3还是R1&#xff08;2&#xff09;&#xff1a;V3和R1的区别 FPGA开发&#xff0c;使用Deepseek V3还是R1&#x…...

Docker概念与架构

文章目录 概念docker与虚拟机的差异docker的作用docker容器虚拟化 与 传统虚拟机比较 Docker 架构 概念 Docker 是一个开源的应用容器引擎。诞生于 2013 年初&#xff0c;基于 Go 语言实现。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xf…...

算法之数据结构

目录 数据结构 数据结构与算法面试题 数据结构 《倚天村 • 图解数据结构》 | 小傅哥 bugstack 虫洞栈 ♥数据结构基础知识体系详解♥ | Java 全栈知识体系 线性数据结构 | JavaGuide 数据结构与算法面试题 数据结构与算法面试题 | 小林coding...

Mysql学习笔记(六)Django连接MySQL

一、Django中的MySQL驱动程序 Python中常见的MySQL驱动程序&#xff1a; MySQL-python&#xff1a;就是MySQLdb&#xff0c;是对C语言操作MySQL的封装&#xff0c;支持Python2&#xff0c;不支持Python3mysqlclient:MySQL-python的另一个分支&#xff0c;支持Python3pymysql&am…...

手机号码归属地的实现

手机号码归属地查询一般可以通过以下几种方式实现&#xff1a; 1. 使用公开的号码归属地数据库 可以使用国内的手机号码归属地数据库&#xff0c;如&#xff1a; 百度号码归属地开放API阿里云号码归属地API腾讯号码归属地API 你可以在本地存储一个 CSV 或 SQLite 数据库&…...