华为数通HCIA-网络参考模型(TCP/IP)

网络通信模式

作用:指导网络设备的通信;

OSI七层模型:

7.应用层:由应用层协议(http、FTP、Telnet.)为应用程序产生对应的数据;

6.表示层:将应用层产生的数据转换成网络设备看得懂的语言

5.会话层:为应用数据产生一个独立的会话,放置不同数据之间的相互干扰

4.传输层:为应用数据封装一层传输层头部,用于为数据提高传输服务;

TCP--可靠、传输效率慢;

UCP--不可靠、传输效率高;

文字、文件--采用TCP封装

语音、视频--采用UDP封装

3.网络层:为数据封装网络层头部:

封装sip以及dip;

sip:发送端的ip地址;

dip:目的端的ip地址;

2.数据链路层:为数据封装数据链路层头部

一般会封装smac、dmac;

smac:发送端的mac地址;

dmac接收端的mac地址;

1.物理层:将已经打包好的数据转换成适合在物理链路上进行传递的信号进行发送;

TCP/IP常见协议

应用层

HTTP(Hypertext Transfer Protocol,超文本传输协议):用来访问在网页服务器上的各种页面。

FTP(File Transfer Protocol,文件传输协议):为文件传输提供了途径,它允许数据从一台主机传送到另一台主机上。

DNS(Domain Name Service,域名称解析服务):用于实现从主机域名到IP地址之间的转换。

传输层

TCP (Transmission Control Protocol,传输控制协议) :为应用程序提供可靠的面向连接的通信服务。目前,许多流行的应用程序都使用TCP。

UDP(User Datagram Protocol,用户数据报协议):提供了无连接通信,且不对传送数据包进行可靠性的保证。

网络层

IP(Internet Protocol,互联网协议):将传输层的数据封装成数据包并完成源站点到目的站点的转发,提供无连接的、不可靠的服务。

IGMP(Internet Group Management Protocol,因特网组管理协议):负责IP组播成员管理的协议。它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。

ICMP(Internet Control Message Protocol,网际报文控制协议):基于IP协议在网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈。通过这些信息,使管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。

数据链路层

PPP(Point-to-Point Protocol,点对点协议):一种点对点模式的数据链路层协议,多用于广域网。

Ethernet( 以太网协议 ):一种多路访问广播型数据链路层协议,是当前应用最为广泛的局域网技术。

PPPoE(Point-to-Point Protocol over Ethernet,以太网承载PPP协议):PPPoE提供通过简单桥接访问设备(接入设备)把一个网络的多个主机连接到远程访问集中器的功能。常见的应用有家庭宽带拨号上网。

应用层

应用层为应用软件提供接口,使应用程序能够使用网络服务。应用层协议会指定使用相应的传输层协议,以及传输层所使用的端口等。
应用层的PDU被称为Data(数据)。

 TCP/IP每一层都让数据得以通过网络进行传输,这些层之间使用PDU(Packet Data Unit,协议数据单元)彼此交换信息,确保网络设备之间能够通信。
不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称。

常见应用层协议 - FTP

FTP(File Transfer Protocol)是一个用于从一台主机传送文件到另一台主机的协议,用于文件的“下载”和“上传”,它采用C/S(Client/Server)结构。

 常见应用层协议 - Telnet

Telnet是数据网络中提供远程登录服务的标准协议。 Telnet为用户提供了在本地计算机上完成远程设备工作的能力。

 用户通过Telnet客户端程序连接到Telnet服务器。用户在Telnet客户端中输入命令,这些命令会在服务器端运行,就像直接在服务端的控制台上输入一样。

常见应用层协议 - HTTP

HTTP(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

 传输层

传输层协议接收来自应用层协议的数据,封装上相应的传输层头部,帮助其建立“端到端”(Port to Port)的连接。
传输层的PDU被称为Segment(段)。

网络层头部(ip头)

封装协议:ip协议

关键内容:

版本:v4、v6、默认为v4

TOS:服务类别,用于对流量进行分类,实现QOS;

分片字段:分片id、flags、偏移量;

分片:当网络设备需要发送的数据大小,超出了接口MTU(最大发送单元,默认为1500B)时,需要将数据分成若干个小的数据发送出去,接收端收到后进行重组;

分片id:用于标记一个数据是否为分片数据,如果是的话,分片id不为0;

flags:其中更多段位用于标识分片是否为最后一个分片,如果不是则为1,如果是则为0,当接收端收到flags位为0的分片时,即可开始进行重组;

偏移量:用于标识分片的重组顺序,以防分片在传输过程中,出现顺序互换,导致数据包错乱的情况,

eg:

4500B数据,分片1 1500B

2 1500B

3 1500B

偏移量: 0 1499 分片1

1500 2999 分片2

3000 4499 分片2

TTL (生存时间)

范围: 0~255,初始值为255;

作用: 1、标识数据包经过了多少台三层设备(路由器、三层交换机、防火墙);

2、防止数据包无限转发,

原理: 当一个数据包被发出时,TTL为255,每经过一台三层设备转发,就会减1

当数据包中的TTL被减为0时,失去被发送的资格;

协议号

作用: 用于标识上层协议类型,

可以实现设备在处理网络层头部时,得知上层协议类型,提前调用对应的协议出来处理数据:

TCP--6

UDP--17

sip:发送端的ip地址

dip:接受端的IP地址

TCP/IP

传输层协议

TCP(传输控制协议)

作用:为数据封装TCP头部,提供可靠的传输服务;

封装内容:

端口号;

定义:大小16bit,范围为0~65535,其中0~1023属于知名端口号,1024~65535属于自定义端口号;

作用:源端口号随机从自定义端口号中生成,没有特殊含义;

目的端口号用于标识上层协议;(http-80、FTP-20、21、telnet-23)

序列号、确认号;

控制位:常见SYN、ACK、FIN位,代表TCP的报文类型,比如SYN报文的SYN位=1;

window(窗口值):代表同一时间内,最多可以发送以及接收多大的数据,最多16bit;

可靠性机制

1、面向连接

当需要传输基于TCP的流量时,需要先建立TCP连接通道,通过三次握手的方式建立;

(1)主动端发送SYN报文给被动端,其中会携带随机生成的序列号(a),用于请求建立TCP连接

(2)被动端收到后,会产生一份SYN以及ACK同时置位的TCP报文,其中ack号为a+1,用于确认跟主动端建立连接,另外还会产生一个随机的序列号(b),用于请求被动端到主动端的TCP连接;

(3)主动端收到被动端的报文后,产生一份ACK报文,其中ack=b+1,用于对被动端向主动端的连接请求进行确认;

(4)被动端收到后,双向连接建立完成;

2、确认机制/重传机制

所有基于TCP的流量都会携带一个序列号,当设备发出一份基于TCP的流量后,必须收到对端的ACK报文进行确认,才会继续发送下一份,否则会进行重传;

3、流控机制/窗口滑动机制

作用:确保被发送出去的基于TCP的流量,不会因为双方的窗口值有差异,而出现丢包现象;

原理:被发送的TCP流量,会携带发送端的窗口值,如果接收端的窗口值,小于发送端的窗口值,则会在进行确认时,通过ack号以及window值告知发送端,发送端会根据接收端的窗口值,调整自己的发送窗口;

4、关闭连接

当需要停止传输TCP流量时,需要把第一步建立的TCP连接进行关闭,通过四次挥手的方式进行关闭;

(1)主动端发送FIN以及ACK位同时置位的TCP报文,其中序列号以及ack号均为随机产生的,假设序列号为a,ack号为b

(2)被动端收到后,先产生一份ACK报文,其中ack号为a+1,发送出去,用于确认关闭主动端到被动端的连接;

(3)被动端再产生一份FIN报文,其中序列号为b,发送出去,用于请求关闭被动端到主动端的连接;

(4)主动端收到后,产生ACK报文,其中ack号为b+1,发送出去,用于确认关闭被动端到主动端的连接;

至此,双向连接关闭成功;

特点:可靠性高、效率低下;

应用:适用于对丢包率要求较高的流量,如文本类流量;

UDP(用户数据包协议)

作用:为数据封装UDP头部,提供效率高的传输服务;

封装内容:主要就是端口号;

可靠性机制:无

特点:效率高、可靠性差;

应用:适用于语音、视频等一些对时延比较敏感、连续要求较高的流量;

TCPUDP 端口号

 客户端使用的源端口一般随机分配,目标端口则由服务器的应用指定;
源端口号一般为系统中未使用的,且大于1023;
目的端口号为服务端开启的应用(服务)所侦听的端口,如HTTP缺省使用80。

TCP的建立 - 三次握手

任何基于TCP的应用,在发送数据之前,都需要由TCP进行“三次握手”建立连接

TCP连接建立的详细过程如下:
        由TCP连接发起方(图中PC1),发送第一个SYN位置1的TCP报文。初始序列号a为一个随机生成的数字,因为没收到过来自PC2的任何报文,所以确认序列号为0 ;
        接收方(图中PC2)接收到合法的SYN报文之后,回复一个SYN和ACK置1的TCP报文。初始序列号b为一个随机生成的数字,同时因为此报文是回复给PC1的报文,所以确认序列号为a+1;
        PC1接收到PC2发送的SYN和ACK置位的TCP报文后,回复一个ACK置位的报文,此时序列号为a+1,确认序列号为b+1。PC2收到之后,TCP双向连接建立。

TCP的序列号与确认序列号

TCP 使用序列号和确认序列号字段实现数据的可靠和有序传输。 

假设PC1要给PC2发送一段数据,传输过程如下:
1. PC1将全部待TCP发送的数据按照字节为单位编上号。假设第一个字节的编号为“a+1”,第二个字节的序号为“a+2”,依次类推。
2. PC1会把每一段数据的第一个字节的编号作为序列号(Sequence  number),然后将TCP报文发送出去。
3. PC2在收到PC1发送来的TCP报文后,需要给予确认同时请求下一段数据,如何确定下一段数据呢?序列号( a+1 )+载荷长度=下一段数据的第一个字节的序号(a+1+12)
4. PC1在收到PC2发送的TCP报文之后,发现确认序列号为“a+1+12” ,说明“a+1”到“a+12”这一段的数据已经被接受,需要从“a+1+12”开始发送。
为了提升发送效率,也可以一次性发送多段数据,由接收方统一确认。
 

TCP的窗口滑动机制

TCP通过滑动窗口机制来控制数据的传输速率

 1. 在TCP三次握手建立连接时,双方都会通过Window字段告诉对方本端最大能够接受的字节数(也就是缓冲区大小)。
2. 连接建立成功之后,发送方会根据接受方宣告的Window大小发送相应字节数的数据。
3. 接受方接受到数据之后会放在缓冲区内,等待上层应用来取走缓冲的数据。若数据被上层取走,则相应的缓冲空间将被释放。
4. 接收方根据自身的缓存空间大小通告当前的可以接受的数据大小( Window )。
5. 发送方根据接收方当前的Window大小发送相应数量的数据。

TCP的关闭 - 四次挥手

当数据传输完成,TCP需要通过“四次挥手”机制断开TCP连接,释放系统资源。

TCP支持全双工模式传输数据,这意味着同一时刻两个方向都可以进行数据的传输。在传输数据之前,TCP通过三次握手建立的实际上是两个方向的连接,因此在传输完毕后,两个方向的连接必须都关闭。如图所示:
1. 由PC1发出一个FIN字段置”1 ”的不带数据的TCP段;
2. PC2收到PC1发来的FIN置位的TCP报文后,会回复一个ACK置位的TCP报文。
3. 若PC2也没有需要发送的数据,则直接发送FIN置位的TCP报文。假设此时PC2还有数据要发送,那么当PC2发送完这些数据之后会发送一个FIN置位的TCP报文去关闭连接。
4. PC1收到FIN置位的TCP报文,回复ACK报文,TCP双向连接断开。

网络层

传输层负责建立主机之间进程与进程之间的连接,而网络层则负责数据从一台主机到另外一台主机之间的传递。
网络层的PDU被称为Packet(包)。

 IPv4( Internet Protocol Version 4),简称IP,是目前应用最广泛的网络层协议。

网络层协议工作过程

 

当采用IP作为网络层协议时,通信的双方都会被分配到一个“独一无二”的IP地址来标识自己。IP地址可被写成32位的二进制整数值形式,但为了方便人们阅读和分析,它通常被写成点分十进制的形式,即四个字节被分开用十进制表示,中间用点分隔,比如192.168.1.1。
IP数据包的封装与转发:
网络层收到上层(如传输层)协议传来的数据时候,会封装一个IP报文头部,并且把源和目的IP地址都添加到该头部中。
中间经过的网络设备(如路由器),会维护一张指导IP报文转发的“地图”——路由表,通过读取IP数据包的目的地址,查找本地路由表后转发IP数据包。
IP数据包最终到达目的主机,目的主机通过读取目的IP地址确定是否接受并做下一步处理。
IP协议工作时,需要如OSPF、IS-IS、BGP等各种路由协议帮助路由器建立路由表,ICMP帮忙进行网络的控制和状态诊断。


数据链路层

数据链路层位于网络层和物理层之间,可以向网络层的IP、IPv6等协议提供服务。数据链路层的PDU被称为Frame(帧)。
以太网(Ethernet)是最常见的数据链路层协议。

 以太网与MAC地址

 

MAC地址(物理地址)

 MAC地址由48比特(6个字节)长,12位的16进制数字组成。例如:48-A4-72-1C-8F-4F

作用:唯一标识一张网卡(全球唯一)

特点:设备天生就有,并且无法后期更改;

格式:十六进制;

大小:48bit

分类:根据通信类型进行分类:

单播mac:用于唯一标识一张网卡,实现1对1通信,二进制角度的第8bit固定为0;

组播mac:用来标识一组设备,实现一对多通信,二进制角度的第8bit固定为1;

广播mac:用于实现1对所有通信,mac地址为F(十六进制角度),在二进制角度全为1

地址解析协议 (ARP)

ARP (Address Resolution Protocol)地址解析协议:
根据已知的IP地址解析获得其对应的MAC地址。

作用:
ARP是根据IP地址获取数据链路层地址的一个TCP/IP协议,从而完成数据封装。
ARP是IPv4中必不可少的一种协议,它的主要功能是:
将IP地址解析为MAC地址;
维护IP地址与MAC地址的映射关系的缓存,即ARP表项;
实现网段内重复IP地址的检测。

报文:

ARP层——数据链路层

ARP层:源ip、目标ip(target ip)、源mac、目标mac;

ARP缓存表

用于记录ip地址与mac地址的对应关系;

查看 终端——>arp -a

路由器、交换机——>display arp

arp工作过程

1、广播请求阶段;

当一台设备需要封装dmac时,先查看自身的arp缓存表中是否存在对应的mac地址,如果存在则直接完成封装,如果没有则发送ARP请求报文进行请求;

ARP请求

ARP层

sip:自己

tip:请求的对象的ip地址

smac:自己

tmac:空

数据链路层

smac:自己

dmac:全F(广播发送)

2、单播回应阶段:

当一台设备收到ARP请求后,拆除数据链路层头部,看到ARP层,判断目标ip是否为自己,如果不是,则直接丢弃,如果是,则执行以下操作:

(1)将ARP层中sip以及smac的对应关系学习进自身的ARP缓存表,供日后使用;

(2)将对端请求的mac地址填进ARP请求的目标mac中,然后产生ARP回应报文单播发送出去;

其中ARP层的sip、tip、smac、tmac为ARP请求的源目互换,数据链路层的smac以及dmac直接复制ARP层的,进行单播发送;

3、请求端收到ARP回应后,将ARP层的sip以及smac的对应关系学习进ARP缓存表中,完成数据封装;

免费ARP(特殊的ARP请求)

特点:ARP层的sip以及tip一致,均为自身的ip地址;

作用:检测ip地址的冲突性;

发送时机:当一台网络设备刚获取到一个新的ip地址时就会发送;

原理:当发出一个免费ARP后,如果收到回应,则说明ip地址存在冲突,则不能使用该ip;

物理层

数据到达物理层之后,物理层会根据物理介质的不同,将数字信号转换成光信号、电信号或者是电磁波信号。
物理层的PDU被称为比特流(Bitstream)。
 

 常见传输介质

双绞线:当今以太网最常见的传输介质,按照抗电磁干扰能力还可以分为:
STP-屏蔽双绞线
UTP-非屏蔽双绞线
光纤传输,按照功能部件可分为:
光纤:光传输介质,简单的说,就是一根玻璃纤维,用于约束光传输的通道。
光模块:将电信号与光信号互转的器件,产生光信号。
串口电缆在WAN(Wide Area Network,广域网)中大规模使用,根据WAN线路类型不同,串口电缆在设备上连接的接口类型也不同:异/同步串口、ATM接口、POS接口、CE1/PRI接口等。
无线信号的传输可以通过电磁波进行,例如:无线路由器将数据通过调制以电磁波发送出去,移动终端的无线网卡将电磁波解调,得到数据,完成从无线路由器到移动终端的数据传输。

中间网络数据传输

封装好的完整数据,将会在网络中被传递。
一般情况下:
网络中的二层设备(如以太网交换机)只会解封装数据的二层头部,根据二层头部的信息进行相应的“交换”操作。
网络中的三层设备(如路由器)只会解封装到三层头部,并且根据三层头部的信息进行相应的“路由”操作。
注:“交换”和“路由”的详细细节和原则,将会在后面的课程中详细介绍。

 接收方数据解封装

5 应用层:相当于OSI模型中的5~7层的功能; data

4 传输层 段

3 网络层 包

2 数据链路层 帧

1 物理层 bit流

数据发送:将应用层产生的数据,基于TCP/IP五层模型,由上往下进行逐层的封装,然后发送出去的过程

数据接收:网络设备收到数据后,进行基于TCP/IP五层模型,由下往上逐层解除封装,直至看到应用层数据为止的过程

数据转发:数据从发送端发出,到接收端之间,经过的网络设备负责将数据进行转发

其中路由器工作在网络层,根据网络层头部进行转发;

交换机工作在数据链路层,根据数据链路层头部进行转发;

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32 USB使用记录:HID类设备(后篇)

文章目录 目的基础说明项目构建与代码调整接收发送代码与测试示例链接报告描述符总结 目的 接上篇: 《STM32 USB使用记录:HID类设备(前篇)》 USB HID 类的设备有个比较大的好处是大部分时候接入主机中都是可以免驱使用的。这篇文…

Shell脚本实现分库分表操作

目录 一,分库备份 二,分库操作 三,分库分表备份 四,备份还原 一,分库备份 #!/bin/bash mysql_cmd-uroot -pzly666666 bak_path/backup/db [ -d ${bak_path} ] || mkdir -p ${bak_path}mysql ${mysql_cmd} -e show…

【图论】BFS中的最短路模型

算法提高课笔记 目录 单源最短路迷宫问题题意思路代码 武士风度的牛题意思路代码 抓住那头牛题意思路代码 多源最短路矩阵距离题意思路代码 双端队列BFS电路维修题意思路代码(加了注释) BFS可以解决边权为1的最短路问题,下面是相关例题 单源…

python-面向对象.继承

继承 1.单继承 父类也叫基类 子类也叫派生类 如下所示,继承的关系: 继承的书写格式: class 子类(父类): 方法 实例: class Animal: def eat(self): print("-----吃-------") def drink(self): print("-----喝…

【100天精通python】Day21:文件及目录操作_文件的权限处理和批量处理

目录 专栏导读 1. 文件的权限处理 1.1 查询文件权限 1.2 修改文件权限 2 文件的批量处理 2.1 使用os模块和os.listdir()函数 2.2 使用glob模块 2.3 使用shutil模块 2.3.1 批量复制文件 2.3.2 批量移动文件 2.3.3 批量删除文件 2.3.4 批量创建目录 专栏导读 专栏订阅…

聊聊拉长LLaMA的一些经验

Sequence Length是指LLM能够处理的文本的最大长度,越长,自然越有优势: 更强的记忆性。更多轮的历史对话被拼接到对话中,减少出现遗忘现象 长文本场景下体验更佳。比如文档问答、小说续写等 当今开源LLM中的当红炸子鸡——LLaMA…

[Docker实现测试部署CI/CD----相关服务器的安装配置(1)]

目录 0、CI/CD系统最终架构图规划IP地址 1、git配置Git下载pycharm配置gitidea配置git 2、GitLab安装与配置主机要求拉取镜像定义 compose.yml启动gitlab浏览器访问并修改密码查看登录密码修改密码 3、SonarQube 安装与配置拉取镜像修改虚拟内存的大小启动SonarQube登录 SonarQ…

2023 蓝桥杯真题B组 C/C++

https://www.dotcpp.com/oj/train/1089/ 题目 3150: 蓝桥杯2023年第十四届省赛真题-冶炼金属 题目描述 小蓝有一个神奇的炉子用于将普通金属 O 冶炼成为一种特殊金属 X。这个炉子有一个称作转换率的属性 V,V 是一个正整数,这意味着消耗 V 个普通金 属 O…

价值 1k 嵌入式面试题-计算机网络 OSI

开门见山 请讲下 OSI 各层协议的主要功能? 常见问题 回答不系统回答不确切无法和实际网络协议做关联对应 答题思路 OSI 代表了开放互联系统中信息从一台计算机的一个软件应用流到另一个计算机的另一个软件应用的参考模型 OSI 包含 7 层,每一层负责特…

51单片机学习--串口通信

首先需要配置寄存器: 下面这里SCON配0x40和0x50都可以,因为暂时还不需要接受信息,所以REN置1置0都可 void Uart_Init(void) //4800bps11.0592MHz {PCON | 0x80; //使能波特率倍速位SMODSCON 0x50; //8位数据,可变波特率TMOD & 0x0F…

tinkerCAD案例:29. 摇头娃娃

Research Your Favorite Bobblehead 摇头娃娃 Project Overview: 项目概况: Design and create your favorite Minecraft 3D bobble head. All you need is a computer, 3D printer, spring and your creativity to your favorite Minecraft character in the for…

1、Hadoop3.x 从入门到放弃,第一章:概念

Hadoop3.x从入门到放弃,第一章:概念 一、什么是大数据 1、主要解决什么 大数据主要解决:海量数据的“采集”、“存储” 和 "分析计算" 问题2、大数据特点 1> Volume 大量 2> velocity 高速 3> variety 多样性数据分为…

网络层:IP协议/Mac协议

IP协议 主机: 配有IP地址, 但是不进行路由控制的设备; 路由器: 即配有IP地址, 又能进行路由控制; 节点: 主机和路由器的统 称; IP 目标网络(前半部分) 目标主机(后半部分) IP层的核心:IP地址定位主机(定…

Socks IP轮换:为什么是数据挖掘和Web爬取的最佳选择?

在数据挖掘和Web爬取的过程中,IP轮换是一个非常重要的概念。数据挖掘和Web爬取需要从多个网站或来源获取数据,而这些网站通常会对来自同一IP地址的请求进行限制或封锁。为了避免这些问题,数据挖掘和Web爬取过程中需要使用Socks IP轮换技术。在…

《向量数据库指南》——如何持久化存储 LlamaIndex 向量索引?

随着 AGI 时代的到来,越来越多的开发者开始思考如何有效利用大模型,不过,大家在构建 LLM 应用时普遍会面临三大挑战: LLM 的使用成本高昂LLM 无法及时提供最新信息LLM 缺乏特定专业领域的知识 针对上述问题,业界主流的做法是采用两种主要框架:微调和缓存 + 注入。 …

集团MySQL的酒店管理系统

酒店管理系统 概述 基于Spring Spring MVC MyBatis的酒店管理系统,主要实现酒店客房的预定、入住以及结账等功能。使用Maven进行包管理。 用户端主要功能包括: 登录注册、客房预订、客房评论(编写评论和查看评论) 后台管理主要…

如何在 Ubuntu 22.04 下编译 StoneDB for MySQL 8.0 | StoneDB 使用教程 #1

作者:双飞(花名:小鱼) 杭州电子科技大学在读硕士 StoneDB 内核研发实习生 ❝ 大家好,我是 StoneDB 的实习生小鱼,目前正在做 StoneDB 8.0 内核升级相关的一些事情。刚开始接触数据库开发没多久&#xff0c…

Linux 学习记录59(ARM篇)

Linux 学习记录59(ARM篇) 本文目录 Linux 学习记录59(ARM篇)一、IIC总线1. 概念2. IIC总线硬件连接 二、系统框图三、IIC时序1. 起始信号 / 停止信号2. 数据传输信号3. 应答信号 / 非应答信号4. 寻址信号 四、IIC协议1. 主机给从机发送一个字节(写)2. 主机给从机发送多个连续字…

MySQL 的 Join 查询及 Hash Join 优化 | StoneDB 技术分享会 #3

StoneDB开源地址 https://github.com/stoneatom/stonedb 设计:小艾 审核:丁奇、宇亭 编辑:宇亭 作者一:徐鑫强(花名:无花果) 电子科技大学-计算机技术-在读硕士、StoneDB 内核研发实习生 作…

Android 卡顿分析与布局优化

一、什么是卡顿?或者说我们怎么感知APP卡顿? 这里面涉及到android UI渲染机制,我们先了解一下android UI是怎么渲染的,android的View到底是如何一步一步显示到屏幕上的? android系统渲染页面流程: 1&…