计算机通信与网络ComputerTelecommunications&Networks第3章数据链路层内容纲要数据链路层的基本概念流量控制和差错控制点对点信道的数据链路层多路访问信道的数据链路层内容纲要数据链路层的基本概念流量控制和差错控制点对点信道的数据链路层多路访问信道的数据链路层3.1数据链路层的基本概念数据链路层在物理连接提供的比特流传输服务基础上,构成透明的、相对无差错的数据链路,实现可靠、有效的数据传送。数据链路层协议负责在物理网络与计算机的协议组之间提供一个接口。数据电路数据链路数据电路:在传输信道两端加上信号变换设备(如Modem)之后所形成的二进制比特流通路。即数据电路由传输信道加DCE组成。数据链路:在数据电路建立的基础上,在链路协议控制下,使通信双方正确传输数据的终端设备与传输线路的组合体。3.1数据链路层的基本概念电话网ModemModem数据链路与数据电路•数据电路又可称为物理链路或链路•数据链路又称为逻辑链路数据链路是在数据电路上增加传输控制功能实现的。只有建立了数据链路,才能真正地实现数据通信。3.1数据链路层的基本概念数据链路的基本结构(线路拓扑)•点到点链路•多点链路数据链路层的传送方式:•单工通信•半双工通信(HalfDuplex)•全双工通信(FullDuplex)3.1数据链路层的基本概念在链路中,所连接的节点称为“站”。发送命令或信息的站称为“主站”,在通信过程中一般起控制作用;接收数据或命令并做出响应的站称为“从站”,在通信过程中处于受控地位。同时具有主站和从站功能的,能够发出命令和响应信息的站称为复合站。3.1数据链路层的基本概念3.1数据链路层的基本概念DTEDTEDTEDTEDTEDTE点到点链路星型点到点链路在点到点链路中,两端的站可能是主站、从站或复合站。链路可以是不平衡的,或平衡结构。3.1数据链路层的基本概念DTEDTEDTEDTEDTEDTEDTE……主从式点到多点链路对等式点到多点链路在主从式点到多点链路中,常常是不平衡的;在对等式点到多点链路中,常使用平衡型链路。数据链路层的目标:在数据链路上提供可靠的信息传输数据链路层的功能:•链路管理•帧同步(帧定界)•流量控制•数据和控制信息的识别•差错控制•透明传输•寻址3.1数据链路层的基本概念数据链路层的协议数据服务单元PDU,即传输和处理的数据单位:帧。物理层的任务是实现比特流的传送,但不能保证没有错误,需要数据链路层进行差错检测和纠正。为了便于实现流量控制和差错控制,数据链路层将比特流分解成离散的帧,独立地计算校验和,发送和接收。3.1数据链路层的基本概念数据链路层帧的结构,包括需要传输的数据、相应的控制信息、校验信息、帧之间的分隔标志等。帧的形成方法:•字符计数法•含字节填充的分界符法•含位填充的分界标志法•物理层编码违例法3.1数据链路层的基本概念内容纲要数据链路层的基本概念流量控制和差错控制点对点信道的数据链路层多路访问信道的数据链路层•在数据通信中,要求发送方的发送数据速率必须不能超过接收方的接收和处理数据的速率。•当接收方来不及接收和处理数据时,就必须采取相应的措施来控制发送方发送数据的速率。•一般流量控制是由接收方主动控制实现的。3.2流量控制和差错控制1、完全理想化的数据传输3.2流量控制和差错控制数据链路层主机A缓存主机B数据链路AP2AP1缓存发送方接收方帧高层帧完全理想化的数据传输所基于的两个假定:•假定1:链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。•假定2:不管发送方以多快的速率发送数据,接收方总是来得及收下,并及时上交主机。1、完全理想化的数据传输3.2流量控制和差错控制3.2流量控制和差错控制流量控制的目的:•现代数据通信的交换方式,采用了存储转发的分组交换技术,当接收方的处理能力小于发送方的发送量时,必须采用流量控制。处理单元没有缓冲空间了!后面分组丢弃2、最简单流量控制的数据链路层协议保留上述的第一个假定,即主机A向主机B传输数据的信道仍然是无差错的理想信道。但现在不能保证接收端向主机交付数据的速率永远不低于发送端发送数据的速率,需要流量控制。由收方控制发方的数据流,是计算机网络中流量控制的一个基本方法。3.2流量控制和差错控制2、最简单流量控制的数据链路层协议•开关式流量控制:XON/XOFF,硬件•协议式流量控制:ARQ自动重发请求•停止等待协议(Stop-and-WaitProtocol)•滑动窗口协议(SlideWindowProtocol)(1)连续ARQ协议(2)选择ARQ协议3.2流量控制和差错控制流量控制方法(1)从主机取一个数据帧;(2)将数据帧送到数据链路层的发送缓存;(3)将发送缓存中的数据帧发送出去;(4)等待;(5)若收到由接收结点发过来的确认应答信息,则从主机取一个新的数据帧,然后转到(2)。3.2流量控制和差错控制2、最简单流量控制的数据链路层协议在发送结点(1)等待;(2)若收到由发送结点发过来的数据帧,则将其放入数据链路层的接收缓存;(3)将接收缓存中的数据帧上交主机;(4)向发送结点发送一个确认信息,表示数据帧已经上交给主机;(5)转到(1)。3.2流量控制和差错控制2、最简单流量控制的数据链路层协议在接收结点3.2流量控制和差错控制2、最简单流量控制的数据链路层协议两种情况的对比(传输均无差错)AB送主机B送主机B送主机B送主机BAB送主机B送主机B时间不需要流量控制需要流量控制在实际的数据传输过程中,由于传输信道特性的不理想和外界干扰的存在,出现传输差错是不可避免的。传输差错导致接收的数据帧错误,接收方要求发送方重发数据帧。严重的传输差错还导致数据帧或应答帧丢失,使发送操作不能继续进行,或接收方重复接收数据。3.2流量控制和差错控制3、实用的停止等待协议3.2流量控制和差错控制3、实用的停止等待协议时间AB送主机送主机(a)正常情况AB送主机(c)数据帧丢失重传tout丢失!AB送主机丢弃(d)确认帧丢失重传tout丢失!AB送主机(b)数据帧出错重传出错结点A发送完一个数据帧时,就启动一个超时计时器。此计时器又称为定时器。若到了超时计时器所设置的重传时间tout而仍收不到结点B的任何确认帧,则结点A就重传前面所发送的这一数据帧。一般可将重传时间选为略大于“从发完数据帧到收到确认帧所需的平均时间”。重传若干次后仍不能成功,则报告差错。3、实用的停止等待协议超时重发技术3.2流量控制和差错控制如果是接收方的应答帧丢失,会导致发送方重复发送,出现重复帧。每个数据帧带上不同的发送序号。每发送一个新的数据帧就把它的发送序号加1。若结点B收到发送序号相同的数据帧,就表明出现了重复帧。这时应丢弃重复帧,因为已经收到过同样的数据帧。但此时结点B还必须向A发送确认帧ACK,以保证协议正常执行。3、实用的停止等待协议重复帧问题3.2流量控制和差错控制任何一个编号系统的序号所占用的比特数一定是有限的。因此,经过一段时间后,发送序号就会重复。序号占用的比特数越少,数据传输的额外开销就越小。对于停止等待协议,由于每发送一个数据帧就停止等待应答,因此用一个比特来编号就够了。3、实用的停止等待协议帧的编号问题3.2流量控制和差错控制一个比特可表示0和1两种不同的序号。数据帧中的发送序号N(S)以0和1交替的方式出现在数据帧中。每发一个新的数据帧,发送序号就和上次发送的不一样。用这样的方法就可以使收方能够区分开新的数据帧和重传的数据帧了。3、实用的停止等待协议帧的发送序号3.2流量控制和差错控制由于发送端口或传输信道的速率限制,发送一帧需要一定的时间:“发送时延”。接收一帧的时间和发送一帧的时间相同。发送应答帧,也有“发送时延”。由于电磁波传输速率的存在,帧在信道中的传送,具有“传播时延”。接收方收到帧后,差错检验、转交处理,发送方收到应答后,准备发送下一帧,都需要“处理时延”。3.2流量控制和差错控制3、实用的停止等待协议性能分析ABt0t1t6t7t2t3t4t5DataframeACKframetL3.2流量控制和差错控制3、实用的停止等待协议性能分析tP=t2–t0=t3–t1=L/v传播时延tF=t1–t0=t3-t2=F/C发送时延tA=t5–t4=A/C应答帧发送时延tproc=t4-t3处理时延L节点A与B之间的距离v信号传播速率(3×108m/s)F数据帧长度=H+D(帧头+数据)A应答帧长度C数据发送速率bits/s3.2流量控制和差错控制3、实用的停止等待协议性能分析正常情况信道利用率U=tD/(tF+tA+2tP+2tproc)tD=D/C,tF=F/C,tA=A/CU=D/(F+A+2C(tP+tproc))不考虑处理时延和传播时延,及应答帧的开销,则U仅与帧结构相关;当传播时延较大时,信道利用率很低。3.2流量控制和差错控制3、实用的停止等待协议性能分析非正常情况忽略应答时延和处理时延,则重传时间为tout=2tP则成功发送一帧的间隔为tT=tF+2tP考虑传输可能出现差错的情况,则正确传送一个数据帧的平均时间为tav=tT(1+1个帧的平均传送次数)3.2流量控制和差错控制3、实用的停止等待协议性能分析简化分析过程,得有传输差错影响时,信道利用率为D1U0=*(1-P)*D+H1+CT/(H+D)以上公式说明,信道利用率与控制信息长度、信道误码率、控制开销有关。3.2流量控制和差错控制3、实用的停止等待协议性能分析例1信道速率为8kb/s,采用停止等待协议,传播时延tp为20ms,确认帧长度和处理时间均可忽略,问帧长为多少才能使信道利用率达到至少50%?解:设帧长为Lbit,则ts=Lbit/8Kbps,tp=20ms。信道利用率=ts/(ts+2tp)≥50%当ts40ms不等式成立,故帧长L应大于等于320bit。3.2流量控制和差错控制3、实用的停止等待协议性能分析例2在卫星通信系统中,两个地面卫星通信站之间利用卫星的转发技术进行通信,信号从一个地面站经卫星传到另一个地面站,若设其传播时延为250ms,发送一个数据帧的时间为20ms(相当于帧长1000比特,速率为50Kb/s),试分析此系统的信道利用率。注:由于卫星距离地面较远,电磁波需要较长时间才能从一个地面站传播到另一个。3.2流量控制和差错控制3、实用的停止等待协议性能分析解:信号从一个地面站经卫星传到另一个地面站,其传播时延为250ms,发送一个数据帧的时间为20ms,则从发送站开始发送到数据帧被目的站接收,一共需要时间20ms+250ms=270ms不考虑目的站对接收到的数据帧的处理时间和应答帧的发送时间(可以认为应答帧非常短),则应答帧也需要经过250ms才能被发送站接收到。从发送一帧开始,到收到应答所需要的时间为:270ms+250ms=520ms则此系统的信道利用率为:20ms/520ms=1/26≈4%3.2流量控制和差错控制3、实用的停止等待协议性能分析优点:比较简单。缺点:通信信道的利用率不高,信道还远远没有被所传输的数据比特填满。虽然物理层在传输比特时会出现差错,但由于数据链路层的停止等待协议采用了有效的检错重传机制,数据链路层对上面的网络层可以提供可靠传输服务。停止等待协议的优缺点3.2流量控制和差错控制3、实用的停止等待协议为了克服停止等待协议信道利用率低的问题,可以采用滑动窗口控制方法。当发送完一个数据帧后,不是停下来等待确认帧,而是继续发送若干数据帧。由于在等待确认时可以继续发送数据,减少了信道空闲时间,因而提高了整个通信过程的吞吐量。3.2流量控制和差错控制4、滑动窗口流量控制方法“滑动窗口”机制是实现数据帧传输控制的逻辑过程,它要求发送节点设置发送存储单元,用于保存已发送但尚未被确认的帧,这些帧对应着一张连续序号列表,即发送窗口。接收节点则有一张接收序号列表及相应的缓冲区,即接收窗