计算机网络—数据链路层

这篇具有很好参考价值的文章主要介绍了计算机网络—数据链路层。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数据链路层服务

该层中的帧数据结构:
计算机网络—数据链路层
帧头部会因为不同的局域网协议而不同,因此会在另一篇博文中继续介绍不同的帧数据报,不在本博文介绍。(不过除了PPP协议外一般都是<目标MAC,源MAC,类型>,占8字节,每个MAC占6字节,类型占2字节)帧尾一般是用于校验的数据。

  • 在数据链路层传输的数据称为:帧(frame)
  • 数据层会负责检错纠错数据
  • 连接两个节点的链路通道
    • 无线连路
    • 有线链路
    • 局域网(特殊链路)

数据链路层:负责将两个节点的数据进行传输

  • 封装帧操作
  • 流量控制

差错编码

  • 汉明距离
    给出两个或者一组(编码集)相同长的二进制数,然后比较每一个位置是否相同,不同汉明距离+1

  • 奇偶校验码
    ❀点击学习奇偶校验码
    这边给出以为博主写的博文,实在是写的太好了,这不是偷懒,确实是写的很好。

  • CheckSum校验和
    ❀点击学习校验和
    因为我之前在传输层UDP中写过一次校验和如何计算,所以这边可以直接跳到传输层UDP。

  • CRC循环冗余校验码
    ❀点击学习CRC循环冗余校验码
    这边给出以为博主写的博文,实在是写的太好了,这不是偷懒,确实是写的很好。

多路访问协议

  • MAC地址(物理地址)
    这个可以理解为链路层的地址,网卡的号码。每个网卡地址都不一样。
    因此我们在拿到IP地址后,其实还不能真正的找到主机的接口将数据传进去,因此还需要在链路层中加一个MAC地址,就是网地址,然后这个地址就是我们要送到的那个接口的地址。

在本博文不解释MAC地址,知道这个知识点先,在局域网技术博文详细介绍

  • MAC协议分类
    • 信道划分MAC协议
    • 随机访问MAC协议
    • 轮转MAC协议

信道划分

  • 首先说明一下:在越来越底层的时候,我们的数据其实所到底都是0、1,然后用电压电流的高低压来传输,用频率来传输等等。
    • TDMA(时分多路复用)
      将时间分成多份,然后每份时间内对应一个传输数据的专用时间,也就是说我在传输数据的时候我这条链路应该给谁用,这TDMA就是将时间分开,然后每一个时间点给不同的数据进行发送。(俗话说,只要你时间够快,别人就看不出你是在串行操作,快到让人感觉你是在并发操作这个数据。)
      计算机网络—数据链路层

    • FDMA(频分多路复用)
      将频带划分成多份。注意:频带指的是Hz频率,也就是说这个划分能够完成每一条路独立传输数据。
      首先当有有一个频带空闲的时候,我们只需将要传输的数据的频率调到该频带上即可。
      计算机网络—数据链路层

信道划分首要好处就是不会发生冲突,每个都是独立传输的数据,但是我们分的越多,带宽就越低,所以依旧是不能局限于仅仅使用信道划分。


随机访问MAC协议

  • 变发送数据,边检测冲突
  • 时隙ALOHA协议
    这个时隙的意思就是将这个随机传输数据随机到了时间上面,将时间划成等长的时间,然后再随机的时间内发送数据
    • 只能在每段时间的开始才能发送数据,中间不可,因为要保证在这个时间内是没有人能够恶意的来碰瓷发生冲突
    • 如果没有发生冲突,就一直以这个划分好的每一个时间的开始发送数据
    • 如果发生了冲突后,我就要延迟了,延迟到什么时候呢,就是每个时间开始的时候,我都会以p的概率进行发送,也就是说我可能不发。发的概率是p,不发的概率是1-p。
      计算机网络—数据链路层
  • 可以看到图中,我们只能在一个时隙内发生冲突(因为规定了在时隙开始才能发送)
  • 浪费的时隙比较多
  • 优点:
    • 高度分散化
    • 实现起来简单
  • ALOHA(纯)
    这个非时隙的ALOHA协议就是有新的数据帧就立马发出去
    (我心想这也要起名字?!)
    计算机网络—数据链路层
  • CSMA(载波监听多路访问)
    人话:监听信道是否空闲,有空闲就发送
    • 1坚持CSMA
    • 0坚持CSMA
    • p坚持CSMA
      1坚持即一直监听信道
      0坚持即信道忙的时候我不监听信道,等一段时间后我再监听
      p坚持即以概率p执行1坚持,以概率1-p执行0坚持
      注意:在CSMA中是监听信道是否空闲,而不是监听是否冲突

但是即使是这样我们的链路传输发生延迟的时候还是会发生冲突,因此我们不能立马监听到某地发送数据了,因此我们还需优化。

  • CSMA/CD
    人话:发送的时候 同时 监听是否冲突
    注意:这个是基于CSMA然后执行他自己添加的功能:边发边听是否冲突
    • 由于还是有延迟问题,所以我们必须要解决这个问题,那就是我们在设计链路的时候为了防止延迟冲突,就需要设计出在某个子网内的一个合理的最远链路距离。
      计算机网络—数据链路层

为什么要L/R>=RTT?因为是用最小的那个数据帧长度衡量,即Lmin是最小的,也就是说传输最快的,但是我们通告冲突的最极端的情况就是在快要送达目的的时候出现冲突,这时候就要开始通告我们冲突信息了,所以说我们通告的时间是希望RTT通告信号的时间尽可能快过网络带宽传输速度

  • 轮询(意指轮流询问)
    轮流询问,那询问必然需要一台管理主机。

    • 我们要一个master机器,他就是负责去邀请我们链路上的主机结点,过来问声:节点兄弟,你要不要发数据呀?发的话我可以帮你开路哦~,如果他不发就问下一个。
    • 缺点
      缺点也很明显,单点失效,就是万一他的这个master有一天down机,那我链路上的结点也就传不了数据了。
      而且要一个个问你很烦的呀,节点多的时候很久都可能轮不到你发。
  • 令牌传递
    在链路中发一个令牌,然后我们主机之间形成一个传递令牌的链路,就类似于现在炸弹游戏,一个个的轮流拿着令牌,在这个网络协议中只有拿令牌那一方可以发送数据。文章来源地址https://www.toymoban.com/news/detail-504633.html

    • 这个令牌是一个特殊帧,由一个主节点发放
    • 假如令牌在一定时间内还没轮传递,就会默认该令牌丢失了,主节点就会重新传一个特殊帧继续让主机们轮流传递令牌
    • 缺点:依旧是延迟,依旧单点故障,还有就是开销问题(令牌也要占据链路带宽)。

到了这里,关于计算机网络—数据链路层的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络——数据链路层

    这篇文章是计算机网络系列文章的第二篇 计算机网络——物理层 计算机网络——数据链路层 计算机网络——网络层 计算机网络——传输层 计算机网络——应用层 问:数据链路层在现在的社会起到什么作用? 答:数据链路层在现在的社会起到关键性作用,比如:数据传输和

    2024年02月09日
    浏览(48)
  • 计算机网络-数据链路层下篇

    目录 计算机网络 七、MAC地址,IP地址及ARP地址 (一)MAC地址 (二)IP地址 (三)ARP地址 八、集线器和交换机的区别 九、以太网交换机自学习和转发帧的流程 十、以太网交换机的生成树协议STP 十一、虚拟机与网VLAN (一)VLAN概述 (二)虚拟局域网VLAN的实现机制 1、IEEE 80

    2024年02月11日
    浏览(114)
  • 计算机网络——数据链路层(1)

            在计算机网络中,数据链路层承担着点对点通信的任务,用于跨物理层在网段节点之间参数数据。它在网络分层中处于物理层之上,网路层之下。         在链路层的讨论中,我们将看到两种截然不同类型的链路层信道。第一种类型是广播信道,这种信道用于连

    2024年01月18日
    浏览(43)
  • 计算机网络(三)数据链路层

    数据链路层功能 : 在物理层提供服务的基础上向网络层提供服务,主要作用是加强物理层传输原始比特流的功能, 将物理层提供的可能出错的物理连接改在为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路 为网络层提供服务 : 无确认的无连接服务: 源机

    2024年04月17日
    浏览(35)
  • 计算机网络-数据链路层上篇

    目录 一、数据链路层概述 二、封装成帧 三、差错检测 (一)奇偶校验 (二)循环冗余校验CRC 四、可靠传输 (一)停止-等待协议SW  (二)后退N帧协议GBN (三)选择重传协议SR 五、点对点协议PPP (一)点对点协议PPP的帧格式 ​(二)透明传输- 面向字节的异步链路采用插

    2024年02月11日
    浏览(46)
  • 计算机网络之数据链路层

    在研究数据链路层时,我们可忽略网络体系中的其他层只关注与数据链路层本身。 链路(Link)是指从一个节点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他的交换节点。 数据链路(Data Link)是基于链路的。当在一条链路上传送数据时,除需要链路本身,

    2024年01月25日
    浏览(51)
  • 【计算机网络】概述及数据链路层

    每一层只依赖于下一层所提供的服务,使得各层之间相互独立、灵活性好,已于实现和维护,并能促进标准化工作。 应用层:通过应用进程间的交互完成特定的网络应用,HTTP、FTP、DNS,应用层交互的数据单元被称为报文(Message)。 表示层:解决用户信息的语法表示问题,对数

    2024年02月13日
    浏览(37)
  • 精炼计算机网络——数据链路层(一)

    上篇文章,我们一同学完了物理层的全部内容,在本篇文章中,我们初步学习数据链路层,理解数据链路和帧的相应概念,知晓封装成帧,透明传输,差错检测的含义。 链路是从一个节点到相邻节点的一段物理线路,而中间没有任何其他的交换节点。 数据链路则不同。这是

    2024年02月04日
    浏览(60)
  • 计算机网络之数据链路层(全)

    王道:本章是历年考试中考查的重点。要求在了解数据链路层基本概念和功能的基础上,重点掌握滑动窗口机制、三种可靠传输协议、各种MAC协议、HDLC协议和PPP协议,特别是CSMA/CD协议和以太网帧格式,以及局域网的争用期和最小帧长的概念、二进制指数退避算法。此外,中

    2024年02月08日
    浏览(36)
  • 计算机网络与技术——数据链路层

    😊各位小伙伴们,本专栏新文章出炉了!!! 数据链路层是 OSI参考模型 中的 第二层 ,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自物理层来的数据可靠地传输到相邻节点的目标机网络层。数据链路层的

    2024年02月06日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包