数据链路控制_第1页
数据链路控制_第2页
数据链路控制_第3页
数据链路控制_第4页
数据链路控制_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据链路控制数据链路层的主要功能:

把可靠性较低的物理信道转变成可靠性较高的逻辑信道,完成物理寻址、网络拓扑结构、连接规则、差错控制、帧的有序传输和流量控制等功能。确保相邻结点间帧(Frame)的正确传送。协议要解决的问题:成帧和拆帧、检错和纠错、流量控制、信道分配(MAC介质访问控制子层)3.1

概述数据链路层使用的信道主要有以下两种类型:点对点信道。这种信道使用一对一的点对点通信方式。广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发3.2帧同步和透明传输数据链路层的简单模型相邻节点之间的通讯物理层之上,网络层之下。54321数据链路层应用层运输层网际层物理层ApplicationlayerTransportlayerInternetlayerDatalinklayerPhysicallayer数据链路层的简单模型局域网广域网主机

H1主机

H2路由器

R1路由器

R2路由器

R3网局域网主机

H1

H2

发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动局域网广域网主机

H1主机

H2路由器

R1路由器

R2路由器

R3网局域网主机

H1

H2

发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动数据链路层的简单模型(续)

链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分。数据链路(datalink)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。

使用点对点信道的数据链路层IP数据报1010……0110帧取出数据链路层网络层链路结点A结点B物理层数据链路层结点A结点B帧(a)(b)发送帧接收链路IP数据报1010……0110帧装入数据链路层传送的是帧常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。结点结点帧帧数据链路层像个数字管道(1)封装成帧(2)透明传输(3)差错控制链路层的三个基本问题1.封装成帧封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。首部和尾部的一个重要作用就是进行帧定界。

帧结束帧首部IP数据报帧的数据部分帧尾部MTU数据链路层的帧长开始发送帧开始用控制字符进行帧定界的方法举例SOH装在帧中的数据部分帧帧开始符帧结束符发送在前EOT2.透明传输SOHEOT出现了“EOT”被接收端当作无效帧而丢弃被接收端误认为是一个帧数据部分EOT完整的帧发送在前解决透明传输问题发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是1B)。字节填充(bytestuffing)或字符填充(characterstuffing)——接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。SOHSOHEOTSOHESCESCEOTESCSOHESCESCESCSOH原始数据EOTEOT经过字节填充后发送的数据字节填充字节填充字节填充字节填充发送在前帧开始符帧结束符用字节填充法解决透明传输的问题SOH误码率

ER(Pc)=错误的码数/总的码数纠错码(error-correctingcode)

检错码(error-detectingcode),反馈重发纠错。

3.3差错校验循环冗余校验CRC码(CyclicRedundancyCheck)

码多项式:

C(x)=Cn-1xn-1

+Cn-2xn-2

+…+C1x+

C0

由:信息码(k位):码多项式K(x),(k-1)次;校验码(r位):码多项式R(x),(r-1)次;可得:CRC码(n=k+r位),码多项式C(x):

C(x)=xrK(x)+R(x),(n-1)次。只要求得R(x)即可。3.3差错校验发方由已知的K(x)求R(x):R(x)=xrK(x)÷G(x)的r位余数除法用无借位减

G(x):给定的生成多项式(generatorpolynomial)《示例》收方校验:设xrK(x)除以G(x)的商为Q(x),则

xrK(x)=G(x)Q(x)+R(x)

C(x)=xrK(x)+R(x)=G(x)Q(x)+R(x)+R(x)

=G(x)Q(x)----整除3.3差错校验

由K(x)求R(x)示例信息位串:

生成多项式:

11001得到余数:

1010数据链路(datalink),

完全理想的数据链路:

(1)不管以何种速度传送出去的数据,目的端都无一丢弃的接收到。(2)理想的传输通道,数据没有任何差错传输到目的端。3.4

链路控制

当数据传输过程中出现发送方的传输能力大于接收方的接收能力就需要流量控制,来限制发送方发出的数据流量,使发送方的发送速率不要超过接收方的接收能力。流量控制(flowcontrol)基本思路:由收方控制发方的数据流量,反馈控制,双向通讯。流量控制是一个技术问题,见诸于通讯、数据存储、交通、生产流程等。实际情况1-缓冲区有限/处理速度有限

数据在传输的过程中,总会因为受外界干扰或者设计的bug从而导致数据出错,因此接收端收到的数据并非全部正确。差错表现:数据帧未到达目的端、数据帧未正确到达目的端。实际情况2-易错信道

实际情况2-易错信道差错控制(errorcontrol)(1)差错发现(errordetection)(2)正确认(positiveacknowledgement,):收到正确帧后,回传确认信息(3)超时重发(timeoutretransmission)(4)负确认(negativeacknowledgement)收到错误帧后,回传信息,要求重发。自动请求重发ARQ(AutomaticRepeatreQuest)

为提高数据传输的可靠性,在收发两端实施自动重传机制。即当发送端判断数据未能达到接收端时候,则自动重新发送丢失的数据。包括:差错检测、定时器、确认、重传等。自动重传请求ARQ协议0123456701234567已成功发出的数据帧将发出的数据帧窗口后沿窗口前沿帧序号发送方缓冲区0123456701234567已正确接收的数据帧将收到的数据帧帧序号接收方缓冲区窗口后沿窗口前沿滑动窗口协议

发送窗口控制发送端的流量接收窗口控制接收

*

基本思想:

发送方发出一个帧后停下来等待接收确认,每收到一个确认前只可发1个帧,确认到达后发下一帧;*目标:保证每帧都能最终正确到达目的端,流量控制隐含其中。停等ARQ(stop-and-waitARQ)并发出现的问题:(1)发出的帧没有到达对方发(帧丢失)(2)发出的帧没有正确到达对方(3)回传的确认帧丢失简单改进:(1)发方发出一帧后启动超时定时器,超时后未收到确认,重发此帧;

(2)数据帧和确认帧编号(0/1)解决重复帧问题;

停等ARQ(stop-and-waitARQ)特点:吞吐量小(单位时间内传输的吞吐量)传输效率低易于理解,便于实现

停等ARQ(stop-and-waitARQ)停等ARQ基本思想:1、增加缓冲区,允许发方在没收到一个确认之前可多发送n个数据帧,如果没有收到正确帧的确认帧,则回退到N步,从有正确确认帧的地方开始重传。2、累积确认(cumulativeacknowledgement)机制,在连续收到多个正确的数据帧以后,才发送一个确认帧。回退-NARQ(go-back-NARQ)3、超时重传:发方发出每个帧后起动一超时定时器,超时未收到确认则重发该帧;若还发出了其后窗口中的其他帧,则超时帧及其后发出的帧全部重传。

NOTE:超时时间大小选择受多种因素制约。回退-NARQ(go-back-NARQ)4、限定发送窗口:

WT≤2n-1(最大序号)目的:充分利用编号字段的bit数避免重号出现、以防产生二义性回退-NARQ(go-back-NARQ)基本思想:提高信道的利用率,有选择性地只重传出错的帧,其后正确到达的帧则不再重传.发送窗口:WT≤2n/2[(最大序号+1)/2]选择重传ARQ(selectiverepeatARQ)实施的其他策略发送策略缓冲发送、立即发送提交策略缓冲提交、立即提交接收策略按序接收、按窗口接收重传策略发送端维持一个曾经发送尚未得到确认的报文的队列。只是重传头一个、成批重传、单独重传。确认策略立即确认、累积确认3.5高级数据链路控制规程HDLC面向比特的链路控制规程HDLC(HighlevelDataLinkControl)

TheHDLCprotocolisageneralpurposeprotocolwhichoperatesatthedatalinklayeroftheOSIreferencemodel.Theprotocolusestheservicesofaphysicallayer,andprovideseitherabesteffortorreliablecommunicationspathbetweenthetransmitterandreceiver(i.e.withacknowledgeddatatransfer).ThetypeofserviceprovideddependsupontheHDLCmodewhichisused.IBMSDLCANSIADCCPISOHDLCCCITTLAPSNA网络美国标准国际标准电信标准LAPBX.25网3.5高级数据链路控制规程HDLC

HDLC的特性透明传输可靠性高传输效率高灵活性高HDLC是面向比特协议采用比特填充技术根据特定用途选择一个子集3.5高级数据链路控制规程HDLC基本概念站的类型主站从站组合站负责控制整个链路的操作。由主站发出的帧为命令。在主站的控制下进行操作。由从站发出的帧为响应。组合了主站和从站两种特性。发送命令帧接收响应帧管理整个链路接收来自主站的命令帧向主站发送响应帧配合主站参与差错恢复数据传输、数据流的扩展、差错检测和恢复等3.5高级数据链路控制规程HDLC链路结构非平衡型平衡型由一个主站和若干个从站组成。由两个组合站组成。组合站组合站命令命令响应响应主站从站命令响应从站从站支持全双工和半双工传输。3.5高级数据链路控制规程HDLC操作方式正常响应(NormalResponseMode)异步响应(AsynchronousResponseMode)异步平衡(AsynchronousBalancedMode)仅当从站被主站探询之后,才能传输信息帧和有关帧。从站可不经主站探询就传输信息帧和有关帧。链路两端的组合站具有同等能力,任何一方可在任何时间发送命令帧和响应帧。非平衡非平衡平衡SNRM主站从站SARM主站从站SABM组站组站3.5高级数据链路控制规程HDLCHDLC基本内容帧格式AddressControlInformationCRC8880168b全“1”广播地址用于对全部站点的探询没有格式和内容的限制。长度受缓冲区和差错特性的限制。一般256个字节。CRC冗余校验不包括Flag和填充的0生成多项式g(x)=x16+x12+x5+1全“0”无站地址用于测试数据链路的工作状态3.5高级数据链路控制规程HDLC零比特填充法数据中某一段比特组合恰好出现和F字段一样的情况发送端在5个连1之后填入0比特再发送出去在接受端将5个连一之后的0比特删除,恢复原样001010会误认为是F字段00010100001010填入0在此位置删除03.5高级数据链路控制规程HDLC

10typeP/FN(R)11MP/FM0N(S)P/FN(R)信息帧(I)管理帧(S)无编号帧(U)对信息帧的应答和命令帧的响应传递命令和控制信息控制字段表示命令和响应的类别和功能。N(S):当前发送帧的编号;N(R):接收方期待的下一帧。P/F(Poll/Final):探询/终止位。分别用在命令和响应帧中。P位命令帧和F位响应帧总是成对出现。在给定时间内,只能有一个P=1的帧是未完成的。3.5高级数据链路控制规程HDLC

命令和响应S帧用于链路状态的监视控制。这类格式为响应帧。S-帧确认序号小于N(R)的帧,但请求重发序号从N(R)开始的帧。后退N协议通知发送站重发序号为N(R)的帧。选择重发协议Type

帧N(R)意义帧功能00RRN(R)之前各帧收妥肯定应答01REJ重发帧的开始序号否定应答10RNRN(R)之前各帧收妥请求暂停发送01SREJ重发帧的序号请求重发N(R)帧3.5高级数据链路控制规程HDLC3.5高级数据链路控制规程HDLCU-帧主要用于各种无编号的命令和响应。这些命令和响应用来扩充链路控制功能的种类。M帧命令/响应帧功能00001SNRM*设置正常响应模式11000SARM*设置异步响应模式11100SABM*设置异步平衡模式00010DISC*断开连接10001FRMR**拒绝帧11001RESET*重置00110UA*应答设置/断开命令00000UI**无序号信息3.5高级数据链路控制规程HDLCCONNECT.confirmDISCONECT.requestDISCONECT.indicationCONNECT.requestCONNECT.indicationCONNECT.responseSABMUADISCUA操作初始化/断开连接异步平衡方式HDLC异步平衡方式操作数据传送I,N(S),N(R)I帧格式:I,0,0I,0,1I,1,1I,2,1I,1,3I,3,2I,2,4I,3,4RR,4重复确认累计确认BAHDLC异步平衡方式操作流量控制I,3,0RNR,4RR,0,PRNR,4,FI,4,0RR,4,FRR,0,P繁忙的站用RNR命令要求对方停止发送I-帧接收RNR的站通常在一定时间间隔后用带P位的RR命令询问对方的状态。必须用RR或RNR来响应BAHDLC异步平衡方式操作差错处理I,3,0REJ,4I,4,0I,4,0丢失I,5,0I,5,0I,6,0BAB丢弃5号帧,并给A发一个拒绝接受帧A必须重传4号帧以后的所有帧。采用REJ的差错恢复HDLC异步平衡方式操作差错处理BA采用超时机制的差错恢复I,2,0RR,0,PRR,4I,3,0RR,3,FI,3,0超时B丢弃出错帧。既然有错就无法确认任何事情因为每个字段都值得怀疑出错主站A主站B主站CAB,CB,RR0,PB,I00B,I10B,I20B,I30,FB,RR4C,RR0,PC,RR0,F时间非平衡方式中P/F比特的使用异步平衡方式一个更复杂的例子ABB,I00,PB,I10B,I20B,I31A,RR2,FB,I42B,I52B,I62B,I72B,I02B,I12A,RR3,FA,I00A,I10,PB,RR2,FA,I22A,I34A,I45A,I26,PA,I30(I,0,0)(I,1,0)(I,2,0)(I,0,_)(I,1,_)(I,_,_)(I,_,_)(I,_,_)(I,_,_)(_,_,_)(_,_,_)(I,2,_)(I,_,_)(I,_,_)(I,3,_)(I,_,_)AB站A和站B用一条全双工信道传输数据帧采用选择重发协议帧的确认采取“捎带”确认技术。若没有数据帧时可用ACK进行单独确认,用NAK进行否定确认A有10个、B有4个数据帧(I)要发送。序号空间占二进制3位。发送和接收窗口从序号0开始。没有超时和帧丢失。帧的格式为:帧类型、发送序号、接收序号若没有发送帧则帧类型为NONE;发送和接收序号如果没有意义则用N标明(I,0,0)(I,1,0)(I,2,0)(I,0,3)(I,1,3)(I,3,2)(I,4,2)(I,5,2)(I,6,2)(NONE,N,N)(NONE,N,N)(I,2,7)(I,7,3)(I,0,3)(I,3,1)(I,1,4)AB捎带确认发送窗口4序号最大为73.6.1PPP协议的特点现在全世界使用得最多的数据链路层协议是点对点协议PPP(Point-to-PointProtocol)。用户使用拨号线接入因特网时,一般都是使用PPP协议。3.6点对点协议PPP用户到ISP的链路使用PPP协议拓扑上是点到点信道上是多样的通讯过程涉及到复杂参数的协商用户至因特网已向因特网管理机构申请到一批

IP地址ISP接入网PPP

协议1.PPP协议应满足的需求简单——这是首要的要求封装成帧透明性多种网络层协议多种类型链路差错检测检测连接状态最大传送单元网络层地址协商数据压缩协商2.PPP协议不需要的功能纠错流量控制序号多点线路半双工或单工链路1992年制订了PPP协议。经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准[RFC1661]。PPP协议有三个组成部分一个将IP数据报封装到串行链路的方法。链路控制协议LCP(LinkControlProtocol)。网络控制协议NCP(NetworkControlProtocol)。3.PPP协议的组成标志字段

F

=0x7E(符号“0x”表示后面的字符是用十六进制表示。十六进制的

7E

的二进制表示是)。地址字段

A

只置为0xFF。地址字段实际上并不起作用。控制字段

C

通常置为0x03。PPP是面向字节的,所有的PPP

帧的长度都是整数字节。3.2.2PPP协议的帧格式PPP有一个2个字节的协议字段。当协议字段为0x0021时,PPP帧的信息字段就是IP数据报。若为0xC021,则信息字段是PPP链路控制数据。若为0x8021,则表示这是网络控制数据。

IP数据报1211字节12不超过1500字节PPP帧先发送7EFF03FACFCSF7E协议信息部分首部尾部PPP协议的帧格式当PPP用在同步传输链路时,协议规定采用硬件来完成比特填充(和HDLC的做法一样)。当PPP用在异步传输时,就使用一种特殊的字符填充法。透明传输问题将信息字段中出现的每一个0x7E字节转变成为2字节序列(0x7D,0x5E)。若信息字段中出现一个0x7D的字节,则将其转变成为2字节序列(0x7D,0x5D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论