《计算机网络ppt课件CH3链路层》由会员分享,可在线阅读,更多相关《计算机网络ppt课件CH3链路层(48页珍藏版)》请在金锄头文库上搜索。
1、1一、链路层功能一、链路层功能要解决的问题 如何在有差错的线路上,进行无差错传输。如何在有差错的线路上,进行无差错传输。ISO关于数据链路层的定义 数据链路层的目的是为了提供功能上和规程上的方数据链路层的目的是为了提供功能上和规程上的方法,以便建立、维护和释放网络实体间的数据链路。法,以便建立、维护和释放网络实体间的数据链路。节点(node):网络中的主机(host)和路由器(router)称为节点链路(link):通信路径上连接相邻节点的通信信道称为链路。数据链路层协议定义了一条链路的两个节点间交换的数据单元格式,以及节点发送和接收数据单元的动作。2数据链路控制规程 为使数据能迅速、正确、有
2、效地从发送点为使数据能迅速、正确、有效地从发送点到达接收点所采用的控制方式。到达接收点所采用的控制方式。数据链路层协议应提供的最基本功能 数据在链路上的正常传输(建立、维护和数据在链路上的正常传输(建立、维护和释放)释放) 数据的定界与同步,也处理透明性问题数据的定界与同步,也处理透明性问题 差错控制差错控制 顺序控制顺序控制 流量控制流量控制3为网络层提供三种合理的服务 无确认无连接服务,适用于无确认无连接服务,适用于误码率很低的线路,错误恢复留给高层;误码率很低的线路,错误恢复留给高层;实时业务实时业务大部分局域网大部分局域网 有确认无连接服务,适用于不可靠的信道,有确认无连接服务,适用于
3、不可靠的信道,如无线网。如无线网。 有确认有连接服务有确认有连接服务4二、二、 成帧(成帧(Framing)将比特流分成离散的帧,标识每个帧的起始与结束,将比特流分成离散的帧,标识每个帧的起始与结束,并计算每个帧的校验和。并计算每个帧的校验和。成帧方法:成帧方法:1 1) 字符计数法字符计数法在帧头中用一个域来表示整个帧的字符个数在帧头中用一个域来表示整个帧的字符个数缺点:若计数出错,对本帧和后面的帧有影响。缺点:若计数出错,对本帧和后面的帧有影响。6起始字符起始字符 DLE STX,结束字符,结束字符DLE ETX字符填充字符填充缺点:局限于缺点:局限于8位字符和位字符和ASCII字符传送。
4、字符传送。用特殊的字符作为帧头和帧尾 如:DLE STX My name is John DLE ETXDLESTX My name isJoneDLEETX10024D79206E616D65206973204A6F6E651003接收方一旦丢失了帧信息,只要查找接收方一旦丢失了帧信息,只要查找DLE STXDLE STX就可重新确定帧边界就可重新确定帧边界 如果数据中出现首尾字符,则插入重复的定界符如果数据中出现首尾字符,则插入重复的定界符2 2) 带字符填充的首尾字符定界法带字符填充的首尾字符定界法73 3) 带位填充的首尾标记定界法带位填充的首尾标记定界法u 帧的起始和结束都用一个特殊
5、的位串帧的起始和结束都用一个特殊的位串“01111110”,称为标记,称为标记(flag)。u 采用采用“0”比特插入删除技术比特插入删除技术插入的比特8u 只适用于物理层编码有冗余的网络只适用于物理层编码有冗余的网络u 如:如:802802标准的标准的LANLAN,物理层采用曼彻斯特或,物理层采用曼彻斯特或差分曼彻斯特编码差分曼彻斯特编码 用高用高- -低电平对低电平对/ /低低- -高电平高电平对表示对表示1/01/0,高,高- -高高/ /低低- -低电平对不表示数据,低电平对不表示数据,可以用来做定界符。可以用来做定界符。注意:在很多数据链路协议中,使用字符计数法注意:在很多数据链路协
6、议中,使用字符计数法和一种其它方法的组合。和一种其它方法的组合。4 4) 物理层编码违例法物理层编码违例法9三、三、 差错控制差错控制u 一般方法:接收方给发送方一个反馈(响应)一般方法:接收方给发送方一个反馈(响应)。u 出错情况出错情况 帧(包括发送帧和响应帧)出错;帧(包括发送帧和响应帧)出错; 帧(包括发送帧和响应帧)丢失帧(包括发送帧和响应帧)丢失u 通过计时器和序号保证每帧最终交给目的网通过计时器和序号保证每帧最终交给目的网络层仅一次是数据链路层的一个主要功能。络层仅一次是数据链路层的一个主要功能。10u 差错出现的特点:随机,连续突发(差错出现的特点:随机,连续突发(burstb
7、urst)u 处理差错的两种基本策略处理差错的两种基本策略使用纠错码:发送方在每个数据块中加入足使用纠错码:发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断接收到够的冗余信息,使得接收方能够判断接收到的数据是否有错,并能纠正错误。的数据是否有错,并能纠正错误。使用检错码:发送方在每个数据块中加入足使用检错码:发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断接收到够的冗余信息,使得接收方能够判断接收到的数据是否有错,但不能判断哪里有错。的数据是否有错,但不能判断哪里有错。11l 码字(码字(codeword):一个帧包括):一个帧包括m个数据位,个数据位,r个校验位,个校验位
8、,n = m + r,则此,则此n比特单元称为比特单元称为n位位码字。码字。l 海明距离(海明距离(Hamming distance):两个码字):两个码字之间不同的比特位数目。之间不同的比特位数目。例:0000000000 与0000011111的海明距离为5如果两个码字的海明距离为d,则需要d个单比特错就可以把一个码字转换成另一个码字;为了检查出d个错(单比特错),需要使用海明距离为 d + 1 的编码;为了纠正d个错,需要海明距离为 2d + 1 的编码;1) 纠错码纠错码12l 最简单的例子是奇偶校验最简单的例子是奇偶校验l 在数据后填加一个奇偶位(在数据后填加一个奇偶位(parity
9、 bit)例:使用偶校验(例:使用偶校验(“1”的个数为偶数)的个数为偶数)10110101 10110101110110001 101100010奇偶校验可以用来检查单个错误。奇偶校验可以用来检查单个错误。13使用纠错码传数据,效率低,适用于不可能重传的场合;使用纠错码传数据,效率低,适用于不可能重传的场合;大多数情况采用检错码加重传。大多数情况采用检错码加重传。循环冗余码(循环冗余码(CRC码,多项式编码)码,多项式编码)如:如:110001,可表示成多项式,可表示成多项式 x5 + x4 + 1生成多项式生成多项式G(x)发方、收方事前商定;发方、收方事前商定;生成多项式的高位和低位必须
10、为生成多项式的高位和低位必须为1生成多项式必须比传输信息对应的多项式短。生成多项式必须比传输信息对应的多项式短。CRC码基本思想码基本思想校验和(校验和(checksum)加在帧尾,使带校验和的帧的多)加在帧尾,使带校验和的帧的多项式能被项式能被G(x)除尽;收方接收时,用除尽;收方接收时,用G(x)去除它,若去除它,若有余数,则传输出错。有余数,则传输出错。2) 检错码检错码14四个多项式已成为国际标准四个多项式已成为国际标准CRC-12 = x12 + x11 + x3 + x2 + x + 1CRC-16 = x16 + x15 + x2 + 1CRC-CCITT = x16 + x12
11、 + x5 + 1CRC-32硬件实现硬件实现CRC校验校验网卡网卡NIC(Network Interface Card)完成)完成15 流量控制流量控制l 基于反馈机制基于反馈机制l 流量控制主要在传输层实现流量控制主要在传输层实现1)XON/XOFF方案。使用一对控制字符实现流量控制。发生过载时,接收方向发送方发送一个XOFF字符,使之暂停发送;状况消除后,再向发送方发送一个XON字符,使之恢复发送。2)滑动窗口。利用接收方缓冲区和发送方缓冲区来实现流量控制。通过限制已发送而尚未确认帧的数量,以实现对发送方的控制。 链路层的流量控制策略链路层的流量控制策略16u 工作原理工作原理 发送的信
12、息帧都有一个序号,从发送的信息帧都有一个序号,从0到某个最到某个最大值,大值,0 2n - 1,一般用,一般用n个二进制位表示;个二进制位表示; 发送端始终保持一个已发送但尚未确认的帧发送端始终保持一个已发送但尚未确认的帧的序号表,称为发送窗口。发送窗口的上界表的序号表,称为发送窗口。发送窗口的上界表示要发送的下一个帧的序号,下界表示未得到示要发送的下一个帧的序号,下界表示未得到确认的帧的最小编号。发送窗口大小确认的帧的最小编号。发送窗口大小 = 上界上界 - 下界,大小可变;下界,大小可变;四、滑动窗口(四、滑动窗口(Sliding Window Protocol)协)协议议17u 工作原理
13、(续)工作原理(续) 发送端每发送一个帧,序号取上界值,上界发送端每发送一个帧,序号取上界值,上界加加1;每接收到一个正确响应帧,下界加;每接收到一个正确响应帧,下界加1; 接收端有一个接收窗口,大小固定,但不一接收端有一个接收窗口,大小固定,但不一定与发送窗口相同。接收窗口的上界表示允许定与发送窗口相同。接收窗口的上界表示允许接收的序号最大的帧,下界表示希望接收的帧;接收的序号最大的帧,下界表示希望接收的帧; 接收窗口容纳允许接收的信息帧,落在窗口接收窗口容纳允许接收的信息帧,落在窗口外的帧均被丢弃。序号等于下界的帧被正确接外的帧均被丢弃。序号等于下界的帧被正确接收,并产生一个响应帧,上界收
14、,并产生一个响应帧,上界/下界都加下界都加1。接。接收窗口大小不变。收窗口大小不变。18滑动窗口原理示意图(设滑动窗口原理示意图(设WT=5,WR=3)(a) (b) (c) (d)01234567012345670123456701234567前沿后沿012345670123456701234567前沿01234567后沿(a) (b) (c) (d)发送方发送方接收方接收方19三个常见窗口协议三个常见窗口协议p发送窗口WT=1,接收窗口WR=1一位滑动窗口协议p发送窗口WT=7,接收窗口WR=1后退n帧的滑动窗口协议p发送窗口WT=4,接收窗口WR=4选择性重发滑动窗口协议201)停等协议
15、(一比特滑动窗口协议)p 协议特点 窗口大小:N = 1,发送序号和接收序号的取值范围:0,1; 可进行数据双向传输,信息帧中可含有确认信息(piggybacking技术); 信息帧中包括两个序号域:发送序号和接收序号(已经正确收到的帧的序号)p 存在问题能保证无差错传输,但是基于停等方式;若双方同时开始发送,则会有一半重复帧;效率低,传输时间长。21A发送(0,1,A0) Seq ackA发送A0,seq=0B收到(0,1,A0)B收到A0B发送(0,0,B0)B发送B0,并确认A0A收到(0,0,B0) A收到B0及对A0的确认A发送(1,0,A1) A发送A1及对B0的确认B收到(1,0
16、,A1) B收到A1及对B0的确认B发送(1,1,B1)B发送B1及对A1的确认A收到(1,1,B1) A收到B1及对A1的确认A发送(0,1,A2) A发送A2及对B1的确认B收到(0,1,A2) B收到A2及对B1的确认B发送(0,0,B2)B发送B2及对A2的确认A收到(0,0,B2) A收到B2及对A2的确认A发送(1,0,A3) A发送A3及对B2的确认B收到(1,0,A3) B收到A3及对B2的确认B发送(1,1,B3)停等协议的情况1:运行过程正常22A发送(0,1,A0) B发送(0,1,B0)B也已从网络层得到B0B收到(0,1,A0) B以为B0分组A没有收到B发送(0,0
17、,B0)所以B又重复B0分组A收到(0,1,B0) A以为A0分组B没有收到A发送(0,0,A0) 所以A又重复A0分组B收到(0,0,A0) B收到A0及对B0的确认B发送(1,0,B1)B发送B1及对A0的确认A收到(0,0,B0) A收到B0及对A0的确认A发送(1,0,A1) A发送A1及对B0的确认B收到(1,0,A1) B以为B1分组A没有收到B发送(1,1,B1)所以B又重复B1分组A收到(1,0,B1) A以为A1分组B没有收到A发送(1,1,A1) 所以A又重复A1分组B收到(1,1,A1) B发送(0,1,B2)停等协议的情况2:运行过程不正常232) 连续连续ARQ协议协
18、议p为提高传输效率而设计p停等协议的主要问题是信道利用率太低。发送端的等待时间至少是发送端到接收端传播时间的二倍p信道的利用率为:发送时间发送时间/来回时间来回时间p管道化(pipelining):在等待确认的时间内继续发送p存在的问题:若信道不可靠,使发送端在意识到数据丢失时,已有大量数据到达接收端24 例:卫星信道传输速率50kbps,往返传输延迟500ms,若传1000bit的帧,若使用停等协议,则传输一个帧所需时间为:发送时间 + 数据传输延迟 + 确认传输延迟(确认帧很短,可忽略发送时间)= 1000bit / 50kbps + 250ms + 250ms = 520ms 信道利用率
19、信道利用率 = 20 / 520 4% 对一般情况而言若信道带宽b比特/秒,帧长度L比特,往返传输延迟R秒,则信道利用率为 (L/b) / (L/b + R) = L / (L + Rb) 结论: 传输延迟大,信道带宽高,帧短时,信道利用率低。25 解决效率的办法解决效率的办法连续发送多帧后再等待确认,称为流水线技术连续发送多帧后再等待确认,称为流水线技术 带来的问题带来的问题信道误码率高时,对坏帧和非坏帧的重传非常多信道误码率高时,对坏帧和非坏帧的重传非常多p 两种常见的两种常见的连续连续ARQ方法方法u 退后退后n n帧(帧(go back ngo back n) 接收方从出错帧起丢弃所有
20、后继帧;接收窗口为接收方从出错帧起丢弃所有后继帧;接收窗口为1 1 对于出错率较高的信道,浪费带宽。对于出错率较高的信道,浪费带宽。u 选择重传(选择重传(selective repeatselective repeat) 接收窗口大于接收窗口大于1 1,先暂存出错帧的后继帧;,先暂存出错帧的后继帧; 只重传坏帧;对最高序号的帧进行确认;只重传坏帧;对最高序号的帧进行确认;接收窗口较大时,需较大缓冲区。接收窗口较大时,需较大缓冲区。26a) 退后n帧协议发送方有流量控制,为重传设缓冲区;发送窗口大小 = 接收窗口接收窗口 34选择性重传协议正常工作的情况发送窗口 = 接收窗口 = (MAX_S
21、EQ + 1) / 2增加了否定性确认NAK,当收到一个坏帧,或收到一个非期望的帧,则发一个NAK帧增加了一个辅助定时器,当收到一个正确的帧,而没有可捎带确认的数据帧,当辅助定时器超时,则立即发送一个ACK帧35五、常用的数据链路层协议五、常用的数据链路层协议数据链路层协议分类数据链路层协议分类p 面向字符的链路层协议面向字符的链路层协议 ISO的的IS1745,基本型传输控制规程及其扩,基本型传输控制规程及其扩充部分(充部分(BM和和XBM) IBM的二进制同步通信规程(的二进制同步通信规程(BSC) DEC的数字数据通信报文协议(的数字数据通信报文协议(DDCMP) PPP36p 面向比特
22、的链路层协议面向比特的链路层协议 IBM的的SNA使用的数据链路协议使用的数据链路协议SDLC(Synchronous Data Link Control protocol);); ANSI修改修改SDLC,提出,提出ADCCP(Advanced Data Communication Control Procedure);); ISO修改修改SDLC,提出,提出HDLC(High-level Data Link Control);); CCITT修改修改HDLC,提出,提出LAP(Link Access Procedure)作为)作为网络接口标准的网络接口标准的一部分,后来改为一部分,后来改为
23、LAPB。371) 高级数据链路控制规程高级数据链路控制规程HDLC 1976年,年,ISO提出提出HDLC(High-level Data Link Control) HDLC的组成的组成帧结构帧结构规程元素规程元素规程类型规程类型 使用使用HDLC的语法可以定义多种具有不同操作的语法可以定义多种具有不同操作特点的链路层协议。特点的链路层协议。 HDLC的适用范围的适用范围计算机计算机 计算机计算机计算机计算机 终端终端终端终端 终端终端38p HDLC的基本操作模式的基本操作模式 正规响应模式正规响应模式 NRM(Normal Response Mode)适用于点点式和多点式两种非平衡构型
24、。只有当适用于点点式和多点式两种非平衡构型。只有当主站向次站发出探询后,次站才能获得传输帧的许主站向次站发出探询后,次站才能获得传输帧的许可。可。 异步响应模式异步响应模式 ARM(Asynchronous Response Mode)适用于点点式非平衡构型和主站次站式平衡构适用于点点式非平衡构型和主站次站式平衡构型。次站可以随时传输帧,不必等待主站的探询。型。次站可以随时传输帧,不必等待主站的探询。 异步平衡模式异步平衡模式 ABM(Asynchronous Balanced Mode)适用于通信双方都是组合站的平衡构型,也采用异适用于通信双方都是组合站的平衡构型,也采用异步响应,双方具有同
25、等能力。步响应,双方具有同等能力。39HDLC的帧格式888=016801111110地址控制数据校验和01111110帧标志序列即01111110,作为帧的分隔标志,如线路空闲,则用标志序列填充,用位插入方法实现透明传输地址域在总线型多终端情况下,是终端的站号;在点对点的情况下,用来标志命令和响应控制域定义帧的类型、序号等和其它一些功能数据域用户数据,长度任意校验和CRC码,从地址字段到信息字段 402) 点对点协议点对点协议PPP Internet 中的网络互联其中的路由器R之间是通过点对点来连接的 InternetRRSPCPCPCPCRSPCPCPCPCR41普通家庭用户接入Inter
26、netInternetRSWPCPCServerISPAccess ServerPSTNPCPCMM远程家庭用户通过拨号与远程家庭用户通过拨号与ISP联接联接 42pPPP是Internet标准(RFC1661 1662 1663) 处理错误监测处理错误监测 支持多种协议(支持多种协议(IPIP、IPXIPX、DECnetDECnet等)等) 连接时允许协商连接时允许协商IPIP地址,允许动态分配地址,允许动态分配允许身份认证允许身份认证 提供差错校验提供差错校验以帧为单位发送,而不是原始以帧为单位发送,而不是原始IPIP包;包;43p 点到点协议 PPP 包括两部分 链路控制协议LCP(Li
27、nk Control Protocol)可使用多种物理层服务:modem,HDLC串线,SDH/SONET等 网络控制协议NCP(Network Control Protocol)可支持多种网络层协议p 帧格式与HDLC相似,区别在于PPP是面向字符的,采用字符填充技术44p PPP的帧格式的帧格式 PPP的帧格式类似于HDLC,但是面向字符的协议(以字节为单位) 1111/2可变可变2/41标志01111110地址11111111控制00000011协议有效载荷校验和标志01111110标志域:固定为01111110,与HDLC相同 地址域:固定为11111111 控制域:缺省为000000
28、11,即无序号帧(即毋需确认)协议域:不同的协议不同的代码 载荷域:可变长,缺省最长1500字节 校验和:缺省为2字节,也可为4字节,仅是头部的校验和 45p PPP的工作过程的工作过程发送端PPP首先发送LCP帧,以配置和测试数据链路 在LCP建立好数据链路并协调好所选设备之后,发送端PPP发送NCP帧,以选择和配置一个或多个网络协议 当所选的网络层协议配置好后,便可将各网络层协议的分组发送到数据链路上 配置好的链路将一直保持通信状态,直到LCP帧或NCP帧明确提示关闭链路,或有其它的外部事件发生(如用户干预等) 46p 一次使用一次使用PPP协议的过程协议的过程 初始状态 建立连接:建立成
29、功到,否则到 选项协商:协商成功到,否则到 身份认证:认证成功到,否则到 配置网络:网络配置完后到 数据传输:数据传输完后到 释放链路:回到 473) 以太网环境的点对点协议以太网环境的点对点协议PPPoE p PPPoE 可通过简单桥接设备连接远端接入设备p 可以利用以太网的共享介质特性连接多个用户主机p 是宽带接入需求的产物 PPPoE报文格式:加入的以太网报文头部PPP报文部分校验部分48常用数据链路层协议小结 主要数据链路层协议:主要数据链路层协议:HDLC(面向比特)和(面向比特)和PPP(面向字符)(面向字符) HDLC具有三种站,两种构型,三种操作模式具有三种站,两种构型,三种操作模式 X.25 LAPB是是HDLC的子集的子集 PPP 提供差错校验、支持多种协议、允许动态提供差错校验、支持多种协议、允许动态分配分配IP地址、支持认证地址、支持认证 PPP包括两部分:包括两部分:LCP和和NCP PPP帧没有序号域,不使用滑动窗口技术。帧没有序号域,不使用滑动窗口技术。