数据链路层功能与协议

上传人:xian****812 文档编号:290320807 上传时间:2022-05-09 格式:PPT 页数:125 大小:2.65MB
返回 下载 相关 举报
数据链路层功能与协议_第1页
第1页 / 共125页
数据链路层功能与协议_第2页
第2页 / 共125页
数据链路层功能与协议_第3页
第3页 / 共125页
数据链路层功能与协议_第4页
第4页 / 共125页
数据链路层功能与协议_第5页
第5页 / 共125页
点击查看更多>>
资源描述

《数据链路层功能与协议》由会员分享,可在线阅读,更多相关《数据链路层功能与协议(125页珍藏版)》请在金锄头文库上搜索。

1、第1页第第4章章数据链路层功能与协数据链路层功能与协议议本章概述本章的学习目标主要内容第2页本章概述本章概述l在OSI模型的物理层,实现了信号传输但是没有实现数据的通信。l在计算机网络上两个相邻节点之间的通信,特别是通信双方的同步,线路控制,差错控制,流量控制,定界,寻址,透明传输等问题,需要由特定规则和约定来支配的,这种规则和约定称为数据链路控制。l在互联网发展过程中,应用了很多成熟的数据链路层技术和实现协议。l本章全面研究数据链路层服务功能和标准协议。第3页本章的学本章的学习目目标l理解数据链路层功能和实现技术l掌握数据链路层协议l掌握面向字符的协议l理解面向比特的协议l掌握PPP协议l理

2、解PPPoe协议第4页主要内容主要内容4.1数据链路层功能4.2数据链路层协议4.3面向字符的协议4.4面向比特的协议4.5PPP协议4.6PPPoe协议4.7本章小结第5页4.1数数据据链路路层功功能能数数据据链路路层所所提提供供的的服服务l数据链路层的基本服务是将源结点的网络层数据传输到目的结点网络层。在源结点上有一实体,我们称之为进程,它将网络层的比特序列交给数据链路层。而数据链路层又将它们传到目的地机器,交给那里的网络层。实际的传输是按照源结点网络层、数据链路层、物理层,传输介质,目的结点物理层、数据链路层、网络层依次传递的。第6页不同不同类型的服型的服务l数据链路层可以提供多种不同类

3、型的服务,实际提供的服务因系统不同而不同,但基本上有无确认、无连接服务;有确认、无连接服务;面向连接服务三种。第7页OSI服服务原原语l网络层和数据链路层之间的通信使用了标准的OSI服务原语,它们是:请求(Request),指示(Indication),响应(Response),证实(Confirm)。l网络层用“请求”原语请求数据链路层为其完成某项工作,如建立或释放连接,或者传送一个帧。“指示”原语用来通知网络层发生了某个事件。数据数据链路路层服服务原原语的两种表示方法的两种表示方法第8页第9页传输的同步的同步l可见数据链路层的功能是为高层提供服务,但是首先得从底层物理层获得服务支持才能提供

4、三种服务。l物理层传输信号可靠性的理论模型支持主要是由数据链路来提供。传输信号的首要问题是通信的同步性。时钟漂移引起的漂移引起的问题第10页第11页LOREMIPSUMDOLORl解决上述同步问题的方法有两种。l第一种称为异步法,发送方和接收方独立地产生时钟,但定期地进行同步。l第二种方法称为同步方法,接收端时钟完全由发送方时钟控制,也就是说,接收方时间与发送方时钟是严格同步的。第12页1异步方式异步方式l在异步传输中,数据以字符为单元发送。每个字符的长度根据所使用的编码方案可以是5-8位。启停位启停位组帧格式格式第13页第14页2同步方式同步方式l在同步传输中,以一种稳定的流方式传送比特块,

5、不使用开启和停止位编码。该数据块在长度上可以是许多位。l帧用一个称为标志的前缀起始,以同样的标志作为后缀。接收方查看标志确定一个帧的开始。跟在前缀标志后面的是一定数目的控制段,然后是数据段(对于大多数协议都是可变长度)。在数据段后面还可以有控制段,最后仍是标志段。第15页4.1.3数据数据链路路层其他控制功能其他控制功能l线路规程之外,数据链路层中最重要的功能是流量控制、错误控制。这些功能都叫做数据链路控制。第16页4.1.4线路路规程程l线路规程可以以两种方式实现:询问/应答(ENQ/ACK)方式和轮询/选择方式。第一种方法在对等通信中采用,第二种方法在主从式通信中采用。1.询问/应答答(E

6、NQ/ACK)第17页第18页2.轮询/选择模式模式l线路规程的轮询/选择模式是在以一个设备设计为主设备而其他设备为从设备的拓扑结构中采用的。多点连接系统必须在多个通信结点而不是仅仅两个之间进行协调。因此,在这类情形下,问题不仅仅是确定设备是否就绪,还要确定哪一个结点有权使用信道。l如果从设备当前是激活的并且正在运行,它向主设备返回一个应答帧(ACK)。然后主设备就发送一个或多个数据帧,每帧的地址都是预期的从设备。多点多点选择第19页第20页轮询l轮询功能是主设备请求从设备进行传输的。如上所述,在没有接到请求前,从设备是不许发送数据。所有控制都集中在主设备,多点连接系统保证一次只能存在一个传输

7、,因此在没有优先协议的情况下也保证不出现信号冲突。当主设备准备好接收数据时,它必须依次询问每个设备发送数据。当询问到达第一个从设备时,如果没有数据要发送,必须回答否定应答(NAK),否则就发送数据帧。第21页4.1.5流量控制流量控制l在控制通过传输链路的数据流量上采用两种方法:停等协议和滑动窗口协议。第22页1.停等停等协议l在停等协议中,发送方每发出一帧后就等待一个应答帧如图4-8所示。只有当接收到应答信号后,才发送下一帧。这种发送和等待交替的过程不断重复,直到发送方发送了一个传输结束帧(EOT)。停等协议有点象我们在对讲机中对话:我们说一段话,在说“over”这个结束符之后,等待对方回答

8、“OK,然后再说第段话。停等停等协议第23页第24页2.滑滑动窗口窗口协议l在流量控制的滑动窗口协议中,一次可以传输多个帧。在滑动窗口中的窗口一词是指一个发送方和接收方都要创建的额外缓冲区。这个窗口可以在收发两方存储数据帧,并且对收到应答之前可以传输的数据帧的数目进行了限制。可以不等待窗口被填满而在任何一点对数据帧进行应答,并且只要窗口未满就可以继续传输。第25页LOREMIPSUMDOLORl为记录哪一帧已经被传输以及接收了哪一帧,滑动窗口协议引入了一个基于窗口大小的标识机制。帧以模n方式标号,也就是说从0到n1编号。例如,如果n=8,帧顺序标号就为:0,1,2,3,4,5,6,7,0,1,

9、2,3,4,5,6,7,0,1.”窗口的大小是n-1。第26页LOREMIPSUMDOLORl当接收方发出一个应答帧(ACK),它就在其中包含了预期接收的下一帧编号。也就是为对以帧4结尾的一串数据帧进行应答,接收方就发送一个包含有编号5的应答帧。当发送方收到含有编号5的应答帧(ACK)时,它就知道了直到编号4为止的所有数据帧均已经被接收了。在两端的窗口都可以存储n-1帧,因此在必须接收一个ACK帧之前最多可以发送n-1帧。第27页发送窗口送窗口l在传输的开始,发送方窗口有n-1帧。随着数据帧的发送,窗口的左边界向内移动,不断缩小窗口的大小。如果窗口大小是w,并且自从最近一次应答以来已经发送了三

10、帧,那么在窗口中剩余的帧数是w-3。一旦一个应答帧(ACK)到来,窗口根据应答帧(ACK)中应答的数据帧的个数对窗口进行相同数目的扩展。如图4-10显示了一个大小为7的发送方窗口。滑滑动窗口窗口协议的的发送和接收送和接收第28页第29页错误控控制制 1.错误类型型l这些错误类型通常被称为单比特错误,多比特错误和突发错误。其中,单比特错误最易出现,突发错误较不容易发生。l多比特错误是指数据单元中两个或两个以上不连续的比特发生了改变从0变为1或是从1变为0。l突发错误指数据单元中两个或两个以上连续的比特发生了改变从0变为1或是从1变为0。第30页2.错误检测 冗冗余余l采用冗余比特来进行数据单元正

11、确性验证的过程。当数据单元生成后,就通过一个设备来分析它并且加上相应的冗余校验编码。现在增加了若干比特的数据单元(在图中增加了七个比特)就通过链路传输到接收方。接收方将整个传输流输入到一个校验函数。如果接收的比特流通过了校验标准,数据单元的数据部分就被接收而冗余位则被丢弃。冗余技冗余技术第31页第32页冗余校冗余校验技技术l在数据通信中采用四种类型的冗余校验技术:垂直冗余校验(VRC)(也称为奇偶校验),纵向冗余校验(LRC),循环冗余校验(CRC),以及校验和。前面三种,垂直冗余校验(VRC),纵向冗余校验(LRC),和循环冗余校验(CRC),是在物理层实现而被数据链路层使用的。而第四种技术

12、,校验和技术,主要由网络层,包括国际互连网所使用,而在传输层实现的。第33页循循环冗余冗余码校校验l循环冗余码校验和与基于加法的VRC及LRC技术不同,循环冗余校验(CRC)是基于二进制除法的。l给定一个m比特的帧或报文,发送器生成一个r比特的序列,称为帧校验序列(FCS)。这样所形成的帧将由(m+r)比特组成。这个帧刚好能被某个预先确定的数整除。接收器用相同的数去除外来的帧。如果无余数,则认为无差错。第34页冗余校冗余校验计算校算校验和的算法和的算法l设G(x)为r阶,在帧的末尾附加r个零,使帧为m+r位,则相应的多项式是xrM(x)。l按模2除法用对应G(x)的位串去除对应xrM(x)的位

13、串。l按模2减法从对应于xrM(x)的位串减去余数(总是等于或小于r位)。结果就是要传送的带校验和的帧,叫多项式T(x)。第35页校校验和和l在高层协议中使用的错误检测技术称为校验和技术。和VRC、LRC以及CRC技术一样,校验和是建立在冗余概念上的。l在发送方,校验和生成器将数据单元细分成大小都为n(通常是16)比特的几段。这些分段采用反码加法算法加在一起,使得整个结果仍然是n比特长。该总和(校验和)随后取反并当作冗余位加在原始数据单元的末尾,称作校验和域。第36页3.错误纠正正l错误纠正可以通过两种方式进行。一种方式是当发现错误时,接收方可以让发送方重新发送整个数据单元。另一种方法是可以采

14、用错误纠正码,自动纠正一些错误。l理论上,可以自动纠正任何一种二进制编码错误。但是错误纠正码比错误检测码要复杂得多,并且需要占据更多的冗余比特位。纠正多比特错误和突发错误所需要的比特位数是如此巨大,因此在大多数情况下这样做是十分低效的。第37页单比特比特错误纠正正l通过检验最简单的情形:单比特错误,最容易对错误纠正的基本概念得到理解。l为计算纠正一个给定数目(m)的数据比特所需要的冗余位的数目(r),必须找到m和r之间的关系。如果可传输单元的总比特数是m+r,那么r必须能至少代表m+r+1种状态。在这些状态中,一种状态代表没有错误,其他m+r种状态代表在m+r位每个位置上发生的错误。第38页L

15、OREMIPSUMDOLORl因此,必须能够通过r位来发现所有m+r+1种状态,而r比特可以代表2r不同状态。因此,2r必须大于或等于m+r+1:2rm+r+1。r的值可以通过插入要传输的数据单元的原始长度m的值来得到。例如,如果01的值是7(就如同七位ASCII码一样),满足上述公式的最小的r值是4。第39页海明海明码l在数据通信的过程中,解决差错问题的一种方法是在每个要发送的数据块上附加足够的冗余信息,使接收方能够推导出发送方实际送出的应该是什么样的比特串。通常,一帧是由m个数据位(即报文)和r个冗余位(或称校验位)组成。设总长度为n,则n=m+r,此长度为n位的单元常常被称作n位码字。第

16、40页LOREMIPSUMDOLORl假设有任意两个码字,10001001和10110001,可以确定有多少个不同的对应位。其中有3个不同位。为了确定有多少位不同,只需对两个码字进行异或运算。然后计算结果中的1的位数。两个码字中不同的位的数目称作海明距离(1950年由Hamming提出)。这种海明距离的重要性在于如果两个码字的海明距离为d,那么只有出现d个单位差错才能将其中一个码字转换成另一个码字。第41页多比特多比特错误纠正正l在互相重叠的数据比特组上计算的冗余位也可以用来纠正多比特错误。但是,纠正这些错误所需要的冗余比特数将大大高于纠正单比特错误的冗余比特数。例如,为纠正两比特错误,必须将整个序列中任意两个比特的组合情况考虑进来。三比特错误纠正就要考虑整个序列中的任意三比特组合。第42页4.1.7差差错控制控制l数据通信中,在检测出差错之后就需要对差错进行控制,利用编码方法进行差错控制的方法基本上有两类:自动请求重发(ARQ:AutomaticRequestforRepeat)和前向纠错(FEC:ForwardErrorCorrection)。第43页1.自自动重复重复请求求l在数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号