计算机网络第三章——数据链路层(上)

这篇具有很好参考价值的文章主要介绍了计算机网络第三章——数据链路层(上)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:节物风光不相待。桑田碧海须臾改


前言

这一章主要学习数据链路层的功能和应用,功能中最主要的也是最重要的就是封装成帧和透明传输,封装成帧就是帮我过滤一下物理层,这里就是将物理层的几个bit封装成帧,帧就是数据链路层的传输单位或者说是传输单元,透明传输他想表达的不管我们分装好的帧是怎么样的一个组合,我们都能把他顺利的传输过去,就是链路层好像看不到他所传输的bit序列,我们在链路层传输的时候可能有一定的差错,差错主要是由于噪声引起的,位错就是bit发生了错误了,也就是1,0 发生错误,帧错误也就是帧发生丢失,乱序等,流量控制其实就是在控制发送方的速度,流量控制中我们会学习几个协议,这几个协议就是对流量控制的保证,可靠传输与其说是链路层的功能,倒不如说是链路层的特点,为了实现流量控制和可靠传输,我们引入了一个滑动窗口机制,流量控制也是为了满足差错控制,应用主要是学习两种链路以及链路层设备,介质访问控制就是说我要给你发送一个信息,如何避免别人发送的信息和我发送的信息发生碰撞,链路层设备主要学习的是交换机,网桥
计算机网络第三章——数据链路层(上)

3.1.1 数据链路层功能

数据链路层的主要功能就是将网络层交给他的数据报安全的无差错的交给相邻结点,就像是一个搬运工的角色,
计算机网络第三章——数据链路层(上)

数据链路层功能概述

举一个例子,假如有一个公司的boss网络层,他有一个小蜜数据链路层,网络层交给数据链路层五份文件,让他交给B公司的boss网络层,小秘就将五份文件交给了一个傻子物理层,但是她也知道物理层是一个傻子,所以交给物理层之前要先进行编号,丢失也好寻找,
物理层很傻,数据链路层需要未雨绸缪,进行一定的差错控制,相当于给网络层提供了一种无差错的服务,使得网络层感觉不会发生什么错误,数据链路层干的很好,为了实现这种无差错的功能,无确定无连接服务通常用于实时通信或者误码率比较低的一个通信信道,也就是源主机发送一个信息的时候,不用事先和目的主机连接,目的主机收到数据帧的时候也不用返回确认,若是帧丢失,数据链路层也不负责重发,而是交给上一层处理,这种无确认无连接是为了实时通信,为了更快,这种就需要传输层来解决信息出错的问题,有确认无连接服务,不用事先确认连接,但是目的主机收到数据帧的时候,要发回一个确认,若是源主机在规定时间内没有收到一个确认,就会把没有收到确认的帧重新发送一次,这种适合误码率较高的通信,比如无线通信,有确认面向连接就是需要先建立连接,然后发送数据帧之后需要目的主机发回一个确认信息,发送端只有收到一个确认帧之后才能发送下一个,要注意有连接的一定有确认。
计算机网络第三章——数据链路层(上)

为网络层提供服务

无确认的无连接服务
特点:源机器发送数据帧时不需先建立链路连接,目的机器收到数据帧时不需发回确认,对丢失的帧,数据链路层不负责重发而交给上层处理
使用范围:适用于实时通信或误码率较低的通信信道 以太网
有确认的无连接服务
特点:源机器发送数据帧时不需先建立链路连接,但目的机器收到数据 时必须发回确认,源机器在所规定的时间内未收到确定信号时,就重传丢失的帧,以提高传输的可靠性。
使用范围:适用于误码率较高的通信信道无线通信 无线通信
有确认的面向连接服务
特点:帧传输过程分为三个阶段:建立数据链路、传输帧、释放数据链路
目的机器对收到的每一帧都要给出确认,源机器收到确认后才能发送下一帧
使用范围:适用于通信要求(可靠性、实时性 ) 较高的场合

注意有连接的一定有确定,不存在无确定的面向连接的服务

链路管理

概述:数据链路层连接的建立、维持和释放过程称为链路管理,它主要用于面向连接的服务
实现过程:首先确认对方已处于就绪状态,交换一些必要的信息以对帧序号初始化,建立连接,在传输过程中则要能维持连接,而在传输完毕后要释放该连接

帧定界,帧同步和透明传输

概述:两个工作站之间传输信息时,必须将网络层的分组封装成帧,以帧的格式进行传送
帧定界:将一段数据的前后分别添加首部和尾部身就构成了帧。首部和尾部中含有很多控制信息,其作用是确定帧的界限
帧同步:接收方应能从接收到的二进制比特流中区分出帧的起始与终止
透明传输:采取有效的措施解决误认为”传输结束“而丢弃后面的数据的问题

流量控制

概述:收发双方各自的工作速率和缓存空间的差异,出现发送方的发送能力大于接收方的接收能力的现象,如不对其进行流量控制就会导致数据丢失
实现:通过控制发送方的发送速度,从而实现流量控制

差错控制

使发送方确定接收方是否正确收到由其发送的数据的方法1、位错:数据中的某些位出现错误,2、帧错:帧的丢失、重复或失序等错误
解决方法解决位错:CRC循环余码,解决帧错: 自动重传请求(ARQ )

3.2.1 封装成帧和透明传输

封装成帧

封装成帧就是将网络层的ip数据报加头加尾形成一个帧,ip数据报也就成为了帧的数据部分,发送的时候就是从帧首部开始发送的,直到发送到帧尾部为止,组帧就是在发送方完成的事情,帧同步就是接收端识别帧的开始和结束,显然为了提高帧的传输效率,应当帧的数据部分尽可能的大于首部和尾部,但是也不能无限大,帧的最大传输单元叫做MTU,根据不同的协议它们的MTU也不相同,
计算机网络第三章——数据链路层(上)

透明传输

下面这句话就是若是某些达不到透明传输就使用一些手段来达到透明传输,透明传输的意思简单来说不会管它传输的是什么,无论是什么都将它原封不动的交给网络层来进行处理,
计算机网络第三章——数据链路层(上)

组帧的四种方式

为了使接收方能正确地接收并检查所传输的赖,发送方必须依据一定的规则把网络层递交的分组封装成帧
解决问题:帧定界,帧同步,透明传输等。

字符计数法

对于每一个帧,它的第一个都是规定了字节数,这样他就可以区分出每一个帧,但是这样就会有一个问题若是第一个帧的第一个字节发生错误,则后面帧的读取就会发生错误,
计算机网络第三章——数据链路层(上)

字符填充法

SOH就是指帧首部第一个标志的开始的字节,EOT就是帧尾部的结束字节,看到不同的bit组合来观察是帧开始还是结束,键盘上每一个键字都对应一个ASCII码,键盘上的ASCII和这8bit是不会有重复的,所以无论从键盘上敲击什么都可以放在帧的数据部分,而不会认为是一个EOT,但是当传送的帧是非ASCII的时候 则可能其中的0 1 组合就有与EOT相同的bit组合,从而把后面的丢弃,导致帧传输错误,也就是说通过一种方式(也就是添加一个转义字符DLE)当接收方当看到和EOT同样组合的时候也不会认为是一个EOT而是一个数据照常接收,直到遇到帧结束符才会停止接收,
计算机网络第三章——数据链路层(上)
字符填充就是在这些控制信息前加上一个转义字符,转义字符其实也是一个8位0 1bit的组合,就是告诉接收端你不用管后面是什么,你只需要正常接收就可以了,同样的SOH之前也加上一个转义字符,遇到转义字节同样的需要加一个转义字节,,直到遇到真正的结束EOT,将原始数据进行一个字节填充就可以放在链路上进行传输了,接收端再将收到的数据的ESC拿掉便可,
计算机网络第三章——数据链路层(上)

零比特填充法

主要和字节填充法的区别是首部和尾部,这里的首部和尾部的标识符是一样的,若是数据部分出现了和首部尾部同样的bit组合,我们需要只要遇到五个1 就往后面填一个零,接收端收到一个字段,首先要找到首部和尾部,来确定边界,然后再去扫描其中的数据部分,若是有5个1就把后面的0 删除,
计算机网络第三章——数据链路层(上)
零bit填充法很容易使用硬件来实现,性能优于字符填充法

违规编码法

使用条件
在物理层进行比特编码时,通常采用违规编码法
违规编码法只适用于采用元余编码的特殊编码环境
实现方法
正常情况下:曼彻斯特编码中比特“1”编码成“高-低”电平,比特“0”编码成“低-高”电平
违规编码:曼彻斯特编码中比特“1”编码成“高-高”电平,比特“0”码成“低-低”电平
具体事例 局域网IEEE 802标准
借用这些违规编码序列来定界帧的起始和终止
计算机网络第三章——数据链路层(上)

3.3.1 差错控制(检错编码)

对于不同链路可以使用不同的可靠传输机制的
计算机网络第三章——数据链路层(上)
对于链路层的差错控制,我们是在任何一个节点的链路层都可以实现的,每一个结点和他下一个结点就构成了发送方和接收方之间的关系,只要这个关系一成立,接收方就应该对发送方发来的数据进行一个差错的检测,甚至是纠正,检错编码中我们主要学习两种奇偶校验码和循环冗余码CRC,现在普遍使用的是CRC,
计算机网络第三章——数据链路层(上)

奇偶校验码

若是同时有两个bit发生错误则不能检错
计算机网络第三章——数据链路层(上)
n-1位数据和1位校验位组成,校验位用于调节发送信息中的1的个数是偶数还是奇数

CRC循环冗余码

将要发送的数据分组,加上一个冗余码构成一个数据链路层的传输单元帧再进行发送,但是R位的冗余码是如何确认的呢,这里就需要双方商定一个除数,位数是r+1 位的,除数是题目给的,然后来求R位的冗余数据,首先我们要在发送的d位数据后面加上r位的0,然后除以生成多项式,这个除法是模二的除法,模二就是指加法不进位,减法不退位等同于异或,同零异一的运算,得到一个商和一个余数,这个余数就是r位的fcs,将这个填到r位0上面,然后再把这样一个帧发送到链路上面,接收方再除生成多项式,看余数是否为零然后用1101 0110 11 0000来除10011 这里是异或,同零异一,第一位若是0 则不需要写,
计算机网络第三章——数据链路层(上)
当不够减的时候就是余数了,此时将其放入刚才添加的尾部便可。
发送方某些数据被丢弃了,没有对这些帧进行处理,因此并不是发送端发送什么,接收端就收到什么,因此还不是可靠传输。
计算机网络第三章——数据链路层(上)
带r个校验位的多项式编码可以检测到所有长度小于或等于r的突发性错误

3.3.2 差错控制(纠错编码)

海明码

海明码和之前学的类似都是需要加上一些冗余码,奇偶校验码是在最低位加上一位或者几位,但是海明码这里需要按照一定的规则在数据位上安插校验码,接下来确定好位置即可插入校验码,所以也就需要求出校验码的值,还有一个问题就是接收方如何根据海明码来进行纠错,
计算机网络第三章——数据链路层(上)

海明距离

是取任意两个编码码距的最小值,若是遇到两个编码之间的码距是一,那么这个编码系统码距自然也就是1 了,若是码距是一的话,是检测不出来错误的,更不要说去纠正,若是码距为2,则若是有一位发生错误使得编码系统码距变成1了,自然也就能发现错误了,但是却不能纠错,所以若是需要检错d位bit的话,码距需要d+1 ,若是需要纠错d位的话需要的码距是2d+1,
计算机网络第三章——数据链路层(上)

1.确定校验码位数r

将m等于4带入,右边也就是最小是5,所以r最小是从3开始,这里求r使用的就是一个一个试,来看那个合适
计算机网络第三章——数据链路层(上)

2.确定校验码和数据的位置

计算机网络第三章——数据链路层(上)

3.求出校验码的值

海明码会采用一个通配符的形式,如这里的100 写成1**。也就是说四号校验码能管所有1**的数据位的,因此也就是相当于根据不同的校验位来进行分组,采用偶校验就是希望出现偶数个1,
计算机网络第三章——数据链路层(上)

检错并纠错

方法一

首先使用三个圈,分别标上1,2,4 然后三个圈中两个两个的交集来说相加,也就是3,5,6, 然后最后一个填上7,然后我们发现4 号与1号发生错误了,所以也就是错误发生在5,7 里面。但是2号并没有发生错误,所以错误位也就发生在5号
计算机网络第三章——数据链路层(上)

方法二

计算机网络第三章——数据链路层(上)

脑图时刻

计算机网络第三章——数据链路层(上)

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

数据链路层的流量控制

窗口公告就是告诉发送方此时还有的缓冲区还剩多少,控制一下你的速度不要发太多,
计算机网络第三章——数据链路层(上)

流量控制方法

计算机网络第三章——数据链路层(上)

停止等待流量控制

停止等待协议也可以看作是一个特殊的选择重传协议,不过是滑动窗口的大小都是1,在链路层的滑动窗口在发送过程中是固定的,传输层的窗口是不固定的
计算机网络第三章——数据链路层(上)

滑动窗口流量控制

基本原理
发送方都维持一组连续的允许发送的帧的序号,称为发送窗口,接收方也维持一组连续的允许接收帧的序号,称为接收窗口
发送窗口用来对发送方进行流量控制
发送窗口的大小代表在还未收到对方确认信息的情况下发送方最多还可以发送多少个数据帧
接收窗口是为了控制可以接收那些数据帧和不可以接收那些帧
帧的序号落入接收窗口之内,将数据帧收下帧的序号落在接收窗口之外,则将其丢弃
机制特点
只有接收窗口向前滑动(同时接收方发送了确认帧)时,发送窗口才有可能(只有发送方收到确认帧之后一定)向前滑动
接收窗口的大小为1时,可保证帧的有序接收
数据链路层的滑动窗口协议中,窗口的大小在传输过程中是固定的

可靠传输机制

通常使用确认和超时重传两种机制
基本概念
确认帧:是一种无数据的控制帧,这种控制帧使得接收方知道那些内容被正确接收
捎带待认:为了提高传输效率,将确认帧捎带在一个回复帧中
超时重传: 发送方在发送某个数据帧随后就开启一个计时器,一定时问内如果没有得到发送的数据帧的确认帧,那么就重新发送该数据帧,直到发送成功为止
自动重传请求 : 接收方请求发送方重传出错的的数据帧来恢复出错的帧是通信中用于处理信道所带来差错的方法
停止-等待( Stopand-Wait ) ARQ
后造N 顿( Go-Back-N) ARQ
选择性重传 ( Selective Repeat])ARQ
滑动窗口技术与请求重发技术的结合
计算机网络第三章——数据链路层(上)
滑动串口和停止等待解决流量控制的问题,因为若是接收方一直没有收到一个确认帧,发送窗口就一直圈在哪里,就相当于变相的控制了发送速率,可靠传输意思是发送方若是超时还是没有收到一个确认帧,则发送方重传帧,

可靠传输机制

计算机网络第三章——数据链路层(上)

脑图时刻

计算机网络第三章——数据链路层(上)文章来源地址https://www.toymoban.com/news/detail-475752.html

到了这里,关于计算机网络第三章——数据链路层(上)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【计算机网络】第三章 数据链路层(可靠传输)

    可靠传输是指在数据通信过程中,确保数据能够准确、完整地按照发送方的意图传输到接收方,并且接收方能够正确地接收和处理数据。 在可靠传输中,通常需要解决以下问题: 确认和反馈 :发送方在发送数据后,需要接收到接收方的确认信息,以确认数据是否正确接收。

    2024年02月12日
    浏览(42)
  • 计算机网络(湖科大)第三章 数据链路层

    ✨3.1.1 概述 链路 是从一个结点到相邻结点的一段物理线路, 数据链路 则是在链路的基础上增加了一些必要的硬件(如网络适配器)和软件(如协议的实现) 网络中的主机、路由器等都必须实现数据链路层 局域网中的主机、交换机等都必须实现数据链路层 从层次上来看数据

    2024年01月18日
    浏览(36)
  • 【计算机网络 谢希仁 第八版笔记】第三章 数据链路层

    同栏目的其他内容: 数据链路层使用的信道主要有点对点信道、广播信道。本章节主要的内容是两种信道的特点与协议、数据链路层的帧、透明传输、差错检测、MAC、适配器、转发器、集线器、网桥、以太网交换机等。 3.1.1. 数据链路和帧 数据链路不是所谓的链路,不仅仅指

    2024年01月19日
    浏览(27)
  • 【计算机网络】第三章 数据链路层(概述 封装成桢 差错检错)

    数据链路层是计算机网络体系结构中的一层,位于物理层和网络层之间。它负责在相邻节点之间传输数据,并提供可靠的数据传输。 数据链路层的主要功能包括: 帧封装 :将由网络层传递下来的数据分割成较小的数据帧(Frame),并为每个帧添加首部和尾部,以便在物理介

    2024年02月13日
    浏览(34)
  • 【计算机网络】第三章 数据链路层(点对点协议 媒体介入控制)

    点对点协议是目前使用最广泛的点对点数据链路层协议。 PPP协议为在点对点链路传输各种协议数据提供了一个标准方法,主要由如下三个部分过程: 对各种协议数据报的封装方法(封装成桢)。 链路控制协议 LCP 用于建立、配置以及测试数据链路的连接。 一套网络控制协议

    2024年02月13日
    浏览(28)
  • 【计算机网络】第三章 数据链路层(虚拟机与局域网)

    以太网交换机的自学习和转发数据帧的流程如下: 自学习(Learning): 当交换机收到一帧时,它会检查帧中的源MAC地址,并将其与接收端口相关联。 交换机将源MAC地址与接收端口的映射信息存储在一个所谓的MAC地址表(也称为CAM表或转发表)中。 转发(Forwarding): 当交换

    2024年02月13日
    浏览(47)
  • 【计算机网络】第三章 数据链路层(集线器与交换机)

    使用 集线器HUB 的以太网在逻辑上仍是一个总线网,各站共享总线资源,使用的还是 CSMA/CD 协议(半双工)。 集线器 只工作在物理层,它的每个接口仅简单的转发比特,不进行碰撞检测(由各站的网卡检查)。 集线器 一般都有少量的容错能力和网络管理能力。 使用 集线器

    2024年02月15日
    浏览(37)
  • 计算机网络重点概念整理-第三章 数据链路层【期末复习|考研复习】

    计算机网络复习系列文章传送门: 第一章 计算机网络概述 第二章 物理层 第三章 数据链路层 第四章 网络层 第五章 传输层 第六章 应用层 第七章 网络安全 计算机网络整理-简称缩写 给大家整理了一下计算机网络中的重点概念,以供大家期末复习和考研复习的时候使用。 参

    2024年02月08日
    浏览(36)
  • 【计算机网络】学习笔记:第三章 数据链路层【王道考研】持续更新中....

    基于本人观看学习b站王道计算机网络课程所做的笔记,不做任何获利 仅进行交流分享 特此鸣谢王道考研 若有侵权请联系,立删 如果本篇笔记帮助到了你,还请点赞 关注 支持一下 ♡𖥦)!! 主页专栏有更多,如有疑问欢迎大家指正讨论,共同进步! 给大家跳段街舞感谢支持

    2024年02月01日
    浏览(40)
  • 【计算机网络】学习笔记:第三章 数据链路层(八千字详细配图)【王道考研】

    基于本人观看学习b站王道计算机网络课程所做的笔记,不做任何获利 仅进行交流分享 特此鸣谢王道考研 若有侵权请联系,立删 如果本篇笔记帮助到了你,还请点赞 关注 支持一下 ♡𖥦)!! 主页专栏有更多,如有疑问欢迎大家指正讨论,共同进步! 给大家跳段街舞感谢支持

    2024年02月06日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包