计算机网络-数据链路层_第1页
计算机网络-数据链路层_第2页
计算机网络-数据链路层_第3页
计算机网络-数据链路层_第4页
计算机网络-数据链路层_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

数据链路层数据链路层使用的信道主要有以下两种类型:点对点信道。这种信道使用一对一的点对点通信方式。广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发数据链路层的简单模型局域网广域网主机

H1主机

H2路由器

R1路由器

R2路由器

R3电话网局域网主机

H1

H2

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

H1主机

H2路由器

R1路由器

R2路由器

R3电话网局域网主机

H1

H2

发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动理解:数据传输过程中差错产生的原因与性质掌握:误码率的定义与差错控制方法掌握:数据链路层的基本概念了解:面向字符型数据链路层协议实例—BSC掌握:面向比特型数据链路层协议实例—HDLC掌握:Internet中的数据链路层协议ppp数据链路层学习目的数据链路层数据链路层基本概念成帧差错控制流量控制数据链路层协议数据链路层协议实例数据链路:数据链路层实体的连接叫数据链路。多个数据链路复用一条物理连接。帧:数据链路层的分组链路层工作的前提:物理层必须导通数据链路层基本概念为什么要设置数据链路层在原始物理传输线路上传输数据信号是有差错的;设计数据链路层的主要目的:将有差错的物理线路改进成无差错的数据链路;方法—差错检测差错控制流量控制作用:改善数据传输质量,向网络层提供高质量的服务。数据链路层协议—为实现数据链路控制功能而制定的规程或协议。数据链路层基本概念功能建立、维护、拆除数据链路组帧、同步差错控制流量控制透明传输寻址(多点链路)总之解决相邻两点的传输问题数据链路层基本概念“link”DL协议的一般特性面向字符的协议特性:用控制字符实现控制,报文里出现与控制字符相同的字符加转义字符DLE。面向字符的协议有:BSC(IBMBinarySynchronousCommunication)二进制同步通信规程、SLIP(SerialLineInternetProtocol)串行线路接口协议。面向比特协议特性:采用统一帧格式,用特殊二进制串做帧开始和结束的标志。面向比特的协议有:HDLC(HighLevelDataLinkControl)高级数据链路控制协议、PPP(Peer-PeerProtocol)端对端协议。数据链路层基本概念其他特性:

通信方式:全双工、半双工

发送方式:停等方式、连续方式

同步方式:同步NOR正常响应主次站应答工作异步异步平衡方式ABM非正常响应各自自主发送异步响应方式ARM主次可互换的应答方式

传输代码:比特、ASCII、EBCD

差错控制:BCC面向字符CRC面向比特

传输协议:ARQ、连续ARQ、选择ARQ

速率、帧长数据链路层基本概念数据链路层向网络层提供的服务面向连接确认服务(acknowledgedconnection-orientedservice)无连接确认服务(acknowladgedconnectionlessservice)

无连接不确认服务(unacknowledgedconnectionlessservice)

数据链路层基本概念实际数据路径与虚拟数据路径数据链路层数据链路层基本概念成帧差错控制流量控制数据链路层协议数据链路层协议实例(1)字符记数法

在帧头部使用一个字段表示帧内字符数。目标机接收到该帧时,根据字段提供的字节数,可以知道帧的结束位置。问题:计数字段出错,收方无法判断帧结束位置。失去同步。目标机无法知道下一帧位置。即使知道出错也无法说明重新发送应该跳回多少字符。很少使用或与其它方法合用。成帧成帧(2)带填充字符首尾界符法

每一帧开始用帧开始字符STX标记,帧尾部用帧结束字符ETX标记。透明传输:数据传输中,如果帧的首尾定界符出现在信息位,采用在信息位的定界符前面填充一个转义字符DLE来区分。接收:单独的控制字符是标记,和DLE成对出现的控制字符是数据本身。成帧发送前:发送序列:成帧问题:依赖8位字符,特别是ASCII码STX:StartofTextETX:EndofTextDLE:DataLinkEscape(3)带填充位的首尾标志法使用特殊位模式“01111110”作为帧的开始和结束标志。透明传输:信息位中出现和开始标志相同的串,在5个连续的“1”后自动插入一个“0”。接收:自动删除5个连续“1”后的“0”。成帧发送前:发送码:成帧(4)物理层编码违例法在物理层编码中有冗余的网络。如曼码的1:高-低0:低-高,则用高-高或低-低电平表示帧边界。很多数据链路层协议使用字符记数和其它方法结合来提高可靠性。帧到达时,用记数字段确定帧尾,只有当帧结束标志出现在帧尾并且检验和正确的时候,才接受帧。否则继续扫描到下一个定界符。成帧数据链路层数据链路层基本概念成帧差错控制流量控制数据链路层协议数据链路层协议实例差错控制(1)差错产生的原因和差错类型传输差错—通过通信信道后接收的数据与发送数据不一致的现象差错控制—检查是否出现差错以及如何纠正差错差错原因—

噪声、畸变、串音回声、衰减、PCM失去同步

差错分类—

突发错(连续错)、随机错(单个错)噪声分为两类:热噪声和冲击噪声由热噪声引起的差错是随机差错,或随机错;冲击噪声引起的差错是突发差错,或突发错;引起突发差错的位长称为突发长度在通信过程中产生的传输差错,是由随机差错与突发差错共同构成的。差错控制差错产生的原因和差错类型差错分类—

突发错(连续错)、随机错(单个错)误码率—

二进制比特在数据传输系统中被传错的概率比较:有利面,计算机数据成块传送,设块大小1000位,差错率0.001,如果是单个错,每个块都会有误码,如果是100位集中的误码串,每100块平均只有一个或两个块受到影响。不利面,突发错更难检测和纠正传输差错

产生过程差错控制(2)纠错和检错的概念纠错码每个传输的分组带上足够的冗余信息;接收端能发现并自动纠正传输差错。检错码分组仅包含足以使接收端发现差错的冗余信息;接收端能发现出错,但不能确定哪一比特是错的,并且自己不能纠正传输差错。

差错控制常用的检错码奇偶校验码垂直奇(偶)校验水平奇(偶)校验水平水平垂直奇(偶)校验(方阵码BCC)循环冗余编码CRC国际标准:CRC-12=x12+x11+x8+x2+x+1CRC-16=x16+x15+x2+1CRC-CCITT=x16+x12+x5+1CRC-32=x32+x26+x22+x16+x12+x11+x10+x8+x7+x5+x5+x2+x+1

目前应用最广的检错码编码方法之一循环冗余编码工作原理循环冗余编码工作原理循环冗余编码工作原理用收到的数据(带校验码)除以同一个生成多项式,整除则无差错(余数为0)

举例:

发送传输接收CRC校验码的检错能力CRC校验码能检查出全部单个错;CRC校验码能检查出全部离散的二位错;CRC校验码能检查出全部奇数个错;CRC校验码能检查出全部长度小于或等于K位的突发错;CRC校验码能以[1-(1/2)K-1]的概率检查出长度为(K+1)位的突发错;如果K=16,则该CRC校验码能全部检查出小于或等于16位的所有的突发差错,并能以99.997%的概率检查出长度为17位的突发错,漏检概率为0.003%;

差错控制CRC内容组成原理课上有详细的介绍,要求掌握以下重点:二进制串的多项式表示模2运算方法生成多项式概念发送和接收方的运算差错控制(3)差错控制方法

①反馈收方向数据发送方提供有关收方情况的反馈信息。典型方法:收方发回确认帧表示某帧正确到达收方发回否认帧表示发生了错误。相应帧必须重发。差错控制(3)差错控制方法

②计时器方法

发方发出一帧后,开始计时,超时重发。数据帧丢失,收方没有收到数据,当然不会采取任何动作,只有发送方控制重发。超时的定时,至少2倍于传播时延(保证应答信息能够返回)③帧编号确认帧丢失,发方超时重发,收方收到重复帧,需要区别是否是重复帧。差错控制数据链路层数据链路层基本概念成帧差错控制流量控制数据链路层协议数据链路层协议实例

流量控制是保证发送实体不会因过量的数据而把接收实体冲垮的技术。解决发送方发送能力比接收方接收能力大的问题,需要流量控制机制来限制发方所发出的数据流量不要超过接收方的处理速度。需要反馈机制,使发方能够知道接收方是否能接收到。基本的策略是由接收方控制发送速度。流量控制(1)停等协议ARQ(AutomaticRequestRepeat)

前提a.物理信道不可靠b.收端能力不足处理:数据帧内加校验码,供收方判断是否正确接收一帧。收方根据接收是否错发送确认帧ACK和否认帧NAK(NegativeAcknowledgement)。收到重复帧要发确认帧特点:接收缓冲区一个帧大小,发送缓冲区一个帧大小,每发送一帧设置一个计时器,帧编号使用1个比特。帧中包含发送序号N(S)。半双工方式。数据链路层协议停止等待协议

(a)无差错情况A发送M1确认M1B发送M2发送M3确认M2确认M3A发送M1B超时重传M1发送M2确认M1丢弃有差错的报文(b)数据帧出错、丢失超时重传ttttA发送M1B超时重传M1发送M2丢弃重复的M1重传确认M1(a)确认丢失确认M1A发送M1B超时重传M1发送M2丢弃重复的M1重传确认M1(b)确认迟到确认M1收下迟到的确认但什么也不做tttt停止等待协议

请注意在发送完一个分组后,必须暂时保留已发送的分组的副本。分组和确认分组都必须进行编号。超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些。重复帧要发确认停止等待协议

可靠通信的实现使用上述的确认和重传机制,我们就可以在不可靠的传输网络上实现可靠的通信。这种可靠传输协议常称为自动重传请求ARQ(AutomaticRepeatreQuest)。ARQ表明重传的请求是自动进行的。接收方不需要请求发送方重传某个出错的分组。停止等待协议

信道利用率停止等待协议的优点是简单,但缺点是信道利用率太低。TDRTTATD+RTT+TAB分组确认tt分组确认停止等待协议

信道的利用率U

停止等待协议

(2)连续ARQ协议(后退ARQ协议、拉回)停等ARQ协议信道利用率低,双工信道也只能用半双工方式通信,发送方发送一帧后总要停下来等待确认帧。第一种改进考虑增加发送方的发送缓存,连续发送多帧。控制特点:发方发完一帧后不停止,连续发送后续帧收方按顺序接收数据帧,对每一帧发确认帧或否认帧数据帧出错或超时,发方从出错帧开始重发,收方收到重复帧,丢弃,发确认帧收方收到失序帧,丢弃,引起发方超时重发分析:连续发送,效率提高;出错重传,降低效率;发送端增加缓存开销;适用质量好的信道。质量差的信道不一定优于ARQ协议。适用卫星通信(传播时延很大,等待时间很长)。数据链路层协议(3)选择ARQ协议连续ARQ收方失序,会丢弃很多正确的帧,发送方却把它们反复地重新传送。第二种改进再考虑增加接收方的接收缓存,暂存失序但正确的数据帧,只重传出错或超时的数据帧。等所缺的帧收到后再上交。控制特点:连续发送,出错或超时只重传相关帧。收方丢弃重复帧,发确认;缓存失序帧。分析:效率高,协议复杂,空间开销增大。数据链路层协议连续工作方式

后退方式选择重发方式(4)滑动窗口机制:对ARQ协议进行量化、实现。协议中可连续发送和暂时接收,但能力有限原因:帧编号占用帧格式的空间,通常是有限比特循环编号重传帧数受缓存能力的限制(重传帧数×帧长=缓存开销)一帧出错,重传帧数太多会增加开销(时间和空间)引入滑动窗口,将差错控制和流量控制合二为一数据链路层协议发送窗口:是发送方保持的连续序号表,发送窗口大小WT表示在没有收到确认信息的情况下,发送端最多可以连续发送多少个帧。发送窗口控制那些帧允许发送。接收窗口:是接收方保持的连续序号表,对应于允许接收的帧。窗口大小WR表示可以接收多少帧。收到窗口以外的帧全部丢弃。发送窗口控制:设发送窗口上界表示窗口后沿,下界表示窗口前沿,则前沿到后沿之间是已经发送但还没有收到确认的帧。规则:新帧产生(N层)到达,窗口上界加1(<WT)确认帧到达,窗口下界加1(移动窗口)窗口已达最大值WT(上界-下界)发送端进入等待状态,直到有缓冲区可用(收到确认为止)数据链路层协议ARQ协议窗口示意

123456789101112(a)发送方维持发送窗口(发送窗口是5)发送窗口(b)收到一个确认后发送窗口向前滑动向前123456789101112发送窗口接收窗口控制:每一个接收的帧设一个缓冲区,数目=WR规则:收到帧在窗口内,收下,如果序号=窗口下界,发确认,移动窗口,直到应该收到的帧编号成为窗口下界收到帧在窗口外,丢弃。协议与WT和WR的关系数据链路层协议数据链路层协议滑窗协议工作示意——ARQ关于滑窗协议的重要结论:(1)对于后退N协议,必须使发送窗口WT<=2n-1n为帧序号的比特数(2)对于选择重发协议,必须使发送窗口WT<=2n-1n为帧序号的比特数数据链路层协议数据链路层数据链路层基本概念成帧差错控制流量控制数据链路层协议数据链路层协议实例数据链路层协议实例数据链路层协议的分类(1)面向字符型协议实例:BSC以字符为控制传输信息的基本单元

ASIIC码:格式字符:SOH(startofheading)STX(startoftext)ETB(endoftransmissionblock)ETX(endoftext)控制字符:ACK(acknowledge)NAK(negativeacknowledge)ENQ(enquire)EOT(endoftransmission)SYN(synchrous)DLE(datalinkescape)数据链路层协议实例面向字符型BSC协议的数据报文格式建立、维护与释放数据链路流程图(2)面向比特型协议实例:HDLC面向字符型数据链路层协议的缺点:报文格式不一样;传输透明性不好;等待发送方式,传输效率低。面向比特型协议的设计目标:以比特作为传输控制信息的基本单元;数据帧与控制帧格式相同;传输透明性好;连续发送,传输效率高。HDLC(HighLevelDataLinkControl)高级数字链路控制协议,由IBMSNA体系结构的数据链路层协议SDLC(同步数据链路控制)而来,大而全,实际数据链路层实现都是HDLC的一个子集。如:LAP(ARM异步响应模式)X.25DL层协议LAPB平衡型x.25DL层协议LAP-D(FR链路规程)数据链路层协议实例①数据链路的配置和数据传送方式数据链路的配置非平衡配置平衡配置非平衡配置中的主站与从站主站:控制数据链路的工作过程。主站发出命令从站:接受命令,发出响应,配合主站工作非平衡配置中的结构特点点-点方式多点方式数据链路层协议实例数据链路的非平衡配置方式数据链路的平衡配置方式非平衡配置方式正常响应模式(normalresponsemode,NRM)主站可以随时向从站传输数据帧;从站只有在主站向它发送命令帧进行探询(poll),从站响应后才可以向主站发送数据帧。

异步响应模式(asynchronousresponsemode,ARM)主站和从站可以随时相互传输数据帧;从站可以不需要等待主站发出探询就可以发送数据;主站负责数据链路的初始化、链路的建立、释放与差错恢复等功能。数据链路层协议实例平衡配置方式链路两端的两个站都是复合站(combinedstation)复合站同时具有主站与从站的功能每个复合站都可以发出命令与响应平衡配置结构中只有异步平衡模式(asynchronousbalancedmode,ABM)异步平衡模式的每个复合站都可以平等地发起数据传输,而不需要得到对方复合站的许可。数据链路层协议实例②HDLC规程特点面向比特:传输的基本单位是比特透明:填充比特方式通信方式:ABM、ARM、NRM差错校验:CRC协议:连续ARQ、选择ARQ(多次连续发送,一次响应,帧格式使额外开销的比特最少)多种链路:点-点、点-多点主次站、同等站传输方式:全双工、半双工数据链路层协议实例③帧格式

特点:信息帧和控制帧格式统一F(flag):固定格式—01111110作用—帧同步传输数据的透明性(零比特插入与删除)A(address):地址C(control):帧的类型、帧的编号、命令与控制信息I(information):网络层数据,Nmax=256BCRC(checksum):校验A、C、I字段的数据G(X)=X16+X12+X5+1数据链路层协议实例帧类型及控制字段的意义数据链路层协议实例帧类型信息帧Information

N(S):发送序号N(R):接收序号,希望收到的帧编号N(R)-1之前的帧已收到(捎带、集中确认)P/F:询问终止位Poll/Final,P与F成对出现P=1询问,要求尽快响应F=1响应,表示响应完成(最后、结束帧)表示:I,N(S),N(R),P/F数据链路层协议实例帧类型监督帧SupervisoryN(R):接收序号,希望收到的帧编号,N(R)-1之前的帧已收到S:监督帧分类

00,RR(receiveready)接收就绪01,RNR(receivenotready)接收未就绪10,RJE(reject)拒绝11,SREJ(selectreject)选择拒绝P/F:0:没意义1:NRM中主站P=1,次站可发送信息,并用F=1表示最后一帧ARM和ABM中,发站P=1,要求尽快响应,对方回答时F置1表示例:RR,N(R),P/F数据链路层协议实例帧类型无编号帧Unnumbered命令帧,链路控制和管理修饰位M:5比特,共32种编码,HDLC目前只定义了15种编码,表示命令。P/F:1:命令0:应答表示:SNRM,P/F命令集:SNRM建立NRM方式SABM建立ABM方式SARM建立ARM方式UA无编号认可(命令应答、响应,控制帧响应)DISC断链命令DIN拒绝建链(DM)SNRME建立扩充NRM方式(7位帧编码,C段2字节)SABMESARME数据链路层协议实例④规程正常响应模式NRM数据链路工作讨论:数据链路层

与物理层的关系(3)Internet中主要的数据链路层协议SLIP(SerialLineIP)—串行线路的Internet数据链路层协议PPP(Point-to-PointProtocol)—点-点协议SLIP与PPP用于串行通信的拨号线路上,是目前家庭计算机或公司用户通过ISP接到Internet主要的协议。数据链路层协议实例数据链路层协议实例连接Internet的家庭个人计算机PPP协议基本特点PPP协议是Internet标准,RFC1660、RFC1661定义了PPP协议与帧结构;PPP协议处理了差错检测,支持面向字符型协议与面向比特型协议,可以支持IP协议及其他一些网络层协议(例如IPX协议);PPP协议不仅在拨号电话线,并且在路由器─路由器之间的专用线上广泛应用;PPP协议是在大多数家庭个人计算机和ISP之间使用的协议,它可以作为在高速广域网和社区宽带网协议族的一部分。

数据链路层协议实例PPP协议应满足的需求

简单——这是首要的要求封装成帧透明性多种网络层协议多种类型链路差错检测检测连接状态最大传送单元网络层地址协商数据压缩协商数据链路层协议实例PPP协议不需要的功能纠错流量控制序号多点线路半双工或单工链路数据链路层协议实例PPP功能封装:

成帧的方法可清楚地区分帧的结束和下一帧的起始,帧格式还处理差错检测。链路控制协议(LCP):

用于启动线路、测试、任选功能的协商以及关闭连接。链路管理、认证。网络控制协议(NCP):

一族网络控制协议(NCP)来处理点对点连接可能产生的问题。如基于电路交换的点对点连接(比如拨号模式服务),分配和管理IP地址。每一个协议管理着各自的网络层协议的特殊需求。

配置:

PPP链路很容易配置。标准的默认值处理全部的配置。执行者可以对默认配置进行改进,它被自动的通知给其对等单元而无需操作员的干涉。操作员可以明确的为链路设定选项,以便其正常工作。

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

IP数据报1211字节12不超过1500字节PPP帧先发送7EFF03FACFCSF7E协议信息部分首部尾部标志字段

F

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

7E

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

A

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

C

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

帧的长度都是整数字节。IP数据报1211字节12不超过1500字节PPP帧先发送7EFF03FACFCSF

温馨提示

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

评论

0/150

提交评论