计网复习——数据链路层

2023-05-16

计网复习——数据链路层

1. 数据链路层设计要点

1.1 数据链路层概述

  • 物理层实现了比特流的传输,数据链路层在其基础上实现 帧(frame) 的传输

    • 数据链路层传输的协议数据单元(PDU)是帧

在这里插入图片描述

  • 数据链路层使用的信道类型

    • 点对点信道
      • 使用一对一的点对点通信方式
    • 广播信道
      • 使用一对多的广播通信方式
      • 广播信道上连接多个主机,必须采用专门的共享信道协议来协调数据发送

在这里插入图片描述

  • 数据链路层涉及的问题

    • 成帧(framing):怎样组成帧、怎样使接收方识别帧
    • 差错控制:帧在传输过程中出错的检测
    • 流量控制及可靠传输:仅是数据链路层的选项
    • 广播信道中的介质访问控制

1.2 成帧方法

  • 成帧要考虑的问题:接收方如何识别帧的边界?

  • 常用的成帧方法

    • 字符计数法:在帧头部字段中指明本帧的字节数,接收方通过该字段得知该接收多少字节

    • 字符填充的首尾定界法:定义专门的字符作为帧的起始/结束标志,并使用字符填充方法将标志字符与数据区分开来

    • 比特填充的首尾定界法:定义专门的比特序列作为帧的起始/结束标志,并使用比特填充方法将标志序列与数据区分开来

      字符填充方法和比特填充方法应该就是针对在数据中出现标志字符或标志序列,但是它们不是起始/结束标志的情况

    • 物理编码违例法:使用无效的物理编码作为帧的开始/结束标志,供接收方识别

在这里插入图片描述

2. 错误检测和纠正

2.1 检错编码

  • 任何通信链路在传输数据时都可能出错

  • 一般用 误码率BER(Bit Error Rate) 表示链路可靠性
    误 码 率 = 出 错 的 比 特 数 传 送 的 总 比 特 数 误码率=\frac{出错的比特数}{传送的总比特数} =

  • 处理方法

    • 使用可检测并纠正错误的编码:纠错码
    • 使用可检测错误的编码+重传:检错码
  • 常用检错编码方式

    • 奇偶校验

在这里插入图片描述

  • 简单累加和(校验和)

  • 循环冗余校验CRC(Cyclic Redundancy Check)

  • 循环冗余校验CRC原理

    • 发送方把数据划分为组,设每组k个比特,在其后添加供差错检测用的n位冗余码,(k+n)比特一起发送

    • 对数据M计算n位冗余码的过程:

      • 用二进制的模2运算进行 2 n 2^n 2n乘M的运算,这相当于在M后面添加n个0

      • 得到的 (k+n)位的数除以事先选定好的长度为(n+1)位的除数P,得出商是Q而余数是R,余数R比除数P少1位,即R是n位

        在CRC运算中,总能保证除数的首位为1,则模2除法运算的商是由余数首位与除数首位的模2除法运算结果确定。因为除数首位总是1,那么余数首位是1就商1,是0就商0

      • R作为冗余码,添加在数据M后面,最终发送数据: 2 n M + R 2^{n}M+R 2nM+R

    • 接收方对收到的(k+n)比特计算冗余码,结果为0表示传输正确,否则表示传输错误

    • 例:计算101001的3位CRC冗余码,已知M=101001、k=6、n=3,设除数P=1101

      • 被除数: 2 n M = 101001000 2^{n}M=101001000 2nM=101001000

      • 模2运算(异或)的结果:商Q=110101,余数R=001

在这里插入图片描述

* 发送的数据:$2^{n}M+R$,即101001001,共(k+n)位
  • 通常用生成多项式 P ( x ) P(x) P(x)表示除数 P P P

    • 例:除数 P = 1101 P=1101 P=1101的生成多项式 P ( X ) = X 3 + X 2 + 1 P(X)=X^3+X^2+1 P(X)=X3+X2+1
  • 目前广泛使用的生成多项式

    • C R C − 16 = X 16 + X 15 + X 2 + 1 CRC-16=X^{16}+X^{15}+X^{2}+1 CRC16=X16+X15+X2+1
    • C R C − C C I T T = X 16 + X 12 + X 5 + 1 CRC-CCITT=X^{16}+X^{12}+X^{5}+1 CRCCCITT=X16+X12+X5+1
    • C R C − 32 = X 32 + X 23 + X 22 + X 16 + X 12 + X 11 + X 10 + X 8 + X 7 + X 5 + X 4 + X 2 + X + 1 CRC-32=X^{32}+X^{23}+X^{22}+X^{16}+X^{12}+X^{11}+X^{10}+X^{8}+X^{7}+X^{5}+X^{4}+X^{2}+X+1 CRC32=X32+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1

2.2 纠错编码

  • 检错码只能发现数据出现了错误,无法得知哪个比特出错
  • 纠错编码通过增加冗余信息使得能够检测错误发生所在,以便于纠正,又称为前向纠错
    • 海明编码
  • 关于数据链路层检错/纠错的讨论
    • 通过检错码/纠错码可以做到帧的无差错接收,或者说“无比特差错”
    • 并不意味着可靠传输,其他的错误包括:帧丢失、帧重复、帧失序

3. 基本数据链路协议

3.1 无限制的单工协议

  • 假设前提
    • 单向传输
    • 理想信道
    • 发送方总有数据发送
    • 接收方总能及时处理所收到的数据
  • 未考虑接收方的处理速度,设想 发送方发送速度>接收方处理速度

3.2 单工停-等(stop-and-wait)协议

  • 按照“无限制的单工协议”,如果接收方处理帧的速度不及发送方,则帧可能丢失
  • 解决方法:增加流量控制(flow control)机制,得到单工停等协议
    • 接收方每收到一帧,都向发送方返回一个应答帧
    • 发送方每发送一帧,都等待来自接收方的应答帧
  • 考虑了接收方的处理速度,但未考虑传输出错

3.3 有噪声信道的单工协议

  • 有噪声信道中,帧在传输过程中可能出错
  • 解决方法——ARQ(Automatic Repeat Request)协议
    • 校验和:使接收方能够检测帧是否出错
    • 确认帧:使发送方知道帧已被正确接收
    • 超时重发:发送方在规定时间内未收到确认帧,则重发帧
    • 帧序号:确保接收方不会重复接收帧
  • 协议设计要考虑的三种情形
    • 数据帧被正确接收:接收方返回确认帧,发送方收到后继续发送下一帧
    • 数据帧出错或丢失:接收方未收到帧或校验出错丢弃该帧,发送方等待确认帧超时后,重发数据帧
    • 确认帧出错或丢失:发送方未收到有效的确认帧,重发数据帧,接收方收到后,检查帧序号重复,不上交该帧,只返回确认帧

4. 滑动窗口协议

4.1 简介

  • 传输链路存在时延,而ARQ协议在同一个时刻仅有一个帧在链路上传输(数据帧或确认帧),其对信道的利用率较低

  • ARQ协议的信道利用率过低(尤其当传输时延较长时)
    U = T D T D + R T T + T A U=\frac{T_{D}}{T_{D}+RTT+T_{A}} U=TD+RTT+TATD
    其中, T D T_{D} TD是发送数据帧的时间, R T T RTT RTT是往返时延/环路时延, T A T_{A} TA是发送应答帧的时间

4.2 滑动窗口协议原理(sliding window protocol)

  • 滑动窗口协议的基本思想
    • 允许发送方连续发送多个帧
    • 通过滑动窗口实现流量控制
      • 每个待发送的帧都有一个序列号
      • 发送方维护一个发送窗口,它包含一组序列号,对应允许发送的帧
      • 接收方维护一个接收窗口
  • 问题:发送窗口宽度接收窗口宽度如何确定?
  • 发送方
    • 发送窗口内的序列号代表允许它发送的帧
      • 窗口内最大的序列号称为窗口上边界,或窗口上沿、前沿
      • 窗口内最小的序列号称为窗口下边界,或窗口下沿、后沿
    • 每当从网络层得到一个数据包,将其组成帧发出后,发送窗口的上边界+1
    • 发送窗口下边界的帧被接收方确认后,下边界+1
  • 接收方
    • 接收窗口内的序列号代表它可以接收的帧
    • 收到的帧序列号等于窗口下边界时,将该帧上交网络层,并返回确认帧,同时整个窗口向前移动1个位置
    • 如果收到帧序列号落在接收窗口之外,则将其丢弃
    • 注意:接收窗口总是保持固定大小

在这里插入图片描述

在这里插入图片描述

  • 一个问题:连续发送的多个帧中,某一帧出错或丢失,但后续帧已被正确接收,如何处理?
    • 必须遵守的规则:数据链路层需按顺序向网络层上交帧
    • 方案一:出错帧后的帧丢弃,从出错帧开始重新发送 → \rightarrow 后退N帧
    • 方案二:出错帧后的帧保留,只重发出错帧 → \rightarrow 选择性重传

4.3 后退N帧的滑动窗口协议(Go back N)

  • 当某帧出错时,该帧之后的帧全被丢弃,从出错帧开始重新发送
  • 实际上此时接收窗口宽度为1

在这里插入图片描述

4.4 选择性重传的滑动窗口协议(selective repeat)

  • 当某帧出错时,只选择性地重发该帧,该帧之后发送的帧由接收方数据链路层缓冲,收到重发的出错帧后上交网络层
  • 当接收方检测到出错帧时,发送一个否定的确认(NAK,Negative Acknowledgement)
    • 带来的好处:发送方可以尽快重发出错帧,而不必等到超时
    • 问:如果数据帧不是出错而是丢失?如果确认帧出错或丢失?
  • 该协议要求接收方能够临时性缓冲接收窗口内的帧
  • A C K n ACKn ACKn表示n及n以前的帧均已被正确接收

在这里插入图片描述

5. 点对点协议PPP

5.1 PPP协议的特点

  • PPP(Point-to-Point Protocol):一种数据链路层协议,广泛应用于点到点链路的数据传输
  • PPP协议有三个组成部分
    • 将IP数据报封装到串行链路的方法
    • 链路控制协议LCP(Link Control Protocol)
    • 网路控制协议NCP(Network Control Protocol)

5.2 PPP的帧格式

  • PPP是面向字节的,所有的PPP帧的长度都是整数字节
  • 标志字端F:=0x7E(二进制:01111110
  • 地址字段A:置为0xFF,实际上不起作用
  • 控制字段C:通常置为0x03
  • 协议字段:2字节,用于识别信息字段(又称为载荷,payload)的类型
    • 0x0021:PPP帧的信息字段是IP数据报
    • 0xC021:信息字段是PPP链路控制数据(LCP)
    • 0x8021:信息字段是网络控制数据(NCP)
  • 校验字段FCS:2字节的CRC校验

在这里插入图片描述

  • PPP的透明传输问题(帧边界识别)

    • 同步传输(如SONET/SDH):零比特填充
    • 异步传输:字符填充
  • 字符填充

    • 信息字段(载荷)中的每一个0x7E → \rightarrow 0x7D,0x5E
    • 信息字段中的每一个0x7D → \rightarrow 0x7D,0x5D
    • 信息字段中的每一个ASCII码控制字符(小于0x20的字符)前面加入0x7D,且编码改变
      • 例:0x03 → \rightarrow 0x7D,0x23
    • 由于在发送端进行了字节填充,因此在链路上传送的信息字节数就超过了原来的信息字节数。但接收端在收到数据后再进行与发送端字节填充相反的变换,就可以正确地恢复出原来的信息。
  • 零比特填充

    • 发送端:只要发现有5个连续1,则立即填入一个0
    • 接收端: 对帧中的比特流进行扫描,每当发现5个连续1时,就把这5个连续1后的一个0删除

在这里插入图片描述

5.3 PPP协议的工作状态

在这里插入图片描述

6. 介质访问控制

6.1 局域网的数据链路层

  • 局域网的主要特点:网络为一个单位所拥有,且地理范围和站点数目均有限

在这里插入图片描述

  • 局域网要解决的重要问题:介质访问控制技术
    • 问题缘由:局域网通常使用广播信道
    • 静态划分信道
      • 频分复用
      • 时分复用
      • 波分复用
      • 码分复用
    • 动态介质访问控制(多点访问)
      • 随机访问:用户可随机发送信息,可能产生碰撞(冲突)
        • 典型协议:ALOHA、CSMA、CSMA/CD、CSMA/CA等
      • 受控访问:如多点线路轮询(polling),或轮询 → \rightarrow 局域网中使用较少

6.2 CSMA/CD协议

  • Carrier Sense Multiple Access with Collision Detection 载波监听多点访问/碰撞检测

    • 是一种随机访问协议
  • CSMA/CD的几个核心概念

    • 载波监听(carrier sense)

      • 结点在发送数据之前先检测一下总线上是否有其他结点正在发送数据,如有则暂时不要发送数据,以免发生碰撞 → \rightarrow “发送前先听”
    • 碰撞检测(collision detection)

      • 结点边发送数据边检测信道上是否发生了碰撞(监听总线上传输的信号) → \rightarrow “边发送边听”
      • 由于线路的传播时延,单纯靠载波监听并不能完全避免碰撞 → \rightarrow 碰撞仍有可能发生
      • 在发生碰撞时,两个或更多的信号在总线上相互叠加,导致无法识别

在这里插入图片描述

  • 碰撞强化

    • 发送方检测到碰撞后,立即停止发送,并发送32或48bit的人为干扰信号(jamming signal),以便让所有用户都知道已经发生了碰撞
  • 碰撞退避

    • 碰撞后,结点等待一段时间,重新开始载波检测和发送操作
    • 为避免退避后再次碰撞,冲突各方的等待时间应各不相同
    • 以太网采用截断二进制指数退避算法(truncated binary exponential backoff)
      • 退避时间: T = 2 τ ∗ 倍 数 T=2\tau * 倍数 T=2τ
      • 倍数:在 0 , 1 , … , 2 k − 1 0,1,\dots,2^{k}-1 0,1,,2k1中取随机数, k = m i n ( 重 传 次 数 , 10 ) k=min(重传次数,10) k=min(,10)
      • 重传次数超过16后,丢弃该帧,并向上层报告

在这里插入图片描述

  • 争用期

    • 一个站点开始发送数据后,最多经过时间 2 τ 2\tau 2τ(两倍的端-端时延)就可知道是否发生了碰撞
    • 以太网的端到端往返时延 2 τ 2\tau 2τ称为争用期,或碰撞窗口
    • 如果经过争用期还没有检测到碰撞,就可以肯定这次发送不会发生碰撞
  • 以太网的争用期

    • 以太网的争用期长度:51.2 μ s \mu s μs
    • 对于10 Mb/s 以太网,在争用期内可发送512bit,即64字节
    • 在发送数据时,若前64字节未发生碰撞,就不会发生碰撞
    • 据此规定以太网帧长 ≥ \geq 64字节,长度小于64字节的帧为无效帧

在这里插入图片描述

  • CSMA/CD协议的优缺点讨论

    • 网络负载较轻时效率高
    • 硬软件实现简单、灵活
    • 网络负载较重时,碰撞发生概率增大,网络效率较低
    • 由于存在多次冲突的可能,数据从发送方到达接收方的时间没有保证 → \rightarrow 实时性较差

6.3 局域网技术标准

  • IEEE802标准将局域网的数据链路层分为两个子层

    • LLC(Logic Link Control)逻辑链路控制子层
    • MAC(Media Access Control)介质访问控制子层

在这里插入图片描述

  • IEEE802系列局域网标准

7. 以太网

7.1 以太网简介

7.2 以太网物理层

  • 最初的以太网为总线结构,采用50Ω同轴电缆,传输速率10Mbps
    • 缺点:总线上单点故障会导致全网瘫痪,网络中结点数较多时可靠性较差且维护困难;同轴电缆成本较高
  • 后发展为采用更便宜和灵活的非屏蔽双绞线,使用集线器(HUB)连接各个结点,物理上呈星形结构
    • 此种技术成为10Base-T
      • 10:10Mbps
      • Base:基带传输
      • T:双绞线(Twisted pair)
    • 使用集线器的以太网在逻辑上仍是一个总线网
    • 集线器很像一个多接口的转发器,工作在物理层

在这里插入图片描述

  • 采用曼彻斯特(Manchester)编码

    • 用电平的跳动表示0或1,即每个码元都有电平跳动

在这里插入图片描述

7.3 以太网的MAC层

  • 以太网采用CSMA/CD介质访问控制协议

  • MAC地址

    • 结点发送数据时,以太网总线结构,总线上的所有结点都能收到帧
    • 按照IEEE802.3标准,给每个结点分配唯一的MAC地址
    • MAC地址为48bit,高24bit为厂商标识符,低24位由厂商自行分配,须保证每个网络接口具有全球唯一的MAC地址
  • 适配器每收到一个帧就检查帧中的目的MAC地址,如果是发往本站的帧则进行处理,否则丢弃

    • “发往本站的帧”包括以下三种帧:
      • 单播帧(一对一)
      • 广播帧(一对全体),MAC地址为全1表示广播
      • 组播/多播帧(一对多)
  • 以太网的帧格式(5个字段)

    • 目的地址、源地址:各6字节的MAC地址
    • 类型:2字节,标明上层协议类型,例:0x0800表示IP包
    • 数据:网络层数据报,长度46~1500字节
    • FCS:4字节,帧校验序列,采用CRC校验

在这里插入图片描述

7.4 高速以太网

  • 快速以太网
  • 千兆以太网
  • 万兆以太网

8. 局域网互连

8.1 在物理层扩展局域网

  • 使用中继器或集线器可实现局域网在物理层的互连
  • 优点:可以方便地实现网络的扩展,且成本较低
  • 缺点:碰撞域增大,碰撞发生概率增大,可能影响网络性能

8.2 在数据链路层扩展局域网

  • 使用网桥可实现局域网在数据链路层的互连

  • 网桥的基本工作原理

    • 对收到的帧根据其MAC帧的目的地址进行转发过滤
    • 当网桥收到一个帧时,并不是向所有的接口转发此帧,而是根据此帧的目的MAC地址,查找网桥中的地址表,然后确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)

在这里插入图片描述

  • 用网桥实现局域网互连的优点

    • 过滤通信量、增大吞吐量
      • 各网段是独立的碰撞域
    • 扩大了物理范围
    • 提高了可靠性
    • 可互连不同物理层、不同MAC子层和不同速率的局域网
  • 用网桥实现局域网互连的局限性

    • 存储转发增加了时延
    • 在MAC子层并没有流量控制功能
    • 网桥只适合于用户数不太多(不超过几百个)和通信量不太大的局域网
      • 广播风暴:因某些站点频繁发送广播帧产生网络拥塞
  • 多接口网桥——交换机

    • 交换机早期称为交换式集线器
    • 通常有十几到几十个网络接口,每个接口可连接主机或其他交换机
    • 其内部工作原理为网桥,每一个网络接口被视为一个网段,因此交换机是一种多接口网桥
    • 与集线器相比
      • 交换机工作在数据链路层,每个接口为一个网段(碰撞域),可以大幅提高网络性能
      • 集线器由所有接口共享传输介质的带宽,而交换机为每个接口独享带宽
    • 交换机按照自学习算法建立转发表
      • 原理:若从A发出的帧从接口x进入了某网桥,那么从这个接口出发沿相反方向一定可把一个帧传送到A
  • 交换机的自学习过程:

    • 初始时转发表为空,通过自学习逐步建立
    • 交换机收到一个帧后的处理过程
      • 首先进行自学习,检查帧中源地址在交换表中是否存在,如不存在,则在交换表添加一项,记下源地址和进入交换机的接口
      • 然后转发帧,根据收到的帧中的目的地址在交换表中查找
        • 如果找到,则对应的接口即为转发接口
        • 如果未找到,则向除进入接口外的所有其他接口转发

在这里插入图片描述

  • 透明网桥还使用生成树算法

    • 用途:当多个局域网互连形成环路时,避免帧无休止转发
    • 方法:建立生成树
      • 互连在一起的网桥彼此通信后,能找出网络拓扑的一个子集。在该子集中,整个连通的网络中不存在回路,即在任何两个站之间只有一条路径
      • 考虑到网络拓扑动态变化,生成树需定期更新

在这里插入图片描述

  • 虚拟局域网(VLAN)

以上部分内容引自课件和《计算机网络(第7版)》,如有侵权,请及时联系我删除!

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

计网复习——数据链路层 的相关文章

  • 正则表达式:(?:) 或 .*? 或 .+?

    一 这个代表不捕获分组 比较 X 和 X xff0c 前者是捕获分组 xff0c 后者不捕获 xff0c 区别在于正则表达式匹配输入字符串之后所获得的匹配的 xff08 数 xff09 组当中没有 X 匹配的部分 xff1b 例如 xff1
  • Maven 多个war项目的引用关系 overlay配置实例

    在Maven项目中 xff0c 一般是jar文件的依赖 xff0c 但是也要考虑一种情况 xff0c 那就是war项目的依赖 比如说base war项目包含基本的网页 xff0c 但是需要为另外有一个定制的war项目有几个页面是需要特别定制
  • NVIDIA CUDA, CUDNN, MATLAB配置

    64 NVIDIA 深度学习环境配置 配置NVIDIA GPU以支持MATLAB等计算平台进行并行计算 NVIDIA NVIDIA 支持并行计算 xff0c 可提高深度学习的计算效率 从硬件到软件的链条是 xff1a NVIDIA GPU
  • OAuth2.0四种授权模式以及Oauth2.0实战

    OAuth2 0四种授权模式以及Oauth2 0实战 首先我们得了解什么是Oauth2 0 xff0c 简单来说Oauth2 0它是一个授权协议 我们可能会听说过 xff0c 使用Oauth2 0来实现单点登录SSO xff0c 以及第三方
  • firewalld-cmd简介

    firewalld是centos7的一大特性 xff0c 最大的好处有两个 xff1a 支持动态更新 xff0c 不用重启服务 xff1b 第二个就是加入了防火墙的 zone 概念 firewalld有图形界面和工具界面 xff0c 由于我
  • hdfs创建文件夹及目录

    span class token keyword import span java span class token punctuation span io span class token punctuation span IOExcep
  • auto.js 入门学习(参考GitHub文档)

    GitHub开发文档 input span class token punctuation span span class token punctuation span i span class token punctuation span

随机推荐

  • python-名片管理系统

    span class token builtin class name shift span 43 F6 重命名 当修改变量名或者函数名是十分实用 from learn card manage span class token functi
  • 【linux】清理pip空间缓存

    输入命令查看内存使用情况 xff1a df h 发现 dev sda6 这个目录下可使用内存基本上没有了 xff0c 先需要对其进行清理缓存 切换到pip目录下 cd cache pip 为了防止直接删除出错 xff0c 先将要删除的文件复
  • YOLOv5 - AssertionError: Image not Found

    出现上图原因是val 路径还有中文 xff0c cv imread 不能识别 解决方法 xff1a 1 修改还有中文的文件名 2 使用绝对路径 xff0c 把测试图片放在含有中文的文件里面 下图的名称也无法读取 xff0c 可能是含有 xf
  • 机器学习-猫狗识别(入门案例)

    案例分析 xff1a 下载猫狗图片 xff0c 进行分类 对数据进行分类 xff0c 训练集和测试集 训练集和测试集都进行命名规范 xff0c 把猫标记为1 xff0c 狗标记为0 处理流程 xff1a 数据处理 xff0c 把数据处理为6
  • 车牌识别之预处理(灰度化,去噪,二值化,分割)

    灰度化 灰度即R 61 G 61 B 二值化只取255 0 对图片进行灰度化处理 xff0c 目的是 1 减少数据量 xff08 减少不明显 xff09 2 为二值化准备 对数据进行灰度发现数据量减少并不明显 尤其是 最大 和 平均 灰度法
  • failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to do request

    问题描述 failed to solve with frontend dockerfile v0 failed to create LLB definition failed to span class token keyword do s
  • LeTeX 快速入门

    LeTeX 快速入门官方链接 什么是LeTeX LaTeX是一种用于排版专业外观文档的工具 然而 xff0c LaTeX的操作模式与您可能使用过的许多其他文档制作应用程序 xff08 如Microsoft Word或LibreOffice
  • 医学图像挑战

    标题标签不平衡挑战 方法一 xff1a 二元交叉熵损失函数 方法二 xff1a 重新采用达到类别平衡 过采样 欠采样 多任务挑战 设置不同任务的损失函数 数据集大小挑战 迁移学习 神经网络的早期层捕获可归一化的低级图像特征 xff08 图像
  • 医学图像数据集的挑战

    患者数据重叠 xff1a 当患者存在多个不同数据时划分数据集应避免随机划分 xff0c 避免同一个患者的数据出现在训练集 xff0c 验证集 xff0c 测试集 使用按患者划分数据集根据合理 集采用 xff1a 测试集或者验证出现数据不平衡
  • Ubuntu 查看磁盘空间大小命令

    http blog sina com cn s blog 6432901c0100w0tz html Df命令是linux系统以磁盘分区为单位查看文件系统 xff0c 可以加上参数查看磁盘剩余空间信息 xff0c 命令格式 xff1a df
  • 蜂鸣器发声音频率

    蜂鸣器发声音频率 蜂鸣器发声音频率 1 200Hz声音很小 200 300有声音 400嘟 500滴 600音调变高 700音调变高 800音调变高 2730Hz适合做滴的一声 3000最剌耳 声音大 转载 http blog ednchi
  • 应对不明确的项目需求

    今天在Javaeye上看到一个抱怨客户的无底洞需求时 xff0c 一个网友的回复 xff0c 觉得不错 xff0c 对以后自己接项目做个警示 xff1a From http www javaeye com topic 180477 61 6
  • 基于51单片机的波形发生器(四种波形)(毕业设计资料)

    四种波形的产生 xff0c 包括锯齿波 三角波 方波 正弦波 通过LCD液晶显示当前波形以及波形的频率 可以通过按键切换波形 xff0c 并可以通过按键进行设置当前波形的频率大小 xff0c 也可以设置频率设置不步进值 资料从主页链接中进行
  • hadoop 经典入门wordcount

    hadoop经典入门wordcount 主要有三大步 1 编写mapper函数 2 编写reducer函数 3 配置 public class WordCount mapper类 这些泛型继承自hadoop自定义的序列化框架Writable
  • 穿越火线数据包的抓取和分析及服务器欺骗的实现

    几天功夫 xff0c 我们敬爱的穿越火线从2 5到2 6再到2 7再到现在的2 8 xff0c 号称全服反外挂 xff08 的确是反了的 xff09 xff0c WPE会被检测为非法模块 本人就来说一下自己关于穿越火线数据包的抓取和分析及服
  • redis核心知识点总结(超详细)

    Redis Redis的单线程和高性能 Redis是单线程吗 xff1f Redis的单线程主要是指堆命令的执行是单线程完成的 xff0c 这也是Redis对外提供键值存储服务的主要流程 但Redis的其它功能 xff0c 比如持久化 异步
  • matplotlib报错:RuntimeWarning: More than 20 figures have been opened

    RuntimeWarning More than 20 figures have been opened Figures created through the pyplot interface matplotlib pyplot figu
  • Ubuntu 20.04 LTS 安装qt4 library

    How to Install Qt4 Libraries in Ubuntu 20 04 LTS July 9 2020 3 Comments The Qt4 framework has been removed from Ubuntu 2
  • keil C51 中使用虚拟串口调试串口

    功能介绍 xff1a 在不使用51开发板下 xff0c 使用keil C51中的软件仿真 和虚拟串口软件VSPD完成串口通信的过程 类似的还有一篇关于STM32调试串口的 keil MDK 中使用虚拟串口调试串口 操作步骤如下 xff1a
  • 计网复习——数据链路层

    计网复习 数据链路层 1 数据链路层设计要点 1 1 数据链路层概述 物理层实现了比特流的传输 xff0c 数据链路层在其基础上实现 帧 xff08 frame xff09 的传输 数据链路层传输的协议数据单元 xff08 PDU xff0