美文网首页
数据链路层到底做了什么事?

数据链路层到底做了什么事?

作者: CyberDunk1997 | 来源:发表于2020-10-24 10:50 被阅读0次

数据链路层的作用

  • 封装成帧
  • 透明传输
  • 差错监测

1. 封装成帧

  • 帧是数据链路层的最小传输单位

  • 发送端在一段数据开头和末尾加上特定字段,形成帧后传输

  • 接收端根据前后特定标记识别出帧


    帧的结构
  • 如上图所示,数据链路层将把IP层传输过来的IP数据包加上首部和尾部,形成一个帧结构。之后它将帧传送到物理层,形成类似[010000011...]的比特流。

  • SOH是帧头部的特定比特流,EOT是帧尾部的特定比特流。

如果IP数据包中也恰好也有SOH、EOT怎么办?

答:那就需要用到差错检测了。


2. 透明传输

  • 即使控制字符在帧数据中,但是要当做不存在去处理。


    转译字符
  • 当IP数据报中也出现了特殊的比特流,比如EOT,我们需要在EOT的前面加上一个转译字符ESC,这样就不会把EOT当成结束的特殊字符而导致传输错误。
  • 当IP数据报里面出现了转义字符ESC,只需要在ESC前面再加一个ESC即可。

3. 差错检测

  • 物理层只负责传输比特流,但可能由于闪电,宇宙射线等其他原因导致比特流发生错误。
  • 链路层则负责进行差错检测。
  • 常用的差错检测方法有:奇偶校验码,CRC。

3.1 奇偶校验码

通过对前面数据所有位的相加,判断最后相加结果的奇偶来添加一位检验位,如果相加结果是奇数,则添加1,否则添加0。

奇偶校验码
  • 局限性:如果出现偶数位的差错,则检测不到错误。

3.2 循环冗余校验码CRC

  • 一种根据传输或保存的数据而产生【固定位数校验码】的方法
  • 【检测】数据传输或保存后可能出现的错误
  • 生成的数字计算出来并【附加到数据后面】

3.2.1 模2除法

  • 模2除法是二进制下的除法
  • 与算术除法类似,但除法不借位,实际上是“异或”操作


    模“2”除法

3.2.2 CRC的生成步骤

  • 选定一个用于校验的多项式【G(x)】,并在尾部添加【r】个0,【r】是二进制多项式的最高阶数。

    第一步
  • 将添加r个0后的数据,使用【模2除法】除以【多项式的位串】

    第二步
  • 【得到的余数填】充在【原数据r个0的位置】得到可校验的位串

    第二步

3.3接收端进行检测

  • 接收端用接收到的数据除G(x)的位串,如果余数为0,则没有问题。


    检测

4 以太网协议

数据链路层

MAC地址

  • MAC地址又称为物理地址,每一台设备(电脑、手机)全世界都只有唯一的一个MAC地址,可以理解为设备的身份证。
  • MAC地址有48位,使用十六进制表示。(30-B4-9E-ED-85-CA)

以太网协议

  • 以太网协议是一种广泛使用的局域网技术,也是一种应用于数据链路层的协议
  • 使用以太网可以完成【相邻设备】的数据帧传输

数据格式

以太网协议数据格式

路由转发过程

  • 路由器通过路由表来寻找MAC地址对应的接口


    数据转发
  • 当路由表中没有对应MAC地址,他会向所有接口广播,广播后会收到回应并记录地址


    路由表找不到地址

跨设备传输数据

  • 由于E只知道A、D、F的MAC地址,所以如果A想传输数据给B、C则需要跨越多个路由器,这时就需要用到网络层。


    跨设备传输

相关文章

  • 数据链路层到底做了什么事?

    数据链路层的作用 封装成帧 透明传输 差错监测 1. 封装成帧 帧是数据链路层的最小传输单位 发送端在一段数据开头...

  • 数据链路层

    数据链路层基本概念 数据链路层的简单模型 数据链路层的信道类型 数据链路层使用的信道主要有以下俩种类型:1、点对点...

  • 计算机网络一刷3-数据链路层

    使用点对点信道的数据链路层 帧点对点信道的数据链路层的协议数据单元;数据链路层传送的协议数据单元; 封装成帧 fr...

  • 以太网数据帧解码

    以太网数据帧解码 先了解数据链路层的数据构成(数据链路层会在包头和包尾添加数据,这里仅介绍包头的数据)。数据链路层...

  • 4、数据链路层1(计算机网络笔记)

    三、数据链路层 3.1 基本概念及基本问题 3.1.1基本概念 数据链路层的简单模型 数据链路层的信道类型数据链路...

  • 数据链路层

    数据链路层需要掌握的知识。1.数据链路层的定义和主要功能;2.数据链路层传输产生差错的原因;3.差错控制机制和差错...

  • TCP/IP协议族

    #TCP/IP协议族 ---------- ##分层(概述) ###链路层: 也可以称作**数据链路层**或者**...

  • 数据链路层

    数据链路层 ​ 数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的...

  • 网络分层模型与ARP协议

    一、链路层 链路层包含以太网卡,光纤,电缆,驱动,以太网驱动 链路层:以太网协议,以太网帧,光纤电缆 链路层的数据...

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

    计算机网络-数据链路层 数据链路层属于计算机网络的低层数据链路层使用的信道主要有以下两种类型 点对点信道 广播信道...

网友评论

      本文标题:数据链路层到底做了什么事?

      本文链接:https://www.haomeiwen.com/subject/hadimktx.html