数据链路层--计算机网络

数据链路层

1.数据链路层的功能

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

1.为网络层提供服务

对网络层而言,数据链路层的基本任务是将源机器中来自网络层的数据传输到目标机器的网络层。数据链路层通常可为网络层提供的服务有:

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

     注意:有连接就一定要有确认,即不存在无确认的面向连接的服务。
    

2.链路管理

数据链路层连接的建立,维持和释放过程就称作链路管理 。主要用于面向连接的服务。在多个站点共享同一物理信道的情况下(如局域网中)如何在要求通信的站点间分配和管理信道也属于数据链路层管理的范畴。

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

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

4.流量控制

流量控制实际上就是限制发送方的数据流量,使其发送速率不致超过接收方的接受能力。
流量控制并不是数据链路层所特有的功能,许多高层协议中也必须提供此功能,只不过控制的对象不同而已。对于数据链路层来说,控制的是相邻两结点之间数据链路上的流量,而对于运输层来说,控制的是从源端到目的端之间的流量。

5.差错控制

差错控制指的是用以使发送方确定接收方是否正确收到了由它放的数据的方法。通常,错误可分为位错和帧错。
位错指帧中某些位出现了差错。通常采用循环冗余校验(CRC)方式发现位错,通过自动重传请求(ARQ)方式来重传出错的帧。具体做法:让发送方将要发送的数据帧附加一定的CRC冗余检错码一并发送,接收方则根据检错码对数据帧进行错误检测,若发现错误,则丢弃,发送方超时重传该数据帧。这种差错控制方法就称为ARQ法。ARQ法返回很少的控制信息,便可有效地确认所发数据帧是否被正确接收。
帧错是指帧的丢失、重复或失序等错误。在数据链路层引入定时器和编号机制,可以保证每一帧最终都能有且仅有一次正确地交付给目的结点。


2.组帧

数据链路层之所以要把比特组合成帧为单位传输,是为了在出错时只重发出错的帧,而不必重发全部数据,从而提高了效率。为了使接收方能正确地接收并检查所传输的帧,发送方必须依据一定的规则把网络层递交的分组封装成帧(组帧)。组帧主要解决帧定界、帧同步、透明传输等问题。组帧的实现方法包括四种:字符计数法;字符填充的首位定界符法;比特填充的首尾标志法;违规编码法。


3.差错控制

传输中的差错都是由于噪声引起的。噪声有两大类:一类是信道所固有的、持续存在的随机热噪声;另一类是由于外界特定的短暂原因所造成的冲击噪声。前者可以通过提高信噪比来减少或避免干扰,而后者不可能靠提高信号幅度来避免干扰造成的差错,是产生差错的重要原因。
通常利用编码技术进行差错控制,主要有两类,自动重传请求(ARQ)和前向纠错(FEC)。在ARQ方式中,接收端检测出差错时,就设法通知发送端重发,知道接收到正确的码字为止。在FEC中,接收端不但能发现差错,还能确定二进制数码的错误位置,并加以纠正。因此差错控制又可分为检错编码纠错编码

  1. 检错编码:都是采用冗余编码技术。核心思想是在有效数据被发送前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使得码字遵从不变的原则。接收端根据收到码字是否符合原规则,从而判断是否出错。常见的检错编码有:奇偶校验码;循环冗余码(CRC)–发送出去的就是m+r位,利用帧检验序列(FCS)进行得到,r是余数。
  2. 纠错编码:最常用的是海明码,它能发现双比特错,但只能纠正单比特错。

4.流量控制与可靠传输机制

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

流量控制及对链路上的帧的发送速率的控制,以使接收方有足够的缓冲空间来接收每一个帧。流量控制的基本方法是由接收方控制发送方发送数据的速率,常见的方式有两种:停止等待协议和滑动窗口协议。

1.停止-等待协议:发送方没发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧,如果接收方不反馈应答信号,则接收方必须要一直等待。每次只允许发送一帧,然后就陷入等待接收方确认信息的过程中,因而传输效率很低。
2.滑动窗口协议:在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口;同时接收方也维持一组连续的允许接收帧的序号,称为接收窗口。
从滑动窗口的概念来看,停止-等待协议、后退N帧协议和选择重传协议只在发送窗口大小和接收窗口大小有所差别。停止-等待协议:发送窗口=1,接收窗口=1;后退N帧协议:发送窗口>1,接收窗口=1;选择重传协议:发送窗口>1,接收窗口>1.
当接收窗口大小为1,可保证帧的有序接收。
3.可靠传输机制:数据链路层的可靠传输通常使用确认和超时重传。确认是一种无数据控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收。有些情况下为了提高传输效率,将确认捎带在一个回复帧中,成为捎带确认。超时重传是指发送方在发送某一数据帧以后就开启一个计时器,在一定时间内如果没有得到发送的数据帧的确认帧,那么就重新发送该数据帧,知道成功为止。自动重传请求通过接收方请求发送方重传出错的数据帧来回复出错的帧。传统的自动重传请求分为:即停等式ARQ、后退N帧ARQ以及选择性重传ARQ。后两种是滑动窗口技术与请求重发技术结合。

4.2单帧滑动窗口与停止-等待协议

在停止等待协议中,除了数据帧丢失,还可能出现以下两种差错
1.到达目的站的帧可能遭到破坏,接收站利用差错检测技术检出后,丢弃该帧,源站装备了计时器,若超时仍未收到确认,则再发送相同的帧。
2.数据帧正确而确认帧被破坏。为了避免这样的问题,发送的帧交替地用0和1来标识,肯定确认则分别用ACK0和ACK1标识,当收到的确认有误时,重传已发送的帧。

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

在后退N帧ARQ中,发送方不需要再收到上一帧的ACK后才能开始发送下一帧,而是可以连续发送帧。当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了N个帧后,若发现该N个帧的前一个帧在计时器超时后仍未返回其确认的信息,则该帧被判为出错或丢失,此时发送方就不得不又重传该出错帧及随后的N个帧。也就是说接收方只允许按顺序接收帧。

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

为进一步提高信道的利用率,可设法只重传出现差错的数据帧或者是计时器超时的数据帧。但此时必须加大接收窗口,以便接收下发送序号不连续但仍处在接收窗口中的哪些数据帧,等到所缺序号的数据帧收到后再一并送交主机。


5.介质访问控制

介质访问控制所要完成的主要任务是为使用介质的每个结点隔离来自同意新到上其他结点所传送的信号,以协调活动结点的传输。用来决定广播信道中信道分配的协议属于数据链路层的一个子层,称为介质访问控制层(MAC)子层。

5.1信道划分介质访问控制

信道划分介质访问控制将使用介质的每个设备与来自同一通信信道上的其他设备的通信隔离开来,把时域和频域资源合理地分配给网络上的设备。信道划分介质访问控制分为4种:1.频分多路复用(FDM)2.时分多路复用(TDM)3.波分多路复用(WDM)4码分多路复用(CDM)

5.2随机访问介质访问控制

在随机访问协议中,不采用集中控制方式解决发送信息的次序问题,所有用户可以根据自己的意愿随机地发送信息,占用信道全部速率。为了解决随机接入发生的碰撞,每个用户需按照一定的规则反复地重传它的帧,直到该帧无碰撞地通过。这些规则就是随机访问介质访问控制协议,常用的协议有:ALOHA协议;CSMA协议;CSMA/CD协议;CSMA/CA协议等。它们的核心思想都是:胜利者通过争用获得信道,从而获得信息的发送权。

  1. ALOHA协议:当网络中的任何一个站点需要发送数据时,可以不进行任何检测就发送数据。如果在一段时间内没有收到确认,该站点就认为传输过程中发生了冲突。发送站点需要等待一段时间后在发送数据,直至发送成功。(原始协议),后来又有改进的叫时隙ALOHA协议:把各站在时间上都同步起来,并将时间划分我一段段等长的时隙,规定只能在每个时隙开始时才能发送一个帧,从而避免了用户发送数据的随意性,减少了产生冲突的可能性,提高了信道的利用率。
  2. CSMA协议:载波侦听多路访问:每个站点在发送前都先侦听一下共用的信道,发现信道空闲后再发送,将会大大减少冲突的可能,从而提高信道的利用率。1-坚持CSMA;非坚持CSMA;p-坚持CSMA。
  3. CSMA/CD协议:载波侦听多路访问/碰撞检测:先听后发(发送前先侦听),边听边发(碰撞检测,判断自己在发送数据时其他站点是否也在发送数据),冲突停发,随机重发(采用截断二进制指数退避算法来等待一段时间)。只能进行半双工通信。为了确保发送站在发送数据的同时能检测到可能存在的冲突,需要在发送完帧之前就能收到自己发送出去的数据,即帧的传输时延至少要两倍于信号在总线中的传播时延。最小帧长 = 总线传播时延*数据传输速率*2。二进制退避算法可使重传需要推迟的平均时间随重传次数的增大而增大,因而减小发生碰撞的概率,有利于整个系统的稳定。应用到有线局域网。
  4. CSMA/CA协议:应用到无线局域网,对CSMA/CD进行修改,把碰撞检测改成碰撞避免,并不是指协议可以完全避免碰撞,而是指协议的设计要尽量减少碰撞发生的概率。采用二进制指数退避算法。CSMA/CA还是用愉悦信道、ACK帧、RTS/CTS帧等三种机制来实现碰撞避免。

     二进制退避算法:1.确定基本退避时间,一般取两倍的总线端到端传播时延2T(争用期)。2.定义参数k,k等于重传次数,但k不超过10,k = min【重传次数,10】。3.从离散的整数集合【0,1,...,2**k-1】中随机去除一个数r,重传所需要退避的时间将是r倍的基本退避时间,即2rT。4.当重传达16次仍不成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。
     CSMA/CD与CSMA/CA主要区别如下:1.前者可以检测冲突,但无法避免;CSMA/CA发送包的同时不能检测到信道上有无冲突,本结点处没有冲突并不意味着在接收结点处就没有冲突,只能尽量避免。2.传输介质不同。CSMA/CD用于总线式以太网,而CSMA/CA则用于无线局域网。3.检测方式不同。前者通过电缆中电压变化来检测;而后者采用能量检测、载波检测和能量载波混合检测三种检测信道空闲的方式。4.在本结点处有无冲突,并不一定意味着在接收结点(无)处就有冲突。
    

5.3轮询访问介质访问控制:令牌传递协议

在轮询访问中,用户不能随机地发送信息,而是通过一个集中控制的监控站,以循环的方式轮询每个节点,再决定信道的分配。典型的协议是令牌传递协议,主要使用在令牌环局域网中。


6.局域网

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

局域网是在一个较小的地理范围内将各种计算机、外部设备和数据库系统等通过双绞线、同轴电缆等连接介质互相连接起来,组成资源和信息共享的计算机互联设备。
局域网的特性主要由三个要素决定:拓扑结构、传输介质、介质访问控制方式。
IEEE802标准定义的局域网参考模型只对应于OSI参考模型的数据链路层和物理层,并将数据链路层拆分为两个子层:逻辑链路控制LLC子层和媒体接控制MAC子层。与接入到传输媒体有关的内容都放在MAC子层,它向上层屏蔽对物理层访问的各种差异,提供对物理层的统一访问接口,主要功能包括:组帧和拆卸帧,比特传输差错检测、透明传输。LLC子层与传输媒体无关,它向网络层提供无确认无连接、面向连接、带确认无连接、高速传送4种不同的连接服务类型。

6.2以太网与IEEE802.3

IEEE802.3标准是一种基带总线型的局域网标准,描述物理层和数据链路层的MAC子层的实现方法。以太网逻辑上采用总线型拓扑结构,以太网中所有计算机共享同一条总线,信息以广播方式发送。以太网采用两项措施简化通信:采用无连接的工作方式;部队发送的数据帧编号,也不要求接收方发送确认,即以太网尽最大努力交付数据,提供的是不可靠服务,对于差错的纠正由高层完成。

  1. 以太网的传输介质与网卡:粗缆、细缆、双绞线和光钎。网卡工作在物理层。
  2. 以太网的MAC帧
  3. 高速以太网:速率达到或超过100Mb/s的以太网。

6.3 IEEE802.11

IEEE802.11是无线局域网的一系列协议标准,包括802.11a和802.11b等,它们制定了MAC层协议,运行在多个物理层标准上。无线局域网可以分为两大类:第一类是有固定基础设施;第二类是无固定基础设施。

6.4 令牌环网的基本原理

令牌环网的每一站通过电缆与环接口干线耦合器TCP相连。TCP主要作用是:传递所有经过的帧,为接入站发送和接收数据提供接口。


7.广域网

7.1 广域网的基本概念

长距离网络,广域网由一些结点交换机(结点交换机在单个网络中转发分组,而路由器在多个网络构成的互联网中转发分组)以及连接这些交换机的链路组成。
这里写图片描述
PPP协议和HDLC协议是目前最常用的两种广域网数据链路层控制协议。

7.2 PPP

使用串行线路通信的面向字节的协议,该协议应用在直接连接两个结点的链路上。设计的目的主要是用来用过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共同的解决方案。
PPP有三个组成部分:1.链路控制协议LCP:一种扩展链路控制协议,用于简历、配置、测试和管理数据链路。2.网络控制协议NCP:PPP允许同时采用多种网络层协议,每个不同的网络层协议要用一个相应的NCP来配置,为网络层协议简历和配置逻辑连接。3.一个将IP数据报封装到串行链路的方法。IP数据报在PPP帧中就是其信息部分。
这里写图片描述

7.3 HDLC协议

高级数据链路协议是ISO制定的面向比特(PPP协议是面向字节的)的数据链路层协议。该协议不依赖于任何一种字符编码集;数据报文可透明传输,用于实现透明传输的0比特插入法易于硬件实现;全双工通信,有较高的数据链路传输速率;所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重发,传输可靠性高;传输控制功能与处理功能分离,具有较大灵活性。

 PPP帧和HDLC帧的格式相似,但两者有以下几个不同:
 1.PPP是面向字节的,HDLC面向比特
 2.PPP帧比HDLC帧多一个2字节的协议字段。当协议字段值为0x0021时,表示信息字段是IP数据报。
 3.PPP不适用序号和确认机制,只保证无差错接收(通过硬件进行CRC检验),而端到端差错检测由高层协议负责。HDLC协议的信息帧使用了编号和确认机制。

8.数据链路层设备

8.1 网桥的概念及其基本原理

两个或多个以太网通过网桥连接起来后,就成为一个覆盖范围更大的以太网,而原来的每个以太网就可称为一个网段。网桥工作在链路层的MAC子层,可以使以太网个网段成为隔离开的碰撞域。
网桥的基本特点:

 1.网桥必须具备寻址和路径选择能力,以确定帧的传输防线;
 2.从源网络接收帧,以目的网络的介质访问控制协议向目的网络转发该帧;
 3.网桥在不同或相同类型的LAN之间存储并转发帧,必要时还进行链路层上的协议转换;
 4.网桥对所接收到的帧不做任何修改,或只对帧的封装格式做很少的修改;
 5.网桥可以通过执行帧翻译互联不同类型的局域网,即把原协议的信息段的内容作为另一种协议的信息部分封装在帧中;
 6.网桥应有足够大的缓冲空间,因为在短时间内帧的到达速度可能高于转发速度。

网桥的优点:过滤通信量;扩大物理范围;可使用不同的物理层;可互联不同类型的局域网;提高可靠性,性能得到改善。
网桥的缺点:增加时延;MAC子层没有流量控制;不同MAC子层网段桥接需要帧的转换;网桥只适合于用户数不多和通信量不太大的局域网。
根据路径选择算法不同,可将网桥分为透明网桥(选择的不是最佳路由)和源路由网桥(选择的是最佳路由)。

8.2局域网交换机及其工作原理

1.局域网交换机:是一个多端口的网桥,工作在数据链路层。交换机能经济地将网络分成小的冲突域,为每个工作站提供更高的带宽。
2.原理:它检测从以太端口来的数据帧的源和目的地址的MAC地址,然后与系统内部的动态查找表进行比较,若数据帧的MAC地址不在查找表中,则将该地址加入到查找表中,并将数据帧发送给相应的目的端口。
3.特点:每个端口都直接与单个主机相连,一般都工作在全双工方式;能同时连通许多对的端口,使每一对相互通信的主机都能像独占通信媒体那样,无碰撞地传输数据;是一种即插即用设备,其内部的帧的转发表也是通过自学习算法自动地逐渐简历起来;交换速率高;独占传输媒体带宽。
4.两种交换模式:直通式和存储转发式。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值