IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络part3数据链路层 -> 正文阅读

[网络协议]计算机网络part3数据链路层

3数据链路层

3.1数据链路层的功能概述

3.1.1数据链路层的研究思想

在这里插入图片描述

3.1.2数据链路层基本概念

结点:主机、路由器

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

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

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

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

在这里插入图片描述

3.1.3数据链路层功能概述

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

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

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

功能三:组帧。

功能四:流量控制。

功能五:差错控制(帧错/位错)。
在这里插入图片描述

3.2封装成帧&透明传输

3.2.1封装成帧

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

首部和尾部都包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)。

帧同步接收方应当能从接收的二进制比特流中区分出来帧的起始和终止。

组帧的四种方法:1.字符计数法 2.字符(节)填充法 3.零比特填充法 4.违规编码法。
在这里插入图片描述
在这里插入图片描述

3.2.2透明传输

透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。

所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采用适当的措施,使接收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
在这里插入图片描述

3.2.3字符计数法

帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数。

痛点:鸡蛋装在一个篮子里了。

在这里插入图片描述

3.2.4字符填充法

  1. 当传送的帧是由文本文件组成时(文本文件的字符都是从键盘上输入的,都是ASCll码)。不管从键盘上输入什么字符都可以放在帧里传过去,即透明传输

  2. 当传送的是由非ASCll码的文本文件组成时(二进制代码的程序的程序或图像等)。就要采用字符填充方法实现透明传输

在这里插入图片描述

3.2.5零比特填充法

保证了透明传输:在传送的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误。

在这里插入图片描述

3.2.6违规编码法

由于曼彻斯特编码是高-低 ,低-高

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

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

在这里插入图片描述

3.3差错控制(检错编码)

3.3.1差错从何而来

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

全局性:1. 由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。

? ????????????? ~~~~~~~~~~~~~ ????????????? 解决方法:提高信噪比来减少或避免干扰。(对传感器下手)

局部性:2. 外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。

? ? ???????????? ~~~~~~~~~~~~ ???????????? 解决方法;通常利用编码技术来解决。
在这里插入图片描述

3.3.2数据链路层的差错控制

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

在这里插入图片描述

3.3.3检错编码——奇偶校验码

? ????????????????? ~~~~~~~~~~~~~~~~~ ????????????????? 奇校验码 x… “1”的个数为奇数

奇偶校验码

(n-1为信息元,1位校验元)

? ????????????????? ~~~~~~~~~~~~~~~~~ ????????????????? 偶校验码 x… "1"的个数为偶数

奇偶校验码特点:

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

在这里插入图片描述

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

在数据链路层仅仅使用循环冗余码检验CRC差错检测技术,只能做到对帧的无差错接收,即“凡是接收端数据链路层接受的帧,我们都能以非常接近于1的概率认为这些在传输过程中没有产生差错”。接收端丢弃的帧虽然曾收到了,但是最终还是因为有差错被丢弃。“凡是接收端数据链路层接收的帧均无差错”。

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

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3.5纠错编码——海明码

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

工作原理:牵一发而动全身

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3.6思维导图

在这里插入图片描述

3.4流量控制与可靠传输机制

3.4.1数据报链路层的流量控制

较高的发送速度较低的接收能力不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。

数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。

数据链路层流量控制手段:接收方收不下就不回复确认。

传输层流量控制手段:接收端给发送端一个窗口公告。

在这里插入图片描述

3.4.2流量控制的方法

停止-等待协议

每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧

滑动窗口协议

在这里插入图片描述
在这里插入图片描述

3.4.3可靠传输、滑动窗口、流量控制

可靠传输:发送端发啥,接收端收啥

流量控制:控制发送速率,使接收方有足够的缓冲空间来接收每一个帧。

滑动窗口解决

在这里插入图片描述

3.4.4思维导图

在这里插入图片描述

3.5停止-等待协议

3.5.1停止-等待协议究竟是哪一层的

在这里插入图片描述

3.5.2停止-等待协议

  1. 为什么要有停止-等待协议?

    除了比特出差错,底层通道还会出现丢包问题。为了实现流量控制。

  2. 研究停等协议的前提?

    虽然现在常用全双工通信方式,但为了讨论问题方便,仅考虑一方发送数据(发送方),一方接收数据(接受方)。

    因为是在讨论可靠传输的原理,所以并不考虑是在哪一个层次上传送的。

    “停止-等待”就是把每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。

  3. 停等协议有几种应用情况?

    无差错情况&有差错情况

在这里插入图片描述

3.5.3停等协议——无差错情况

在这里插入图片描述

3.5.4停等协议——有差错情况

  1. 数据帧丢失或检测到帧出错

  2. ACK丢失

  3. ACK迟到

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.5.5停等协议性能分析

优点:简单

缺点:信道利用率太低
在这里插入图片描述

3.5.6信道利用率

发送方在一个发送周期内,有效的发送数据所需要的时间占整个发送周期的比率。

信道利用率=(L/C)/T

T内发送L比特数据 发送方数据传输率 发送周期

信道吞吐率=信道利用率*发送方的发送速率

在这里插入图片描述
在这里插入图片描述

3.5.7思维导图

在这里插入图片描述

3.6选择重传协议

3.6.1 GBN协议的弊端

累计确认—>批量重传

在这里插入图片描述

3.6.2选择重传协议中的滑动窗口

在这里插入图片描述

3.6.3 SR发送方必须响应的三件事

  1. 上层的调用

    从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。

  2. 收到了一个ACK

???????? ~~~~~~~~ ???????? 如果收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。

  1. 超时事件

    每个帧都有自己的定时器,一个超时事件发生后只重传一个帧

在这里插入图片描述

3.6.4 SR接收方要做的事

来者不拒(窗口内的帧)

SR接收方将确认一个正确接收的帧不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧【收谁确认谁】,直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口

如果收到了窗口序号外(小于窗口下界)的帧,就返回一个ACK。其他情况,就忽略该帧。

在这里插入图片描述
在这里插入图片描述

3.6.5 滑动窗口长度

发送窗口最好等于接收窗口(大了会溢出,小了没意义)

在这里插入图片描述

3.6.6 SR协议重点总结

  1. 对数据帧逐一确认,收一个确认一个。
  2. 只重传出错帧
  3. 接收方有缓存
  4. 最大的发送窗口=最大的接收窗口

在这里插入图片描述

3.6.7 习题1

在这里插入图片描述

3.6.8 思维导图

在这里插入图片描述

3.7 后退N帧协议(GBN)

3.7.1 停等协议的弊端

利用率不高

  1. 必须增加序号范围
  2. 发送方需要缓存多个分组

在这里插入图片描述

3.7.2 后退N帧协议中的滑动窗口

发送窗口:发送方维持一组连续的允许发送的帧的序号。

接收窗口:接收方维持的一组连续的允许接收帧的序号。

在这里插入图片描述

3.7.3 GBN发送方必须响应的三件事

  1. 上层的调用

    上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口已满。上层等一会再发送。(实际现实中,发送方可以缓存这些数据,窗口不满时再发送帧)。

  2. 收到了了一个ACK

    GBN协议中,对n号帧的确认采用累计确认的方式,标明接收方已经收到n号帧和它之前的全部帧。

  3. 超时事件

    协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中一样,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧。

在这里插入图片描述

3.7.4 GBN接收方要做的事

在这里插入图片描述

在这里插入图片描述

3.7.5 滑动窗口的长度

在这里插入图片描述

3.7.6 GBN协议重点总结

  1. 累计确认(偶尔捎带确认)
  2. 接收方只按顺序接收帧,不按序无情丢弃
  3. 确认序列号最大的、按序到达的帧
  4. 发送窗口最大为2^n-1,接收窗口大小为1

在这里插入图片描述

3.7.8 习题

在这里插入图片描述

3.7.9 GBN协议性能分析

优点:因连续发送而提高了信道利用率

缺点:在重传时必须把原来已经正确传送的数据帧重传,使传送效率降低。

在这里插入图片描述

3.7.10 思维导图

在这里插入图片描述

3.8 信道划分介质访问控制

3.8.1 传输数据使用的两种链路

在这里插入图片描述

3.8.2 介质访问控制

静态划分就是在传输前划分完

动态划分就是在传输时发生冲突进行处理

在这里插入图片描述

3.8.3信道划分介质访问控制

在这里插入图片描述

在这里插入图片描述

3.8.4 频分多路复用

在这里插入图片描述

3.8.5 时分多路复用

在这里插入图片描述

3.8.6 改进的时分复用——统计时分复用STDM

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.8.7 波分多路复用WDM

在这里插入图片描述

3.8.8 码分多路复用CDM

在这里插入图片描述

3.8.9 思维导图

在这里插入图片描述

3.9 ALOHA协议

3.9.1 介质访问控制

在这里插入图片描述

3.9.2 ALOHA协议

在这里插入图片描述

3.9.3 纯ALOHA协议

在这里插入图片描述

3.9.4 时隙ALOHA协议

在这里插入图片描述

3.9.5 关于ALOHA要知道的事

在这里插入图片描述

3.10 CSMA 协议

3.10.1 CSMA协议

在这里插入图片描述

3.10.2 1-坚持CSMA

在这里插入图片描述

3.10.3 非坚持CSMA

在这里插入图片描述

3.10.4 p-坚持CSMA

在这里插入图片描述

3.10.5 三种CSMA对比总结

在这里插入图片描述

3.11轮询访问介质访问控制

3.11.1 介质访问控制

在这里插入图片描述

3.11.2 轮询协议

在这里插入图片描述

3.11.3 令牌传递协议

在这里插入图片描述

3.11.4 MAC协议总结

在这里插入图片描述

3.12 CSMA/CA协议

3.12.1 CSMA/CA协议

在这里插入图片描述

3.12.2 CSMA/CA协议工作原理

在这里插入图片描述

3.12.3 CSMA/CD与CSMA/CA

在这里插入图片描述

3.13 局域网基本概念和体系结构

3.13.1 局域网

局域网简称LAN,是在某一区域内由多台计算机互联成的计算机组,使用广播信道。

决定局域网的主要因素:网络拓扑,传输介质与介质访问控制方法、

在这里插入图片描述

3.13.2 局域网拓扑结构

总线型优势较大,且造价并不是很高,因此现在我们的局域网常用的拓扑结构

在这里插入图片描述

3.13.3 局域网传输介质

在这里插入图片描述

3.13.4 局域网介质访问控制方法

在这里插入图片描述

3.13.5 局域网的分类

在这里插入图片描述

3.13.6 IEEE 802标准

在这里插入图片描述

在这里插入图片描述

3.13.7 MAC子层和LIC子层

在这里插入图片描述

3.13.8 思维导图

在这里插入图片描述

3.14 以太网

3.14.1以太网概述

在这里插入图片描述

3.14.2以太网提供无连接、不可靠的服务

在这里插入图片描述

3.14.3以太网传输介质与拓扑结构的发展

在这里插入图片描述

3.14.4 10BASE-T以太网

在这里插入图片描述

3.14.5 适配器与MAC地址

在这里插入图片描述

3.14.6 以太网MAC帧

在这里插入图片描述

3.14.7 高速以太网

在这里插入图片描述

3.14.8 思维导图

在这里插入图片描述

3.15 IEEE 802.11无线局域网

3.15.1 IEEE 802.11

在这里插入图片描述

3.15.2 802.11的MAC帧头格式

在这里插入图片描述

3.15.3无线局域网的分类

  1. 有固定基础设施无线局域网
  2. 无固定基础设施无线局域网的自组织网络

在这里插入图片描述

3.15.4 有固定基础设施无线局域网

在这里插入图片描述

3.15.5 无固定基础设施无线局域网的自组织网络

在这里插入图片描述

3.16 PPP协议&HDLC协议

3.16.1 广域网

在这里插入图片描述

3.16.2 PPP协议的特点

在这里插入图片描述

3.16.3 PPP协议应满足的要求

在这里插入图片描述

3.16.4 PPP协议无需满足的要求

在这里插入图片描述

3.16.5 PPP协议的三个组成部分

在这里插入图片描述

3.16.6 PPP协议的状态图

在这里插入图片描述

3.16.7 PPP协议的帧格式

在这里插入图片描述

3.16.8 HDLC协议

在这里插入图片描述

3.16.9 HDLC的站

在这里插入图片描述

3.16.10 HDLC的帧格式

在这里插入图片描述

3.16.11 PPP协议&HDLC协议

在这里插入图片描述

3.16.12 思维导图

在这里插入图片描述

3.17 链路层设备

3.17.1 物理层扩展以太网

在这里插入图片描述

3.17.2 链路层扩展以太网

在这里插入图片描述

3.17.3 网桥分类——透明网桥

在这里插入图片描述

3.17.4 网桥分类——源路由网桥

在这里插入图片描述

3.17.5 多接口网桥——以太网交换机

在这里插入图片描述

3.17.6 以太网交换机的两种方式

在这里插入图片描述

3.17.7 冲突域和广播域

在这里插入图片描述

在这里插入图片描述

3.17.8 思维导图

在这里插入图片描述

3.18 数据链路层

在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-04 13:09:53  更:2021-10-04 13:11:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:36:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码