一、前言

数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。

数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。

结点:主机、路由器

链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。

数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。

帧:链路层的协议数据单元,封装网络层数据报。

功能一:为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务。

功能二:链路管理,即连接的建立、维持、释放(用于面向连接的服务)。

功能三:组帧。

功能四:流量控制。限制发送方哦~

功能五:差错控制(帧错/位错)。

二、组帧

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

组帧的四种方法:1.字符计数法,2.字符(节)填充法,3.零比特填充法,4.违规编码法。

1.字符计数法

痛点:鸡蛋放在一个篮子里

2.字符填充法

3.零比特填充法

4.违规编码法

可以用“高-高”,“低-低”来定界帧的起始和终止。

由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果)及字符填充实现上的复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充和违规编码法。

二、差错控制

——检错编码

Q:差错从何而来?

概括来说,传输中的差错都是由于噪声引起的。
全局性

1.由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。
解决办法:提高信噪比来减少或避免干扰。(对传感器下手)

局部性

2.外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。
解决办法:通常利用编码技术来解决。

数据链路层的差错控制

编码VS编码

数据链路层编码和物理层的数据编码与调制不同。物理层编码针对的是单个比特,解决传输过程中比特的同步等问题,如曼彻斯特编码。而数据链路层的编码针对的是一组比特,它通过冗余码的技术实现一组二进制比特串在传输过程是否出现了差错。

检错编码——奇偶校验码

奇偶校验码特点:

只能检查出奇数个比特错误,检错能力为50%。

检错编码——CRC循环冗余码

接收端检错过程

把收到的每一个帧都除以同样的除数,然后检查得到的余数R。

1.余数为0,判定这个帧没有差错,接受。

2.余数为不为0,判定这个帧有差错(无法确定到位),丢弃。

FCS的生成以及接收端CRC检验都是由硬件实现,处理很迅速,因此不会延误数据的传输。

在数据链路层仅仅使用循环冗余检验CRC差错检测技术,只能做到对帧的无差错接收

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

链路层使用CRC检验,能够实现无比特差错的传输,但这还不是可靠传输。

海明码

海明码:发现双比特错,纠正单比特错。

数据链路层(一、二)——差错控制相关推荐

  1. 【计算机网络】数据链路层 : 总结 ( 封装成帧 | 流量控制与可靠传输 | 差错控制 | 介质访问控制 | 局域网 | 广域网 | 数据链路层设备 ) ★★★

    文章目录 一.数据链路层 功能 二.封装成帧 ★ 三.流量控制 和 可靠传输 ★★ 1.停止等待协议 ★ 2.后退 N 帧 ( GBN ) 协议 ★ 3.选择重传 ( SR ) 协议 ★ 四.差错控制 ...

  2. 【计算机网络】数据链路层 : 概述 ( 基本概念 | 功能 | 为 “网络层“ 提供的服务 )

    文章目录 一. 数据链路层 概述 二. "数据链路层" 基本概念 三. "数据链路层" 功能 四. "数据链路层" 为 网络层 提供的服务 ...

  3. 计算机网络 数据链路层(一)点对点协议与广播信道

    计算机网络(五) 学习计算机网络过程中的心得体会以及知识点的整理,方便我自己查找,也希望可以和大家一起交流. -- 数据链路层 -- 文章目录 计算机网络(五) -- 数据链路层 -- 1. 使用点对 ...

  4. 【计算机网络】数据链路层 : 流量控制 ( “流量控制“ 机制 | 停止-等待协议 | 滑动窗口协议 | 后退 N 帧协议 GBN | 选择重传协议 SR | 滑动窗口 与 流量控制、可靠传输 )

    文章目录 一. 数据链路层 流量控制 二. 数据链路层 与 传输层 流量控制 机制 三. 数据链路层 流量控制 四. 数据链路层 流量控制 方法分类 五.停止等待协议 六.滑动窗口协议 七.滑动窗口协 ...

  5. 数据链路层的基本功能简单总结

    因为遇到了这样一道题,所以想借此机会记录一下数据链路层的基本功能. 题目如下: (多选)下列属于数据链路层基本功能的有 ( ) A.流量控制 B.介质访问控制 C.成帧 D.差错控制 答案:ABCD ...

  6. 【计算机网络】第三部分 数据链路层(11) 数据链路控制

    文章目录 11.1 成帧 11.1.1 固定长度成帧 11.1.2 可变长度成帧 1. 面向字符协议 2. 面向位协议 11.2 流量控制和差错控制 11.2.1 流量控制 11.2.2 差错控制 1 ...

  7. 计网-第三章-数据链路层

    计算机网络 之前学习计网的笔记,巩固基础 计网-第一章-概述 计网-第二章-物理层 第三章 数据链路层 计算机网络 第三章 数据链路层 一.数据链路层概述 二.封装成帧 三.差错检测 四.可靠传输 4 ...

  8. 第一章 计算机网络概述[知识点+课后习题+练习题]

    概念和功能 21世纪一些重要特征:数字化.网络化.信息化,它是一个以网络为核心的信息时代. 三网融合:电信网络.有线电视网络.计算机网络 四网融合:电网.电信网络.有线电视网络.计算机网络 计算机网络 ...

  9. 计算机网络原理 笔记整理

    计算机网络原理 ╭第一章 计算机网络概述|第二章 网络应用|第三章 传输层|第四章 网络层内容大纲<|第五章 数据链路层与局域网|第六章 物理层|第七章 无线与移动网络╰第八章 网络安全基础第一 ...

  10. 华中科技大学计算机与网络,华中科技大学计算机与网络习题.pdf

    华中科技大学计算机与网络习题 <计算机网络与通信>作业 姓名:毛春翔 学号:U20 12 11804 班级:电气1204 班 1. 试比较电信网络和Internet:他们有什么相似之处,又 ...

最新文章

  1. 由于市场判断失误 希捷降低收入预期
  2. Java NIO——Selector机制源码分析---转
  3. 技术管理规划-如何规划团队的架构
  4. 计算机网络【0】概述
  5. Appium 夜神 配置
  6. Python 标准库 —— 邮件(email)与邮件服务器(smtplib)
  7. switchyomega规则列表备份_一键备份微博并导出生成PDF,顺便用Python分析微博账号数据...
  8. Ubuntu下Apache+SVN搭建SVN服务多项目管理
  9. 如何解决SQL server 恢复挂起状态
  10. M语言中的操作符说明:数字以及时间相关的操作符
  11. 魅族15android 8.0,Flyme 8体验版已上线:魅族15/16系列可直接升级
  12. ODL Transaction
  13. 拉格朗日乘子和KTT条件
  14. 保姆级上云教程:购买百度云BCC服务器以及之后的一些注意事项
  15. 空间不足以提取VMware Tools解决方法
  16. Java入门篇(三、常用开发利器)
  17. java实现插入排序和希尔排序
  18. 艿艿连肝了几个周末,写了一篇贼长的 Spring 响应式 Web 框架 WebFlux!市面第二完整~...
  19. BUU XSS COURSE 1 wp XSS平台在线注册
  20. VS运行程序时被McAfee当作病毒阻止

热门文章

  1. oTree学习教程(七)Apps rounds
  2. LeetCode刷题|36有效的数独
  3. Django-(6)
  4. 3dmax 管子动画_3DMax水管里流水的动画怎么做呢?
  5. slqdbx mysql_免费的多数据库管理工具sqldbx个人版本
  6. 网站图片定位代码html5,CSS中背景图片的定位
  7. cad剖切线的快捷键_Auto CAD2016剖面线快捷键是什么呢??
  8. 推荐书籍---豆瓣9.2分---《编码:隐匿在计算机软硬件背后的语言》
  9. Notes 20180311 : String第三讲_深入了解String
  10. 1229. 日期问题 Java题解 (枚举) 【第八届蓝桥杯省赛C++B组,JAVA B组】