数据链路层定.pptx
《数据链路层定.pptx》由会员分享,可在线阅读,更多相关《数据链路层定.pptx(132页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据链路层数据链路层使用的信道主要有以下两种类型:点对点信道。这种信道使用一对一的点对点通信方式。广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发 第1页/共132页4.1 数据链路层的基本概念4.1.1 数据链路层的简单模型局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动第2页/共132
2、页数据链路层的简单模型(续)局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动第3页/共132页IP 数据报1010 0110帧取出数据链路层网络层链路结点 A结点 B物理层数据链路层结点 A结点 B帧(a)(b)发送帧接收链路IP 数据报1010 0110帧装入数据链路层传送的是帧第4页/共132页4.1.2 链路和数据链路 链路(link)是一条无源的点到点的物理线路段,中
3、间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分。数据链路(data link)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。第5页/共132页数据链路层像个数字管道 常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。结点结点帧帧第6页/共132页74.1数据链路层的基本概
4、念数据链路层的基本概念1 物理线路与数据链路物理线路与数据链路线路线路 链路链路逻辑线路逻辑线路 数据链路数据链路第7页/共132页4.2 三个基本问题(1)帧定界(2)透明传输(3)差错控制 第8页/共132页4.2.1 帧定界帧定界(framing)就是确定帧的界限。帧结束帧首部IP 数据报帧的数据部分帧尾部 MTU数据链路层的帧长从这里开始发送帧开始第9页/共132页用控制字符进行帧定界的方法举例 SOH装在帧中的数据部分帧帧开始符帧结束符发送在前EOT第10页/共132页4.2.2 透明传输SOHEOT出现了“EOT”被接收端当作无效帧而丢弃被接收端误认为是一个帧数据部分EOT完整的帧
5、发送在前第11页/共132页解决透明传输问题发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是 1B)。字节填充(byte stuffing)或字符填充(character stuffing)接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。第12页/共132页SOHSOHESCSOHEOTESCESCzESCyESCzESCx原始数据EOTEOT经过字节填充后发送的数据字节填充字节填充字节填充字节填充发
6、送在前帧开始符帧结束符用字节填充法解决透明传输的问题 第13页/共132页144.1 数据链路层的基本概念数据链路层的主要功能链路管理:数据链路的建立、维持和释放。帧同步 :以帧为单位进行传送,接收方能从收到的比特流中准确区分一帧的开始和结束在什么地方。也称为帧定界。流量控制:防止接收端被发送端淹没(overwhelm),速度匹配差错控制:在计算机通信中,一般都要求极低的比特差错率。为此,广泛的采样了编码技术。分为前向纠错和差错检测两种。第14页/共132页154.1 数据链路层的基本概念将数据和控制信息区分开透明传输:不管什么比特流,都能传输寻址:在多点连接的情况下,保证每一帧都能正确送到目
7、的地。收方也应知道发方是哪个站。n数据链路层协议数据链路层协议 为实现数据链路控制功能而为实现数据链路控制功能而制定的规程或协议。制定的规程或协议。第15页/共132页164.3 差错控制方法差错控制方法4.3.1 为什么要设计数据链路层为什么要设计数据链路层在原始物理传输线路上传输数据信号是有差错的;在原始物理传输线路上传输数据信号是有差错的;设计数据链路层的主要目的:设计数据链路层的主要目的:将有差错的物理线路改进成无差错的数据链路;将有差错的物理线路改进成无差错的数据链路;方法方法 差错检测差错检测 差错控制差错控制 流量控制流量控制作用:改善数据传输质量,向网络层提供高质量的服务。作用
8、:改善数据传输质量,向网络层提供高质量的服务。第16页/共132页17传输差错传输差错产生过程产生过程第17页/共132页184.3.2 差错控制编码原理和方法:q原理:q编码:在向信道发送数据前,先按照某种关系将信息位加上一定的冗余位(r位),构成一个码字再发送。q校验:接收端收到码字后查看信息位和冗余位,并检查它们之间的关系,以发现传输过程是否有差错发生。q检错码:能自动发现差错的编码。q纠错码:不仅能发现差错,且能自动纠错。q编码效率R:码字中信息位(k位)所占的比例。R=k/n=k/(k+r)是衡量编码性能好坏的一个重要参数编码效率越高,则信道中用来传送信息码元的有效利用率越高。第18
9、页/共132页19差错控制方法1.1.自动请求重发纠错自动请求重发纠错ARQ(Automatic-Repeat-reQuestARQ(Automatic-Repeat-reQuest)方法:方法:在发送端用编码器对发送数据单元进行差错编码,接收端收到码组后,按编码规则校验有无错码,并把校验结果通过反向信道反馈到发送端。如无错码,就反馈继续发送信号。如有错码,就反馈重发信号,发送端把前面发出的信息重新传送一次,直到接收端正确收到为止。只需用检错码只需用检错码必须有双向信道将差错通知对方必须有双向信道将差错通知对方发送方要有数据缓冲区,存放已发出的数据,以便出发送方要有数据缓冲区,存放已发出的数据
10、,以便出现差错可重新发送现差错可重新发送优点:检错码构造简单,插入的监督码位不多,设备不太复杂。缺点:实时性差,且必须有反向信道,通信效率低。第19页/共132页20差错控制机制差错控制机制 反馈重发机制反馈重发机制 第20页/共132页212.前向纠错方式FEC前向纠错方式FEC(Forward-Error Correction)方法:前向纠错系统中,发送端的信道编码器将输入前向纠错系统中,发送端的信道编码器将输入数据序列按某种规则变换成能够纠正错误的码,接收数据序列按某种规则变换成能够纠正错误的码,接收端的译码器根据编码规律不仅可以检测出错码,而且端的译码器根据编码规律不仅可以检测出错码,
11、而且能够确定错码的位置并自动纠正。能够确定错码的位置并自动纠正。所以,所以,FECFEC不求助于不求助于反向操作,故称为反向操作,故称为“前向纠错前向纠错”。优点:不需要反馈信道,也不存在由于反复重发而延误时间,实时性好。缺点:附加的监督码较多,传输效率低,纠错设备比检错设备复杂。第21页/共132页22混合方式HEC 发送端发送同时具有检错和纠错能力的码,接收端发送端发送同时具有检错和纠错能力的码,接收端收到码后,检查错误情况,如果错误少于纠错能力,收到码后,检查错误情况,如果错误少于纠错能力,则自行纠正;如果错误很多,超出纠错能力,但未超则自行纠正;如果错误很多,超出纠错能力,但未超出检错
12、能力,即能判决有无错码而不能判决错码的位出检错能力,即能判决有无错码而不能判决错码的位置,此时收端自动通过反向信道发出信号要求发端重置,此时收端自动通过反向信道发出信号要求发端重发发。q 在数据通信和计算机网络中,几乎都采用ARQARQ差错控制技术。在采用无线电信道的通信系统中,由于信道误码率较高,大多采用HECHEC方式的差错控制技术。3.混合方式HEC第22页/共132页23差错控制的基本方式差错控制的基本方式q 反馈校验 反馈校验方式又称回程校验。反馈校验方式又称回程校验。接收端把收到的数据序列原封不动地转发回发送端,发端将原发送的数据接收端把收到的数据序列原封不动地转发回发送端,发端将
13、原发送的数据序列与返送回的数据序列比较。如果发现错误,则发送端进行重发,直到发端序列与返送回的数据序列比较。如果发现错误,则发送端进行重发,直到发端没有发现错误为止。没有发现错误为止。优点:不需要纠错、检错的编解码器,设备简单。缺点:需要有双向信道,实时性差,且每一信码都相当于至少传送了两次,所以传输效率低。4.反馈检验第23页/共132页24图 差错控制的基本类型第24页/共132页254.3.3 检错码与纠错码检错码与纠错码 纠错码纠错码:每个传输的分组带上足够的冗余信息;每个传输的分组带上足够的冗余信息;接收端能发现并自动纠正传输差错。接收端能发现并自动纠正传输差错。检错码检错码:分组仅
14、包含足以使接收端发现差错的冗余信息;分组仅包含足以使接收端发现差错的冗余信息;接收端能发现出错,但不能确定哪一比特是错的,并且自己不能纠正传输差错。接收端能发现出错,但不能确定哪一比特是错的,并且自己不能纠正传输差错。第25页/共132页26常用的检错码常用的检错码奇偶校验码奇偶校验码 垂直奇(偶)校验垂直奇(偶)校验 水平奇(偶)校验水平奇(偶)校验水平垂直奇(偶)校验(方阵码)水平垂直奇(偶)校验(方阵码)循环冗余编码循环冗余编码CRC 目前应用最广的检错码编码方法之一目前应用最广的检错码编码方法之一第26页/共132页27常用的简单差错控制编码奇偶校验码通过增加冗余位来使码字中“1”的个
15、数保持奇数或偶数的编码方法是一种检错码可分为垂直奇偶校验、水平奇偶校验和水平垂直奇偶校验第27页/共132页28奇偶校验码(一):垂直奇偶校验将所要传输的数据进行分组,在每一组的信息位后增加一位冗余位,使每组检验码中“1”的个数成为奇数或偶数。偶检验:奇检验:发送顺序r1 r2 .rq冗余位第28页/共132页29可边发送边产生冗余位,并插入发送,或在接收时边接收边进行校验并去掉校验位。编码效率:R=p/(p+1)这种奇偶校验方法能检测出每列中所有奇数位的错,但检测不出偶数位的错。对于突发错误来说,奇数位错与偶数位错的概率接近于相等,因而对差错的漏检率接近于12。第29页/共132页30奇偶校
16、验码(二):水平奇偶校验 将所要传输的数据进行分组,对各组中同一位的数据进行校验,从而形成一组校验码。水平奇偶校验不但可以检测各段同一位上的奇数错,而且可以检测出突发长度p的所有突发错误。要等发送的完整信息块到齐后才能产生冗余要使用记忆寄存器它的编码和检测实现都要复杂一些。第30页/共132页31LRC-水平冗余检验水平冗余检验1110011111011101001110011010100110101010A block of bits is organized in a table(rows and columns)第31页/共132页32奇偶校验码(三):水平垂直奇偶校验q 同时进行水平奇
17、偶校验和垂直校验q检错能力q 检测出所有3位或3位以下的错误q 奇数位错q 突发长度 P+1的突发错误q 很大部分偶数位错q纠错能力q仅在某一行和某一列中奇数位错时,就能确定错码的位置在该行和该列的交叉处,从而纠正它第32页/共132页33 循环冗余码一般说来,纠错码的编码效率总不及检错码的编码效率,因而在通信中用得较多的还是检错码和ARQ方式。奇偶校验码作为一种检错码虽然简单,但是漏检率太高。在计算机网络和数据通信中,用得最广泛的检错码是一种漏检率低也便于实现的循环冗余码CRC(Cyclic Redundancy Code)。循环冗余检验的原理 第33页/共132页34常用的简单差错控制编码
18、循环冗余码 CRCCRC码又称为多项式码。码又称为多项式码。任何一个由二进制数位串组成的代码都可由一个只含有任何一个由二进制数位串组成的代码都可由一个只含有0 0和和1 1两个系数的多项式建立一一对应的关系。两个系数的多项式建立一一对应的关系。110001110001,表示成多项式,表示成多项式 x x5 5+x+x4 4+1+1第34页/共132页35循环冗余码(CRC)循环冗余码(CRC码,多项式编码)110001,表示成多项式 x5+x4+1生成多项式P(x)发方、收方事前商定;n次(n+1位)生成多项式的高位和低位必须为1生成多项式必须比传输信息对应的多项式短模2运算:加法不进位,减法
19、不去位,除法中的减法仍然采用模2运算第35页/共132页36循环冗余检验的原理 在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。假设待传送的数据 M=1010001101(共k bit)。我们在M的后面再添加供差错检测用的 n bit 冗余码一起发送。第36页/共132页37冗余码的计算 用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。得到的(k+n)bit 的数除以事先选定好的长度为(n+1)bit 的数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 至少要少1 个比特。第37页/共132页38冗余码的计算举例 设 n=5,
20、P=110101,模 2 运算的结果是:商 Q=1101010110,余数R=01110。将余数 R 作为冗余码添加在数据 M 的后面发送出去,即发送的数据是101000110101110,或 2nM+R。第38页/共132页39 1101010110 Q 商 除数 P 110101 101000110100000 2nM 被除数 110101 111011 110101 111010 110101 111110 110101 101100 110101 110010 110101 01110 R 余数循环冗余检验的原理说明 第39页/共132页40 举例举例:发送方接收方第40页/共132页
21、41CRC码基本思想校验和(checksum)加在帧尾,使带校验和的帧的多项式能被P(x)除尽;收方接收时,用P(x)去除它,若有余数,则检测传输出错。是否得出的余数为0,就一定没有差错?第41页/共132页帧检验序列 FCS 在数据后面添加上的冗余码称为帧检验序列 FCS(Frame Check Sequence)。循环冗余检验 CRC 和帧检验序列 FCS并不等同。CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。第42页/共132页接收端对收到的每一帧进行 CRC 检验(1)若得出的余数
22、 R=0,则判定这个帧没有差错,就接受(accept)。(2)若余数 R 0,则判定这个帧有差错,就丢弃。但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。第43页/共132页应当注意 仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(accept)。“无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”。也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。要做到“可靠传输”(即发送什么
23、就收到什么)就必须再加上确认和重传机制。第44页/共132页45标准标准CRC生成多项式生成多项式G(x)CRC-12 G(x)=x12+x11+x3+x2+x+1CRC-16 G(x)=x16+x15+x2+1CRC-CCITT G(x)=x16+x12+x5+1CRC-32 G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1 严格挑选,使用位数较多的除数,出现检测不到的差错的概率几乎为严格挑选,使用位数较多的除数,出现检测不到的差错的概率几乎为0第45页/共132页46Stop-and-Wait Protocol(SWP)GO B
24、ACK N(GBN)Selective Repeat Protocol(SRP)4.4 数据链路层协议第46页/共132页474.4.1 Stop-and-Wait Protocol(SWP)完全理想化的数据传输先研究一下数据链路层的模型。第47页/共132页4.4.1 Stop-and-Wait Protocol(SWP)数据链路层的简单模型局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来
25、看数据的流动完全理想化的数据传输先研究一下数据链路层的模型。第48页/共132页49数据链路层的简单模型(续)局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动第49页/共132页501.完全理想化的数据传输数据链路层主机 A缓存主机 B数据链路AP2AP1缓存发送方接收方帧高层帧4.4.1 Stop-and-Wait Protocol(SWP)第50页/共132页51完全理想
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据链 路层定
限制150内