计算机网络考研——数据链路层上


一、数据链路层功能概述

1.数据链路层概要

    数据链路层在物理层提供服务的基础上向网络层提供服务,其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路

2.为网络层提供服务

a.无确认的无连接服务

    无确认的无连接服务:源计算机发送数据帧时不需先建立链路连接,目的计算机收到数据帧时不需发回确认,对丢失的帧,数据链路层不负责重发而交给上层处理。适用于实时通信或误码率低的通信信道。如:以太网。

b.有确认的无连接服务

    有确认的无连接服务:源计算机发送数据帧时不需要先建立链路连接,但目的计算机收到数据帧时必须发送确认,源机器在所规定的时间内未收到确定信号时,就会重传丢失的帧,以提高传输的可靠性。该服务适用于误码率较高的通信信道无线通信。

c.有确认的面向连接服务

    有确认的面向连接服务:帧传翰过程分为三个阶段:数据链路、传输帧、释放数据链路,目的计算机对收到的每一帧都要给出确认,源计算机收到确认后才能发送下一帧。该服务适用于通信要求较高的场合。

3.链路管理

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

4.帧定界、帧同步与透明传输

    两个工作站之间传输信息时,必须将网络层的分组封装成帧,以帧的格式进行传送。将一段数据的前后分别添加首部和尾部,就构成了帧。
    帧定界:首部尾部的控制信息,它们的一个重要作用就是确定帧的界限。
    帧同步:接收方应能从接受到的二进制比特流中区分出帧的起始和终止。
    透明传输:采取有效的措施解决误认为“传输结束”而丢弃后面数据的问题。就是不管所传数据是什么样的比特组合,都应当能在链路上传送。

5.流量控制

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

6.差错控制

    差错控制就是使发送方确定接收方是否正确收到由其发送的数据的方法。错误类型一般有位错(数据中的某些位出现错误)与帧错(帧的丢失、重复或时序等错误)。
    差错控制的办法有:CRC循环冗余码(解决位错)和自动重传请求ARQ(解决帧错)。

二、组帧

1.问题引入

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

2.字符计数法

    字符计数法就是指在帧头部使用一个计数字段来标明帧内字符数。目的结点收到字节计数值时就会知道后面跟随的字节数,从而确定帧结束的位置。该方法的缺点就是如果计数字段出错,收发双方将失去同步从而导致错误。

3.字符填充的首尾定界符法

    字符填充法使用特定字符来定界一帧的开始和结束。例如:控制字符SOH放在帧的最前面,表示帧的首部开始,控制字符EOT表示帧的结束。当信息位出现特殊字符时可以在特殊字符前添加一个转义字符加以区分。

4.零比特填充的首尾标志法

    零比特填充的首尾标志法:使用一个特定的比特模式,即01111110来标志一帧的开始和结束。在发送信息时,遇到5个连续的1就自动在后面加0。当收到信息时,遇到5个连续的1就自动在后面减0。优点:零比特填充法很容易由硬件来实现,性能优于字符填充法。

5.违规编码法

    使用条件:在物理层进行比特编码时,通常采用违规编码法 违规编码法只适用于采用冗余编码的特殊编码环境。例如:正常情况下 曼彻职寺编码中比特 ”1"编码成 “高-低“ 电平,比特 ”0"编码成 “低-高“ 电平违规编码:曼彻斯特编码中比特 ”1"编码成 “高-高“ 电平,比特 ”0"编码成 “低-低“ 电平(由于正常情况下不会出现这种情况,所以可以用这个办法来进行定界)。
    目前较常用的组帧方法是比特填充法和违规编码法。

三、差错控制

1.差错控制概要

    比特在传输过程中可能会产生差错,1可能会变成0,0可能会变成1,这就是比特差错。比特差错是传输差错的一种。

2.编码技术

    通常利用编码技术进行差错控制有两类:自动重传请求ARQ和前向纠错FEC。自动重传请求ARQ :接收端检测出差错时,就设法通知发送端重发,直到接收到正确的码字为止。前向纠错FEC 接收端不但能发现差错,而且能确定比特串错误的位置,从而加以纠正。

3.检错编码

    检错编码都采用冗余编码技术,其核心思想是在有效数据被发送前,按照某种关系添加一定的冗余位,构成符合一定规则的码字后再发送,当发送的有效数据产生变化时,相应的冗余位也随之变化,使得码字遵从不变的规则,接收端根据接收到的码字是否符合原理规则来判断是否出错。常见的检错编码有奇偶检验码和循环冗余码

a.奇偶检验码

    奇偶校验码由n-1位数据和1位校验位组成,校验位用于调节发送信息中的1的个数是偶数还是奇数。

b.循环冗余码

    任何一个由二进制数位串组成的代码都可以与一个只含有0和1两个系数的多项式建立一一对应关系。
假设一个帧有m位,其对应的多项式为M(x),则计算冗余码的步骤如下:
(1)加0:假设G(x)的阶为r,在帧的低位端加上r个0.
(2)模2除:利用模2除法,用G(x)对应的数据串去除(1)中计算出的数据串,得到的余数即为冗余码(共r位,前面的0不可省略。

4.纠错编码

    在数据通信的过程中,有一个方法就是添加足够的冗余信息,使得接收方能够推理出发送方实际传送的比特串。常见的纠错编码就是海明码
    海明码原理:在有效信息位中加入几个校验位形成海明码,并把海明码的每个二进制位分配到几个奇偶校验组中,当某一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错位,而且能指出错位的位置。
    现以1010为例讲述海明码的计算过程:
(1)确定海明码的位数
    设n为有效信息的位数,k为校验位的位数,则信息位n和校验位k应满足n+k<=2^k-1(若要检测两位错,则需再增加1位检验位,即k+1位)
在这里插入图片描述

(2)确定校验位的分布
    规定校验位在海明位号为2^(i-1)位詈上,其余各位为信息位。
在这里插入图片描述
(3)分组形成校验关系
    被校验数据位的海明位号等于校验该数位的各校验位海明位号之和。
在这里插入图片描述
(4)校验位取值
    校验位的值为对应组的所有位求异或。
在这里插入图片描述
(5)海明码的校验原理
    每个校验组分别利用校验位和参与形成该校验位的信息位进行奇偶校验检查,构成k个校验方程:
在这里插入图片描述
    若s3s2s1的值为0000,则说明无措,否则说明有错,而且这个数就是错误的位号,如0001,就说明第一位出错即H1出错。

四、流量控制与可靠传输机制

1.流量控制、可靠传输与滑动窗口机制

a.流量控制

    流量控制涉及对链路上的帧的发送速率的控制,以使接收方有足够的缓冲空间来接收每个帧。
    停止—等待流量控制基本原理:每次只允许发送一帧,然后就陷入等待接收方确认信息的过程中,如果接收方不反馈应答信号,那么发送方必须一致等待,因而传输效率很低。

b.可靠传输机制

    数据链路层的可靠传输通常使用确认和超时重传两种机制。确认是一种无数据控制帧。这种控制帧可以让发送方知道哪些内容已经被正确接收。有些情况下为了提高传输效率,将确认捎带在一个回复帧中,称为稍带确认超时重传指发送方在发送某个数据帧后就开启一个计时器,在一定时间内如果没有得到发送的数据帧的确认帧,那么就重新发送该数据帧,直到发送成功为止。
    自动重传清求:接收方请求发送方重传出错的数据帧来恢复出错的帧,是通信中用于处理信道所带来差错的方法。传统的自动重传请求分为三种:即停止-等待ARQ、后退N帧ARQ和选择重传ARQ

c.滑动窗口流量机制

    滑动窗口流量控制基本原理:发送方维持一组连续的允许发送的帧的序号,称为发送窗口。发送窗口的大小代表在还未收到对方确认信息的恰况下发送方最多还可以发送多少个数据帧。接收方也维持一组连续的允许接收帧的序号,称为接收窗口。接收窗口是为了控制可以接收哪些数据帧和不可以接收哪些帧。
滑动窗口机制特点
    1.只有接收窗口向前滑动时,发送窗口才有可能向前滑动。
    2.接收窗口的大小为1时,可保证帧的有序接收。
    3.数据链路层的滑动窗口协议中,窗口的大小在传输过程中是固定的。

2.单针滑动窗口与停止—等待协议

    从滑动窗口机制的角度来看,停止-等待协议相当于发送窗口和接收窗口为1的滑动窗口协议。
    在停止-等待协议中,除数据帧丢失外,还有其他两种差错,一种是接受时帧已经遭到破坏,解决方法是装备计时器,不返回确认帧,计时器计满时,发送方将再次发送相同的帧,直到数据帧无错误的到达为止。另一种是数据帧正确而确认帧被破坏。解决方法:发送方重传已被接受的数据帧,接收方接收到后丢弃,并重传一个确认帧。
    帧缓冲区:设立目的是为了超时重发和判定重复帧的需要。帧缓冲区实现方法:发送端在发送完数据帧时,必须在其发送缓存中保留此数据帧的副本,这样才能在出差错时进行重传,只有在收到对方发来的确认帧ACK时,方可清除此副本。

3.多帧滑动窗口与后退N帧协议(GBN)

    GBN协议的发送窗口大于1,接收窗口为1,而且接收方只会按序接收数据帧,而确认帧发送序列号最大的,按序到达的帧(累计确认,偶尔捎带确认)。
    后退N帧协议:发送方连续发送帧,当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧(累积确认)。优点:连续发送数据帧而提高了信道的利用率。缺点:若信道的传输质量很差导致误码率较大时,后退N帧协议不一定优于停止-等待协议。

4.多帧滑动窗口与选择重传协议(SR)

    SR协议的发送窗口大于等于1,接收窗口大于等于1.
    选择重传协议:每个发送缓冲区对应一个计时器,当计时器超时时,缓冲区的帧就会重传。接收方会设置具有相当容量的缓冲区来暂存那些未按需正确收到的帧。一旦接受方怀疑帧出错,就会发送否定帧NAK给发送方要求发送方对NAK中指定的帧进行重传。优点:提高了信道的利用率。缺点:需要缓存空间来存储数据。

五、介质访问控制

1.概述

    介质访问控制的主要任务:为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输。用来决定广播信道中信道分配的协议属于数据链路的一个子层,称为介质访问控制子层。常见的介质访问控制方法有信道划分介质访问控制、随机访问控制和轮询访问介质访问控制。

2.信道划分介质访问控制

    信道划分介质访间控制将使用介质的每个设备与来自同一通信信道上的其他设备的通信隔 离开来,把时域和频域资源合理地分配给网络上的设备。多路复用技术:将多个信号组合在一条物理信道上进行传输,多个计算机或终端设备共享信道资源,提高了信道的利用率。

a.频分多路复用(FDM)

    频分多路复用是一种将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号的多路复用技术。充分利用了传输介质的带宽(所有子信道的带宽之和不能超过信道的总带宽),但是需要在相邻信道之间加入保护频带防止子信道相互干扰。

b.时分多路复用(TDM)

    时分多路复用是将一条物理通道按时间分成若干时间片,轮流地分配给多个信号使用。但是由于计算机数据的突发性,用户对子信道的利用率不高。统计时分多路复用STDM)采用STDM帧,STDM帧不固定分配时隙 ,而按需动态地分配时隙,提高了线路的利用率。

c.波分多路复用(WDM)

    波分多路复用在一根光纤中传输多种不同波长的光信号由于波长(频率)不同 ,各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。

d.码分多路复用(CDM)

    码分多路复用:使用不同的编码来区分各路原始信号的一种复用方式,与FDM与TDM不同,它既共享信道的频率,又共享时间。
    码分多址(CDMA):每个比特时间划分为m个短的时间槽,称为码片。通常m的值为64或者128,每个站点被指派一个唯一的码片序列,发送1时,站点发送码片序列,发送0时,站点发送码片序列的反码。当两个或多个站点发送数据时,各路数据在信道中线性相加,为从信道中分离出各路信号,各个站点的码片序列相互正交,从而从信道中分离出各路信号。

3.随机访问介质访问控制

    在随机访问协议中,不采用集中控制方式解决发送信息的次序问题,所有用户能根据自己的意愿随机地发送信息,占用信道全部速率。

a.ALOHA协议

    纯ALOHA协议:当网络中的任何一个站点需要发送数据时,可以不进行任何检测就发送数据。在一段时间未收到确认时,南无该站点就认为传输过程中发生了冲突,发送站随机等待一段时间后再发送数据,直至发送成功。缺陷:数据碰撞的概率较大,所以网络的吞吐量很低。
    时隙ALOHA协议:在纯ALOHA协议的基础上将所有站的时间同步起来,将时间划分为一段段等长的时隙,规定只能在每个时隙开始时才能发送一个帧。优点:避免了用户发送数据的随意性,减少了数据产生冲突的可能性,提高了信道的利用率。缺陷:碰撞概率还是很大。

b.CSMA协议

    1-坚持CSMA协议:一个节点想要发送数据首先侦听信道。如果信道空闲,那么立即发送数据。如果信道忙,那么等待,同时继续侦听,直至信道空闲。如果发生冲突,那么随机等待一段时间再重新开始侦听。缺陷:传播延迟对协议的性能影响较大且存在碰撞现象。
    非坚持CSMA协议:一个节点想要发送数据首先侦听信道。如果信道空闲,那么立即发送数据。如果信道忙,那么放弃侦听,等待一个随机的时间后再重复该过程优点:降低了多个结点等待信道空闲后同时发送数据导致冲突的概率。缺陷:增加数据在网络中的延迟时间。
    p-坚持CSMA协议:一个节点想要发送数据首先侦听信道。如果信道忙,就持续侦听,直至信道空闲。如果信道空闲,那么以概率p发送据,以1-p概率推迟到下一个时隙。优点:降低了冲突概率同时减少了时间延迟。
在这里插入图片描述

4.CSMA/CD协议(重点

    载波监听多路访问/碰撞检测(CSMA/CD)中,载波帧听:发送前先侦听,即每个站在发送数据之前先要检测一下总线是否有其他站点正在发送数据,若有,则暂时不发送数据,等待信道变为空闲时,再发送。碰撞检测:就是边发送边侦听,即适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站点是否也在发送数据。
    CSMA/CD协议,适用于总线形网络或半双工网络环境,采用CSMA/CD协议的以太网只能进行半双工通信。发送数据时先广播告知其他结点,让其他结点在某段时间内不要发送数据,以免出现碰撞。
    争用期指以太网端到端的往返时间,只有度过了争用期才能确定本次传输不会发生冲突。为确保发送站在发送数据时能检测出可能存在的碰撞,由争用期可知最小帧长的计算公式为:
    最小帧长=总线传播时延*数据传输率*2(即争用期乘以数据传输速率)
    CSMA/CD协议使用二进制指数退避算法解决碰撞,其算法如下:
    (1)确定基本退避时间,一般为争用期(两倍的总线端到端传播时延)。
    (2)定义参数k,它等于重传次数,但k不超过10,即k=min[重传次数,10]
    (3)从离散的整数集合[0,1,2,3,……2^k-1]中随机取一个数r,重传所需要的退避时间就是r*争用期
    (4)当重传次数达16次仍不能成功,说明网络太拥挤,抛弃此帧,向高层报告出错。
    使用二进制指数退避算法可使重传需要推迟的平均时间随重传次数的增大而增大,降低发生碰撞的概率,有利于整个系统的稳定。

5.CSMA/CA协议

    CSMA/CA协议适用于于使用有线连接的局域网(无线网络不能使用该协议)。发送前侦听,边发送边侦听,一旦出现碰撞马上停止发送。在无线局域网存在以下两个问题:由于接收信号的强度往往会远小于发送信号的强度,且在无线介质上信号强度的动态变化范围很大。而且在无线通信中,并非所有的站点都能够听见对方,存在 “隐蔽站” 问题

a.碰撞避免机制

    实现碰撞避免机制:预约信道:发送方在发送数据的同时向其他站点通知自己传输数据需要的时间长度,让其他站点在这段时间内不发送数据,避免碰撞。ACK帧:所有站点在正确接收到发给自己的数据帧(除广播帧和组播帧)后,都需要向发送方发回一个ACK帧,如果ACK帧接收失败,不采取任何行动。在规定的时间内如果未收到ACK帧,那么认为发送失败,此时进行该数据帧的重发,直到收到ACK帧或达到规定重发次数为止。同时CSMA/CA协议也是采用二进制指数退避算法解决碰撞问题的。RTS/CTS帧 :可选的碰撞避免机制,主要用于解决无线网中的隐蔽站问题。

b.CSMA/CD与CSMA/CA区别

    (1)CSMA/CD可以检测冲突,但无法避免;CSMA/CA发送包的同时不能检测到信道上有无冲突。
    (2)CSMA/CD用于总线形以太网CSMA/CA用于无线局域网802.1 la/b/g/n等。
    (3)CSMA/CD通过电缆中的电压变化来检测;而CSMA/CA采用能量检测、载波检测和能量载波混合检测三种检测信道空闲的方式。

6.令牌传递协议

    通过一个集中控制的监控站,以循环方式轮询每个结点,再决定信道的分配令牌在固定次序中转圈,拿到令牌的结点就可以发送数据,而不会产生冲突。适用于负载很高的广播信道。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值