资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2014/10/15 Wednesday,#,数据链路层的三个基本问题,数据链路层,链路,从一个节点到相邻节点的一段物理线路,而中间没有任何其他的交换节点。,在进行数据通信时,两个计算机之间的通信路径往往要经过许多段这样的链路。可见链路只是一条路径的组成部分。,数据链路,当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输。若把这些协议的硬件和软件加到链路上,就构成了数据链路。,链路与数据链路概念的区别?,链路与数据链路,其他,术语,将链路分为物理链路和逻辑链路。,物理链路就是之前我们所说的链路的概念。,逻辑链路是之前所述的数据链路的概念。,三个基本问题,封装成帧,透明传输,差错检测,数据链路层协议有许多种,但有三个基本问题则是共同的。这三个基本问题是:,封装成帧,封装成帧,在一段数据的前后分别添加首部和尾部,就构成帧。,为什么要添加首部,(SOH),和尾部,(EOT),?,帧定界,确定帧的界限。,包含必要的控制信息。,透明传输,当传送的帧是用文本文件组成的帧,(,文本文件中的字符都是从键盘上输入的,),时,其数据部分显然不会出现像,SOH(0x01),或,EOT(0x04),这样的帧定界控制字符。可见不管从键盘上输入什么字符都可以放在这样的帧中传输过去,因此这样的传输就是透明传输。,透明传输,当数据部分是非,ASCII,码的文本文件时,(,如二进制代码的计算机程序或图像等,),,如果数据中的某个字节的二进制代码恰好和,SOH,或,EOT,这种控制字符一样,数据链路层就会错误地找到帧的边界,把部分帧收下,而把剩下的那部分数据丢弃。,透明传输的解决方法,字节填充法,发送时插入某个字符;,接收时删除该字符;,差错检测,现实的通信链路都不会是理想的。比特在传输过程中会产生差错。,为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。,目前在数据链路层广泛使用了循环冗余校验,(CRC),的检错技术。,差错检测,数据链路层是否向网络层提供可靠传输服务?,可靠传输,数据链路层的发送端发送什么,在接收端就收到什么。,传输差错,比特差错,帧丢失,帧重复,帧失序。,在数据链路层使用,CRC,校验,能够实现无比特差错的传输,但这还不是可靠传输。,要达到可靠传输,需要在,CRC,校验的基础上,增加帧编号,确认和重传机制。,差错检测,历史上采用此方法,但现在的通信线路的质量已经大大提高,由通信链路质量不好引起差错的概率已经大大降低。因此,现在的因特网采用如下的方法。,因特网广泛使用的数据链路层协议都不使用确认和重传机制,即不要求数据链路层向上提供可靠传输的服务(因为这样付出的代价太高,不合算)。,如果在数据链路层传输数据时出现了差错并且需要进行改正,那么改正差错的任务就由上层协议,(,例如,运输层的,TCP,协议,),来完成。实践证明,这样做可以提高通信效率。,谢谢!,
展开阅读全文