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

学习笔记——网络参考模型——TCP/IP模型(网络层)

三、TCP/IP模型-网络层

1、IPV4报头

(1)IPV4报文格式

IP Packet(IP数据包),其包头主要内容如下∶

Version版本∶4 bit,4∶表示为IPv4; 6∶表示为IPv6。

Header Length首部长度∶4 bit,代表IP报头的长度(首部长度),如果不带Option字段,则为20,最长为60。

DS Field:定义优先级

DSCP:区分服务 后期结合QOS使用的 [不在QOS场景下 字段无意义]

Type of Service∶8 bit,服务类型。优先级,越高越先处理。只有在有QoS差分服务要求时,这个字段才起作用。

Total Length∶16 bit,总长度,整个IP数据包的长度(IP报头+上层数据 [总长度-IP报头长度=上层数据] )。

Identification∶ 16 bit,标识,分片重组时会用到该字段。

Flags∶ 3 bit,标志位。

Fragment Offset∶12 bit,片偏移,分片重组时会用到该字段。

TTL(Time to Live)∶8 bit,生存时间。

Protocol∶8 bit,协议∶下一层协议。指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给哪个进程处理。

常见值∶

1: ICMP, Internet Control Message;        2: IGMP, Internet Group Management;

6: TCP, Transmission Control Protocol;     17: UDP, User Datagram Protocol。

Header Checksum∶16 bit,首部检验和。

Source IP Address32 bit,源IP地址。

Destination IP Address32 bit,目的IP地址。

Options∶可变,选项字段。

Padding∶可变,填充字段,全填0。

(2)数据包分片

当数据包比链路MTU大时,将报文分割成多个片段的过程叫做分片

网络中转发的IP报文的长度可以不同,但如果报文长度超过了数据链路所支持的最大长度,则报文就需要分割成若干个较小的片段才能够在链路上传输。

Identification∶16 bit,发送主机赋予的标识,分片重组时会用到该字段。

Flags∶3 bit,标志位(标识)

DF:Dont’t fragment:不分片位[应用开发,本身制定了]

DF=0  代表该数据可以进行分片。保留段位∶0,保留。

DF=1  代表该数据不可以分片,数据大于MTU 单DF=1,则无法分片,数据丢弃。

不分段位∶1表示"不能分片"; 0表示"能分片"。

MF:更多分片

MF=1,表示"后面还有分片";

MF=0,表示"代表后方没有分片了,接受者可以重组"

Fragment Offset∶12 bit,片偏移,分片重组时会用到该字段。指出较长的分组在分片后,

该片在原分组中的相对位置,与更多段位组合,帮助接收方组合分段的报文。

>分片后,子分片会保留和原始分片相同的IP报头。

>分片后,除原始分片之外,其他的子分片都不会携带上层的协议报头[icmp-传输层][一般指最后一个]

(3)协议号(Protocol)

IP报文头中的协议号字段标识了将会继续处理该报文的协议。即指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上报给哪个进程处理。

目的端的网络层在接收并处理报文以后,需要决定下一步对报文如何处理。IP报文头中的协议字段标识了将会继续处理报文的协议。

该字段可以标识网络层协议,也可以标识上层协议,

- ICMP(Internet Control Message Protocol,因特网控制报文协议,对应值0x01)1=ICMP

- TCP(Transmission Control Protocol,传输控制协议,对应值0x06)      6=TCP

- UDP(User Datagram Protocol,用户数据包协议,对应值0x11)          17=UDP

- OSPF (Open Shortest Path First,开放式最短路径优先,对应值)          89=OSPF

(4)生存时间(Time to Live , TTL)

TTL字段设置了数据包可以经过的路由器数目(三层设备)[自带防环手断]。

防止IP数据包在网络内无休止的传输,一旦经过一个路由器(三层设备),TTL值就会减1,当该字段值为0时,数据包将被丢弃。

防环:规定特定数值255、128、64[不同的厂商不一样] 当TTL减为1后,数据会丢弃,并且向源端发送一个TTL超时。

破环:无法消除环路 -->结合 工程师在配置时合理化的配置

利用TTL特性,可以实现路由跟踪技术,排错的重要方法之一!

Ping -i   或   Tracert: ​​​​​​​

Time to Live∶8 bit,生存时间。可经过的最多路由数,即数据包在网络中可通过的路由器数的最大值。

报文在网段间转发时,如果网络设备上的路由规划不合理,就可能会出现环路,导致报文在网络中无限循环,无法到达目的端。环路发生后,所有发往这个目的地的报文都会被循环转发,随着这种报文逐渐增多,网络将会发生拥塞。

为避免环路导致的网络拥塞,IP报文头中包含一个生存时间TTL(Time To Live)字段。报文每经过一台三层设备,TTL值减1。初始TTL值由源端设备设置。当报文中的TTL 降为0时,报文会被丢弃。同时,丢弃报文的设备会根据报文头中的源IP地址向源端发送ICMP错误消息。(注意∶网络设备也可被配置为不向源端发送ICMP错误消息。)

Head checksum头部校验和 [E2=FCS] [类似]

FCS:所有                    Check-sum:校验IP报头的头部

2、IP地址

(1)IP地址介绍

IP地址在网络中用于标识一个节点(或者网络设备的接口)用于IP报文在网络中的寻址

IP地址:全局定位的作用 [工作在每一个需要网络层的设备上]

MAC地址:工作在链路上[工作在数据链路层环境下,实现在一个链路中定位某一个设备]

IP地址的作用是唯一标识网络中的一个节点,可以通过IP地址进行不同网段的数据访问。

在IP网络上,如果用户要将一台计算机连接到Internet上,就需要申请一个IP地址。IP地址就像现实中的地址,可以标识网络中的一个节点,数据就是通过它来找到目的地的。即我们通过IP地址实现全球范围内的网络通信。

IP地址是网络设备接口的属性,不是网络设备本身的属性。当我们说给某台设备分配一个IP地址时,实质上是指给这台设备的某个接口分配一个IP地址。如果设备有多个接口,通常每个接口都至少需要一个IP地址。

注∶需要使用IP地址的接口,通常是路由器和计算机的接口。

(2)IP地址表示

一个IPv4地址有32位二进制组成。IPv4地址通常采用"点分十进制"表示。

点分十进制表示法:IP地址表现形式能够帮助我们更好的使用和配置网络,但通信设备在对IP地址进行计算时使用的是二进制的操作方式,因此掌握十进制、二进制的转换运算非常有必要。

IPv4地址范围:00000000.00000000.00000000.00000000~11111111.11111111.11111111.1111111

即0.0.0.0~255.255.255.255。

进制,即表述数据的方法。进制类型:10进制、2进制、16进制

10进制:即组成数据的基本单元,包含了0-9。 主要是让人看的。

2进制:即组成数据基本单元,包含了0和1。 主要是让设备看的。

16进制:即组成数据基本单元,包含了0-9,a,b,c,d,e,f。 通常是用在“抓包软件”中,用于分析协议的数据包内容。

10进制的表示方法

127=1*10^2+2*10^1+7*10^0

2进制的表示方法

10101110=1*2^7+0*2^6+1*2^5+0*2^4+1*2^3+1*2^2+1*2^1+0*2^0

3、IP地址计算

2进制转换为10进制

常见应用场景:“IP地址”的识别和表示。

例如:IP地址的表示格式为:11000000.10101000.00000001.->192.168.1.1

2进制转换为10进制的核心精髓:

牢记2^n的结果,n=0~7

1,2,4,8,16,32,64,128:10进制转换为2进制

常见应用场景:”IP地址”的识别、表示和判断。判断IP地址是否同网段。

例如:判断PC1(192.168.1.1/24)和(192.168.1.130/24)是否为同一个网段

10进制转换为2进制的核心精髓

通过将10进制数除以2,将最终的“余数”组合在一起,变成8个2进制,不足8位的用0补全。

计算机=二进制 010101011 方便计算机处理 "逻辑集成电路" 通=1 断=0

十进制=192.168.1.111 4组十进制数 点分十进制 共4组成

1组十进制=8位二进制 4组=4*8=32位,每一组十进制数都可以用8个二进制数来表达。

如果某一位无法表达当前的数值时,则触发进位进制;进位时,原来的位数要置为0。

位数:每一个数在不同的位表达的含义不一致的,自后向前表达,自后是小值,向前为大值。

规则:二进制的0/1 在不同的位表达的含义不一致,0永远代表不取值,1则表达的信息要具体与不同位进行对应。

1111=8+4+2+1=15

11111=16+8+4+2+1=31

111111=32+31=63

1111111=64+63=127

11111111=128+64+32+16+8+4+2+1=255

255.255.255.255

最大:所有可变的二进制位都置为1。

1111=8+4+2+1=15

11111=16+8+4+2+1=31

111111=32+31=63

1111111=64+63=127

11111111=128+64+32+16+8+4+2+1=255

最小:所有可变的二进制位都置为0。

0000 0000=0          0.0.0.0

例∶172.16.10.1/16这个B类地址的网络地址、广播地址以及可用地址数分别是

网络地址∶将IP地址的主机位全设为0,所得结果是该IP地址所在网络的网络地址。

广播地址∶将IP地址的主机位全设为1,所得结果是该IP地址所在网络的广播地址。

IP地址数∶2",n为主机位位数。

可用IP地址数∶2"-2,n为主机位位数。

179 划分10次方

1*10的3-1次方 1*100=100

7*10的2-1次方 7*10=70

9*10的1-1次方 9*1=9

100+70+9=179

179 十进抽划分二进制

179 128 51 32 19 16 2 1

10110011

二进制和 十进制转换

二进制:用0和1,单位是:bit

十进制

128

64

32

16

8

4

2

1

二进制

10000000

1000000

100000

10000

1000

100

10

1

(1)累加法

3=11

6=110

10=1010

12=1100

20=10100

128=10000000

192=11000000

224=11100000

calc-----计算器---查看  程序员型

(2)凑数法

将每一组用8位二进制数表达出来,最终按照先后顺序,依次进行排列,得到最终的结果。

192.168.1.111

1100 0000. 1010 1000. 0000 0001. 0110 1111 === 192.168.1.111   //2进制 10进制

二进制转换成十进制

101=5

1100=12

1001=9

10010=18

128    64  32  16  8   4   2   1

3=11

7=111

15=1111

31=11111

63=111111

127=1111111

奇数:最后一个bit 一定是1   7=111  5=101

偶数:最后一个bit 一定是0   6=110  12=1100

一个网段可用地址数量计算∶

一个网段的主机位为n位,则P地址数为∶2",可用IP地址数为∶2"-2(减去网络地址0 -和广播地址)。

一个子网包含的可用的主机ip数量(一个网段有多少个ip 地址)

192.168.1.0 /24      254=2^m-2 (m代表主机位的个数)

192.168.1 .xxxxxxxx     后8bit主机位192.168.6.0  255.255.248.0 /21

可用IP地址数量 = 2^11-2=2046

192.168.1.0      255.255.255.252   可用IP地址数量 = 2^2-2=2

192.168.1.000000

00  主机位全0

192.168.1.000000

01

192.168.1.000000

10

192.168.1.000000

11 主机位全1

注意:主机位全0 或者全1 不能配置在任何PC或者路由器上面(即非法的主机ip)

主机位全0:网络地址代表整个网段 子网 

主机位全1:广播地址 子网广播地址

例如:192.168.1.128 255.255.255.128   /25 非法192.168.1.1      0000000

前25bit网络位 后面7bit主机位

例如:192.168.1.255 255.255.255.0 非法

例如:192.168.1.0       255.255.255.0 非法

例如:192.168.1.0       255.255.128.0 合法

4、IP地址分类

IP地址分为有类和无类。

有类(主类)IP地址:主要分为A、B、C类,每种类型固定的掩码。

无类IP地址:无论哪种类型的IP地址都没有固定掩码。

A类    1-126      例如:8.200.1.1      默认掩码: 255.0.0.0   1700W

第一个8位组的第一位 一定取值0 /8 == 255.0.0.0

00000000.xxxxxxx.……          01111111.1111111……

最小:0.0.0.0                  最大:127.255.255.255

B类 128-191    例如:172.16.1.1     默认掩码: 255.255.0.0     65536

第一个8位组的前两位 一定取值10 /16 == 255.255.0.0

10000000.xxxxxxx.……          10111111.1111111……

最小:128.0.0.0                最大:191.255.255.255

C类 192-223    例如:192.168.1.1    默认掩码: 255.255.255.0   256

第一个8位组的前三位 一定取值110 /24 == 255.255.255.0

11000000.xxxxxxx.……          11011111.1111111……

最小:192.0.0.0                 最大:223.255.255.255

D类 224-239    例如:224.5.5.5       组播地址

第一个8位组的前四位 一定取值1110。 //组播地址 //逻辑地址

11100000.xxxxxxx.……          11101111.1111111……

最小:224.0.0.0                最大:239.255.255.255

E类 剩下       实验地址

第一个8位组的前四位 一定取值1111。 //军事 保留地址

11110000.xxxxxxx.……          11111111.1111111……

最小:240.0.0.0                 最大:255.255.255.255

注意:A B C类地址属于单播地址,可以配置在PC上面。D E类无法配置在PC上面。

为了方便IP地址的管理及组网,IP地址分成五类∶

A、B、C、D、E类的类别字段分别是二进制数0、10、110、1110、1111,通过网络号码字段的前几个比特就可以判断IP地址属于哪一类,这是区分各类地址最简单的方法。

A、B、C三类地址是单播IP地址(除一些特殊地址外),只有这三类地址才能分配给主机接口使用。

D类地址属于组播IP地址。只能作为逻辑地址存在,不能配置在设备接口上。

E类地址专门用于特殊的实验目的。

A、B、C类地址比较∶

1)使用A类地址的网络称为A类网络;使用B类地址的网络称为B类网络;使用C类地址的网络称为C类网络。

2)A类网络的网络号为8 bit,个数很少,但所允许的主机接口的个数很多;首位恒定为0,地址空间为∶0.0.0.0~127.255.255.255。

3)B类网络的网络号为16 bit,介于A类和C类网络之间;首两位恒定为10,地址空间为∶128.0.0.0~191.255.255.255。

4)C类网络的网络号为24 bit,个数很多,但所允许的主机接口的个数就很少;首三位恒定为110,地址空间为∶192.0.0.0~223.255.255.255。

注∶主机(Host),通常指路由器和计算机的统称。并且常把主机的某个接口的IP地址简称为主机IP地址。

组播地址∶组播能实现一对多传递消息。

我们通常把一个网络号所定义的网络范围称为一个网段

网络地址:网络号为X,主机号的每个比特都为0。不能分配给具体的主机接口使用。

广播地址:网络号为X,主机号的每个比特都为1。不能分配给具体的主机接口使用。

可用地址:又称主机地址,可用分配给具体的主机接口使用。

一个网段可用地址数量计算:一个网段的主机位为n位,则IP地址数为:2",可用IP地址数为:2"-2 (减去网络地址和广播地址)。

5、私网地址和公网地址

(1)私网IP地址

私网IP地址:任何人都可以使用的地址,一般用于局域网(内网),私网地址无法在公网上(运营商)被路由(传输)。

实际上一些网络不需要连接到Internet,比如一个大学的封闭实验室内的网络,只要同一网络中的网络设备的IP地址不冲突即可。在IP地址空间里,A、B、C三类地址中各预留了一些地址专门用于上述情况称为私网IP地址

例如:192.168.1.3   >7.7.7.7   202.1.1.1------>7.7.7.7

私有地址范围

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

(2)公网IP地址

公网IP地址:IP地址是由IANA统一分配的,以保证任何一个IP地址在Internet上的唯一性,这里的IP地址是指公网IP地址。全球独一无二 ,可以在公网上被路由。

为了解决IP地址短缺的问题,提出了私有地址的概念。私有地址是指内部网络或主机地址,这些地址只能用于某个内部网络,不能用于公共网络。

公网IP地址∶连接到Internet的网络设备必须具有由ICANN分配的公网IP地址。

私网IP地址∶私网IP地址的使用使得网络可以得到更为自由地扩展,因为同一个私网IP地址是可以在不同的私有网络中重复使用的。

私有网络连接到Internet∶私有网络由于使用了私网IP地址,是不允许连接到Internet的。后来在实际需求的驱动下,许多私有网络也希望能够连接到Internet上,从而实现私网与Internet之间的通信,以及通过Internet实现私网与私网之间的通信。私网与Internet的互联,必须使用网络地址转换(NAT)技术实现。

注∶NAT(Network Address Translation)网络地址转换,其基本作用是实现私网IP地址与公网IP地址之间的转换。

IANA(Internet Assigned Numbers Authority),因特网地址分配组织。

(3)特殊IP地址

(A)127.0.0.0 ~ 127.255.255.255  本地环回,代表自己,用于设备内部的协议栈测试使用。

IP协议规定:如果数据的目的IP地址为127,该网络则无法发送出本设备的接口。

IP地址空间中,有一些特殊的IP地址,这些IP地址有特殊的含义和作用,举例如下。

255.255.255 这个地址称为有限广播地址,它可以作为一个IP报文的目的IP地址使用。

路由器接收到目的IP地址为有限广播地址的IP报文后,会停止对该IP报文的转发。

(B)0.0.0.0 //不可用   0.0.0.0--0.255.255.255

(1)如果把这个地址作为网络地址,它的意思就是"任何网络"的网络地址;

(2)如果把这个地址作为主机接口地址,它的意思就是"这个网络上主机接口"的IP地址。

0.0.0.0的作用:

1.未指定的地址  

2.路由层面:全网所有的地址

例如∶当一个主机接口在启动过程中尚未获得自己的IP地址时,就可以向网络发送目的IP地址为有限广播地址、源IP地址为0.0.0.0的DHCP请求报文,希望DHCP服务器在收到自己的请求后,能够给自己分配一个可用的IP地址。

127.0.0.0/8 这个地址为环回地址,它可以作为一个IP报文的目的IP地址使用。其作用是测试设备自身的软件系统。

一个设备产生的目的IP地址为环回地址的IP报文是不可能离开这个设备本身的。

169.254.0.0/16 如果一个网络设备获取IP地址的方式被设置成了自动获取方式,但是该设备在网络上又没有找到可用的DHCP服务器,那么该设备就会使用169.254.0.0/16网段的某个地址来进行临时通信。

注∶ DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,用于动态分配网络配置参数,如IP地址。

广播分为:

全向广播  255.255.255.255  针对发送者而言

定向广播

0.0.0.0所有 代表任何网段255.255.255.255   广播169.254.x.x   没获取到地址特殊mac地址

全F 的MAC地址     广播MAC

01-00-5e-xx-xx-xx    组播mac

6、IP地址构成

结构上分为网络位和主机位两部分∶

网络位,代表IP地址所属的网段。网络位一致的ip地址和掩码的组合称为同一个网段。

主机位,代表网段上的某个节点。由子网掩码决定分界点。

相同网段:前面的网络位相同!!

例如:192.168.1.1    255.255.255.0 ===/24

11000000.10101000.00000001. 00000001    前24个bit 是网络位,后8个bit是主机位。

IP地址是以网络号和主机号来标示网络上的主机的,我们把网络号相同的主机称之为本地网络。网络号不相同的主机称之为远程网络主机,本地网络中的主机可以直接相互通信;远程网络中的主机要相互通信必须通过本地网关(Gateway)来传递转发数据。

网络地址:代表了本网段的所有地址,出现在路由表。

广播地址: 用于本网络内所有的主机通信的。


整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度,觉得这段文字更通俗易懂,融入了自己的学习笔记中。如有相关文字涉及到某个人的版权利益,可以直接联系我,我会把相关文字删除。【VX:czlingyun    暗号:CSDN】

相关文章:

学习笔记——网络参考模型——TCP/IP模型(网络层)

三、TCP/IP模型-网络层 1、IPV4报头 (1)IPV4报文格式 IP Packet(IP数据包),其包头主要内容如下∶ Version版本∶4 bit,4∶表示为IPv4; 6∶表示为IPv6。 Header Length首部长度∶4 bit,代表IP报头的长度(首部长度),如果不带Opt…...

AI初识--LLM、ollama、llama都是些个啥?

LLM全称(large language model)也就是大语言模型 什么是Ollama,它与Llama是什么关系? Ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地运行大语言模型,降低使用大语…...

【全开源】JAVA打车小程序APP打车顺风车滴滴车跑腿源码微信小程序打车源码

:构建便捷出行新体验 一、引言:探索打车系统小程序源码的重要性 在数字化快速发展的今天,打车系统小程序已成为我们日常生活中不可或缺的一部分。它以其便捷、高效的特点,极大地改变了我们的出行方式。而背后的关键,…...

LeetCode 两数之和 + 三数之和

两数之和 简单题 思路:一个Map,key是数值,value是该数值对应的下标,遍历的时候判断一下当前数组下标对应的值在map里有没有可组合成target的(具体体现为在map里找target-nums【i】),如果有,直接…...

Switch刷机:安装Android系统和Linux系统

文章目录 Switch刷机解锁SwitchSwitchroot重要提示 安装Android系统安装Linux系统(Ubuntu)安装Lakka系统安装多系统(和大气层系统、官方原生系统并存) Switch刷机 解锁Switch 刷机的前提是要解锁bootloader,早期的NS…...

DeepDriving | 多目标跟踪算法之SORT

本文来源公众号“DeepDriving”,仅用于学术分享,侵权删,干货满满。 原文链接:多目标跟踪算法之SORT 1 简介 SORT是2016年发表的一篇文章《Simple Online and Realtime Tracking》中提出的一个经典的多目标跟踪算法,…...

实验演示方波是由正弦波叠加而成的

方波可以看成是由N个正弦波叠加而成,在数学上,方波可以写成这个式子,大家可以看到这个式子里面包含了无数个奇数次的正弦波。 下面通过运放构成的反相求和电路来看一下,正弦波叠加成方波 对于这个反相求和电路: Ui1是…...

进口电动流量调节阀的选型-美国品牌

进口电动流量调节阀的选型需要综合考虑多个因素,以确保所选阀门能够满足实际应用需求。以下是选型时需要考虑的主要方面: 一、明确应用需求 工作介质:了解介质的性质,包括流体类型、温度、压力以及是否具有腐蚀性或特殊性质。流…...

【人工智能】流行且重要的智能算法整理

✍🏻记录学习过程中的输出,坚持每天学习一点点~ ❤️希望能给大家提供帮助~欢迎点赞👍🏻收藏⭐评论✍🏻指点🙏 小记: 今天在看之前写的文档时,发现有人工智能十大算法的内容&#xf…...

webrtc客户端测试和arm平台测试(待补充)

一、关于API的使用研究 二、遇到的一些问题 1、snd_write Broken pipe 写音频数据到缓存不及时导致,codec没有数据可以播放。 alsa总结 WebRTC源码研究(1)WebRTC架构 WebRTC 中的基本音频处理操作...

Unity ShaderGraph 扭曲

需要注意的是: HDRP ShaderGraph中 你不能扭曲UI,所以假如你要扭曲视频,请把视频在材质上渲染 播放,这样就可以扭曲视频了喔, ShaderGraph扭曲...

鸿蒙Ability Kit(程序框架服务)【应用启动框架AppStartup】

应用启动框架AppStartup 概述 AppStartup提供了一种更加简单高效的初始化组件的方式,支持异步初始化组件加速应用的启动时间。使用启动框架应用开发者只需要分别为待初始化的组件实现AppStartup提供的[StartupTask]接口,并在[startup_config]中配置App…...

DBeaver添加DM8驱动(maven下载和jar包下载配置)

DBeaver 24.0.3添加DM8驱动 下载DBeaver下载DM达梦驱动下载 安装配置使用自带Dameng自行添加达梦驱动 因为最近公司项目有信创要求,所以下载了达梦数据库。使用自带的达梦管理工具不是很方便,于是换了DBeaver。 哼哧哼哧安装好后,创建数据库连…...

EXCEL多sheet添加目录跳转

EXCEL多sheet添加目录跳转 背景 excel中有几十个sheet,点下方左右切换sheet太耗时,希望可以有根据sheet名超链接跳转相应sheet,处理完后再跳回原sheet。 方案一 新建目录sheet,在A1写sheet名,右键选择最下方超链接…...

MySQL之查询性能优化(十)

查询性能优化 MySQL查询优化器的局限性 松散索引扫描 由于历史原因,MySQL并不支持松散索引扫描,也就无法按照不连续的方式扫描一个索引。通常,MySQL的索引扫描需要先定义一个起点和终点,即使需要的数据只是这段索引中很少数的几…...

短视频矩阵源码----如何做正规开发规则分享:

一、什么是SaaS化服务技术开发? (短视频矩阵系统是源头开发的应该分为3个端口---- 总后台控制端、总代理端口,总商户后台) SaaS是软件即服务(Software as a Service)的缩写。它是一种通过互联网提供软件应…...

4. JavaScript 循环与迭代

JavaScript 中提供了这些循环语句&#xff1a; for 语句do … while 语句while 语句label 语句 跳出多级循环 var num 0; outPoint: for (var i 0; i < 10; i) {for (var j 0; j < 10; j) {if (i 5 && j 5) {break outPoint; // 在 i 5&#xff0c;j 5 …...

智能视频监控平台LntonCVS视频融合共享平台保障露营安全解决方案

在当今社会&#xff0c;都市生活的快节奏和压力使得越来越多的人渴望逃离城市的喧嚣&#xff0c;寻求一种短暂的慢生活体验。他们向往在壮丽的山河之间或宁静的乡村中露营&#xff0c;享受大自然的宁静与美好。随着露营活动的普及&#xff0c;露营地的场景也变得更加丰富多样&a…...

python如何画函数图像

通过图像可以直观地学习函数变化、分布等规律&#xff0c;在学习函数、概率分布等方面效果显著。下面我们尝试用Python的2D绘图库matplotlib来绘制函数图像。 下面我们来实现一个简单的函数&#xff1a; 首先&#xff0c;调用matplotlib库和numpy库 import matplotlib.pyplot …...

zeppelin(kylin的可视化界面安装)(从头到尾安装)

zeppelin(kylin的可视化界面安装) 1、zeppelin安装前的准备工作&#xff1a; 1、虚拟机安装配置好jdk&#xff0c; 2、虚拟机安装配置好Hadoop&#xff0c; 3、虚拟机安装配置好Hive 4、虚拟机安装配置了hbase 5、安装了kylin&#xff08;麒麟&#xff09; 6、下载了zeppelin…...

python词云生成库-wordcloud

内容目录 一、模块介绍二、WordCloud常用的方法1. generate(self, text)2. generate_from_frequencies(frequencies)3. fit_words(frequencies)4. generate_from_text(text) 三、进阶技巧1. 设置蒙版2. 设置过滤词 WordCloud 是一个用于生成词云的 Python 库&#xff0c;它可以…...

鸿蒙开发接口数据管理:【@ohos.data.rdb (关系型数据库)】

关系型数据库 关系型数据库&#xff08;Relational Database&#xff0c;RDB&#xff09;是一种基于关系模型来管理数据的数据库。关系型数据库基于SQLite组件提供了一套完整的对本地数据库进行管理的机制&#xff0c;对外提供了一系列的增、删、改、查等接口&#xff0c;也可…...

Java返回前端Bigdecimal类型数据时“0E-8“及小数点多余0的问题

目录 问题描述: 解决方法: 重要代码&#xff1a; 问题描述: 项目中oracle数据库需要转换为mysql&#xff0c;Oracle中的表字段定义为number(36,16)类型的工具自动转换为mysql的decimal(36,16)。在Oracle数据库中&#xff0c;number(36,16)类型的字段&#xff0c;使用BigDeci…...

标题:深入探索Linux中的`ausyscall`

标题&#xff1a;深入探索Linux中的ausyscall&#xff08;注意&#xff1a;ausyscall并非Linux内核标准命令&#xff0c;但我们可以探讨类似的概念&#xff09; 在Linux系统中&#xff0c;系统调用&#xff08;syscall&#xff09;是用户空间程序与内核空间进行交互的一种重要…...

CorelDRAW2024发布更新啦!设计师们的得力助手

在数字化的今天&#xff0c;视觉设计已经成为我们生活中不可或缺的一部分。从手机界面到广告海报&#xff0c;从网页布局到包装设计&#xff0c;每一个细节都离不开设计师们的专业与创意。然而&#xff0c;面对日益增长的设计需求和不断提升的审美标准&#xff0c;许多设计师开…...

SpringMVC日期格式处理 分页条件查询

实现日期格式处理&#xff1a; springmvc能实现String类型和基本数据类型及包装类的自动格式转换&#xff0c;但是不能识别String和 日期类格式的自动转换。 实现方式&#xff1a; 1是在实体类上加上注解DateTimeFormat&#xff0c;识别String格式为“yyyy-MM-dd” 2使用自定义…...

蓝桥云课第12届强者挑战赛

第一题&#xff1a;字符串加法 其实本质上就是一个高精度问题&#xff0c;可以使用同余定理的推论 &#xff08;ab&#xff09;%n((a%n)(b%n))%n; #include <iostream> using namespace std; const int mod1e97; int main() {string a,b;cin>>a>>b;ab;int …...

LabVIEW储油罐监控系统

LabVIEW储油罐监控系统 介绍了基于LabVIEW的储油罐监控系统的设计与实施。系统通过集成传感器技术和虚拟仪器技术&#xff0c;实现对储油罐内液位和温度的实时监控&#xff0c;提高了油罐监管的数字化和智能化水平&#xff0c;有效增强了油库安全管理的能力。 项目背景 随着…...

局域网、城域网、广域网的ip

一、 广域网ip&#xff1a; 全球共享同一个广域网&#xff0c;所以广域网也被称为公网&#xff0c;所以广域网的ip也称为公网ip&#xff0c;全球公网ip必须是都是唯一的&#xff0c;不能冲突。 二、城域网、局域网ip&#xff1a; 可以有无数个局域网、城域网&#xff0c;虽然在…...

【全开源】Java共享茶室棋牌室无人系统支持微信小程序+微信公众号

打造智能化休闲新体验 一、引言&#xff1a;智能化休闲时代的来临 随着科技的飞速发展&#xff0c;智能化、无人化服务逐渐渗透到我们生活的各个领域。在休闲娱乐行业&#xff0c;共享茶室棋牌室无人系统源码的出现&#xff0c;不仅革新了传统的休闲方式&#xff0c;更为消费…...