第4章数据链路层功能与协议_第1页
第4章数据链路层功能与协议_第2页
第4章数据链路层功能与协议_第3页
第4章数据链路层功能与协议_第4页
第4章数据链路层功能与协议_第5页
已阅读5页,还剩120页未读, 继续免费阅读

下载本文档

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

文档简介

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

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

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

4、.2传输的同步传输的同步l 可见数据链路层的功能是为高层提供服务,但是首先得从底层物理层获得服务支持才能提供三种服务。l 物理层传输信号可靠性的理论模型支持主要是由数据链路来提供。传输信号的首要问题是通信的同步性。时钟漂移引起的问题时钟漂移引起的问题第10页第11页LOREM IPSUM DOLORl 解决上述同步问题的方法有两种。l 第一种称为异步法,发送方和接收方独立地产生时钟,但定期地进行同步。l 第二种方法称为同步方法,接收端时钟完全由发送方时钟控制,也就是说,接收方时间与发送方时钟是严格同步的。第12页1 异步方式异步方式l 在异步传输中,数据以字符为单元发送。每个字符的长度根据所使

5、用的编码方案可以是5-8位。启停位组帧格式启停位组帧格式第13页第14页2 同步方式同步方式l 在同步传输中,以一种稳定的流方式传送比特块,不使用开启和停止位编码。该数据块在长度上可以是许多位。l 帧用一个称为标志的前缀起始,以同样的标志作为后缀。接收方查看标志确定一个帧的开始。跟在前缀标志后面的是一定数目的控制段,然后是数据段(对于大多数协议都是可变长度)。在数据段后面还可以有控制段,最后仍是标志段。第15页4.1.3 数据链路层其他控制功能数据链路层其他控制功能l 线路规程之外,数据链路层中最重要的功能是流量控制、错误控制。这些功能都叫做数据链路控制。 第16页4.1.4 线路规程线路规程

6、l 线路规程可以以两种方式实现:询问/应答(ENQ/ACK)方式和轮询/选择方式。第一种方法在对等通信中采用,第二种方法在主从式通信中采用。1.询问询问/应答应答(ENQ/ACK)第17页第18页2. 轮询轮询/选择模式选择模式l 线路规程的轮询/选择模式是在以一个设备设计为主设备而其他设备为从设备的拓扑结构中采用的。多点连接系统必须在多个通信结点而不是仅仅两个之间进行协调。因此,在这类情形下,问题不仅仅是确定设备是否就绪,还要确定哪一个结点有权使用信道。l 如果从设备当前是激活的并且正在运行,它向主设备返回一个应答帧(ACK)。然后主设备就发送一个或多个数据帧,每帧的地址都是预期的从设备。多

7、点选择多点选择第19页第20页轮询轮询l 轮询功能是主设备请求从设备进行传输的。如上所述,在没有接到请求前,从设备是不许发送数据。所有控制都集中在主设备,多点连接系统保证一次只能存在一个传输,因此在没有优先协议的情况下也保证不出现信号冲突。当主设备准备好接收数据时,它必须依次询问每个设备发送数据。当询问到达第一个从设备时,如果没有数据要发送,必须回答否定应答(NAK),否则就发送数据帧。第21页4.1.5 流量控制流量控制l 在控制通过传输链路的数据流量上采用两种方法:停等协议和滑动窗口协议。第22页1. 停等协议停等协议l 在停等协议中,发送方每发出一帧后就等待一个应答帧如图4-8所示。只有

8、当接收到应答信号后,才发送下一帧。这种发送和等待交替的过程不断重复,直到发送方发送了一个传输结束帧(EOT)。停等协议有点象我们在对讲机中对话:我们说一段话,在说“over”这个结束符之后,等待对方回答“OK,然后再说第段话。停等协议停等协议第23页第24页2. 滑动窗口协议滑动窗口协议l 在流量控制的滑动窗口协议中,一次可以传输多个帧。在滑动窗口中的窗口一词是指一个发送方和接收方都要创建的额外缓冲区。这个窗口可以在收发两方存储数据帧,并且对收到应答之前可以传输的数据帧的数目进行了限制。可以不等待窗口被填满而在任何一点对数据帧进行应答,并且只要窗口未满就可以继续传输。第25页LOREM IPS

9、UM DOLORl 为记录哪一帧已经被传输以及接收了哪一帧,滑动窗口协议引入了一个基于窗口大小的标识机制。帧以模n方式标号,也就是说从0到n1编号。例如,如果n=8,帧顺序标号就为:0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7,0,1.”窗口的大小是n-1。第26页LOREM IPSUM DOLORl 当接收方发出一个应答帧(ACK),它就在其中包含了预期接收的下一帧编号。也就是为对以帧4结尾的一串数据帧进行应答,接收方就发送一个包含有编号5的应答帧。当发送方收到含有编号5的应答帧(ACK)时,它就知道了直到编号4为止的所有数据帧均已经被接收了。在两端的窗口都可以存储n-1帧

10、,因此在必须接收一个ACK帧之前最多可以发送n-1帧。第27页发送窗口发送窗口l 在传输的开始,发送方窗口有n-1帧。随着数据帧的发送,窗口的左边界向内移动,不断缩小窗口的大小。如果窗口大小是w,并且自从最近一次应答以来已经发送了三帧,那么在窗口中剩余的帧数是w-3。一旦一个应答帧(ACK)到来,窗口根据应答帧(ACK)中应答的数据帧的个数对窗口进行相同数目的扩展。如图4-10显示了一个大小为7的发送方窗口。滑动窗口协议的发送和接收滑动窗口协议的发送和接收第28页第29页4.1.6错误控制错误控制1. 错误类型错误类型l 这些错误类型通常被称为单比特错误,多比特错误和突发错误。其中,单比特错误

11、最易出现,突发错误较不容易发生。l 多比特错误是指数据单元中两个或两个以上不连续的比特发生了改变从0变为1或是从1变为0。l 突发错误指数据单元中两个或两个以上连续的比特发生了改变从0变为1或是从1变为0。第30页2. 错误检测错误检测冗余冗余l 采用冗余比特来进行数据单元正确性验证的过程。当数据单元生成后,就通过一个设备来分析它并且加上相应的冗余校验编码。现在增加了若干比特的数据单元(在图中增加了七个比特)就通过链路传输到接收方。接收方将整个传输流输入到一个校验函数。如果接收的比特流通过了校验标准,数据单元的数据部分就被接收而冗余位则被丢弃。冗余技术冗余技术第31页第32页冗余校验技术冗余校

12、验技术l 在数据通信中采用四种类型的冗余校验技术:垂直冗余校验(VRC)(也称为奇偶校验),纵向冗余校验(LRC),循环冗余校验(CRC),以及校验和。前面三种,垂直冗余校验(VRC),纵向冗余校验(LRC),和循环冗余校验(CRC),是在物理层实现而被数据链路层使用的。而第四种技术,校验和技术,主要由网络层,包括国际互连网所使用,而在传输层实现的。第33页循环冗余码校验循环冗余码校验l 循环冗余码校验和与基于加法的VRC及LRC技术不同,循环冗余校验(CRC)是基于二进制除法的。l 给定一个m比特的帧或报文,发送器生成一个r比特的序列,称为帧校验序列(FCS)。这样所形成的帧将由(m+r)比

13、特组成。这个帧刚好能被某个预先确定的数整除。接收器用相同的数去除外来的帧。如果无余数,则认为无差错。第34页冗余校验计算校验和的算法冗余校验计算校验和的算法l 设G(x)为r阶,在帧的末尾附加r个零,使帧为m+r位,则相应的多项式是xrM(x)。l 按模2除法用对应G(x)的位串去除对应xrM(x)的位串。l 按模2减法从对应于xrM(x)的位串减去余数(总是等于或小于r位)。结果就是要传送的带校验和的帧,叫多项式T(x)。第35页校验和校验和l 在高层协议中使用的错误检测技术称为校验和技术。和VRC、LRC以及CRC技术一样,校验和是建立在冗余概念上的。l 在发送方,校验和生成器将数据单元细

14、分成大小都为n(通常是16)比特的几段。这些分段采用反码加法算法加在一起,使得整个结果仍然是n比特长。该总和(校验和)随后取反并当作冗余位加在原始数据单元的末尾,称作校验和域。第36页3. 错误纠正错误纠正l 错误纠正可以通过两种方式进行。一种方式是当发现错误时,接收方可以让发送方重新发送整个数据单元。另一种方法是可以采用错误纠正码,自动纠正一些错误。l 理论上,可以自动纠正任何一种二进制编码错误。但是错误纠正码比错误检测码要复杂得多,并且需要占据更多的冗余比特位。纠正多比特错误和突发错误所需要的比特位数是如此巨大,因此在大多数情况下这样做是十分低效的。第37页单比特错误纠正单比特错误纠正l

15、通过检验最简单的情形:单比特错误,最容易对错误纠正的基本概念得到理解。l 为计算纠正一个给定数目(m)的数据比特所需要的冗余位的数目(r),必须找到m和r之间的关系。如果可传输单元的总比特数是m + r ,那么r必须能至少代表m + r + 1种状态。在这些状态中,一种状态代表没有错误,其他m + r 种状态代表在m + r 位每个位置上发生的错误。第38页LOREM IPSUM DOLORl 因此,必须能够通过r位来发现所有m + r + 1种状态,而r比特可以代表2r不同状态。因此,2r必须大于或等于m+r+1: 2r m + r + 1。r的值可以通过插入要传输的数据单元的原始长度m的值

16、来得到。例如,如果01的值是7(就如同七位ASCII码一样),满足上述公式的最小的r值是4。第39页海明码海明码l 在数据通信的过程中,解决差错问题的一种方法是在每个要发送的数据块上附加足够的冗余信息,使接收方能够推导出发送方实际送出的应该是什么样的比特串。通常,一帧是由m个数据位(即报文)和r个冗余位(或称校验位)组成。设总长度为n,则n = m + r,此长度为n位的单元常常被称作n位码字。第40页LOREM IPSUM DOLORl 假设有任意两个码字,10001001和10110001,可以确定有多少个不同的对应位。其中有3个不同位。为了确定有多少位不同,只需对两个码字进行异或运算。然

17、后计算结果中的1的位数。两个码字中不同的位的数目称作海明距离(1950年由Hamming提出)。这种海明距离的重要性在于如果两个码字的海明距离为d,那么只有出现d个单位差错才能将其中一个码字转换成另一个码字。第41页多比特错误纠正多比特错误纠正l 在互相重叠的数据比特组上计算的冗余位也可以用来纠正多比特错误。但是,纠正这些错误所需要的冗余比特数将大大高于纠正单比特错误的冗余比特数。例如,为纠正两比特错误,必须将整个序列中任意两个比特的组合情况考虑进来。三比特错误纠正就要考虑整个序列中的任意三比特组合。第42页4.1.7 差错控制差错控制l 数据通信中,在检测出差错之后就需要对差错进行控制,利用

18、编码方法进行差错控制的方法基本上有两类:自动请求重发(ARQ:Automatic Request for Repeat)和前向纠错(FEC:Forward Error Correction)。第43页1. 自动重复请求自动重复请求 l 在数据链路层错误纠正的实现是简单的:在一次交互中出现任何一个错误,一个否定应答NAK)就被返回并且对应的帧就被重新传输。这个过程被称作自动重复请求(ARQ)。l 在数据链路层的错误控制是基于自动重复请求(ARQ)的,这意味着三种情况下的数据重传:帧破坏,帧丢失,以及应答帧丢失。第44页2. 停等自动重复请求停等自动重复请求l 停等自动重复请求是包括了在丢失和损坏

19、帧情形下,数据重传的停等流量控制形式。为实现重传,在基本流量控制机制上要增加四种特性。第45页3. 滑动窗口自动重复请求滑动窗口自动重复请求l 在几种常见的连续传输错误控制机制中,有两种协议是最常见的:回退n自动重复请求和选择拒绝自动重复请求,两者都是基于滑动窗口流量控制协议的。为扩展滑动窗口协议来解决丢失和损坏帧的重发问题,需要在基本的滑动窗口流量控制上增加三种特性:第46页LOREM IPSUM DOLORl 其一,在发送出去的帧被应答消息确认前保持它们所有的备份。l 其二,除应答帧(ACK)外,如果数据帧被破坏,接收方还可以选择发送否定应答帧(NAK)。 NAK帧告诉发送方重新发送一个损

20、坏的帧。l 其三,和停等ARQ类似,在滑动窗口自动重复请求(滑动窗口ARQ)协议中的发送设备具有一个定时器来使发送方能够处理应答消息丢失的情况。第47页主要内容主要内容4.1 数据链路层功能4.2 数据链路层协议4.3 面向字符的协议4.4 面向比特的协议4.5 PPP协议4.6 PPPoe协议4.7 本章小结 第48页4.2 数据链路层协议数据链路层协议l 数据链路协议可以被细分为两组:异步协议和同步协议。异步协议对于比特流中的每个字符都单独处理。同步协议则将整个比特流当作一个整体并将其切分成大小相等的一个个字符串。l 在串行数据传输中,如果发送的数据可以被接收端立即打印显示或存储,就不需要

21、流控制。但是如果两端的操作存在速度的差异,就必须有流控措施。数据流匹配技术可以分为暂时数据存储法和数据流开关控制法两大类。后者又可以进一步分为RTS/CTS、XON/OFF和协议传送等子类。第49页LOREM IPSUM DOLORl 链路层同步协议可以分为面向字符(又称面向字节)和面向比特两种类型。l 大多数字符协议的控制段位于帧内不固定的位置,而比特协议的控制段通常都处于帧内的固定位置。更重要的是,字符协议和所用的代码有关,它用特定的代码(ASCII、EBCDIC等)来决定控制段的含义。l 比特协议对代码是透明的,因为对协议控制的解释是基于比特,而不是依赖某种特别的代码。第50页主要内容主

22、要内容4.1 数据链路层功能4.2 数据链路层协议4.3 面向字符的协议4.4 面向比特的协议4.5 PPP协议4.6 PPPoe协议4.7 本章小结 第51页4.3面向字符的协议面向字符的协议4.3.1 二进制同步通信协议二进制同步通信协议l 二进制同步传输协议(BSC)是常用的面向字符的数据链路协议,由IBM公司在1964年研制。该协议可以在点到点和多点线路配置中使用,支持采用停等ARQ流量控制和错误控制的半双工传输。BSC不支持全双工传输和滑动窗口协议。第52页4.3.2 BSC协议帧协议帧l BSC协议将传输分割成帧。如果一帧只能严格用于控制目的,就叫做控制帧。控制帧被用来在通信设备之

23、间交换信息。l 例如,建立初始连接,控制传输流,进行错误纠正请求,以及在会话结束时在设备之间断开连接等等都需要用控制帧来交换信息。如果一帧有部份数据或全部是数据的话,它被称为数据帧。数据帧被用来传输信息,但也可以包含可以应用到该信息上的控制信息。BSC数据帧数据帧第53页第54页LOREM IPSUM DOLORl 简单数据帧的格式。帧开头是一个或两个同步字符(SYN)。这些字符通知接收方有新的帧到来并为接收方提供一种可以用来与发送设备进行时钟同步的比特模式。从附录A中,可以发现ASCII码的SYN字符是0010110。字节的前导比特(第八位)常常用附加的0填充。两个同步字符在一起就如下:00

24、01011000010110。第55页LOREM IPSUM DOLORl 在两个同步字符之后是文本开始符(STX)。这个字符通知接收方控制信息结束,下一字节将是数据。数据或文本可以由不同数目的字符组成。l 一个文本结束符(ETX)指明了文本和进一步的控制字符之间的转换。最后,包含有用于错误检测的一个或两个被称作块校验计数符(BCC)的字符。一个BCC域是一个字节长度的纵向冗余校验码(LRC)或是两个字节的循环冗余校验码(CRC)。第56页数据透明性数据透明性l 在BSC协议中的数据透明性是通过一个叫做字节填充的过程实现的。l 它涉及到两种活动:通过数据链路转义符(DLE)定义透明文本区域以及

25、在透明文本区域内的DLE符之前加上附加DLE字符。定义透明区域,就需要在文本区域开始的STX符之前插入一个转义符DLE并且在文本区域结束的ETX符(或是ITB或ETB字符)前也插入一个转义符DLE。第57页LOREM IPSUM DOLORl 第一个DLE字符告诉接收方文本中可能有控制字符并要求忽略这些控制符。最后一个DLE字符告诉接收方透明区域结束了。如果透明区域内含有一个作为文本的转义符DLE,那么仍然会出现问题。在这种情况下,就在文本中的每个DLE字符前都再插入一个DLE字符。字节填充字节填充l 第58页第59页主要内容主要内容4.1 数据链路层功能4.2 数据链路层协议4.3 面向字符

26、的协议4.4 面向比特的协议4.5 PPP协议4.6 PPPoe协议4.7 本章小结 第60页4.4 面向比特的协议面向比特的协议4.4.1 高级数据链路控制协议高级数据链路控制协议l 高级数据链路控制(HDLC)是由国际标准化组织制定的,为支持在点到点和多点链路上的半双工和全双工通信而设计的,面向比特的有序链路级协议。l 在HDLC中,任何必须在两个站之间交换的控制信息都被放在传送帧的特别段中。这些段相对帧的边界有固定的位置。第61页1.站点类型站点类型l HDLC协议有三种不同类型的站点:主站点,从站点,以及复合站点。l 在HDLC协议中,主站点的功能与流量控制中主设备的功能是相同的。主站

27、点是在点到点或多点线路配置中对链路具有完全控制的结点设备。主站点发送命令到从站点。主站点发布命令,从站点进行响应。一个复合站点既可以发命令也可以进行响应。复合站点是一组互相连接的对等站点中的一个,这些站点被安排来根据传输的属性和方向的不同而按照主站点或从站点方式工作。第62页2. 配置配置 l 配置这个词是指链路上硬件设备的关系。设备可以按照主从方式或是对等方式组织。根据选择的交互模式的不同,对等设备可以同时是主设备或是从设备。主站点、从站点以及复合站点可以以三种方式配置:非平衡式,对称式,以及平衡式。任何一种配置都能够支持半双工和全双工传输。高级链路控制协议高级链路控制协议(HDLC)的设备

28、配置的设备配置第63页第64页3. 通信方式通信方式l HDLC协议中的方式就是在一次交互中涉及到的两个设备之间的关系,这种方式描述了由谁控制链路。通过非平衡配置进行的交互总是采用正常应答方式的。通过对称和平衡配置进行的交互可以通过为传递命令设计的帧(在关于U帧的一节中讨论)设置成特定的方式。HDLC协议支持站点间的三种不同通信方式:正常应答方式(NRM),异步应答方式(ARM),以及异步平衡方式(ABM)。l HDLC协议通信方式协议通信方式第65页第66页4.4.2 帧格式帧格式l 为了提供必要的灵活性来支持上述在通信方式和配置上的所有可能的选择,HDLC协议定义了三种类型的帧:信息帧(I

29、帧),监管帧(S帧),以及无序号帧(U帧)。HDLC帧类型帧类型第67页第68页LOREM IPSUM DOLORl 在HDLC协议中的每一帧可以包含最多六个域:一个开始标志域,一个地址域,一个控制域,一个信息域,一个帧校验序列(FCS)域,以及一个结束标志域。在多帧传输中,一帧的结束标志可能同时表示下一帧的开始标志。第69页1. 标志域标志域l HDLC协议帧的标志域是具有比特模式01111110的八比特序列,是表明帧的开始和结束并且为接收方当作同步模式服务的。如图4-34显示了在一个I帧中两个标志域的位置。HDLC标志域标志域第70页第71页2. 地址域地址域l 在HDLC协议帧中的第二个

30、域包含了帧的来源或终点的从站点地址(或者是以从站点方式运行的复合站点)。l 如果地址域只有一字节,最后一比特总是1。如果地址域有多个字节,除最后一字节外其他所有字节都要以0结尾,只有最后一字节以1结尾。以0结束每个中间字节向接收方指明了还有更多多的后续地址字节。HDLC协议中地址域协议中地址域第72页第73页3. 控制域控制域l 控制域是帧中一个字节或两个字节的分段,是用来进行流量管理的。此处将只限于讨论一字节的情况。两字节情况是类似的。l 根据帧类型不同,控制域也不同。如果控制域的第一个比特是0,该帧就是一个信息帧(1帧)。如果第一个比特是1而且第二个比特是0,就是一个监管帧(S帧)。如果第

31、一和第二个比特都是1,则意味着一个无序号帧(U帧)。所有这三种类型的帧的控制域都包含一个查询/结束(P/F)位。HDLC协议中控制域协议中控制域第74页第75页LOREM IPSUM DOLORl P/F位是具有双重功能的单个比特位。仅当该位被设置(比特值为1)时才是有意义的,意味着查询或结束。当帧是从主站点发送到从站点时(当地址域含有接收方地址时)它意味着查询。当帧是从从站点发送到主站点时(当地址域含有发送方地址时)它意味着结束。第76页4. 信息域信息域l 在I帧中,信息域包含了用户数据;在U帧中则包含了网络管理信息如图4-37所示。它的长度可以因网络而不同,但是在每一具体网络中总是固定的

32、。一个S帧没有信息域。第77页5. 帧校验序列帧校验序列(FCS)域域l 帧校验序列(FCS)是HDLC协议的错误检测域。它含有一个两字节或四字节的循环冗余校验码(CRC)。第78页4.4.3 关于帧的其他内容关于帧的其他内容1. S帧帧l S帧没有信息域,但每一帧都给接收方带去了消息。这些消息是建立在S帧类型的基础和传输上下文基础上的。每一个S帧的类型由设置在控制域中P/F位前面的两位编码确定。总共有四种S帧:接收方就绪(RR),接收方未就绪(RNR),拒绝(REJ),以及选择-拒绝(SREJ) 。HDLC协议中协议中S帧控制域帧控制域 第79页第80页2.U帧帧l U帧的命令和响应可以分成

33、五个基本功能类:方式设置,无序号交互,断开连接,启动,以及混杂形式,第81页4.4.4HDLC的子集及相关协议的子集及相关协议l HDLC主集的成功为它的一些子集的应用打下了基础。目前有几种HDLC的子集在工业界有重要的应用,如SDLC、LAP、LAPB、LAPD、LAPX、LLC以及LAPF等。如果一个DTE采用了一个HDLC类别定义的全部命令和响应,我们就称该DTE符合这个协议类别。l HDLC有三个基本类别。UN类,即非平衡的通用响应方式(NRM);UA类,即非平衡的异步响应方式(ARM);BA类,即平衡异步方式(ABM)。第82页主要内容主要内容4.1 数据链路层功能4.2 数据链路层

34、协议4.3 面向字符的协议4.4 面向比特的协议4.5 PPP协议4.6 PPPoe协议4.7 本章小结 第83页4.5 PPP协议协议4.5.1PPP协议的基本概念协议的基本概念1 PPP协议出现的背景协议出现的背景l PPP协议出现之前,SLIP(Serial Line Internet Protocol )协议曾经在Interne中广泛使用。SLIP协议的封装格式,通过在被发送IP数据报的尾部增加特殊的END字符(0 xC0 )从而形成一个简单的SLIP的数据帧,而后该帧会被传送到物理层进行发送。第84页2 PPP协议简介协议简介l PPP 提供了一种在点对点的链路上封装多协议数据报的标

35、准方法。它不仅能支持IP地址的动态分配和管理;同步或异步物理层的传输;网络层协议的复用;链路的配置、质量检测和纠错;而且还支持多种配置参数选项的协商。l PPP协议主要包括三部分:LCP(Link Control Protocol)链路控制协议、NCP(Network Control Protocol)和PPP的扩展协议。第85页4.5.2PPP协议的三组件协议的三组件1.PPP协议的封装协议的封装l PPP协议它也采用了HDLC的定界帧格式。如图所示PPP数据帧的封装格式。PPP数据帧的封装格式数据帧的封装格式第86页第87页LOREM IPSUM DOLORl PPP数据帧封装格式中,每一

36、个PPP数据帧均是以一个标志字节起始和结束的,该字节为0 x7E。紧接在起始标志字节后的一个字节是地址域,该字节为0 xFF。我们熟知网络是分层的,且对等层之间进行相互通信,而下层为上层提供服务。第88页2. LCP协议协议l 为了能适应复杂多变的网络环境,PPP协议提供了一种链路控制协议来配置和测试数据通信链路,它能用来协商PPP协议的一些配置参数选项;处理不同大小的数据帧;检测链路环路、一些链路的错误;终止一条链路。第89页3. NCP协议协议l PPP的网络控制协议根据不同的网络层协议可提供一族网络控制协议,常用的有提供给TCP/IP网络使用的IPCP网络控制协议和提供给SPX/IPX网

37、络使用的IPXCP网络控制协议等,但最为常用的是IPCP协议,当点对点的两端进行NCP参数配置协商时,主要是用来通信双方的网络层地址。4.5.3PPP链路的建立链路的建立1.PPP的状态转移图的状态转移图第90页第91页PPP需经历以下几个阶段需经历以下几个阶段l (1)链路不可用阶段,有时也称为物理层不可用阶段,PPP链路都需从这个阶段开始和结束。l (2)链路建立阶段,也是PPP协议最关键和最复杂的阶段。该阶段主要是发送一些配置报文来配置数据链路,这些配置的参数不包括网络层协议所需的参数。第92页LOREM IPSUM DOLORl (3)验证阶段,多数情况下的链路两端设备是需要经过认证后

38、才进入到网络层协议阶段,缺省情况下链路两端的设备是不进行认证的。在该阶段支持PAP和CHAP两种认证方式,验证方式的选择是依据在链路建立阶段双方进行协商的结果。第93页LOREM IPSUM DOLORl (4)网络层协议阶段,一旦PPP完成了前面几个阶段,每种网络层协议(IP、IPX和AppleTalk)会通过各自相应的网络控制协议进行配置,每个NCP协议可在任何时间打开和关闭。l (5)网络终止阶段,PPP能在任何时候终止链路。当载波丢失、授权失败、链路质量检测失败和管理员人为关闭链路等情况均会导致链路终止。第94页2 LCP协议协议l 一共包括12种LCP数据报文,依据各报文的的功能又将

39、其具体细化为以下三类:链路配置报文,主要用来建立和配置一条链路的。链路终止报文,主要用来终止一条链路的。链路维护报文,主要用来维护和调试链路的。第95页3 NCP协议协议l NCP协议的数据报文是在网络层协议阶段被交换的,在这个阶段所需的一些配置参数选项协商完后,就可以进行网络层的通信,也即是在点对点的链路上可以开始传送网络层的数据报文了。NCP协议主要包括IPCP、IPXCP等。第96页IPCPl IPCP控制协议主要是负责完成IP网络层协议通信所需配置参数的选项协商的。IPCP在运行的过程当中,主要是完成点对点通信设备的两端动态的协商IP地址。l IPCP控制协议的静态和动态的两个过程,实

40、际上两者的区分是在于互连设备IP地址的获取过程。第97页IPCP静态协商静态协商l 也即是不协商。点对点的通信设备两端在PPP协商之前已配置好了IP地址,所以就无须在网络层协议阶段协商IP地址,而双方唯一要做的就是告诉对方自身的IP地址。第98页IPCP动态协商动态协商l 一端配置为动态获取IP地址,另一端通过手动方式配置IP地址,且允许给对端分配IP地址,这个过程实际上可与窄带拨号上网的过程相一致,如果我们想用计算机上网,均会安装一个拨号适配器,而且计算机中的拨号网络适配器是采用动态获取IP地址的方式。第99页4.5.4LCP的可选配置参数的可选配置参数1 魔术字(魔术字(Magic-Num

41、ber)l 魔术字是在LCP的Config-Request报文中被协商的,并且可被其它一些其它类型的LCP数据报文所使用,如前面已经说过的Echo-Request、Echo-Reply报文和Quality-Protocol报文等。第100页2 认证协议认证协议l PPP协议也提供了可选的认证配置参数选项,缺省情况下点对点通信的两端是不进行认证的。在LCP的Config-Request报文中不可一次携带多种认证配置选项,必须二者择其一(PAP/CHAP。l PPP支持两种授权协议:PAP(Password Authentication Protocol)和CHAP(Challenge Hand

42、Authentication Protocol)。第101页PAP认证认证l PAP认证是两次握手,在链路建立阶段,依据设备上的配置情况,如果是使用PAP认证,则验证方在发送Config-Request报文时会携带认证配置参数选项,而对于被验证方而言则是不需要,它只需要收到该配置请求报文后根据自身的情况给对端返回相应的报文。 第102页CHAP认证认证l CHAP为三次握手协议,它只在网络上传送用户名而不传送口令,因此安全性比PAP高。l 在验证一开始,不像PAP一样是由被验证方发送认证请求报文了,而是由验证方向被验证方发送一段随机的报文,并加上自己的主机名,我们通称这个过程叫做挑战。l 当被

43、验证方收到验证方的验证请求,从中提取出验证方所发送过来的主机名,然后根据该主机名在被验证方设备的后台数据库中去查找相同的用户名的记录。第103页LOREM IPSUM DOLORl 当查找到后就使用该用户名所对应的密钥,然后根据这个密钥、报文ID和验证方发送的随机报文用Md5加密算法生成应答,随后将应答和自己的主机名送回,同样验证方收到被验证方发送回应后,提取被验证方的用户名,然后去查找本地的数据库,当找到与被验证方一致用户名后,根据该用户名所对应的密钥、保留报文ID和随机报文用Md5加密算法生成结果,和刚刚被验证方所返回的应答进行比较,相同则返回Ack,否则返回。第104页3. MRU(Ma

44、xium Receive Unit)l 这个配置参数选项主要是Config-Request报文的发送端告诉接收端,本端接收到的PPP数据帧的数据域的最大值。通常情况下这个参数选项使用默认值1500字节。l 当在某些特殊应用中,可能会使用到小于1500字节或大于1500字节的情况,这时在Config-Request报文就会携带要协商的MRU配置参数选项值。第105页4.5.5 PPP扩展协议扩展协议MP(Multilink Protocol)协议)协议l MP的协商较为特殊。MP配置参数选项的协商是在LCP协商过程中完成的,协商MP配置参数选项的目的完成以下几个过程:l 表明系统是否支持将多个物

45、理链路捆绑成一个逻辑链路。l 系统在多链路上接收到了对端发送的数据单元后,能够通过附加在这些数据之前的重组字段对这些分段的数据单元进行重组。第106页LOREM IPSUM DOLORl 逻辑链路为了能够提高传输的效率,可以不使用单一PPP物理链路上的最大接收单元,可以重新协商新的逻辑链路上使用的最大接收单元进行数据报文的发送和接收。l MP协议可以用来灵活的调整点对点系统之间的多条独立物理链路,它可为整个系统提供一个虚拟链路,虚拟链路的带宽是N个链路的捆绑之和(N1)。而对于被捆绑的链路并未做出特殊要求,可以将同步链路和异步链路进行捆绑,同样也可将低速链路和高速链路进行捆绑。第107页主要内

46、容主要内容4.1 数据链路层功能4.2 数据链路层协议4.3 面向字符的协议4.4 面向比特的协议4.5 PPP协议4.6 PPPoe协议4.7 本章小结 第108页4.6 PPPoe协议协议4.6.1 PPPOE协议的基本概念协议的基本概念l ETF的工程师们在秉承窄带拨号上网的运营思路,制定出了在以太网上传送PPP数据包的协议(Point To Point Protocol Over Ethernet)。l PPPOE协议提供了在类似于以太网的广播式的网络中,多台主机连接到远端的访问集中器(宽带接入服务器)上的一种标准。第109页PPPOE协议共包括两个阶段协议共包括两个阶段l PPPOE

47、的发现阶段(PPPOE Discovery Stage)和PPPOE的会话阶段(PPPOE Session Stage)。l 因为PPPOE的会话阶段类似于PPP的会话过程,两者的主要区别只是在PPP的数据报文前封装了PPPOE的报文头,所以可直接参照之前的PPP协议,而无论是哪一个阶段的数据报文最终会被封装成以太网的帧进行传送。第110页LOREM IPSUM DOLORl 当一个主机希望能够开始一个PPPOE会话时,它首先会在广播式的网络上寻找一个访问集中器,当然可能网络上会存在多个访问集中器时,对于主机而言则会根据各访问集中器(AC,Access Concentration)所能提供的服

48、务或用户的预先的一些配置来进行相应的选择。但在实际应用中情况更复杂,可能还要跨跃多点访问的网络,如ATM等,将会形成PPPOEOA的数据包。第111页LOREM IPSUM DOLORl 主机选择完了所需要的访问集中器后,就开始和访问集中器建立一个PPPOE会话进程。在这个过程中访问集中器会为每一个PPPOE会话分配一个唯一的进程ID,会话建立起来后就开始了PPPOE的会话阶段,在这个阶段中已建立好逻辑上点对点连接关系的双方,就采用PPP协议来交换数据报文,从而完成一系列PPP的过程,最终将在这点对点的逻辑通道上进行网络层数据报的传送。第112页4.6.2PPPOE的发现阶段的发现阶段l PP

49、POE的初始化过程是至关重要的,它不仅要在广播式的网络上确定一对一的逻辑关系,而且还要为PPPOE的会话阶段准备一些必要条件,如访问集中器唯一分配的会话ID(Session ID)。第113页 1.帧格式帧格式l 对于PPPOE的两大阶段,也正是通过以太网的类型域进行区分的。在PPPOE的发现阶段时,以太网的类型域填充0 x8863;而在PPPOE的会话阶段时,以太网的类型域填充为0 x8864。l 数据域(净载荷)主要是用来承载类型域中所指示的数据报文,在PPPOE协议中所有的PPPOE数据报文就是被封装在这个域中被传送。l 校验域,主要用来保证链路层数据帧传送的正确性。第114页2. PP

50、POE的数据报文格式的数据报文格式l 描述完了以太网的帧格式后,我们简要介绍一下PPPOE的数据报文格式。PPPOE的数据报文是被封装在以太网帧的数据域内的。为了方便理解,我们把PPPOE报文分成两大部分,一大部分是PPPOE的数据报头,另一部分则是PPPOE的净载荷(数据域),对于PPPOE报文数据域中的内容会随着会话过程的进行而不断改变。PPPOE报文的格式报文的格式第115页第116页LOREM IPSUM DOLORl PPPOE数据报文最开始的4位为版本域,这个域的内容填充0 x01。紧接在版本域后的4位是类型域,协议中同样规定,这个域的内容填充为0 x01。代码域占用1个字节,对于PPPOE 的不同阶段这个域内的内容也是不一样的。l 会话ID点用2个字节,当访问集中器还未分配唯一的会话ID给用户主机的话,则该域内的内容必须填充为0 x

温馨提示

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

评论

0/150

提交评论