【计算机网络自顶向下】如何学好计网-第五章数据链路层

news2024/11/18 3:30:59

第五章 数据链路层

学习目的

  • 目的1:理解链路层服务的主要功能

    • 差错检查、纠错

    • 共享广播信道:多点接入问题(multiple access)

    • 链路层寻址(link layer addressing)

    • 局域网技术:Ethernet, VLANs

  • 目的2:链路层技术的实现

  • 点到点的线路一般用于广域网【IP】

    • 点可以是主机节点可以是路由节点

  • 多点连接的链路容易发生碰撞【局域网,功能更复杂】

    • 需要协调共享型介质MAC:Media Access Controll

    • 需要寻址

wan全称Wide Area Network,是广域网的意思;lan全称Local Area Network,是局域网的意思

5.1 链路层概述

链路层的术语

  • 主机和路由器: 节点(nodes)

  • 沿着通信路径连接相邻节点的通信信道:链路(links)

    • 有线链路(wired links)

    • 无线链路(wireless links)

  • 第二层的分组: 数据帧(frame), 它是封装了的数据报

数据链路层的职责是将数据报从一个节点传送到与该节点直接有物理链路相连的另一个节点。

帧:链路层的PDU【协议数据单元】

链路层解决点到点的数据传输

网络层解决端到端的数据传输

传输层解决进程到进程的区分,加强网络层的服务

应用层解决交换报文,实现网络应用


链路层的类比

  • 数据报可以在不同的链路上,通过不同的链路层协议发送: e.g., Ethernet on first link, frame relay on intermediate links, 802.11 on last link

  • 每个链路层协议提供不同的服务: e.g., 可以提供/也可以不提供可靠数据传输服务

  • 运输的类比:

    • 从学校到洛桑的旅程

      • 小汽车: 电子科大——双流机场

      • 飞机: 双流机场——日内瓦

      • 火车: 日内瓦——洛桑

    • 游客 = datagram

    • 分段旅程 = communication link

    • 运输模式 = link layer protocol

    • 旅行社代理 = routing algorithm

每一段的帧的协议都不同,有以太网、帧中继等

5.1.1 链路层提供的服务

不同的链路层协议,提供的只是服务的子集

  • 封装成帧,链路接入(framing, link access):

    • 封装数据报为数据帧,增加头部,尾部信息

    • 如果是共享链路,接入链路

    • 在数据帧头部中,用MAC地址来标识源目的MAC地址【物理地址】

      • 不同于IP地址

  • 在相邻节点之间可靠传输数据帧

    • 我们在第3章已经学习了如何在运输层实现数据的可靠传输

    • 在比特错误率很低的链路(光纤、双绞线)很少使用

    • 无线链路:高比特错误率

      • 对于出错率高的链路层:需要实现可靠传输,防止到了源端再重发带来的恢复时间长、协议栈代价变高的问题。

      • 问题:为什么要在链路层和端到端都实现可靠传输?

      • 分层架构,并不知道下层或上层是否可靠,每层只实现自己的功能

      • 为什么网络层不实现可靠服务?

      • 网络层设计之初提供best effort 服务,没有实现可靠,可靠会增大传输成本

  • 流量控制(flow control):

    • 用于控制发送节点向直接相连的接收节点发送数据帧的频率

  • 差错检查(error detection):【还剩下的服务】

    • 差错可能由信号衰减、噪声引入、

    • 接收方检测是否出现错误:

      • 通知发送方重传或丢弃数据帧

  • 错误纠正(error correction):【还剩下的服务】

    • 接收方标识和纠正比特错误,而不需要请求重传

  • 半双工和全双工(half-duplex and full-duplex):

    • 在半双工模式,链路的两个节点都可以发送数据,但是不能同时发送

5.1.2 链路层实现的位置

网卡:Adapter 网络适配器,实现了链路层和响应的物理层的功能

  • 主机和网络设备(路由器)上实现

  • 在主机上,链路层的主体部分是在网络适配器上实现的(称为网卡)

    • 以太网卡,802.11卡;以太网芯片组

    • 实现链路层和物理层的功能

  • 硬件、软件、固件的组合


网络适配器

  • 发送方:

    • 封装数据报为数据帧

    • 增加差错检测比特,可靠数据传输,流量控制等机制。

  • 接收方

    • 执行检查错误、可靠数据传输、流量控制等机制

    • 抽取数据报,将其递交给上层

5.2 差错检测和纠错

差错检测和纠错技术

  • 比特级差错检测和纠错

    • 对一个节点发送到一个相邻节点的帧,检测是否出现比特错,并纠正。

    • 相关技术很多。

    • 差错检测和纠错的过程

  • 差错检测并非100%可靠

    • 协议可能丢失一些错误

    • 差错校验位越多,检测和纠正功能越好

发送节点

  • 将数据D附加若干差错检测和纠错位EDC,一起发送到链路。

  • 数据D包括网络层传来的数据报,以及链路级寻址信息、序列号和其他字段。

  • 保护范围包括数据D的所有字段。

接收节点

  • 接收比特序列D'和EDC'。

    • 如果发生传输比特错误(0->1,1->0),D'和EDC'可能与发送D和EDC不同

    • 接收方根据D'和EDC',判断D'是否和初始的D相同(D的传输是否正确)。

  • 正确:解封取出数据报,交给网络层;

  • 出错:差错处理。


说明

  • 差错检测和纠正技术不能保证接收方检测到所有的比特差错,即可能出现未检测到的比特差错,而接收方并未发现。

  • 选择一个合适的差错检测方案使未检测到的情况发生的概率很小即可。

  • 差错检测和纠错技术越好,越复杂,开销更大。


三种主要差错检测技术

  • 奇偶校验:最基本的方法。

  • Internet校验和:常用于运输层。

  • 循环冗余检测:常用于链路层。

一维比特奇偶校验

  • 发送方:

    • 在要发送的信息D(d位)后面附加一个奇偶校验位

    • 使“1”的个数是奇数(奇校验)或偶数(偶校验)

    • 一起传输发送(d+1位)。

  • 接收方:

    • 检测收到的信息(d+1位)中“1”的个数。

    • 偶校验:发现奇数个“1”,至少有一个比特发生差错(奇数个特差错)。

    • 奇校验:发现偶数个“1”,至少有一个比特发生差错。

  • 可以查出任意奇数个错误,但不能发现偶数个错误。

  • 若比特差错概率很小,差错独立发生,一比特奇偶校验可满足要求。

  • 若差错集中一起“突发”(突发差错),一帧中未检测到的差错的概率达到50%。

二维奇偶校验

  • 基本思想:

    • 将要传信息D(d比特)划分为i行j 列(i 个组,每组j位);

    • 对每行和每列分别计算奇偶值;

    • 结果的i+j+1个奇偶比特构成了帧的差错检测比特。

二维奇偶校验的例子

  • 要发送的数据比特10101 11110 01110, 划分3组,每组5个比特。进行行、列偶校验

  • 特点:

    • 可以检测并纠正单个比特差错(数据或校验位中)。

    • 能够检测(但不能纠正)分组中任意两个比特的差错。

Internet校验和方法(复习)

Internet校验和的特点

  • 分组开销小:检查和位数比较少;

  • 差错检测能力弱:

  • 适用于运输层(差错检测用软件实现,检查和方法简单、快速)。

  • 链路层的差错检测由适配器中专用的硬件实现,采用更强的CRC方法。


循环冗余检测

  • 计算机网络中广泛采用

    • 循环冗余检测CRC (cyclic redundancy check)编码

      • 即多项式编码,把要发送的比特串看作为系数是0或1的一个多项式,对比特串的操作看作为多项式运算。

    • 基本思想

      • 设发送节点要把数据D(d 比特)发送给接收节点。

      • 发送方和接收方先共同选定一个生成多项式 G(r+1比特),最高有效位 (最左边)是1。

10111 -> x4+x2+x+1 位串的表示方式

循环冗余检测的基本思想

  • 发送方

    • 计算出一个r位附加比特R,添加到D的后面产生DR(d+r 比特)

    • DR能被生成多项式G模2运算整除,一起发送

  • 接收方

    • 生成多项式G去除接收到的DR(d+r比特)

      • 余数非0:传输发生差错;

      • 余数为0:传输正确,去掉尾部r位,得所需数据D。


什么是模2运算

  • 加法不进位,减法不借位,即操作数按位异或 (XOR) 例 1011 XOR 0101=1110 ; 1011-0101=1110 1001 XOR 1101=0100 ; 1001-1101=0100

  • 乘法和除法与二进制运算类似,其中加法或减法没有进位或借位。

  • 乘以2r,即比特模式左移r 个位置。 D×2r XOR R = D 00…00 XOR R = DR (d+r 比特)


计算R(CRC比特)


CRC练习

最多检验多项式长度,超过了不保证检测得到

奇数位错误也可也被检测到


循环冗余码CRC的特点

  • 生成多项式G的选择:常见的有8、12、16和32 比特生成多项式G。

  • 国际标准已经定义了8-、16-、32-位生成多项式G;8-位CRC用于ATM信元首部的保护;32-CRC用于大量链路层IEEE协议。其他检错方法不常用,故不作专门介绍

    • CRC8生成多项式为G(x)=x8+x5+x4+1

    • CRC16生成多项式为G(x)=x16+x12+x5+1

    • CRC-32生成多项式为G(x)=x32+x26+x23+x22+x16+x11+x10+x16+x8+x7+x5+x4+x2+x+1

  • CRC特点: 能检测小于 r+1 位的突发差错、任何奇数个差错。

差错检测方法比较

  • 奇偶校验能力最弱,CRC校验能力最强。

  • 奇偶校验通常用于简单的串口通信【一个比特一个比特传输】

  • Internet校验和通常用于网络层及其之上的层次,要求简单快速的软件实现方式

  • CRC通常应用于链路层,一般由适配器硬件实现

检错纠错的基本原理*


海明编码*

5.3 多路访问链路和协议

多路访问链路和协议

  • 两种网络链路

    • 点对点链路:链路两端各一个节点。一个发送和一个接收。如点对点协议PPP。

    • 广播链路多个节点连接到一个共享的广播信道。 广播:任何一个节点传输一帧时,信号在信道上广播,其他节点都可以收到一个拷贝。常用于局域网LAN中,如早期的以太网和无线局域网。

  • 本节主要学习广播链路的信道共享技术。

两个节点同时发送会造成冲突

  • MAC介质访问控制协议:协调介质的共享使用

  • 多个站点一个信道,可发控制信息和数据信息


广播信道要解决问题

  • 传统的广播电视:是单向的广播,一个固定的节点向许多接收节点发送。

  • 计算机网络:广播信道上的节点都能够发送和接收。 好比许多人聚集在一起交谈(空气是广播媒体)。 解决“谁在什么时候获得说话权力”(向信道发送)。

  • 多路访问问题:如何协调多个发送和接收节点对共享广播信道的访问。相关技术即是多路访问协议(也称多址访问协议)。


多路访问协议

  • 目的协调多个节点在共享广播信道上的传输。 避免多个节点同时使用信道,发生冲突(碰撞),产生互相干扰。

  • 冲突(collide):两个以上的节点同时传输帧,使接收方收不到正确的帧(所有冲突的帧都受损丢失)。

    • 造成广播信道时间的浪费。

    • 多路访问协议可用于许多不同的网络环境,如有线和无线局域网、卫星网等。

  • 理想的多址访问协议 速率为R bps的广播信道

    1. 当一个节点有数据发送时,它能以R bps的速率发送.

    2. 当有M个节点要发送数据,每个节点的平均发送速率为 R/M

    3. 完全分散: 不需要主节点协调传输 不需要时钟、时隙同步

    4. 简单

多路访问协议类型(三类)

  • 信道划分协议

    • 把信道划分为小“片” (时隙)

    • 给节点分配专用的小“片”

  • 随机访问协议

    • 不划分信道,允许冲突

    • 能从冲突中“恢复”

  • 轮流协议

    • 通过轮流访问信道避免冲突,要发送的节点越多轮流时间越长

5.3.1 信道划分协议

主要有TDMA、FDMA、CDMA三种。 设信道支持 N 个节点,传输速率是 R b/s。

  • 时分多路访问TDMA (time division multiple access): 将时间划分为时间帧,每个时间帧再划分为N个时隙【slot】(长度保证发送一个分组),分别分配给N个节点。每 个节点只在固定分配的时隙中传输。 例:6个站点的LAN, 时隙1、3、4 有分组, 时隙2、5、6 空闲

  • TDMA的特点

    • 避免冲突、公平:每个节点专用速率R/N b/s。

    • 节点速率有限:R/N b/s;

    • 效率不高:节点必须等待它的传输时隙。

  • 频分多路访问FDMA (frequency division multiple access):

    • 将总信道带宽 R b/s划分为 N 个较小信道(频段,带宽为R/N),分别分配给 N 个节点。例: 6个站点的LAN, 频带1、3、4 有分组, 频带2、5、6 空闲

    • 特点: 避免冲突、公平:N个节点公平划分带宽; 节点带宽有限、效率不高:节点带宽为R/N。

  • 码分多路访问CDMA (frequency division multiple access):

    • 每个节点分配一个唯一的编码

    • 每个节点用它唯一的编码来对它发送的数据进行编码

    • 允许多个节点“共存” ,信号可叠加,即可以同时传输数据而无冲突 (如果编码 是“正交化”的)

5.3.2 随机访问协议

随机访问协议规定:

  • 如何检测冲突

  • 如何从冲突中恢复

ALOHA

纯 ALOHA

纯Aloha效率

纯Aloha的效率:1/2e

时隙ALOHA

冲突之后,以p的概率重传帧,时间越长成功概率越大。

###

载波侦听多路访问CSMA

传输前先侦听信道

  • 由于电磁波传递的速度,局部的判知无法判断全局的使用情况。

  • 端到端越长,传播延迟越大,冲突概率越大

  • CSMA可以进一步减少冲突可能性,但无法避免冲突

CSMA/CD(冲突检测)

CSMA:说之前听

CSMA/CD:边说边听

冲突发生时停止传输,提升信道利用率

以太网采用CSMA/CD

  • 发送方检测到了冲突,发送Jam信号让所有站点都知道冲突

  • 窗口越大碰撞几率下降,但平均等待时间增大了

  • 直到m=10,取值为{0-1023},双方选择一个值,等待i*512位时

  • 对载荷自适应

    • 载荷越大,碰撞几率越大,窗口扩大

  • 自适应算法:【二进制指数退避算法】

    • 在等待时间和碰撞几率中取得较好的均衡

效率比ALOHA更好

CSMA/CA(冲突避免)

WLAN有两种模式:

  • 有基础设施模式

  • 自主帧模式

AP接入点【Access Point】

无线介质特点:电磁波衰减,开放空间传电磁波干扰严重。

发之前监听,发过程中不作冲突检测

无线网络中冲突检测不可行:

  • 自身的电磁波信号强于其他节点传播的电磁波信号

  • 不冲突不意味着成功

有限网络中:不发生冲突=成功

条件:帧>=2t(t=最远两个站点的传播延迟)

图中A、C为隐藏站点,B作为中继节点

  • A、C同时向B发送,对于A、C没有冲突,但在B点冲突,不代表成功。

  • 为什么不采用CD?

    • 由无线局域网带来的隐藏终端和暴露终端的问题使得CD不好用

CA:事前避免冲突,信道忙,则随机选择一个值,信道空闲时每个周期-1,为0时获得信道访问权

SIFS < DIFS,确认帧的发送优先级更高

以太网没有确认帧

冲突预约

线缆接入网络

下行数据:

  • 互联网通过CMTS向客户端发送的一些数据

  • 不存在竞争

上行数据【互联网访问的数据】:存在介质访问控制的问题

  • 竞争式的预约的时隙

    • 终端设备通过竞争式的上行链路的信道去预约,CMTS通过下行信道通知所有节点,采用预约的结果使用响应的时隙进行上行传输

    • 若预约信息冲突,终端用户可再次预约【采用二进制退避的方法】

轮流MAC协议

信道划分

  • 低负载的情况下:每个用户的带宽只有1/N,利用率低

  • 高负载情况下利用率高

随机访问

  • 低负载情况下:效率几乎100%

  • 高负载情况下:冲突开销大,效率极低

  • 单点故障:不可靠

分布式的轮询

高低负载效率都高

  • 高负载比不过信道划分

  • 低负载比不过随机访问

MAC总结

5.4 交换局域网

局域网概述

  • 局域网:Local Area Network ( LAN )

  • 多址访问协议广泛应用于局域网

  • 基于随机访问的CSMA/CD广泛应用于局域网

  • 基于令牌传递技术的令牌环和FDDI在局域网技术中变得次要或被淘汰

  • 链路层技术的发展,使得局域网、城域网、广域网的概念变得越来越模糊和不重要

  • 主要特点:网络为一个组织所拥有,且地理范围和站点数目均有限

  • 局域网按拓扑结构进行分类:星形网、环形网、总线网、树形网和网状网

常见的网络拓扑结构

  • 星型结构

  • 辐射状连接

  • 中央结点集中式通信控制

  • 优点:结构简单,访问协议简单,单个节点的故障不会影响到整个网络。

  • 缺点:对中央结点的可靠性要求很高,一有故障,全网瘫痪。

  • 总线结构

  • 所有的站点都连接在同一根传输线,即“总线”上

  • 优点:结构简单,易于扩充

  • 缺点:故障检测比较困难

  • 环型结构

  • 站与站点之间首尾相接,形成一个环,数据只能沿单方向传输

  • 优点:这种结构适合于光纤介质。实时性较强

  • 缺点:如果处理不当,站点的故障会引起全网故障

  • 树型结构

  • 它是从星型拓扑演变而来的,形状像一棵倒挂的树

  • 特点:与星型拓扑大致相似。它与星型结构相比降低了通信线路

    本,增加了网络复杂性

  • 网状结构

  • 网状网络的每一个站点都与其它站点一一直接互连

  • 优点:连接方法主要是利用冗余的连接,实现站与站之间的高速传输和高容错性能,以提高网络的速度和可靠性

  • 缺点:关系复杂,建网难,维护难


计算机与局域网的连接

计算机与局域网通过网络接口板进行连接,网络接口板又称通信适配器(Adapter)或网络接口卡NIC(Network Interface Card),通常我们称为“网卡”。


局域网体系结构

  • 美国电气与电子工程师协会IEEE 802委员会制定的IEEE 802局域网标准已经得到了国际标准化组织ISO的采纳,成为计算机局域网的事实标准

  • IEEE 802局域网参考模型是针对局域网的网络体系结构特点而制定的,它遵循ISO/OSI参考模型的原则,解决物理层和数据链路层的功能以及与网络层的接口服务、网际互连的高层功能


局域网体系结构

LANs

前n-1跳是ip地址的子网层起作用

LAN地址【48位】:区分一个网络的内部,节点节点之间的切分

MAC:在物理网络的内部标识每个节点,从而把分组分装为帧从一个节点发到另一个节点【唯一标识一块网卡】

IP地址是分层的,MAC地址的平面的

ARP:IP地址到MAC地址的转换

  • IP地址完成网络到网络的交付

  • MAC地址完成物理网络内部的节点到节点的数据交付

  • 分离的好处

    • 网卡变了IP地址可以不变

    • 可以支持不同的网络层协议

!!!MAC地址完成的工作

  • 前n-1跳:到下一跳的IP转换为MAC

  • 最后一条将目标IP地址转换为MAC地址

  • 将这些MAC地址交给网卡,封装成帧【都是一个网卡交给另一个网卡】

  • 经过前面n-1跳,穿过若干子网,最后一跳到达目标主机

  • 广播MAC地址:48位全1,整个局域网内的所有节点都能收到

MAC地址可以移动

IP地址不能随意移动,子网前缀不同

ARP协议

查询MAC地址

  • 查询缓存表

    • 没有

      • 广播IP地址,等待接收ARP包的回复得到MAC地址

      • 加入节点的IP-to-MAC地址映射关系表,20min信息超时

      • 直接查询得到

理解过程:【假设有n跳(n>2)】

  • 第一步:A节点查询默认网关的IP地址,广播ARP包,得到网关路由器的MAC地址

  • 第二步:封装成帧,发向网关路由器

  • 第三步:路由器解封装,得到目标IP地址,查询路由表,得到转发端口和下一跳IP地址

  • 第四步:重复第一步,得到下一跳路由器的MAC地址,重复第二步

  • 第五步:直到到达目标IP的网关路由器,同样得到MAC地址,进行封装发送。

  • 穿过每一段的MAC形式都可能变,IP地址始终不变

以太网

每个节点使用CSMA/CD冲突检测】的方式

线缆只要有一处破损,会导致总是冲突

hub集线器:一个端口收,所有端口发

集线器的连接设备,都处于一个碰撞域内,一次只能有一个设备发【逻辑上看总线型,物理看星形】

过多的节点连接会导致冲突增多,效率下降,需升级为Switch【交换机】

交换机:网络的发送和接收可以同时多个主机并行。

  • 发送节点发送至交换机,交换机存储后只转发到对应的端口

  • CSMA/CD在高负载情况下冲突的弱点,由交换机解决

网卡混杂模式,接收所有目标MAC

type:标注上层需要交给的协议【IP、xx】

CRC:循环冗余校验

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

以太网使用CSMA/CD

T代表双绞线

所有集线器连接的节点处在同一个碰撞域中

Manchester编码

每个信号中间有向下的跳变代表1,有向上的跳变代表0

接收方可以区分时钟和数据

物理层内容

  • 体积x2,10M的数据变为20M

慢车斯顿编码在每个比特都有时钟周期和传送的数据,导致带宽太宽。

4b5b,100M->125M,有限的若干比特至少有一个跳边

802.11WLAN

网络交换设备

Hub集线器

集线器Hub

物理上是星型设备,逻辑上是总线型,盒中总线

Hub可以接其他hub,所有设备都在一个碰撞域中,一次只有一个站点能发送

碰撞域即网段

交换机

交换机帧的存储转发。每个端口是一个网段。多个主机可以并发发送。

透明

点到点:主机直接接到交换机

表项:(主机MAC,经过的接口,时戳)

  • 当接收到帧的时候,交换机学习到发送站点的端口,记录时添加时戳,到时间删除

  • 不知道帧的端口,进行泛洪【向所有端口转发】

  • 出去的端口和进来的端口不同

    • 转发

  • 出去的端口和进来的端口相同

    • 丢弃【过滤】

  • 不知道捆绑的端口

    • 泛洪

交换机VS路由器

VLANS

VLAN:一个物理LAN基础设施,虚拟成多个LANs

基于端口的VLAN:交换机端口成组(通过交换机管理软件),以至于单个的交换机可以分成若干虚拟LANs1

VLAN之间通过路由器进行转发

多个交换机共享VLAN,之间传输帧必须使用trunk port干线接口,携带VLAN ID【802.1Q】

链路虚拟化MPLS

按照标签进行转发

数据中心网络

高带宽、高可靠性、低延迟

页面请求流程

学生在校园启动一台笔记本电脑:请求和接受www.google.com

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue介绍与入门(一)

文章目录 前言一、Vue.js是什么&#xff1f;二、vue入门1. 引入vue.js2. 编写入门的简易代码&#xff08;实践&#xff09; 三、vue学习总结&#xff08;重点&#xff09; 前言 前端开发三大框架 1、Vue&#xff1a;尤雨溪主导开发 2、React&#xff1a;脸书&#xff08;Faceb…

MySQL 02:常用数据类型

<~生~信~交~流~与~合~作~请~关~注~公~众~号生信探索> 主要的数据类型&#xff0c;包括字符串、数值、日期时间 数值型 INT就是整数类型&#xff0c;根据允许的数值大小分为以下类型&#xff08;由小到大&#xff09;&#xff0c;这样做的目的是节约空间 INT类型范围&…

【Vscode 远程连接 Docker 容器】

文章目录 1. 配置docker镜像2. 安装 OpenSSH3. Vscode中安装 Remote-SSH 插件&#xff1a;4. 配置连接信息 1. 配置docker镜像 在主机目录下创建一个 Dockerfile&#xff0c;注意文件名必须保持一致&#xff01;&#xff01;&#xff01;&#xff08;默认装了docker&#xff09…

从零开始了解Redis 主从复制全部流程

主从复制 主从复制介绍 分析单个Redis 的问题 在一个项目中读的操作是比写的操作要多的 像京东&#xff0c;淘宝等等同一时刻看的人是远远多于买的人的所有单个redis既要承担写的操作又要承担读的操作效率低在高并发的情况下不稳定 所以引出了主从复制 一图胜千言 Redis …

数据库入门下篇(如何安装和登录MYSQL数据库)

在这篇文章里&#xff0c;笔者将着重讲解如何在win和Linux系统上安装自己的MySQL数据库软件&#xff0c;以及安装好数据库软件后如何启动和登录&#xff0c;忘了密码怎么办&#xff1f;如何创建一个数据库&#xff0c;如何在数据库中创建一个表等内容 目录 在windows系统上安装…

宠物行业 | 活动落地页设计指南基础版

中国是全球第二大宠物市场&#xff0c;同时也是增长最快的市场之一。随着养宠人群的扩大&#xff0c;人宠亲情关系的加深&#xff0c;客群消费意愿与消费水平的提高&#xff0c;中国宠物行业正处于消费与认知的全面升级期。 调研显示&#xff0c;2022年我国宠物产业规模达4936亿…

管理类联考——英语二——技巧篇——写作——图表作文——经典方法论

考研英语(二)的B节写作主要考查的是图表作文。笔者根据考研英源(二)大纲要求以及议论文经典的三段式写法(首段指出问题、中间段分析问题、尾段解决问题)&#xff0c;研发出一套图表作文的经典写法。下面我们来看图表作文经典的三段式写法的基本大招。 从上图可以看出&#xf…

【SpringCloud入门】-- Nacos快速入门之搭建服务与注册中心

目录 前言&#xff1a; 1.Nacos的下载与安装 2. 去MySQL建立一个名为nacos的数据库 3.介绍配置文件&#xff0c;conf目录下的 application.properties 4.nacos启动 5. nacos作为注册中心的作用 6.建立一个项目&#xff0c;实现向命名空间注册 前言&#xff1a; 上文我们已…

使用influxQL 查询influxDB 2.0以上版本

使用grafana 9.0 连接influxdb 2.0 时候,只能用FLux语言连接,就没有SQL编辑面板,通过研究搞定了,先看效果。 influxQL 格式连接 influxdb2.0 无法连接,总数报错 bad request. 那就用FLux格式连接,连接成功后,查询的地方没有可视化面板,只有编写脚本的地方,很不方便…

Android11 DNS解析流程

Android11 DNS解析 1. DNS解析概念 ​ DNS的全称是domain name system&#xff0c;即域名系统。主要目的是将域名解析为IP地址&#xff0c;域名是方便用户记忆&#xff0c;但网络传输中源目地址使用IP地址来进行标识的&#xff0c;所以Android中的网络应用程序在发起http请求…

MySQL redo log

redo log介绍 重做日志&#xff0c;用于记录事务操作的变化&#xff0c;确保事务的持久性。redo log是在事务开始后&#xff08;begin; 之后&#xff09;就开始记录&#xff0c;不管事务是否提交都会记录下来&#xff0c;在异常发生时&#xff08;如数据持久化过程中掉电&…

如何在 Vue3 组件中使用 TS 类型(必看)

一、为 props 标注类型 使用 <script setup> 方式一&#xff1a;当使用 <script setup> 时&#xff0c;defineProps() 宏函数支持从它的参数中推导类型&#xff1a; const props defineProps({treeTableProps: {type: Array,default: null,required: false},ms…

华为OD机试真题 JavaScript 实现【玩牌高手】【2023 B卷 100分】,附详细解题思路

一、题目描述 给定一个长度为n的整型数组&#xff0c;表示一个选手在n轮内可选择的牌面分数。 选手基于规则选牌。 请计算所有轮结束后其可以获得的最高总分数。 选择规则如下&#xff1a; 在每轮里选手可以选择获取该轮牌面&#xff0c;则其总分数加上该轮牌面分数&#…

✎Qt-doc——尺寸调整策略(QSizePolicy)

目录 QSizePolicy类详述成员类型文档 QSizePolicy类详述 小部件的尺寸策略是其愿意以各种方式调整大小的表达方式&#xff0c;并影响布局引擎对小部件的处理方式。每个小部件返回一个描述其在布局时首选的水平和垂直调整策略的QSizePolicy。您可以通过更改其QWidget::sizePoli…

SpringCloud:分布式事务Seata事务模式

Seata会有 4 种分布式事务解决方案&#xff0c;分别是AT模式、TCC模式、Saga模式和XA模式。 1.AT 模式 2019 年 1 月份&#xff0c;Seata开源了AT模式。AT模式是一种无侵入的分布式事务解决方案。在AT模式下&#xff0c;用户只需关注自己的业务SQL&#xff0c;用户的 业务SQL …

2023-06-16 Android app 使用opencv 调用jni在图片上添加文字,对图片进行模糊处理,源码实例学习。

一、要理解还是得自己看代码 1.1 完整的测试代码路径如下 https://download.csdn.net/download/qq_37858386/87916944 1.2 代码架构 1.3 app 运行效果 二、android studio 添加 opencv module可以参考下面的文章&#xff0c;比较详细。 Android OpenCV 入门教程笔记&#x…

华为OD机试真题 JavaScript 实现【计算最大乘积】【2022Q4 100分】,附详细解题思路

一、题目描述 给定一个元素类型为小写字符串的数组&#xff0c;请计算两个没有相同字符的元素长度乘积的最大值&#xff0c; 如果没有符合条件的两个元素&#xff0c;返回0。 二、输入描述 输入为一个半角逗号分隔的小写字符串的数组&#xff0c;2 < 数组长度<100&am…

Linux之RPM管理工具

目录 Linux之RPM管理工具 定义 作用 RPM软件包 RPM软件包的经典命名格式 RPM安装 语法格式 参数及作用 有关rpm包相关网站 RPM查询功能 语法格式 参数及作用 案例 rpm软件包安装 软件包升级 rpm软件包卸载 rpm卸载 强制卸载 rpm包签名验证 用途 查看签名 …

程序员如何转型成为个人开发者

作者&#xff1a;哈桑c&#xff08;CSDN平台&#xff09; 文章目录 1、什么是个人开发者&#xff1f;2、个人开发者如何赚钱&#xff1f;3、程序员如何转型成为个人开发者&#xff1f;4、成为个人开发者需要学习哪些技能&#xff1f;结语 1、什么是个人开发者&#xff1f; 个人…

redhat安装oracle11g单实例软件建库

1、打开xmanager-passive 2、oracle 用户登录&#xff0c;开始安装 [rootrhel64 database]# su - oracle [oraclerhel64 ~]$ evn |grep oracle -bash: evn: command not found [oraclerhel64 ~]$ evn | grep oracle -bash: evn: command not found [oraclerhel64 ~]$ env | g…