




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章 数据链路层,本章内容 本层的主要功能 数据帧 差错控制 流量控制 基本数据链路层协议 Internet的点对点协议,4.1数据链路层的基本概念,基本概念 链路(link):一条无源的点到点的物理线路段,中间没有任何其他的交换结点。是一条物理链路。 数据链路(data link):当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输,若把实现这些协议的硬件和软件加到链路上,就构成了数据链路 数据链路层最重要的作用是:通过一些数据链路层协议(即链路控制规程),在不太可靠的物理链路上实现可靠的数据传输。,数据链路层的功能(1),为网络层提供服务 传输差错处理 流量控制,数据链路层的功能(2),数据链路层的基本功能: 链路管理 数据链路的建立、维持和释放 帧定界(帧同步) 帧定界是指收方能从收到的比特流中准确地区分出一帧的开始和结束 流量控制 发方发送数据的速率必须使收方来得及接收。 差错控制 前向纠错:收方收到有差错的数据帧时,能自动将差错改正过来。 差错检测:收方检测出收到的帧有差错(但并不知是哪几个比特错了)时,就立即将它丢弃,但有两种选择:一种方法不进行任何处理(要处理也是由高层进行),另一种方法则是由数据链路层负责重传丢弃的帧。 将数据和控制信息区分开 透明传输 寻址 必须保证每一帧都能送到正确的目的站。,(a) Virtual communication. (b) Actual communication.,Services Provided to Network Layer,数据链路协议的位置,Placement of the data link protocol.,成帧,A character stream. (a) Without errors. (b) With one error.,成帧,成帧,Bit stuffing (a) The original data. (b) The data as they appear on the line. (c) The data as they are stored in receivers memory after destuffing.,4.2 基本数据链路层协议,完全理想化的数据传输,在这样理想化的条件下,数据的传输就非常简单(不需要有流量控制,也不需要有差错控制)。,具有最简单流量控制的数据链路层协议 若传输数据的信道仍是无差错的理想信道,但不能保证接收端向主机交付数据的速率永远不低于发送端发送数据的速率。,实用的停止等待协议 对于实际传输数据的信道是不能保证所传的数据不产生差错,且还需要对数据的发送端进行流量控制。 不出差错时,接收方将收到的正确帧交付给主机,同时向发方发一个确认帧ACK(ACKnowledgement)。发方主机收到ACK后才能发送一个新的数据帧。 传输过程中出现差错:,(1)数据帧出错:ACK,NAK (2)数据帧丢失:超时计时器Time-outer (3)确认帧丢失:重复帧、编号,发送序号编号问题:对发送的数据帧带上发送序号,序号所占用的比特数的有限的。经过一段时间后,发送序号就会重复。序号所占用的比特数越少,额外开销就越小。 对停止等待协议,每发送一帧就停止等待,故用一个比特来编号就够了。 虽然物理层在传输比特时会出现差错,但由于数据链路层的停止等待协议采用了有效的检错重传机制,数据链路层对上面的网络层就提供了可靠传输的服务。,停止等待协议中的几个重要时间关系,在半双工通信模型中结点A向结点B发送数据帧。结点B只发送确认帧而不发否认帧和数据帧。 设tf 是一个数据帧的发送时间,且帧的长度是固定不变。则数据帧的发送时间tf 是数据帧的长度lf(bit) 与数据发送速率C(bit)之比。 tf = lf / C (s) 数据帧沿链路传到结点B还要经历一个传播时延tp ,它是信号(电磁波)在物理链路上传播所造成的时延。 结点B收到数据帧要花费时间进行处理,即处理时间tpr 。 结点B接着发送确认帧ACK,其发送时间为t,设信道的双向传播时延都是一样的,当结点A收到确认帧时,确认帧也经历了tp 和tpr 。 从一个数据帧从结点A发出到结点A收到结点B的确认帧,(即两个成功发送的数据帧之间的最小时间间隔)tT= tf +tp+ tpr+ t + tp+ tpr 设重传时间(作用是:数据帧发送完毕后若经过了这样长的时间还没有收到确认帧,就重传这个数据帧):tout=tp+ tpr+ t+ tp+ tpr 设上式右端的处理时间tpr和确认帧的发送时间t都远小于传播时延tp ,就可简单地将重传时间取为两倍的传播时延, tout=2tp。 两个发送成功的数据帧之间的最小时间间隔tT= tf + tout 如遇发生差错,则须再重传已发送过的数据帧,直到对方成功收到为止。成功发送一个数据帧所需的时间显然要超过tT。,停止等待协议ARQ的优点:比较简单;缺点:信道利用率不高。尤其当信道引起的传播时延很大时(如卫星通信),也就是说信道还远远没有被数据比特填满。 为克服这一缺点,产生了另外两种协议:连续ARQ和选择重传ARQ。,4.3 连续ARQ协议,连续ARQ协议的工作原理 工作原理的要点:在发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再发送若干个数据帧。如果这时收到了接收端发来的确认帧,那么还可以接着发送数据帧。由于减少了等待时间,整个通信的吞吐量就提高了。,结点A向结点B每发送完一数据帧不是停止等待而是继续发后续帧,且每发完一帧就为该帧设置超时计时器。结点B回送的确认帧不仅要说明是对哪一帧进行确认或否认,而且确认帧本身必须编号。ACK n表示对(n-1)号帧的确认。即已收到了第(n-1)号帧,下次期望收到第n号帧。,几点注意: (1)结点B 运行的协议是在出现差错时不做任何响应,然后就等待发送端超时重传。(另一种是在出现差错时就向结点A发送否认帧,以便使发送端及早重传出错的帧。) (2)接收端只按序接收数据帧。 (3)ACK1表示确认0号帧DATA0,并期望下次收到1号帧,依此类推。 (4)结点A在每发送完一个数据帧时都要设置该帧的超时计时器。如果在所设的超时时间tout内收到确认帧,就立即将超时计时器清零。若在所设置的超时时间tout到了而仍未收到确认帧,就要重传相应的数据帧(仍需重新设置超时计时器)。 连续ARQ又称为Go-back-N ARQ,意思是当出现差错必须重传时,要向回走N个帧,然后再开始重传。 连续ARQ协议因连续发送数据帧而提高了信道的利用率,但在重传时又必须把原来己传送正确的数据帧进行重传(仅因这些数据帧的前面有一个数据帧出了错),这种做法又使传送效率降低。由此可见,若传输信道的传输质量很差因而误码率较大时,连续ARQ协议不一定优于停止等待协议。,在连续ARQ议中,应当将已发送出去但未被确认的数据帧的数目加以限制。因为: (1)当未被确认的数据帧数目太多时,只要有一帧出了差错,就可能有很多的数据帧需要重传,这必然就白白花费较多的时间,增大开销。 (2)为了对所发送的大量数据帧进行编号,每个数据帧的发送序号也要占用较多的比特数,这样又增加了一些不必要开销。,滑动窗口的概念,滑动窗口 在连续ARQ协议中采用与停止等待协议同样原理的循环重复使用已收到确认的那些帧的序号。在控制信息中用有限几个比特来编号,加入适当的控制机制,来限制已发送出去但未被确认的数据帧的数目。在发送端和接收端分别设定所谓发送窗口和接收窗口。 发送窗口用来对发送端进行流量控制,而发送窗口的大小WT代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。,滑动窗口的概念,例:设发送序号用3比特编码,即可有07个不同的序号。发送窗口WT =5,表示在未收到对方确认信息的情况下,发送端最多可以发送出5个数据帧。 发送窗口的规则可如图表示。(P80) 为了减少开销,连续ARQ协议还规定接收端不一定每收到一个正确的数据帧就必须立即发回一个确认帧,而是可以在连续收到若干个正确的数据帧以后,才对最后一个数据帧发确认信息,或者可以在当自己有数据要发送时才将对以前正确收到的帧加以捎带确认。,对某一数据帧的确认就表明该数据帧和这以前所有的数据帧均己正确无误地收到了。 在接收端设置接收窗口用来控制可接收哪些数据帧而不可接收哪些帧。在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。若接收到的数据帧落在接收窗口之外,则一律将其丢弃。 下图中,接收窗口的大小WR =1。 只有在接收窗口向前滑动时(与此同时也发送了确认,发送窗口才有可能向前滑动。发送端若没有收到该确认,发送窗口就不能滑动。,当数据帧的发送序号所占用的比特数一定时,发送窗口的最大值是多少? 例:设用3比特对数据帧序号编号,发送窗口最大值为8,即WT =8,发送窗口已满,发送暂停。且8个数据帧已正确到达接收端,并对每一个数据帧接收端都发送出确认帧: (1)所有的确认帧都正确到达了发送端,故发送端又发送8个新的数据帧,其编号是07。注意:序号是循环使用的,8个帧都是新的帧。 (2)所有的确认帧都丢失了。经过超时计时器控制的时间后,发送端重传这8个旧的数据帧,其编号仍为07。 问题已经十分明显了。接收端第二次收到编号为07的8个数据帧时,无法判定:这是8个新的数据帧,或这是8个旧的、重传的数据帧。 将发送窗口设置为8显然是不行的。 当用n个比特进行编号时,若接收窗口的大小为1,则只有在发送窗口的大小WT2n -1时,连续ARQ协议才能正确运行。,连续ARQ协议所有已发送出去的但尚未被确认的数据帧都必须保存在发送端的缓存中,以便在出差错时进行重传。这种对已发送的数据帧的保存,是使用一个先进先出的队列。发送端每发完一个新的数据帧就将该帧存入这个队列。当队列长度达到发送窗口大小WT时,即停止再发送新的数据帧。 当按照协议进行重传(重传1帧或多帧)时,队列并不发生变化。只有当收到对应于队首的帧的确认时,才将队首的数据帧清除。若队列变空,则表明全部已发出的数据帧均已得到了确认。,4.4 面向比特的链路控制规程HDLC,IBM公司在SNA的数据链路层规程采用了面向比特的规程SDLC(Synchronous Data Link Control),ISO将其修改后称为HDLC(High-level Data Link Control), CCITT将HDLC修改后称为LAP(Link Access Proce- dure),后LAP又被修改为LAPB(B-Balanced)。 HDLC可适用于链路的两种基本配置:非平衡配置与平衡配置,HDLC的帧结构,数据链路层要解决帧同步的问题。帧同步就是从收到的比特流中正确地判断出一个帧从哪个比特开始以及到哪个比特结束。 各字段的意义: 标志字段F(F1ag)8bit: 01111110作为一个帧的边界(帧的开头和结尾)。 地址字段A,8bit: 帧检验序列字段FCS,16bit:采用的生成多项式是CRC-CCITT。所检验的范围是从地址字段的第1个比特起,到信息字段的最末1个比特为止。,控制字段C,8bit: HDLC的许多重要功能都靠控制字段来实现。分为三大类,即信息帧(Information)、监督帧(Supervisory)和无编号帧(Unnumbered)。 信息帧:C的第1比特为0,24比特为发送序号N(S),表示当前发送的信息帧的序号;68比特为接收序号N (R) ,表示本站所期望收到的帧的发送序号。5比特是探询终止(Poll / Final) 监督帧:控制字段的第12比特为10,则对应的帧即为监督帧S,共四种。由34比特的取值决定。(P87) 所有的监督帧都不包含要传送的数据信息,因此它只有48bit。监督帧不需要有发送序号N(S)。但监督帧中的接收序号N(R)却是至关重要的。 无编号帧:控制字段的第12比特为11。无编号帧本身不带编号即无N(S)和N(R)字段。而是用5bit来表示不同功能的无编号帧。无编号帧主要起控制作用,可在需要时随时发出。,4.6 Internet的点对点协议PPP,用户接入Internet一般有两种方法:使用拨号电话线接入; 使用专线接入。不管用哪种方法,在传送数据时都需要有数据链路层协议。 Point-to-point Protocol是目前全球使用得最多的数据链路层协议。,PPP协议的三个组成部分:,一种成帧的方法。可分割出一帧的结束和下一帧的开始,并支持错误检测。 将IP数据报封装到串行链路的方法。PPP既支持异步链路(无奇偶检验的8比特数据),也支持面向比特的同步链路。IP数据报在PPP帧中就是其信息部分。这个信息部分的长度受最大接收单元MRU (Maximum Receive Unit)的限制。MRU的默认值是1500字节。 一个链路控制协议LCP (Link Control Protocol) 。用来建立、配置和测试数据链路连接的,通信的双方可协商一些选项,以及当线路不再需要时关闭线路。 一套网络控制协议NCP (Network Control protocol),其中的每一个协议支持不同的网络层协议,如IP,OSI的网络层,DECnet,以及AppleTalk等。,PPP协议的帧格式,PPP的帧格式和HDLC的相似,前3个字段和最后两个字段和HDLC的格式是一样的。 PPP不是面向比特而是面向字节的, 所有的PPP帧的长度都是整数个字节。 首部:标志字段F:7E的二进制表示是01111110。地址字段A:只置为FF(即11111111),表示所有的站都接收这个帧。PPP只用于点对点链路,地址字段实际上并不起作用。控制字段C:通常置为03(即000000100,这表示PPP帧不使用编号。,PPP有一个2个字节的协议字段。当协议字段为Ox0021, PPP帧的信息字段是IP数据报;为OxC021,则信息字段是PPP链路控制数据,为Ox8021表示这是网络控制数据。 信息字段:不超过1500字节。 当出现和标志字段一样的比特组合时, 当PPP用在同步传输链路时采用硬件来完成比特填充(与HDLC一样); 当用在异步传输时,使用一种特殊的字符填充法,如信息字段出现7E字节,则变成7D,5E两字节序列,出现7D,变为7D,5D等。 帧检验序列FCS字段:对每一个收到的帧都要使用硬件进行CRC检验。若发现有差错,则丢弃该帧。,PPP不提供使用序号和确认的可靠传输(帧“无差错”、“不丢失”和“不重复” ),是因为: (1)若使用能够实现可靠传输的数据链路层协议(如HDL C ) , 开销就要增大。在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理。 (2)在Internet环境下,PPP的信息字段放入的数据是IP数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。 (3)对每一个收到的帧,PPP都要使用硬件进行CRC检验。若发现有差错,则丢弃该帧(一定不能把有差错的帧交付给上一层)。PPP协议可保证无差错接受。 在噪声较大的环境下,如无线网络,则应使用有编号的工作方式, 提供可靠传输服务。,PPP协议的工作状态,当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。 PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)。这些分组及其响应选择了将要使用的一些PPP参数。 接着就进行网络层配置, NCP(network control protocol)给新接入的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第一章声现象 单元试卷(含解析)2025-2026学年苏科版(2024)物理八年级上册
- 考研真题历年题库及答案
- 红磷燃烧的题目及答案
- 2025年汽车自动采样设备项目建议书
- 扶贫知识培训内容课件
- 羧酸衍生物2讲解
- 压力式温度计行业员工职业发展规划与管理
- 2025年播音主持证考试真题及答案
- 2025年会计考试题基础题及答案
- 2025年焊工车间考试题目及答案
- 课件:《中华民族共同体概论》第一讲 中华民族共同体基础理论
- 子宫颈机能不全临床诊治中国专家共识(2024年版)解读
- 信息技术-开学第一课(共17张课件)
- 新行政诉讼法课件讲座
- 实际投资额审计报告模板
- 湖南省衡阳市2022-2023学年六年级下册数学期末测试试卷(含答案)
- 高中定语从句100题(含答案)
- 事业单位工作人员调动申报表
- 农村干部任期经济责任审计所需资料
- 商场超市火灾防范措施
- PVC地板卷材施工方案
评论
0/150
提交评论