数据链路层—以太网协议

news2024/12/27 9:49:39

数据链路层—以太网协议


文章目录

  • 数据链路层—以太网协议
      • 重新认识四层模型
      • 以太网
      • 局域网特点
      • 以太网帧格式
      • 碰撞领域和避免碰撞算法
      • 认识MAC地址
      • 令牌环网
      • 交换机
      • 认识MTU
      • MTU对IP协议的影响
      • MTU对UDP协议的影响
      • MTU对TCP协议的影响
      • 数据跨网段传输的过程

重新认识四层模型

image-20231012181823771

  • TCP/IP分层模型将OSI参考模型分为四层,实际上五层,自顶向下分别是应用层,传输层,网络层,数据链路层和物理层。
  • 网络层的IP协议由于具有源IP地址和目的IP地址,可以在网络中唯一的标定两台主机,因此可以说IP具备跨网段、将数据从一台主机发送给另一台主机的能力。然而在同一个网段中只使用IP协议并不能准确的将数据交给目标主机,因此就需要用到下层数据链路层的以太网协议来做到局域网通信,在局域网中顺利的将数据交给目标主机。
  • IP协议只关系如何将数据从源主机传送到目标主机中,IP协议本身是不具备可靠性的。因此IP协议需要上层传输层TCP协议完成重传机制等操作来保证IP协议的可靠性。
  • TCP协议除了给下层提供重传机制等操作来保持数据的通信可靠性以外,还提供接口供上层应用层使用,例如使用socket编程时,本质上是在使用传输层TCP/UDP协议提供给我们的接口。
  • 因此,可以说网络层IP协议提供数据的跨网段传输的能力,传输层TCP协议提供数据传输可靠性,而数据链路层以太网协议是用来提供同网段数据传输的能力,即局域网中主机之间通信—解决了点到点通信问题。

以太网

以太网属于局域网中的一种,常见的局域网有3种。

  • 以太网是局域网的一种实现方式,但如今以太网占据了绝大多数市场,故某种意义上,以太网就是局域网。
  • 令牌环网:令牌环网常用于IBM系统中,在这种网络中有一种专门的帧称为“令牌”,在环路上持续地传输来确定一个节点何时可以发送包。
  • 无线LAN/WAN。LAN是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。WAN是一种跨越大的、地域性的计算机网络的集合。通常跨越省、市,甚至一个国家。广域网包括大大小小不同的子网,子网可以是局域网,也可以是小型的广域网。

虽然网络中的局域网使用的类型不同,但在网络层,通过IP协议屏蔽掉了底层协议的差异。在网络层及其以上,只关心将数据报向下交付,并不关心底层使用了什么类型的协议。

  • 网络层将报文交付给数据链路层,在数据链路层给报文添加上相应的报头。
  • 如果数据要跨网段通信,就需要将报文发送给路由器。如果数据要在局域网中通信,就需要将报文发送给目标主机。总之数据到达另一端时,需要去掉报文对应数据链路层的报头,然后再向上交付。
  • 路由器发送给下一台主机时,就需要在数据链路层添加上相应的报头。

因此报文在网络中传送,不断地添加数据链路层报头,去掉数据链路层报头,这样就能够在不同的局域网中使用不同类型的局域网协议,最后数据发送到目标主机上。

以太网

  • “以太网” 不是一种具体的网络, 而是一种技术标准; 既包含了数据链路层的内容, 也包含了一些物理层的 内容. 例如: 规定了网络拓扑结构, 访问控制方式, 传输速率等;
  • 如以太网中的网线必须使用双绞线; 传输速率有10M, 100M, 1000M等;

局域网特点

  • 处在在同一个局域网的主机,可以直接通信。

  • 每台主机都必须具备唯一的标识符,即mac地址。mac地址一共6字节48位,该地址是配备在网卡上的,且是全球唯一。

  • 在局域网中,一台主机发送的消息,局域网中的所有主机都能够接收到,但是在数据链路层就能够对信息的目的mac地址进行丢弃或者接收向上交付操作。若目的mac地址是本主机地址,那么就将数据包向上交付,若不是,则直接丢弃报文。

  • 在数据链路层对数据进行向上交付,这种行为称作抓包。网卡具有混杂模式,即不放弃任何数据帧,无论收到什么报文都接收并且向上交付,不对数据做丢弃操作。即抓包数据的原理。

以太网帧格式

以太网帧格式如下:

  • 上层网络层将报文交付到数据链路层,数据链路层需要对该报文进行封装。目的地址是目标主机的mac地址,源地址是源主机的mac地址。这两个地址的长度是48字节,在网卡出厂时就固化好了。
  • 类型字段标定帧协议类型。其中帧协议类型有3种值,0800对应,0806对应ARP,0835对应RARP。
  • 帧末尾有四位字段,CRC是校验码,数据链路层拿到数据报后,需要对CRC做验证,若验证错误,则报文直接丢弃。

碰撞领域和避免碰撞算法

实际上在硬件上传输mac帧是通过光电信号传播,而传播过程中若会出现两个及以上的mac帧在局域网中时会发送数据碰撞,碰撞后的mac帧就容易发送数据丢失,因此mac帧若发生了碰撞,一般情况下是要被目的主机丢弃的。

因此称一个局域网就是一个碰撞域,在碰撞域中,同一时刻出现两个及以上的mac帧在传输,就容易发送数据碰撞。

以太网规定,在同一个时刻只允许一台主机往局域网中发送数据。若主机往局域网中发送的数据发生碰撞,这些主机就需要等待特定的时间间隔。

这样的好处在于:在该间隔期间,没有发生数据碰撞的主机可以继续往局域网中发送数据。等待发送碰撞的数据在局域网中消散。时间间隔结束后,等待的主机可以发送数据。

这样可以有效的错开局域网中主机发送数据的时刻,这样的算法叫做避免碰撞算法。而主机要具备知道自己发送的数据是否发送碰撞的能力,即主机要具备碰撞检测。

实际上,保持局域网消息正常发送就是保证主机都遵守主机的碰撞检测和避免碰撞算法,因此破坏局域网的手段就是不遵守该算法,不断的往局域网中发送垃圾数据,对局域网中的数据进行碰撞破坏。

总结一下:避免碰撞算法就是发送数据碰撞的主机就需要等待一段时间再发送数据,因此在以太网中也存在重传机制,该重传机制是为了保证局域网中一台主机的数据能够发送到目标主机上。

MAC帧然后将报报头与有效载荷进行分离?

由于以太网MAC帧的帧头和帧尾是固定长度的,因此当数据链路层从底层接收到一份MAC帧时,只需要按照固定长度分离帧头和帧尾,剩下的就是有效载荷了。

如何将MAC帧的有效载荷部分交付给上层的相关协议?

在帧头部分有类型字段,根据该字段就能将有效载荷交付给对应的协议。

主机A需要将MAC帧发送给局域网中的主机B。

  • 局域网中的所有主机都能够收到该MAC帧,包括主机A。
  • 主机A收到自己发送出去的报文后,通过CRC校验和字段检验,如果发送了数据碰撞,就立刻执行避免碰撞算法,后续将MAC重传到局域网中。
  • 主机B收到MAC帧后,先是对帧头的目的IP字段做判断,若目的IP本主机IP,则不做报文丢弃行为。接着对CRC校验和字段做检验,若没有发送错误则对MAC帧进行分离操作,按照帧头的类型字段,将有效载荷交付给上层对应协议。若发生错误,则对MAC帧进行丢弃。
  • 其他主机收到MAC帧后,对帧头部分的目的IP字段做判断,得知目的IP不是本主机IP,执行报文丢弃行为。

认识MAC地址

  • MAC地址用来识别数据链路层中相连的节点。
  • 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)。
  • 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可 能会冲突; 也有些网卡支持用户配置mac地址)。
  • 通过ifconfig查看ether后接的就是mac地址

image-20231013192529861

令牌环网

  • 令牌环网是IBM公司于70年代发展的,21世纪以后这种网络比较少见。在老式的令牌环网中,数据传输速度为4Mbps或16Mbps,新型的快速令牌环网速度可达100Mbps。
  • 令牌环网的传输方法在物理上采用了星形拓扑结构,但逻辑上仍是环形拓扑结构。

image-20231013194910539

  • 其通信传输介质可以是无屏蔽双绞线、屏蔽双绞线和光纤等。

令牌的工作原理

  • 在这种令牌环网中,有一种专门的帧称为“令牌”,在环路上持续地传输来确定令牌环网上的主机(节点)何时可以发送数据包。
  • 令牌环网的媒体接入控制机制采用的是分布式控制模式的循环方法。即在令牌环网中有一个令牌(Token)沿着环形总线在入网节点计算机间依次传递。令牌实际上是一个特殊格式的帧,本身并不包含信息,仅控制信道的使用,确保在同一时刻只有一个节点能够独占信道
  • 当环上节点都空闲时,令牌绕环行进。节点计算机只有取得令牌后才能发送数据帧,因此不会发生碰撞。由于令牌在网环上是按顺序依次传递的,因此对所有入网计算机而言,访问权是公平的。
  • 令牌在工作中有“闲”和“忙”两种状态。“闲”表示令牌没有被占用,即网中没有计算机在传送信息;“忙”表示令牌已被占用,即网中有信息正在传送。
  • 希望传送数据的计算机必须首先检测到“闲”令牌,将它置为“忙”的状态,然后在该令牌后面传送数据。当所传数据被目的节点计算机接收后,数据被从网中除去,令牌被重新置为“闲”。

当然令牌环网也有缺点。在令牌环网中需要维护令牌,一旦失去令牌就无法工作,因此需要选择专门的节点监视和管理令牌。

总结一下:

  1. 以太网采用的是主机的碰撞检测和避免碰撞算法,如果发生了数据碰撞,那么发送该碰撞的主机就需要等待一段时间再发送,等待期间,没有发生数据碰撞的主机可以往局域网中发送数据,一定程度上避免了数据碰撞。而光电信号的传播数据极快,这种做法基本上能够避免局域网的数据碰撞问题。
  2. 令牌环网是在通过令牌在网内流通,环网内的主机去获取令牌,获取到令牌的主机才能够往环网中发送数据,即保证了任一时刻只有一台主机往环网内发送数据。这里可以将环网近似看作临时资源,环网上的主机发送数据的行为看作成访问临时资源的临界区,而令牌就是锁,拿到锁的进程才能进入临界区访问临界资源。虽然以太网和令牌环网处理数据碰撞的方式不同,但殊途同归。

交换机

网桥:网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发。网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口。

交换机:以太网交换机通常都有十几个接口。因此,以太网交换机实质上就是一个多接口的网桥,可见交换机工作在数据链路层。

在网络层中使用的中间设备是路由器,在数据链路层中使用的中间设备是交换机。

image-20231013205244767

交换机的作用:

  1. 识别局部性的碰撞,对碰撞过的数据不做转发。交换机 会放置在局域网中,对局域网进行局部划分。例如左局部的主机需要向右局部的主机发送数据时,需要通过交换机进行转发。若转发的数据在左局部网已经被碰撞了,交换机不做转发,减少右局域网的数据碰撞概率,保护了右局部网。例如主机A要向主机E发生数据,数据在左局部网中已经发生碰撞了,交换机接收到数据后,不会将数据转发到右局部网,而是直接丢弃。
  2. 不对局域网中的局部域的数据进行转发。例如主机A向C主机发送数据,理论上局域网中的所有数据都会接收到该数据如何在数据链路层中做相应处理。而主机A和主机C存在局域网中的同一个局部域,那么交换机不会将该数据转发到另一个局部域中,减少了另一个局部域的数据碰撞的几率。

因此这也看出局域网的范围不能太大,局域网太大,其包含的主机数量越多,局域网就越难以管理,数据碰撞的几率就越大。

认识MTU

以太网帧中的数据长度规定最小46字节,最大1500字节,ARP数据包的长度不够46字节,要在后面补填充位。

最大值1500称为以太网的最大传输单元,即MTU(最大传输单元(Maximum Transmission Unit),不同的网络类型有不同的MTU,不同的数据链路层规定标准的MTU也是不同的;

如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU了,则需要对数据包进行分片(fragmentation);

MTU对IP协议的影响

由于数据链路层MTU的限制, 对于较大的IP数据包要进行分包。

IP报文格式

image-20231014142400341

MTU是数据链路层中以太网协议的最大传输单元,规定了mac帧的有效载荷大小最多为1500字节。数据链路层的上一层是网络层,IP协议位于网络层。网络层需要将IP报文交付给下一层数据链路层,以太网协议要对IP报文做封装。因此IP报文的最大长度限制于MTU,即IP报文的最大长度最多是1500字节,而IP报文的标准报头大小为20字节,因此在MTU的限制下,IP报文的有效载荷大小最多为1480字节。大于MTU的报文要进行分包(分片)。

  • 将较大的IP包分成多个小包, 并给每个小包打上标签。
  • 每个小包IP协议头的 16位标识(id) 都是相同的。
  • 每个小包的IP协议头的3位标志字段中, 第2位置为0, 表示允许分片, 第3位来表示结束标记(当前是否是最后一个小包, 是的话置为1, 否则置为0)。
  • 到达对端时,在网络层IP协议会将这些小包会按顺序重组, 拼装到一起返回给传输层。
  • 一旦这些小包中任意一个小包丢失, 接收端的重组就会失败,但是IP层不会负责重新传输数据。在源主机的传输层,TCP协议会触发重传机制,重新发送报文。

具体IP报文的分片和组装原理可以参考博主的另一篇博客网络层协议—IP协议

MTU对UDP协议的影响

UDP报文格式

image-20231014142245567

传输层位于网络层的上一层,传输层需要将UDP报文交付给下一层网络层,IP协议需要对UDP报文做封装,因此MTU也会对UDP报文大小具有限制。MTU限制IP报文的最大长度为1500字节,因此IP协议规定IP报文的有效载荷的最大长度为1480字节,因此UDP报文的最大长度为1480字节。由于UDP报头为8字节,因此UDP报文的有效载荷最大长度为1472字节。

  • 一旦UDP携带的数据超过1472, 那么就会在网络层分成多个IP数据报。
  • 这多个IP数据报有任意一个丢失, 都会引起接收端网络层重组失败,那么这就意味着, 如果UDP数据报在网络层被分片, 整个数据被丢失的概率就大大增加了。

MTU对TCP协议的影响

TCP报文格式

image-20231014143131722

TCP协议也位于传输层,因此TCP协议报文也受到MTU的约束。

  • TCP的一个数据报也不能无限大,TCP的单个数据报的最大消息长度, 称为MSS(最大报文段长度—Max Segment Size)。
  • 由于传输层之上就是应用层,因此MSS就是用户所能一次性发送的最大数据大小。
  • TCP在建立连接的过程中, 通信双方会进行MSS协商。
  • 最理想的情况下, MSS的值正好是在IP报文不会被分片处理的最大长度(这个长度仍然是受制于数据链路层的MTU)。
  • 双方在发送SYN的时候会在TCP头部写入自己能支持的MSS值。
  • 然后双方得知对方的MSS值之后, 选择较小的作为最终MSS。
  • MSS的值就是在TCP首部的40字节变长选项中(kind=2)。

MTU和MSS在以太网协议、IP协议、TCP协议中的关系示意图如下:

image-20231014145013708

在主机上也可以通过ifconfig查看MTU大小

image-20231014145422359

数据跨网段传输的过程

基于以上对数据链路层的学习理解之后,重新认识数据跨网段传输。

image-20231014145659599

以主机A想要跨网段将数据发送给主机B为例

  • 主机A想要将数据发送给主机B,那么就先需要将数据发送到路由器A。主机A在IP层将源IP(自己的IP)和目的主机IP(主机B的IP)填充完封装完IP报文后,向下交付给数据链路层,此时mac帧的目的地址就是路由器A的mac地址,源地址是主机A的mac地址。然后主机A将报文发送到局域网中。
  • 局域网中的主机都能收到这份mac帧,但只有路由器A的mac地址与mac帧的目的地址相同,因此只有路由器A接收了这份mac帧并解包向上交付给IP层。
  • 路由器A的IP层查看IP报文的目标主机IP,并与路由表中的IP做比对,选择将数据发送给路由器B。于是将IP报文交付给数据链路层。
  • 路由器A的数据链路层对mac帧做封装,填充的目的地址是路由器B的mac地址,源地址是路由器A的mac地址,封装完后将mac帧发送到局域网中。
  • 局域网中的主机都能收到这份mac帧,但只有路由器B的mac地址与mac帧的目的地址相同,因此只有路由器B接收了这份mac帧并解包向上交付给IP层。
  • 路由器B的IP层查看IP报文的目标主机IP,并与路由表中的IP做比对,选择将数据发送给路由器C。。。。。。
  • 不断重复上述过程,直到最终数据转发至主机B。

因此数据在跨网段传输过程中,mac帧的目的地址和源地址不断变化,但IP地址不会变化。其原因在于数据在传输过程中的上一跳主机和下一跳主机在不断变化。而IP地址标定了网络中的唯一主机,作为数据在传输过程中的终点。

将数据在网络中跨网段运输,放到生活中,可以理解为mac帧的有效载荷作为包裹,mac地址就是运输包裹的载具,IP地址就是包裹需要到达的地点。在不同的场景使用不同的载具,使用飞机、铁路、货车,运输包裹的载具不断变化,但包裹的收货地址不会改变。

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

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

相关文章

C# Convert和BitConverter类学习

前言: C# Convert是一个比较好用的强制转换,相比我们之前用的(int)或者是类型.Parse(),Convert给我们提供了很多的选项,特别是对于有字节要求的变量,Convert简直就是C#编程的福音,BitConvert对于byte数组转…

数据结构的奥秘:算法与实际应用的完美融合

文章目录 第一部分:数据结构的精髓1. 数组(Array)2. 链表(Linked List)3. 栈(Stack)和队列(Queue)4. 树(Tree)5. 图(Graph&#xff09…

fastjson 1.2.47 远程命令执行漏洞

fastjson 1.2.47 远程命令执行漏洞 文章目录 fastjson 1.2.47 远程命令执行漏洞1 在线漏洞解读:2 环境搭建3 影响版本:4 漏洞复现4.1 访问页面4.2 bp抓包,修改参数 5 使用插件检测漏洞【FastjsonScan】5.1使用説明5.2 使用方法5.2.1 右键菜单中&#xff…

车载电子电器架构 —— 国产基础软件生态简介

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

python二次开发CATIA:测量曲线长度

以下代码是使用Python语言通过win32com库来控制CATIA应用程序的一个示例。主要步骤包括创建一个新的Part文件,然后在其中创建一个新的几何图形集,并在这个集合中创建一个样条线。这个样条线是通过一组给定的坐标点来创建的,这些点被添加到集合…

利用深度学习进行组水平大脑解码

摘要 脑成像数据解码越来越受欢迎,可用于脑机接口和神经表征等方面的研究。解码通常是特定于个体的,由于不同被试之间的差异较大,因而不能很好地泛化。克服这一问题的技术不仅需要能够提供更丰富的神经科学见解,而且还能使组水平…

Docker Compose命令讲解+文件编写

docker compose的用处是对 Docker 容器集群的快速编排。(源码) 一个 Dockerfile 可以定义一个单独的应用容器。但我们经常碰到需要多个容器相互配合来完成某项任务的情况(如实现一个 Web 项目,需要服务器、数据库、redis等&#…

【Windows日志】记录系统事件的日志

文章目录 一、概要二、Windows日志介绍 2.1 应用程序日志2.2 系统日志2.3 安全日志 三、查看与分析日志四、常见事件ID 4.1 登录事件 4.1.1 4624登陆成功4.1.2 4625登陆失败 4.2 特权使用4.3 账户管理事件4.4 账户登录事件5.2 事件ID汇总 一、概要 Windows主要有以下三类日…

Nginx:反向代理(示意图+配置)

示意图: 反向代理 反向代理(Reverse Proxy)是代理服务器的一种,它代表服务器接收客户端的请求,并将这些请求转发到适当的服务器。当请求在后端服务器完成之后,反向代理搜集请求的响应并将其传输给客户端。…

NewStarCTF2023week2-游戏高手

js代码审计,定位到输出flag的地方 首先进行了一个条件判断,如果游戏分数大于100000,就会执行下面的代码块; 然后创建了一个 XMLHttpRequest 对象,用于向服务器下的/api.php发送 POST 请求; 后面代码用于处…

List 模拟实现

前言 本文将会向你介绍如何模拟实现list、iterator迭代器 模拟实现 引入 迭代器是一种用于访问容器中元素的对象,它封装了对容器中元素的访问方式。迭代器提供了一组操作接口,可以让我们通过迭代器对象来遍历容器中的元素。(iterator迭代器…

机器学习-无监督算法之降维

降维:将训练数据中的样本从高维空间转换到低维空间,降维是对原始数据线性变换实现的。为什么要降维?高维计算难,泛化能力差,防止维数灾难优点:减少冗余特征,方便数据可视化,减少内存…

《动手学深度学习 Pytorch版》 8.6 循环神经网络的简洁实现

import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2lbatch_size, num_steps 32, 35 train_iter, vocab d2l.load_data_time_machine(batch_size, num_steps)8.6.1 定义模型 num_hiddens 256 rnn_layer nn.RNN(len(voca…

1 两数之和

解题思路&#xff1a; \qquad 对每个数nums[i]&#xff0c;仅需在数组中搜索target-nums[i]是否存在。 优化思路&#xff1a; \qquad 首先能想到&#xff0c;利用哈希表O(1)查询target-nums[i]。 \qquad 建立map<int, vector<int>>的表能够处理重复元素&#x…

基于Eigen的位姿转换

位姿中姿态的表示形式有很多种&#xff0c;比如&#xff1a;旋转矩阵、四元数、欧拉角、旋转向量等等。这里基于Eigen实现四种数学形式的相互转换功能。本文利用Eigen实现上述四种形式的相互转换。我这里给出一个SE3&#xff08;4*4&#xff09;(先平移、再旋转)的构建方法&…

Ubuntu - 安装Docker

在Ubuntu上安装Docker分为以下几个步骤&#xff1a; 更新包列表&#xff1a; sudo apt update 安装依赖包&#xff0c;以便允许apt使用HTTPS&#xff1a; sudo apt install apt-transport-https ca-certificates curl software-properties-common 添加Docker官方GPG密钥&a…

在命令行下使用Apache Ant

Apache Ant的帮助文档 离线帮助文档 在<ant的安装目录>/manual下是离线帮助文档 双击index.html可以看到帮助文档的内容&#xff1a; 在线帮助文档 最新发布版本的帮助文档https://ant.apache.org/manual/index.html Apache Ant的命令 ant命令行格式 ant [opt…

在 Windows 平台上启动 MATLAB

目录 在 Windows 平台上启动 MATLAB 选择 MATLAB 图标 从 Windows 系统命令行调用 matlab 从 MATLAB 命令提示符调用 matlab 打开与 MATLAB 相关联的文件 从 Windows 资源管理器工具中选择 MATLAB 可执行文件 在 Windows 平台上启动 MATLAB 选择以下一种方式启动 MATLAB…

6.串口、时钟

预备知识 CC2530在正常运行的时候需要一个高频时钟信号和一个低频的时钟信号 高频时钟信号&#xff0c;主要供给CPU&#xff0c;保证程序的运行。 低频时钟信号&#xff0c;主要供给看门狗、睡眠定时器等偏上外设。 CC2530时钟信号的来源&#xff1a; 高频信号有2个&#xff0…

【C++】:初阶模板

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关Linux的基础知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通 数…