文章目录

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

链路:从一个结点到相邻结点的一段物理线路(有线或无线),而中间没有任何其它的交换结点。
数据链路:把实现通信协议的软件和硬件加到链路上,就构成了数据链路。在线路上传输数据时,除了必须有一条物理线路时,还必须有一些必要的通信协议来控制这些控制的传输。

帧是点对点信道的数据链路层的协议数据单元。
数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据取出并交给网络层。

点对点信道的数据链路层进行通信的主要步骤

  • 结点A 的数据链路层把网络层交下来的 IP 数据报添加首部和尾部封装成帧
  • 结点 A 把封装好的帧发送给结点 B 的数据链路层
  • 若结点B 的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报交给上面的网络层,否则丢弃这个帧

封装成帧

在一段数据(这个数据是从网络层下来的数据报)的前后分别添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
帧的首部和尾部的一个重要的作用就是进行帧定界。
帧的首部和尾部还包含了许多必要的控制信息。
最大传送单元MTU
每一种链路层协议都规定了所能传送的帧的数据部分长度上限。

当数据是由可打印的ASCII 码组成的文本文件时,帧定界可以使用特殊的帧定界符。
ASCII 码是7位编码,一共可组成128个不同的ASCII 码,其中可打印的有95个。
控制字符
SOH:放在一帧的最前面表示帧的首部开始,十六进制为01(00000001)
EOT:表示帧的结束,十六进制为04(00000100)
SOH(EOT)并不是S、O、H(E、O、T)三个字符
发送方
假设发送端在发送一个帧时突然出了故障,中断了发送,但随后又恢复了正常,于是又重新从头开始发送刚才未发送完的帧。
接收方
由于使用了帧界定符,接收端就知到前面收到的数据是个不完整的帧,必须丢弃,而后面收到的数据有明确的帧界定符,因此是一个完整的帧,应当收下。

透明传输

由于帧的开始和结束的标记使用专指明的控制字符,因此,所传输的数据中的任何的8比特的组合一定不允许和用作帧定界的控制字符的比特网编码一样,否则,就会出现帧定界错误。

透明传输
当传送的帧使用文本文件组成的帧时(文本文件中的字符都是从键盘上输入的),其数据部分显然不会出现像SOH或EOT这样的帧定界控制符,可见不管从键盘输入什么字符都可以放在这样的帧中传输过去,这样的传输就是透明传输。
在数据链路层的透明传输表示“无论什么样的比特组合的数据”,都能够按照原样没有差错地通过这个数据链路层

当数据时非ASCII 码的文本文件时(如二进制代码的计算机程序或图像),就不是透明传输了,就有可能出现帧定界错误。

字符填充
发送端的数据链路层在数据中出现控制字符“SOH“或“EOT”的前面插入一个专一字符“ESC”(十六进制编码是1B,二进制00011011),在接收端的数据链路层在把数据送往网络层之前删除这个插入的转义字符。
如果转义字符也出现在数据当中,仍然在转义字符前面插入一个转义字符。因此,当接收端收到连续的两个转义字符时,就删除其中前面的一个。

差错检测

误码率BER
传输错误的比特占所传输比特总数的比率称为误码率BER
设法提高信噪比,就可以使误码率减小。
循环冗余校验CRC
在发送端,先把数据划分为组,假设每组K个比特,先假设待传送的数据M=101001(K=6)。
CRC运算就是在数据M后面添加供差错检测用的n位冗余码,然后构成一个帧发送出去,一共发送K+n位。

n为冗余码的计算方法

  • 用二进制的魔模2运算进行2^n乘M的运算。(相当于在M后面加了n个0)
  • 得到的K+n位的数除以收发双方事先商定的长度为(n+1)位的除数P,得到的商是Q而余数是R(n位,比P少一位)
  • 这个R就作为n位冗余码,这种为了进行检错而添加的冗余码常称为帧检验序列FCS

接收端收到的数据以帧为单位进行CRC检验
把收到的每一个帧都除以相同的除数P(模2运算),然后检查得到的余数R。
无差错:余数R 为0,接收
误码:余数R为0 的概率非常小,就丢弃

发送端帧检验序列FCS的生成和接收端的CRC检验都是用硬件完成的,处理很迅速,因此并不会延误数据的传输

传输差错

传输差错分为两大类:一类是前面说的那种称为比特差错,另一位差错比较复杂,收到的帧没有出现比特差错,而是出现了帧丢失、帧重复、帧失序

CRC 检错仅仅能够解决比特差错,因此在CRC检错的基础上增加了帧编号、确认、重传机制

收到正确的帧就要向发送端发送确认,发送端在一定的期限若没有收到对方的确认,就认为出现了差错,就要进行重传,直到收到对方的确认位置

对于通信质量良好的有线传输链路,数据链路层协议不使用重传机制,即不要求数据链路层向上提供可靠传输的服务。如果在数据链路层传输数据时出现了差错并且需要进行改正,那么改正就由上层协议来完成。
对于通信质量差的无线传输链路,数据链路层协议使用确认和重传机制,数据链路层向上提供可靠传输的服务

可靠传输:数据链路层的发送端发送什么,在接收端就收到什么。

数据链路层——点对点信道相关推荐

  1. 数据链路层-点对点通信方式

    数据链路层有两种通信方式: 点对点信道:使用一对一的点对点通信方式. 广播信道: 使用一对多的广播通信方式,使用专用的共享信道协议是为了协调多台主机的数据发送. 基础概念 链路(link)就是从一个结 ...

  2. 点对点信道互连以太网实验_汽车以太网 – 引领汽车IVN向多速以太网过渡

    1.概述 汽车行业已经成功地基于开放IEEE标准引入了用于车载网络(IVN)的以太网. 在OPEN联盟SIG和IEEE 802.3工作组的推动下,这些标准旨在开发一种更简单但功能更强大的汽车电气/电子 ...

  3. 点对点信道互连以太网实验_以太网防雷器通讯参数测试(二)——防雷器对高速链路影响的参数...

    找防雷(www.zhaofanglei.com)系国联股份旗下防雷行业垂直电商平台.找防雷专注防雷产业链"互联网+"升级,定位于防雷产业链垂直电商平台,以防雷产品.原材料.配件.防 ...

  4. 计算机网络(十三)-数据链路层-动态分配信道

    一.动态分配信道 也称动态媒体接入控制/多点接入,特点是信道并在用户通信时固定分配给用户. 轮询访问介质访问控制: -令牌传递协议 随机访问介质访问控制:所用用户可随机发送信息,发送信息时占全部宽带. ...

  5. 《计算机网络(第七版)-谢希仁》重点知识 - 数据链路层

    数据链路层 根据B站视频<计算机网络(谢希仁第七版)-方老师>上课整理 数据链路层 点对点信道 三个问题 1.封装成帧(framing) 2.透明传输 3.差错控制 循环冗余检验(重点) ...

  6. 【计算机网络】第三章 数据链路层

    目录 第三章 数据链路层 3.1 使用点对点信道的数据链路层 3.1.1 数据链路和帧 3.1.2 三个基本问题 3.2 点对点协议 PPP 3.2.1 PPP协议的特点 PPP协议满足的需求 PPP ...

  7. 【计网复习】第三章 数据链路层

    第3章 数据链路层 3.1 使用点对点信道的数据链路层 点对点信道:这种信道使用一对一的点对点通信方式. 广播信道:使用一对多的广播通信方式.因此必须使用专用的共享信道协议来协调这些主机的数据发送. ...

  8. 【计网】三、数据链路层

    1. 概述 物理层发出去的信号需要通过数据链路层才知道是否到达目的地:才知道比特流的分界线 链路(Link):从一个结点到相邻结点的一段物理线路,中间没有任何其他交换结点 数据链路(Data Link ...

  9. 计算机网络技术期末复习考点

    计算机网络 选择题20' 填空题10' 简答题45' 案例分析25' 第一章 ●互联网 三网融合(三大类大家熟悉的网络):电信网.有线电视网.计算机网络. 互联网具有两个基本特征:连通性和共享性. 共 ...

最新文章

  1. windows下安装mongodb步骤
  2. 4 angular 重构 项目_vuejs angularjs 框架的一些比较(vue项目重构四)
  3. GoldenGate 配置extract,replicat进程自启动
  4. Cloudera将被私有化,Hadoop时代或将落幕
  5. 18计算机汽修英语期末试卷,英语语法期末考试试卷(a)
  6. bootloader 简介
  7. 这才是厉害程序员的标配!
  8. Windows7中右键菜单无新建文本文档选项的解决办法(注册表)
  9. 131. 分割回文串
  10. java中有无穷大吗_Java语言中有无穷大
  11. 文本框中呈现文字,用鼠标点击一下消失
  12. CrystalReports2008 SN
  13. 华为前端社招OD面试(已拿offer)
  14. 群论基础速成(3):拉格朗日定理、直积与半直积
  15. C专家编程 第11章 你懂得C,所以C++不再话下 11.1 初识OOP
  16. 小米6自动重启android,小米6充电重启怎么办?小米6充电自动重启解决方法介绍...
  17. Windows10 桌面不停的闪烁问题
  18. 孩子心脏发育不好,我要存孩子的心电数据
  19. 2019年3月菜鸟实习生电话面试题
  20. UML建模基础知识点

热门文章

  1. Ubuntu查看摄像头参数
  2. FFmpeg开发(五)——Qt视频播放器之封装FFmpeg类(参考了暴风影音、迅雷影音)
  3. 抽象类与接口的应用场景
  4. wifite+hashcat
  5. Java学习---第三周周报
  6. 查询有2门及以上不及格科目的学生姓名及其平均成绩
  7. JAVA毕设项目智慧物业管理系统(java+VUE+Mybatis+Maven+Mysql)
  8. 【架构整洁之道系列】(四)软件架构师与软件架构
  9. mipcms栏目分类调用
  10. 零基础学Python(全彩版)