计算机网络笔记第二章链路层

2023-11-04

二、链路层和局域网

提供服务:差错检测error detection,correction、共享广播信道sharing a broadcast channel(多路访问multiple access:多通信同时进行同一段链路如何使用)、链路层地址的寻址(十六进制表示)、可靠数据传输流量控制

1.数据链路层概述及服务

1.术语:

节点node:主机和路由器

链路link:沿着通信的路径上连接相邻两个节点通信的信道,包含有线链路、无线链路。

frame:对网络层数据报传下来进行封装

数据链路层传送的数据报从一个节点通过一段链路传到相邻的节点。

不同的链路可能使用不同数据链路层协议。

2.链路层服务:
a.分帧(封装成帧)framing、信道接入(信道访问)link access

链路层收到数据报后会封装成帧,加上帧头(识别从谁到谁)和帧尾(校验)

共享的通信媒介制定一个规则来判断谁进行传输数据

数据链路层传输的地址:MAC(媒体访问控制)地址,位于帧头,识别源节点和目的节点

b.相邻节点间的可靠传输reliable delivery between adjacent nodes

低比特错误链路很少使用(光纤)

高比特链路:无线链路

c.流量控制flow control

相邻的接收节点保持一致(控制发送速率不能高于接收速率)

d.差错检测error detection

由于信号衰减、噪声干扰产生,接收方进行

处理:忽略、发送方重传

e.差错纠正error correction

接收方发现错误并找到发生位置0改1或1改0,不需要发送方

f.半双工和全双工Half-duplex and full-duplex

单工:数据传播固定且单向

双工:同时进行双向传播

半双工:可以双向,但同时只能有一个在传播

链路传输就是半双工的

3.适配器通信adaptors communicating

数据链路层上的通信,就是两个节点的适配器之间进行通信。

链路层所有协议都是在适配器(NIC网络接口卡)中实现的。

a.发送方:

数据报封装成帧,添加帧头、帧尾、差错校验比特、流控制等

b.接收方:

判断帧是否出错、与发送方配合进行可靠数据传输、双方配合进行流控制

对帧进行解封装(去帧头,帧尾,只要数据报),然后向上交互给网络层

适配器是半自治的(主机电源让网卡进行工作),主要负责链路层和物理层

2.差错检测和纠正

1.基本概念

D:被保护的数据部分(数据报),包含帧头

EDC:帧尾(差错检测比特),越大检测效果越好

2.常用方法
a.奇偶校验parity checking

**单比特奇偶校验:**单比特奇校验odd(1的个数是奇数个)偶校验even(1的个数是偶数个)

奇校验:1的个数是奇数parity bit=0 1的个数是偶数p b=1

二维奇偶校验:

既能检错也可能纠错(单比特可以知道奇数位的错误,只有二维才能检测错误的位置)

偶校验:

b.因特网校验和Internet checksum

检测出错误的存在,检测比特翻转(传输层

发送方:看成16比特的序列(16比特每一段),校验和加上16个比特,并将校验和放到UDP的校验和域里

接收方:计算校验和,将两个校验和对比。

c.CRC循环冗余校验

链路层

将D当成二进制的数,选择r+1比特的G(生成多项式),r是D后面加的位数

R的选择:(D,R)能被G整除

使用于ATM、HDCL

进行除法时使用异或(1-1=0,0-1=1,1-0=0),顶头算

2r生成多项式G余数就是R

生成多项式都是固定

能检测少于r+1位的比特错误和任意的奇数个比特错误

3.多路访问协议multiple access protocols

1.链路
a.点对点链路point-to-point

通常是有线的,应用于拨号接入电路dial-up access,主要存在于以太网的交换机主机之间。

b.广播链路broadcast

信道和通信媒介都是共享的,应用于传统的以太网,HFC(混合光纤同轴电缆),802.11无线局域网

2.多路访问协议MAC
1.针对的情况

单一共享广播信道

节点间可能同时会有多个传输,就会产生碰撞collision(同时收到难以拆分出来源)。

2.介绍

是一个分布式的算法,解决节点如何共享信道,哪个节点在某个时间如何使用单一的信道。

没有带外信道(控制信息也必须在共享的信道里进行传送)。

3.理想的多利访问协议

假设最大传输速率是R bps。

一个节点可以以速率R进行传送。当有M个节点同时传送,每个的平均速率为R/M

完全分布式的协议:不需要一个中央控制节点,没有时钟同步。

4.生活中使用的MAC协议

三类:

a.信道划分/分割的channel partitioning

信道分片(按照时隙、频段、码分),将信道资源平均分配,每份是节点专用的(不会因为不使用就增加别的节点的速率)

1.TDMA时分的多路访问:

轮流进行信道访问,每个节点都分配固定长度的时隙(每个时隙就是每个数据包传输的时间),没使用的时隙就是空闲的。

TDM时分复用:信道分成n个时隙,每个用户一个时隙,低占空比(很少发送数据)效率低

2.FDMA频分多路访问:

分配固定宽度的频段,没传输的时候也是空闲的。

b.随机访问random access

允许有碰撞的,让网络能从碰撞的情形下恢复

随机访问协议:节点之间没有主控制,速率为R。解决碰撞的方式一般使用延时重传(过一会再传)。

例子:时隙slotted的ALOHA协议,ALOHA协议,载波监听的多路访问控制CSMA,CSMA/CD带有碰撞检测的,CSMA/CA带碰撞恢复的

1.时隙的ALOHA协议

假设:网络中帧的大小相同,时间被划分成相等大小的时隙,每个时隙传一帧,节点只能在时隙的开始才能传输数据,所有节点都是时分同步的(没有时差),多个节点出现在一个时隙中所有节点都能检测到碰撞。

操作:当节点要发送帧时,会在下一个时隙发出去,没有碰撞就正常的发送到下一个节点,发生碰撞节点就会对帧进行重传(以概率p)

只有自己的时候就传出去了。

**优点:**单一活跃节点可以全速传送,高度分散(每个节点都各自检测碰撞和重传),结构简单

**缺点:**可能产生碰撞,可能会有空闲时隙,可以在少于时隙的时间内就实现了碰撞的检测,需要时隙同步

**效率:**指的是成功发送的时隙占总时隙的比值(长期占比)

N个节点,概率p进行发送,长时间的效率只有37%

2.纯粹pure(unslotted)的ALOHA协议

不需要时隙同步,节点有数据传就立刻传,碰撞概率会上升

效率:18%

3.载波监听多路访问CSMA

发送帧之前需要监听信道,信道空闲才会发出去。

只能减少碰撞。

信道空闲就传送整个帧,信道忙就延迟推送。

黄白相间就是冲突的地方。

4.CSMA/CD(具有冲突检测)

使用IEEE802.3协议。

首先监听CSMA,然后再没有传完一个帧就能检测到冲突,然后实现信号的终止。

在有限局域网wired LANs容易实现:1.检测信号强度,比较传输与接收的信号是否相同。2.周期的过零点检测。

A的冲突检测:

c.轮流协议“taking turns”

更多的节点会占用更长信道的使用时间。(提高利用率)

轮询polling:主节点master依次访问从节点slaves是否有信息要发

缺点:可靠性(master损坏就完了)

令牌传递token passing:令牌token(各个节点轮转),构成环状,发送数据就要抓住令牌,没数据就路过令牌。令牌原来是1,要发数据就换成0,然后把数据接上。目标节点也可以加入环中,当令牌到目标节点,目标节点把数据copy下来,然后当令牌绕回起始节点被自己吸收。

token-bus协议:IEEE 802.4

token-ring协议:IEEE 802.5

4.以太网Ethernet简介

以太网提供不可靠无连接的服务

1.两个标准
a.DIC Ethernet V2(第一个规约)
b.IEEE的802.3标准

可以将802.3局域网简称为以太网。

802.11是无线局域网。

2.数据链路层的两个子层
1.逻辑链路控制LLC子层(透明的)

有IEEE 802.2协议

作用不大了(TCP/IP使用的是DIC Ethernet V2)。

2.媒体接入控制MAC子层(与接入到传输媒体有关的内容)

5.适配器adapter

网络接口板又称通信适配器adapter网络接口卡NIC网卡

**功能:**串行/并行装换,数据缓存,操作系统上安装设备驱动程序,实现以太网协议

6.LAN局域网

1.MAC address

局域网上每个适配器都有独特的地址。

LAN(MAC/物理/以太网)地址:48位,写于适配器的ROM上,目的是实现在一个网络内部网卡和网卡之间帧的传输。

**32bitIP地址:**网络层地址,前n-1跳使数据报到达目的IP子网,最后一跳到达子网的目标节点。

MAC地址由IEEE管理和分配。

MAC地址是平面地址,可以进行移动(网卡连接到其他网络)

IP地址有层次,不能移动,依赖于子点连接,(前缀与子网相同)

2.ARP地址解析协议Address resolution protocol:

LAN的每个IP节点都有一个ARP表(包含节点的IPMAC地址、TTL(地址映射失效的时间,通常20min))

同一个网络中:当A要发送给B(IP已知)帧时,但B的MAC地址不在:

A会广播(broadcast)含有B的IPARP查询包,LAN中的所有节点都会收到查询包

B接收到ARP查询包后,回复A自己的IP地址(通过A的MAC地址),以的形式

A在自己的ARP表中缓存IP-to-MAC地址映射关系,直到信息超时

软状态soft state:定期刷新维持系统状态。但是定期刷新周期之间维护的状态和原有系统不一致

ARP是自己创建的表现,无需管理员干预。

3.路由到其他LAN

A->R->B

R有两个ARP表,对应两个LAN。

源主机的路由表中发现下一跳是111.111.111.110,APR表中发现MAC地址是E6-E9-00-17-BB-4B

A创建数据报datagram,源IP:A,目的IP:B

A创建一个链路层的帧,目的MAC地址是R,帧中包含A到B的IP数据报

A的适配器发送帧,R的适配器接收帧,R提取出IP数据报,发现目的地是B

R通过ARP获得B的MAC地址,然后R创建帧包含从A到B的IP数据报发送到B

7.以太网

1.星型拓扑

目前最主流。

连接选择:hub或switch

2.以太帧Ethernet Frame结构

以太网的帧结构和PPP的帧结构是两种。

发送方的适配器在以太网帧中封装IP数据报(或其他网络层协议数据单元)

前导码Preamble:7byte 10101010 (7个10101010)+ 1byte 10101011,用来同步接收方和发送方的时钟频率,使接收方的始终可以调节到发送端的时钟,从而按照发送端的始终接收帧

地址:12byte(目标MAC地址+源地址),若适配器接收到具有匹配上目标地址(=本站MAC地址)或广播地址(ARP数据包)的帧,然后将帧中的数据传递给网络层协议否则适配器就忽略该帧。

类型Type:指出更高层的协议(大多数是IP、也支持Novell IPX、AppleTalk)

CRC:接收方校验,如果校验错误,丢弃错误帧。

3.以太网帧的格式
1.以太网V2的MAC帧格式

数据字段:MAC客户数据字段,46(最小长度64-首尾18)~1500字节

当传输媒体的误码率为 1×108 时,MAC 子层可使未检测到的差错小于 1×1014

当数据字段的长度小于 46 字节时,应在数据字段的后面加入整数字节的填充字段,以保证以太网的 MAC 帧长不小于 64 字节。

无效的MAC帧:数据字段的长度与长度字段不一致、帧的长度不是整数字节、FSC查出有差错、数据字段长度不在46~1500之间。

MAC帧:64~1518。对于无效的MAC帧就直接丢弃。

4.无连接不可靠的服务

无连接:帧传输前,发送方和接收方没有握手handshaking。

不可靠接收方适配器不发送ACKNACK给发送方

递交给网络层的数据报流可能会有gap

如果app使用TCP协议,gap就会被补上,否则就会看到gap

5.以太网的CSMA/CD算法

没有时隙NIC(网卡)如果监听到其他NIC在发送就不发送:载波监听carrier sense。

发送时,适配器监听到其他适配器在发送就放弃当前帧的发送:冲突检测collision 。

冲突后尝试重传,重传前适配器等待一个随机时间随机访问random access

过程:适配器获取数据报,创建帧,发送前监听信道,发送中冲突检测,发送方检测到冲突,放弃并发送一个Jam信号,所有听到冲突的适配器也是如此。如果放弃,适配器进入指数退避状态。

Jam Signal:使其他发送方明确知道碰撞,48bit

Bit time:以太网10Mbps/ms,对K=1023,大约等50ms

指数退避Exponential Backoff:目标:适配器试图适应当前负载,在一个变化的碰撞窗口中随机选择时间点尝试重发。首次碰撞在(0,1)选择K,延迟K*512位时。第m次失败,在(0,1,…,2m-1)选K,延迟K×512,多次碰撞后K在0~1023中选择一个数,16次不成功就丢弃帧并报告。

高负载:重传窗口时间大,减少冲突,但等待时间长

低负载:站点等待时间少,但冲突概率大

特性:使用CSMA/CD协议的以太网不能进行全双工通信只能进行双向交替通信(半双工通信)。

每个站在发送数据后的一小段时间内都可能碰撞。

发送的不稳定性使以太网的平均通信量小于最高数据率。

争用期:最先发送数据帧的站,发送后(争用期或碰撞窗口)时间就知道是否碰撞,过了时间没有碰撞就不会发生。

以太网取51.2μs为争用期长度,对于10Mb/s的以太网,争用期可发512bit(64字节),若前64字节无冲突就不会有冲突。

最短有效帧长:以太网规定最短有效帧长为64字节,凡长度小于64字节的帧都是无效帧。

二进制指数类型退避算法:发生碰撞的站在停止发送数据后要推迟一个随机时间才能再发送数据。一般取争用期2τ。定义重传次数K,K<=10,从**(0~2k-1)中选一个数r,重传所需时延就是r倍的基本退避时间**。当重传16次仍不成功就丢弃帧,并向高层报告。

强化碰撞:发数据的站发现碰撞后就立即停止发送数据,再发送若干比特的人为干扰信号,让所有用户都知道已经发生碰撞。

帧间最小间隔:9.6μs,一个站检测到总线开始空闲后,需等待9.6μs才可以发送数据,目的是为了让接收到数据的站的接收缓存清理,做好下一帧接收准备。

CSMA/CD效率:tprop:LAN最远两个节点传播时间 ttrans:最大帧传输时间

6.10 Base T 和100 Base T

10/100Mbps速率也被称为“fast ethernet”

T表示双绞线twisted pair

星型拓扑:节点连接到HUB

节点和hub之间最大距离是100m

circuit

hub本质上是物理层中继器

一个端口收转发到所有其他端口。速率一致没有帧的缓存。hub端口上没有CSMA/CD机制:适配器检测冲突。提供网络管理功能。

工作原理

a.peer to peer

b.点到多点通信

功能整形放大Forwarding

8.Manchester编码(物理层)

10Base T中使用。每一个bit的位时中间有一个信号跳变。允许在接收方和发送方节点进行时钟同步(不需要同步全局的时钟)。10Mbps使用20M带宽,效率50%。

9.Gbit Ethernet千兆以太网

采用标准的以太帧格式。允许点对点链路共享广播信道。物理编码:8b10b编码。在共享模式,继续使用CSMA/CD MAC技术,节点间需要较短距离来提高利用率。全双工千兆可用于点对点链路。

8.hubs和switches

1.互联局域网设备:

中继器repeater(物理层)、转换器(信号转换的中继器)、集线器(物理层):中继器的一种形式,也称多端口中继器、交换机(链路层):网桥的一种形式,也称多端口网桥

2.hub集线器

主干backbone集线器互联多个网段LAN segment(允许一个站点发送的网络范围)。

集线器可以扩展节点之间的最大距离

单个片段碰撞域(segment collision domain)形成大的片段碰撞域(以广播的形式传播,使每个局域网就是一个碰撞域)。

不能将10BaseT和100BaseT网络连接到一起。

5-4-3-2-1规则

5:最多允许5个网段(最多五段链路),每个网段长度最大100m

4最长的信道上允许连接4个集线器或中继器(最长链路上最多4个中继器)

3:5个网段中最多有三个网段连接用户设备

2:最高层的中继器上的两个网段不能连接用户

1:上述组建一个大型冲突域,最大站点数1024,网络直径2500m

3.交换机switch

hub是收到帧后向所有出口转发出去(广播),switch是根据帧的MAC地址进行转发。

1.链路层设备

进行存储和转发

检查到来的帧头并根据目标MAC地址进行选择性转发

当帧需要网段进行转发,需要CSMA/CD进行接入控制。

2.透明transparent

主机不会感知到交换机的存在

3.即插即用plug and play,自学习self-learning

自动运行,交换机无需配置,自动更新表

4.自学习

交换机有交换表判断每条链路去往每个主机(含有主机MAC、到MAC的接口、时戳TTL)

可以在60min删除表中过时的条目(倒计时)。

交换机通过学习得到哪个主机对应哪个端口(网段)

记录发送方MAC和进入的端口的关系,添加到转发表

5.过滤filtering/转发forwarding

过滤:网段内主机之间的交互,交换机不会接收帧

转发:网段之间主机的交互,交换机转发到对应端口

交换机收到帧:

1.记录进入的链路和主机的MAC地址

2.使用目标MAC地址对交换表进行索引

3.

如果表中已知转发的地点,就直接转发到对应接口。

如果未知位置,就撒送到除自己以外的所有接口(广播)。

6.专用dedicated通道

交换机有许多接口。主机有直连到交换机的路径。全双工运行时没有碰撞。(hub实现不了)

交换switching:A到A‘、B到B’可以同时传输,没有碰撞。

7.交通隔离traffic isolation

交换机安装installation将子网分成网段。

交换机过滤包packets。

同网段的帧经常不转发到其他网段。

网段变成了分离的碰撞域(碰撞域中只收到对应的消息)。

8.更多交换机

直通交换cut-through switching:帧从输入端转发到输出端,而不首先收集整个帧(延迟轻微减少)。(直接转发)

网桥只能存储后转发

10/100/1000Mbps的共享/专用的接口组合。

9.交换机vs路由器

1.都是存储转发设备。

路由器:检查网络层头指针 交换机:检查数据链路层头指针

2.路由器有路由表,实现路由算法

3.交换机有交换表,实现过滤转发算法

4.网桥

网桥一般只能连接两个网段而且必须先存储帧然后才能转发。

5.总结

9.VLAN虚拟局域网

1.简介

VLAN是由一些局域网网段构成的与物理位置无关的逻辑组。(网段具有某些共同的需求,每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的工作站属于哪一个VLAN),只是局域网给用户提供的一种服务,不是新型局域网

**B1VLAN2**工作组内成员发送数据时,**B2、B3**将会收到广播的信息,A1、C1都不会收到信息。

虚拟局域网限制接收广播信息的工作站数,使网络不会因为传播过多网络信息而引起性能恶化。

2.以太帧格式

虚拟局域网协议允许以太网帧的格式中插入一个4字节的标识符,称为VLAN标记tag,指明哪个局域网。

3.100BASE-T以太网(快速以太网)

高速以太网:速率超过100Mb/s

双绞线上传送100Mb/s基带信号的星型拓扑以太网,仍使用IEEE 802.3的CSMA/CD协议

特点全双工方式下无冲突发生,因此不使用CSMA/CD协议。MAC帧的格式仍然是802.3标准规定的。保持最短帧长不变,但将网段的最大电缆长度减小到100m。帧间时间间隔从9.6μs改为0.96μs

4.三种不同的物理层标准

100BASE-TX(使用 2 对 UTP 5 类线或屏蔽双绞线 STP)、100BASE-FX(使用 2 对光纤)、100BASE-T4(使用 4 对 UTP 3 类线或 5 类线)

5.吉比特以太网

允许1Gb/s下全双工和半双工两种方式工作。802.3协议定的帧的格式。半双工需要CSMA/CD协议。10BASE-T和100BASE-T兼容

物理层:1000BASE-X:基于光纤通道的物理层 1000BASE-SX/LX/CX SX/LX/CX:短波长/长波长/铜线

1000BASE-T :使用 4对 5 类线 UTP

当使用全双工模式时,不使用载波延伸和分组突发

10吉比特以太网帧格式完全相同保留了802.3的以太网最小和最大帧长。只使用光纤为传输媒体。只存在全双工模式。工作范围成为城域网和广域网,实现了端到端的以太网传输。

好处:成熟技术、互操作性好、广域网中使用以太网价格便宜、统一的帧的格式简化操作管理

10.PPP

1.点对点数据链路控制

一个发送方、一个接收方、一条链路:比广播链路简单。无媒体访问控制无需明确的MAC寻址。(拨号链路dialup link、ISDN线)

点对点协议:PPP、HDLC(高级数据链路控制协议 )

2.数据链路层

传输单位是,早期的数据通信协议叫做通信规程procedure。

3.三个基本问题
1.封装成帧

封装成帧framing就是在一段数据的前后添加首部和尾部,就构成一个帧。

首尾就是作为帧定界

MTU就是最大传输单元(数据报的最大传送量)

控制字符进行帧定界:

2.透明传输

问题

解决:1.发送方如果发现帧中出现“SOH”或“EOT”就在前面插入转义字符“ESC”(十六进制编码1B)

2.字节填充/字符填充:接收端将转义字符删除

3.如果转义字符出现在数据中,应该在转义字符前再加一个转义字符

3.差错控制

传输中会产生比特差错:1变0,0变1

误码率BER:相当长的一段时间,传输错误的比特占总比特的比率。与信噪比有关。

为保证可靠性,必须加差错检测的措施。

4.PPP协议

用户到ISP就是用PPP协议。

1.组成

将IP数据报封装到串行链路(封装成帧)的方法、链路控制协议LCP、网络控制协议NCP。

2.设计需求

不可用阶段dead state:物理不可用阶段。PPP都需要从这个阶段开始和结束

链路终止阶段 termination state:PPP能在任何时候终止链路。(载波丢失、认证失败)通过交换LCP中的报文来关闭链路,关闭后通知网络层进行相应操作并网络层强制关断链路。

1.把包封装成帧packet framing:把网络层的数据报进行封装。可以同时携带多种网络层协议的数据。向上递交分组可以解复用。发送方可以将多个数据报合并成一个帧,向上交互必须把多个数据报解复用。

2.可以实现透明传输bit transparency。数据域可以携带任何形式的比特,直接进行打包。

3.可以检测错误error detection,但不要求对错误进行修复。

4.连接活性connection liveness。检测链路层的故障报告给网络层。

5.可以网络层地址协商network layer address negotiation。PPP必须为网络层提供一种机制(获知以及配置相互的网络层地址)

3.PPP数据帧

标志位Flag:帧的定界符(帧头、帧尾)

地址Address:没用

控制字段control:没用

协议字段protocol:网络层使用的是什么协议(PPP-LCP,IP,IPCP)

信息字段info:传送的数据部分

校验字段:CRC循环冗余检错

特殊字段前加转义字符(01111101)

4.PPP数据控制协议

配置PPP链路,网络层信息。

传输前协商:用户拨号接入ISP,路由器调制解调器进行确认,并建立物理连接。PC机会向路由器发送一系列LCP分组(多个PPP帧,链路控制分组是用来协商的)。分组及其响应选择一些PPP参数,和进行网络层配置。NCP给新接入的电脑分配一个临时IP地址,使PC机成为主机。断网后,NCP释放网络连接收回IP地址。然后LCP释放数据链路层的连接,最后释放物理层连接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机网络笔记第二章链路层 的相关文章

  • 【Protobuf】pb中类型字段不匹配问题

    文章目录 背景 结论 原始数据 测试1 测试2 背景 客户端更新proto 新增message字段 探索新增字段的数据类型和标签对服务端反序列化数据的影响 结论 新增字段数据类型与服务端相同标签数据类型 不同 无法获取数据 但是不报错 相同
  • Request应用

    request getRequestDispatcher url 的url可以是相对路径也可以是绝对路径 getRequestDispatcher分成两种 可以用request调用 也可以用getServletContext 调用 不同的是
  • Apache Tomcat 官网下载(保姆级教程)

    目录 前言 一 环境说明 二 官网下载 1 进入官网 2 选择下载版本 3 进入版本页面 4 选择下载 总结 前言 Apache Tomcat 它是目前使用最广泛的Java应用服务器之一 我们在下载的时候千万不要去第三方网站 可以直接官网下
  • 前端下载二进制流pdf文件,下载成功,打开空白问题解决

    做pdf文件下载的时候 后端返回了二进制数据流 前端在发起请求时需要设置responseType arraybuffer 或者blob类型才可以 具体操作可以看我之前的文章 传送门 一开始对接的时候下载打开都是正常的 过后突然就不行了 能下
  • MySQL-----事务管理

    文章目录 前言 一 什么是事务 二 为什么会出现事务 三 事物的版本支持 四 事物的提交方式 五 事务常见的操作方式 六 事务隔离级别 如何理解隔离性1 隔离级别 查看与设置隔离性 读未提交 Read Uncommitted 读提交 Rea
  • SpringMVC工作原理

    文章搬运自 https www cnblogs com xiaoxi p 6164383 html SpringMVC工作原理 SpringMVC的工作原理图 SpringMVC流程 1 用户发送请求至前端控制器DispatcherServ
  • Android 13 - binder阅读(5)- 使用ServiceManager注册服务2

    上一篇笔记我们看到了binder transaction 这个方法很长 这一篇我们将把这个方法拆分开来看binder transaction做了什么 从而学习binder是如何跨进程通信的 1 binder transaction stat
  • ajax中load方法,jQuery中ajax的load()方法用法实例

    本文实例讲述了jQuery中ajax的load 方法用法 分享给大家供大家参考 具体分析如下 此函数jQuery中简单而功能强大的ajax方法 它可以从服务器加载内容 然后写入匹配元素 语法结构 selector load URL data
  • 将sql service数据库中的数据迁移到clickhourse中

    首先我们要根据sql server数据库的表在clickhourse中对应的建立表 CREATE TABLE IF NOT EXISTS default PosSalSheet SheetID String PosType Int8 Sta
  • 操作系统 3.2 进程概念

    单选题 共10题 下面关于进程的叙述 最不符合操作系统对进程的理解 A 进程是多程序环境中的完整的程序 B 进程可以由程序 数据和进程控制块描述 C 进程和程序是多对多的关系 D 进程是程序在一个数据集合上运行的过程 它是系统进行资源分配和
  • STM32 主从蓝牙模块配置

    前言 最近在调试小车的时候 突然想要用两个蓝牙进行单片机和电脑的交互 之前一直用的都是从机的蓝牙 这里因为需要双机通信 所以也就顺便查询了一些资料 了解一下主从蓝牙模块的使用 以及双机通信的一些使用 话不多说 开始 AT指令 蓝牙模块需要通
  • react强制组件刷新_如何强制刷新React子组件:简单方法

    react强制组件刷新 Note As of React 16 componentWillReceiveProps is deprecated meaning if you are using that version or higher
  • JS组件Bootstrap实现弹出框和提示框效果代码

    这篇文章主要介绍了JS组件Bootstrap实现弹出框和提示框效果代码 对弹出框和提示框感兴趣的小伙伴们可以参考一下 前言 对于Web开发人员 弹出框和提示框的使用肯定不会陌生 比如常见的表格新增和编辑功能 一般常见的主要有两种处理方式 行
  • Python研发工程师必备工具合集

    Python研发工程师必备工具合集 1 必备工具 2 常用网站 3 学习路线 4 必备技能 5 书籍推荐 6 进阶学习 一 必备工具 1 Sublime Text 2 Notepad 3 Visual Studio Code 4 Atom
  • 宝塔环境,后台上传图片不成功问题

    主要是宝塔开启了post攻击拦截导致的 关闭之后就可以了 或者选择性关闭规则 我的项目追踪请求返回内容 div 宝塔免费WAF提醒您 from data 请求异常 拒绝访问 如有误报请点击误报 div
  • 第十章 数据库恢复技术

    第十章 数据库恢复技术 10 1 事务的基本概念 事务 事务是用户定义的一个数据库操作序列 这些操作要么全做 要么全不做 是一个不可分割的工作单位 例 事务的特性 ACID特性 ACID properties 原子性 Atomicity 事
  • Jetbrains相关IDE下载历史版本

    进入 https www jetbrains com zh cn phpstorm download other html 点击相应的IDE 在连接最后添加 字符串 download other html 回车 跳转到当前IDE历史版本下载
  • python3.6 安装torch、torchvision

    python3 6安装torch torchvision 1 进入torch的官网的下载页面 选择一下参数信息 2 下载 whl 文件到本地 直接复制那个地址 3 把刚刚下载的两个文件 放到安装python安装文件夹里面去 比如 我是复制到
  • C语言:详细讲解基于tcp和udp的两种本地通信方式

    udp本地通信注意 客户端这边必须要绑定自己的客户端信息不然服务器就无法给客户端发送消息 原因是网络编程的时候客户端信息操作系统会自动分配 而本地通信并不会 本地通信的时候 服务器的那个套接字文件是用来标识服务器进程的 客户端得用两个套接字
  • 集合的练习题

    练习1 随机点名器 需求 班级里有N个学生 实现随机点名器 public class W1随机点名器 public static void main String args ArrayList

随机推荐

  • OneNav 加强版支持多用户

    修改说明 支持多用户注册使用 Web自助申请 自助修改用户名和密码 可关闭注册 支持注册时记录用户注册IP和时间 支持登陆保护机制 多次登陆失败后会被限制 防止被爆破 支持隐藏登陆注册接口 防止被爆破 支持在非根目录运行 支持js css等
  • 以衍复为例,聊聊当下的沪深300指数增强

    最基础的问题 什么是沪深300指增 沪深300指数增强策略 对标沪深300指数 它利用量化投资的方式进行主动选股 很多管理人已经是全市场选股 在获取 指数 收益的同时 获取超越市场的 收益 能否长期获得稳定的 收益是衡量管理人水平的重要评判
  • [Pytorch系列-64]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix : 有监督图像生成pix2pix的基本原理

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122044727 目录 第1章 关键参
  • Linux/Ubuntu 单机安装配置 zookeeper

    文章目录 下载 配置zookeeper 运行zookeeper 添加zookeeper命令到环境变量 下载 官网下载页面 https archive apache org dist zookeeper 清华源下载地址 https mirro
  • AI智能语音客服机器人方案介绍/优点/核心

    介绍 智能语音电话系统 在语音电话交流中自动理解客户意向 并做出最恰当的回应 智能代替人工的基本原理如下 即在呼入 呼出过程中 利用ASR NLP技术引导用户说出需求 通过真人录制的声音模仿与客户进行多轮对话 将语音转化为文字 根据识别的文
  • 查看数据库数据文件的总大小

    select round sum bytes 1024 1024 1024 0 total space GB from dba data files round 是oracle数据库四舍五入函数 来自 ITPUB博客 链接 http blo
  • 关于js逆向你必须知道的20个知识点

    1 什么是js逆向 js逆向是指通过分析JavaScript代码来了解网页或应用的工作原理 发现关键信息或漏洞的过程 2 为什么要学js逆向 学习js逆向可以帮助我们加深对JavaScript语言的理解 发现网站或应用的漏洞 也可以用于一些
  • 【H5】前端存储 -- cookie、sessionStorage、localStorage

    前端存储分为cookie和webStorage webStorage又分为sessionStorage 会话存储 和localStorage 本地存储 cookie 特点 cookie产生于服务器端 保存在客户端 同一服务器下的cookie
  • 知识图谱的应用领域

    1 3 知识图谱的价值 知识图谱最早的应用是提升搜索引擎的能力 随后 知识图谱在辅助智能问答 自然语言理解 大数据分析 推荐计算 物联网设备互联 可解释性人工智能等多个方面展现出丰富的应用价值 1 辅助搜索 互联网的终极形态是万物的互联 而
  • [VS Code]-代码高亮设置

    代码高亮设置 在vscode 中对 选中的代码片段高亮颜色设置 和 所在当前行高亮提示设置 workbench colorCustomizations 2 写配置代码 workbench colorCustomizations editor
  • ThreadLocal从变量副本的角度解决多线程并发安全问题

    ThreadLocal从变量副本的角度解决多线程并发安全问题 之前我们讲的高并发场景下的线程安全问题 可以使用Synchronized同步关键字 Lock手动加锁的方式去解决 什么轻量级锁 偏向锁 重量级锁 可重入锁等等 实际上本质都是控制
  • Elasticsearch的long类型精准匹配异常?

    ES version 7 5 2 现象 通过其他字段可以查询出elasticsearch的doc数据 但通过某个long类型的字段精准匹配时不能hit GET index name search query term field value
  • 零基础上手定制谷歌浏览器插件

    文章目录 谷歌插件 核心内容简述 谷歌插件小案例 安装自定义谷歌插件 结语 谷歌插件 说起谷歌插件 相信大家应该都不陌生 比如下图就是我所安装的一些谷歌插件 而今天我所要做的不是给大家介绍有哪些好用的谷歌插件 而是给大家介绍一种快速上手自己
  • 懒汉模式的单例中对于指令重排序的规避方案

    1 双重检查的单例模式中可能会出现第一个非空判断为true 可是instance并没有初始化的情况 这种情况如果线程1去访问instance则会报异常 使用volatile关键字去声明instance可以规避2 3步的指令重排序 进而规避这
  • CMake入门指南

    CMake是一个比make更高级的编译配置工具 它可以根据不同平台 不同的编译器 生成相应的Makefile或者vcproj项目 通过编写CMakeLists txt 可以控制生成的Makefile 从而控制编译过程 CMake自动生成的M
  • python做excel自动化-Python如何控制Excel实现自动化办公

    Python如何控制Excel实现自动化办公 发布时间 2020 04 07 09 51 44 来源 亿速云 阅读 132 作者 小新 这篇文章主要给大家讲解的是Python如何控制Excel实现自动化办公 主要用到了xlsxwriter库
  • python画双坐标图_Python绘图分组双坐标柱状图(全网唯一,发布源代码),python,画,公布...

    目前在网络上没有找到现成的办法解决双坐标分组柱状图 为了画这个图 花了3小时 实现效果 源代码如下 import matplotlib pyplot as plt a 4 5 0 b 3 2 0 c 4 3 0 d 3 2 0 a 2 0
  • Hololens2项目基础开发

    目录 一 前言 二 VS2019负载安装 三 Hololens2项目环境配置 四 项目具体功能实现 五 打包部署真机测试 一 前言 Hololens2项目基础开发包含 单 双 手近距离控制物体移动旋转 双手近距离控制物体的缩放 语音功能 控
  • MATLAB中的corrcoef函数求两个向量的相关系数。

    想用MATLAB中的corrcoef函数求两个向量的相关系数 比如A 1 2 3 B 5 3 7 r corrcoef A B 可以求出相关系数是0 5 为什么两个向量的元素都要是3个以上才行 而只有两个元素的向量如A 1 2 B 5 3
  • 计算机网络笔记第二章链路层

    二 链路层和局域网 提供服务 差错检测error detection correction 共享广播信道sharing a broadcast channel 多路访问multiple access 多通信同时进行同一段链路如何使用 链路层