0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数据链路层的三个基本问题

工程师 来源:未知 作者:姚远香 2019-02-27 15:10 次阅读
00:00/00:00
80
倍速
50%
75%
100%
13:04:54
下载
  • Load:
    0 second
  • Duration:
    0 second
  • Size:
    0x0
  • Volume:
    0%
  • Fps:
    46fps
  • Sudio decoded:
    0 Byte
  • Video decoded:
    0 Byte
MEDIA_ELEMENT_ERROR: Format error(code:4)

一、封装成帧

封装成帧就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从比特流中识别帧的开始和结束。

数据链路层的三个基本问题

首部和尾部的一个重要作用就是进行帧定界(即确定帧的界限)。此外,首部和尾部还包括许多必要的控制信息。 为了提高帧的传输效率,应当使帧的数据部分长度尽量大于首部和尾部的长度。最大传输单元MTU:帧数据部分长度上限。

当数据是由可打印的ASCII码组成的文本文件时,帧定界可以使用特殊的帧定界符。ASCII码是7位编码,一共可以组合成128个不同的ASCII码,其中可打印的有95个,而不可打印的控制字符有33个。(可打印的字符就是可以在键盘上输入的字符,我们使用的标准键盘有47个键可输入94个字符,包括使用shift键,加上空格键,一共可以输入95个可打印字符)

控制字符SOH放在一帧的最前面,表示帧的首部开始。另一个控制字符EOT表示帧的结束。注意:SOH和EOT都只是控制字符的名称,他们的十六进制编码分别是01(二进制是00000001)和04(二进制是00000100)。SOH,EOT 并不是S O H E O T这几个字符,只是名字而已。当传输中出现差错,帧定界符的作用更加明显。假设未发送完一个帧而发生故障,接收端就知道收到的数据是不完整的帧(只有首部),必须丢弃。

二、透明传输

当传送的帧是用文本文件组成的帧时(文本文件中的字都是从键盘上输入的),其数据部分显然不会出现像SOH或EOT这样的帧定界控制字符。可见不管从键盘上输入什么字符都可以放在这样的帧中传输过去,因此这样的传输就是透明传输。

数据链路层的三个基本问题

但当数据部分是非ASCII码的文本文件时(如二进制代码的计算机程序或者图像等),情况就不同了。如果数据中的某个字节的二进制代码恰好和SOH或EOT这种控制字符一样,数据链路层就好错误地“找到帧的边界”,把部分帧收下(误以为是个完整的帧),而把剩下的那部分数据丢弃(这部分找不到帧定界控制字符SOH)。这种情况就不是透明传输,因为当遇到书中碰巧出现字符“EOT”时就传不过去了,而其后面的数据因找不到“SOH”被接收端当做无效帧而丢弃。但实际上数据中出现的字符“EOT”并非控制字符而仅仅是二进制数据00000100 。

为了解决透明传输问题,字节填充法或字符填充:在控制字符SOH、EOT的前面插入一个转义字符ESC(其十六进制编码是1B,二进制是00011011)。而接收端的数据链路层在把数据送往网络层之前删除这个插入的转义字符。

三、差错检测

现实的通信链路都不会是理想的。传输过程中,1可能变成0, 0 可能变成1 。这就叫比特差错——误码率。 误码率和信噪比有很大的关系。因此,在计算机网络传输数据时,必须采用各种差错控制技术。目前在数据链路层广泛使用了循环冗余检验(CRC)的检错技术。

在数据链路层的CRC检验都是用硬件完成的,处理很迅速,因此不会延误数据的传输。为什么数据链路层要以帧为单位来传送数据呢?因为如果不以帧为单位,就无法加入冗余码来进行差错检验。传输差错分为两类:一类就是前面所说的最基本的比特差错。第二类:收到的帧出现了帧丢失、帧重复和帧失序。(停止等待协议,ARQ)。数据链路层并不需要给网络层提供“可靠传输”的服务。过去OSI的观点是:必须让数据链路层向上提供可靠传输。因此在CRC的基础上,增加了帧编号、确认和重传机制。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据链路层
    +关注

    关注

    0

    文章

    60

    浏览量

    12056
收藏 人收藏

    相关推荐

    Linux系统中最重要的三个命令

    Linux剑客是Linux系统中最重要的三个命令,它们以其强大的功能和广泛的应用场景而闻名。这三个工具的组合使用几乎可以完美应对Shell中的数据分析场景,因此被统称为Linux
    的头像 发表于 03-03 10:37 109次阅读

    工业以太网中的数据链路层与工业交换机的关键作用

    工业以太网成为了支撑工业控制和通信系统的重要组成部分。数据链路层是工业以太网中的关键层,它为网络中的数据传输提供了基本保障,而数据链路层不仅关乎设备间的通信质量,还直接影响到网络的整体性能。
    的头像 发表于 02-28 16:01 424次阅读
    工业以太网中的<b class='flag-5'>数据链路层</b>与工业交换机的关键作用

    PCIE数据链路层架构解析

    PCIe的数据链路层在事务层和物理层之间,用来负责链路管理,其主要功能是保证来自事务层的TLP在PCIe链路中的正确传输,为此数据链路层定义了一系列的DLLP报文,数据链路层使用了容错和重传机制保证
    的头像 发表于 11-05 17:06 516次阅读
    PCIE<b class='flag-5'>数据链路层</b>架构解析

    CAN总线协议的数据链路层有哪些部分

    CAN(Controller Area Network)总线协议的数据链路层是CAN通信中至关重要的一部分,它负责在物理层之上实现数据的可靠传输。数据链路层不仅管理着帧的同步、差错控制、流量控制等关键功能,还通过仲裁机制确保多个
    的头像 发表于 09-03 14:14 901次阅读

    可调变阻器三个引脚怎么区分

    可调变阻器,也称为电位器或可变电阻器,是一种可以调节电阻值的电子元件。它广泛应用于各种电子设备中,如音频设备、电源管理、电机控制等。可调变阻器有三个引脚,分别是固定端、滑动端和可调端。这三个引脚
    的头像 发表于 07-24 11:12 1701次阅读

    求助,wifi的smart config是用802.11的数据链路层帧实现的吗?

    请问wifi的smart config是用802.11的数据链路层帧实现的吗?
    发表于 06-19 07:37

    微波测量的三个基本参量是什么

    微波测量是电子工程领域中的一重要分支,它涉及到对微波信号的频率、幅度、相位等参数的测量。在微波测量中,有三个基本参量:频率、幅度和相位。这三个参量是微波信号的基本特征,对于微波系统的设计、调试
    的头像 发表于 05-28 14:46 1645次阅读

    三个3输入正与非门CD74AC10 数据

    电子发烧友网站提供《三个3输入正与非门CD74AC10 数据表.pdf》资料免费下载
    发表于 05-22 10:52 0次下载
    <b class='flag-5'>三个</b>3输入正与非门CD74AC10 <b class='flag-5'>数据</b>表

    三个3输入正与非门CD74ACT10 数据

    电子发烧友网站提供《三个3输入正与非门CD74ACT10 数据表.pdf》资料免费下载
    发表于 05-22 10:29 0次下载
    <b class='flag-5'>三个</b>3输入正与非门CD74ACT10 <b class='flag-5'>数据</b>表

    三个3输入正-非门SN54F27数据

    电子发烧友网站提供《三个3输入正-非门SN54F27数据表.pdf》资料免费下载
    发表于 05-16 09:52 0次下载
    <b class='flag-5'>三个</b>3输入正-非门SN54F27<b class='flag-5'>数据</b>表

    三个3输入正与非门数据

    电子发烧友网站提供《三个3输入正与非门数据表.pdf》资料免费下载
    发表于 05-13 10:18 0次下载
    <b class='flag-5'>三个</b>3输入正与非门<b class='flag-5'>数据</b>表

    篱笆三个桩——记晶体极管的发明

    篱笆三个桩——记晶体极管的发明
    的头像 发表于 05-12 08:14 948次阅读
    一<b class='flag-5'>个</b>篱笆<b class='flag-5'>三个</b>桩——记晶体<b class='flag-5'>三</b>极管的发明

    三个3输入正与门SN54F11数据

    电子发烧友网站提供《三个3输入正与门SN54F11数据表.pdf》资料免费下载
    发表于 05-11 10:58 0次下载
    <b class='flag-5'>三个</b>3输入正与门SN54F11<b class='flag-5'>数据</b>表

    三个3输入正NAND门数据

    电子发烧友网站提供《三个3输入正NAND门数据表.pdf》资料免费下载
    发表于 05-10 10:09 0次下载
    <b class='flag-5'>三个</b>3输入正NAND门<b class='flag-5'>数据</b>表

    在STM32F407官方LWIP例程中,怎样修改把需要发送的数据直接由应用层映射到数据链路层

    STM32F407 以太网DMA数据发送问题,最近在做一关于电网IEC61850通信项目,其中9-2SV协议要求应用层数据直接映射到数据链路层,不需经表示层、会话层、传输层、网络层;
    发表于 04-29 06:21
    ckplayer
    version:X3
    about