您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 第4章数据链路层功能与协议
SQLServer实用简明教程(第三版)第3章Transact-SQL语言第1页第4章数据链路层功能与协议本章概述本章的学习目标主要内容SQLServer实用简明教程(第三版)第3章Transact-SQL语言第2页本章概述在OSI模型的物理层,实现了信号传输但是没有实现数据的通信。在计算机网络上两个相邻节点之间的通信,特别是通信双方的同步,线路控制,差错控制,流量控制,定界,寻址,透明传输等问题,需要由特定规则和约定来支配的,这种规则和约定称为数据链路控制。在互联网发展过程中,应用了很多成熟的数据链路层技术和实现协议。本章全面研究数据链路层服务功能和标准协议。SQLServer实用简明教程(第三版)第3章Transact-SQL语言第3页本章的学习目标理解数据链路层功能和实现技术掌握数据链路层协议掌握面向字符的协议理解面向比特的协议掌握PPP协议理解PPPoe协议SQLServer实用简明教程(第三版)第3章Transact-SQL语言第4页主要内容4.1数据链路层功能4.2数据链路层协议4.3面向字符的协议4.4面向比特的协议4.5PPP协议4.6PPPoe协议4.7本章小结SQLServer实用简明教程(第三版)第3章Transact-SQL语言4.1数据链路层功能4.1.1数据链路层所提供的服务数据链路层的基本服务是将源结点的网络层数据传输到目的结点网络层。在源结点上有一实体,我们称之为进程,它将网络层的比特序列交给数据链路层。而数据链路层又将它们传到目的地机器,交给那里的网络层。实际的传输是按照源结点网络层、数据链路层、物理层,传输介质,目的结点物理层、数据链路层、网络层依次传递的。第5页SQLServer实用简明教程(第三版)第3章Transact-SQL语言不同类型的服务数据链路层可以提供多种不同类型的服务,实际提供的服务因系统不同而不同,但基本上有无确认、无连接服务;有确认、无连接服务;面向连接服务三种。第6页SQLServer实用简明教程(第三版)第3章Transact-SQL语言OSI服务原语网络层和数据链路层之间的通信使用了标准的OSI服务原语,它们是:请求(Request),指示(Indication),响应(Response),证实(Confirm)。网络层用“请求”原语请求数据链路层为其完成某项工作,如建立或释放连接,或者传送一个帧。“指示”原语用来通知网络层发生了某个事件。第7页SQLServer实用简明教程(第三版)第3章Transact-SQL语言数据链路层服务原语的两种表示方法第8页请求网络层(3层)链路层(2层)物理层(1层)证实响应指示请求证实指示响应服务用户(网络层)服务提供者(数据链路层)服务用户(网络层)SQLServer实用简明教程(第三版)第3章Transact-SQL语言4.1.2传输的同步可见数据链路层的功能是为高层提供服务,但是首先得从底层物理层获得服务支持才能提供三种服务。物理层传输信号可靠性的理论模型支持主要是由数据链路来提供。传输信号的首要问题是通信的同步性。第9页SQLServer实用简明教程(第三版)第3章Transact-SQL语言时钟漂移引起的问题第10页000100011100发送机时钟发送机信号发送机时钟时钟较快的接收机时钟较慢的接收机SQLServer实用简明教程(第三版)第3章Transact-SQL语言解决上述同步问题的方法有两种。第一种称为异步法,发送方和接收方独立地产生时钟,但定期地进行同步。第二种方法称为同步方法,接收端时钟完全由发送方时钟控制,也就是说,接收方时间与发送方时钟是严格同步的。第11页SQLServer实用简明教程(第三版)第3章Transact-SQL语言1异步方式在异步传输中,数据以字符为单元发送。每个字符的长度根据所使用的编码方案可以是5-8位。第12页SQLServer实用简明教程(第三版)第3章Transact-SQL语言启停位组帧格式第13页1765432数据位开启位“1”标记状态低电压停止位标记状态1位/1.5位/2位**可以是第8位或奇偶位SQLServer实用简明教程(第三版)第3章Transact-SQL语言2同步方式在同步传输中,以一种稳定的流方式传送比特块,不使用开启和停止位编码。该数据块在长度上可以是许多位。帧用一个称为标志的前缀起始,以同样的标志作为后缀。接收方查看标志确定一个帧的开始。跟在前缀标志后面的是一定数目的控制段,然后是数据段(对于大多数协议都是可变长度)。在数据段后面还可以有控制段,最后仍是标志段。第14页SQLServer实用简明教程(第三版)第3章Transact-SQL语言4.1.3数据链路层其他控制功能线路规程之外,数据链路层中最重要的功能是流量控制、错误控制。这些功能都叫做数据链路控制。第15页SQLServer实用简明教程(第三版)第3章Transact-SQL语言4.1.4线路规程线路规程可以以两种方式实现:询问/应答(ENQ/ACK)方式和轮询/选择方式。第一种方法在对等通信中采用,第二种方法在主从式通信中采用。第16页SQLServer实用简明教程(第三版)第3章Transact-SQL语言1.询问/应答(ENQ/ACK)第17页B结点A结点建立数据传输终止时间时间询问应答应答应答应答数据数据数据传输结束SQLServer实用简明教程(第三版)第3章Transact-SQL语言2.轮询/选择模式线路规程的轮询/选择模式是在以一个设备设计为主设备而其他设备为从设备的拓扑结构中采用的。多点连接系统必须在多个通信结点而不是仅仅两个之间进行协调。因此,在这类情形下,问题不仅仅是确定设备是否就绪,还要确定哪一个结点有权使用信道。如果从设备当前是激活的并且正在运行,它向主设备返回一个应答帧(ACK)。然后主设备就发送一个或多个数据帧,每帧的地址都是预期的从设备。第18页SQLServer实用简明教程(第三版)第3章Transact-SQL语言多点选择第19页主结点从结点C从结点B从结点A数据应答帧应答帧选择帧SQLServer实用简明教程(第三版)第3章Transact-SQL语言轮询轮询功能是主设备请求从设备进行传输的。如上所述,在没有接到请求前,从设备是不许发送数据。所有控制都集中在主设备,多点连接系统保证一次只能存在一个传输,因此在没有优先协议的情况下也保证不出现信号冲突。当主设备准备好接收数据时,它必须依次询问每个设备发送数据。当询问到达第一个从设备时,如果没有数据要发送,必须回答否定应答(NAK),否则就发送数据帧。第20页SQLServer实用简明教程(第三版)第3章Transact-SQL语言4.1.5流量控制在控制通过传输链路的数据流量上采用两种方法:停等协议和滑动窗口协议。第21页SQLServer实用简明教程(第三版)第3章Transact-SQL语言1.停等协议在停等协议中,发送方每发出一帧后就等待一个应答帧如图4-8所示。只有当接收到应答信号后,才发送下一帧。这种发送和等待交替的过程不断重复,直到发送方发送了一个传输结束帧(EOT)。停等协议有点象我们在对讲机中对话:我们说一段话,在说“over”这个结束符之后,等待对方回答“OK,然后再说第段话。第22页SQLServer实用简明教程(第三版)第3章Transact-SQL语言停等协议第23页接收方发送方WT时间时间应答帧数据帧数据帧数据帧应答帧应答帧传输结束帧WTWTSQLServer实用简明教程(第三版)第3章Transact-SQL语言2.滑动窗口协议在流量控制的滑动窗口协议中,一次可以传输多个帧。在滑动窗口中的窗口一词是指一个发送方和接收方都要创建的额外缓冲区。这个窗口可以在收发两方存储数据帧,并且对收到应答之前可以传输的数据帧的数目进行了限制。可以不等待窗口被填满而在任何一点对数据帧进行应答,并且只要窗口未满就可以继续传输。第24页SQLServer实用简明教程(第三版)第3章Transact-SQL语言为记录哪一帧已经被传输以及接收了哪一帧,滑动窗口协议引入了一个基于窗口大小的标识机制。帧以模n方式标号,也就是说从0到n—1编号。例如,如果n=8,帧顺序标号就为:0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7,0,1..”窗口的大小是n-1。第25页SQLServer实用简明教程(第三版)第3章Transact-SQL语言当接收方发出一个应答帧(ACK),它就在其中包含了预期接收的下一帧编号。也就是为对以帧4结尾的一串数据帧进行应答,接收方就发送一个包含有编号5的应答帧。当发送方收到含有编号5的应答帧(ACK)时,它就知道了直到编号4为止的所有数据帧均已经被接收了。在两端的窗口都可以存储n-1帧,因此在必须接收一个ACK帧之前最多可以发送n-1帧。第26页SQLServer实用简明教程(第三版)第3章Transact-SQL语言发送窗口在传输的开始,发送方窗口有n-1帧。随着数据帧的发送,窗口的左边界向内移动,不断缩小窗口的大小。如果窗口大小是w,并且自从最近一次应答以来已经发送了三帧,那么在窗口中剩余的帧数是w-3。一旦一个应答帧(ACK)到来,窗口根据应答帧(ACK)中应答的数据帧的个数对窗口进行相同数目的扩展。如图4-10显示了一个大小为7的发送方窗口。第27页SQLServer实用简明教程(第三版)第3章Transact-SQL语言滑动窗口协议的发送和接收第28页70123456012576发送窗口7061234570612接收窗口每当发送1帧时这个边界向右移动1帧当接收到应答帧后这个边界一次向右移动若干帧。移动的距离是最后一次ACK帧中的编号和现在收到的ACK帧中的编号差值(模n)当接收一帧时这个边界向右移动1帧当发送一个ACK帧时这个边界一次向右移动若干帧。移动的距离是最后一次ACK帧中的编号和现在收到的ACK帧中的编号差值(模n)SQLServer实用简明教程(第三版)第3章Transact-SQL语言4.1.6错误控制1.错误类型这些错误类型通常被称为单比特错误,多比特错误和突发错误。其中,单比特错误最易出现,突发错误较不容易发生。多比特错误是指数据单元中两个或两个以上不连续的比特发生了改变从0变为1或是从1变为0。突发错误指数据单元中两个或两个以上连续的比特发生了改变从0变为1或是从1变为0。第29页SQLServer实用简明教程(第三版)第3章Transact-SQL语言2.错误检测冗余采用冗余比特来进行数据单元正确性验证的过程。当数据单元生成后,就通过一个设备来分析它并且加上相应的冗余校验编码。现在增加了若干比特的数据单元(在图中增加了七个比特)就通过链路传输到接收方。接收方将整个传输流输入到一个校验函数。如果接收的比特流通过了校验标准,数据单元的数据部分就被接收而冗余位则被丢弃。第30页SQLServer实用简明教程(第三版)第3章Transact-SQL语言冗余技术第31页1010000000010101010101011101接收拒绝生成函数校验函数数据冗余校验1011101101000000001010101010发送方接收方SQLServer实用简明教程(第三版)第3章Transact-SQL语言冗余校验技术在数据通信中采用四种类型的冗余校验技术:垂直冗余校验(VRC)(也称为奇偶校验),纵向冗余校验(LRC),循环冗余校验(CRC),以及校验和。前面三种,垂直冗余校验(VRC),纵向冗余校验(LRC),和循环冗余校验(CRC),是在物理层实现而被数据链路层使用的。而第四种技术,校验和技术,主要由网络层,包括国际互连网所使用,而在传输层实现的。第32页SQLServer实用简明教程(第三版)第3章Transact-SQL语言循环冗余码校验循环冗余码校验和与基于加法的VRC及LRC技术不同,循环冗余校验(CRC)是基于二进制除法的。给定一个m比特的帧或报文
本文标题:第4章数据链路层功能与协议
链接地址:https://www.777doc.com/doc-2109786 .html