计算机网络原理数据链路层 引言 本章以是广域网为背景来讨论数据链路层协议的,但是,这里所涉及的许多内容对学习整个课程都是很重要的。比如:数据链路层的差错控制和流量控制同样出现在传输层和其它协议中,它们的原理是一致的。 局域网的数据链路层协议和广域网有一定差别,我们在后面的章节中再详细讲述。 目录 数据链路层简介 链路和数据链路 主要功能的概述 为网络层提供服务 成帧 帧介绍 字符计数法 带字符填充的首尾字符定界法 位填充的首尾标识法 物理层编码违例法 差错控制 差错控制简介 检错码(奇偶校验码和CRC码) 简介-链路与数据链路 链路(Link) 链路是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。 数据通信时,两个计算机之间的通路往往是由许多的链路串接而成的。 数据链路(Data Link) 两个相邻结点通信时,执行通信协议的硬件和软件及链路就构成了数据链路,确保数据在点到点中可靠传输 结点(node):网络中的主机(host)和路由器(router)称为结点 注意数据链路是解决点到点的问题,而不是端到端 一般都使用网卡来实现这些协议的硬件和软件,一般的网卡都包括了数据链路层和物理层这两层的功能 简介-链路与数据链路 简介-链路与数据链路 简介-链路与数据链路 链路与数据链路的差别 链路是物理链路,而数据链路是逻辑链路。 采用复用技术时,一条链路上可以有多条数据链路。 链路不可靠(可能出现差错),而数据链路是可靠的(链路出现差错,可以由数据链路中的控制协议纠正)。 链路连接的生存期是结点开机到结点关机时止;而数据链路连接的生存期是从通信开始到通信结束时止。 简介-数据链路层主要功能 数据链路层 它是OSI参考模型中的第二层,物理层和网络层之间。 它在物理层提供的服务的基础上向网络层提供服务。 数据链路层主要功能 简而言之:通过一些数据链路层算法和协议,在不太可靠的物理链路上实现可靠的数据传输。确保将源机网络层来的数据可靠地传输到相邻节点的目标机网络层。 为达到这一目的,数据链路必须具备一系列功能: 链路管理 帧定义 流量控制 差错控制 简介-数据链路层的主要功能 数据链路层的链路管理: 当网络中的两个结点要进行通信时,数据的发送方必须确知接收方是否已经处在准备接收的状态。为此,通信的双方必须先要交换一些必要的信息。用我们的术语,必须先建立一条数据链路。同样地,在传输数据时要维持数据链路,而在通信完毕时要释放数据链路。数据链路的建立、维持和释放就叫做链路管理。 数据链路层的帧定义: 在数据链路层,数据的传送单位是帧。数据一帧一帧地传送,就可以在出现差错时,将有差错的帧再重传一次,而避免了将全部数据都进行重传。 那么如何把网络层送来的数据重组加入一些控制信息变为数据链路层的帧就是帧定义需要解决的问题 简介-数据链路层的主要功能 数据链路层的流量控制: 发方发送数据的速率必须使收方来得及接收。快速的发送方不顾慢速的接收方的接受速度的差异,这样接收方根本来不及接受来得太快的数据,只好丢弃一些数据. 当收方来不及接收时,必须控制发送方发送数据的速率。 数据链路层的差错控制: 由于物理线路不可靠,因此发送方发出的数据帧有可能在线路上发生干扰出错或丢失从而导致接收方不能正确接收到数据帧。 检错编码:控制差错的数据编码技术有两大类。 一类是前向纠错,即收方收到有差错的数据帧时,能够自动将差错改正过来。这种方法的开销较大,不适合于计算机通信。 另一类是检错重发,即收方可以检测出收到的帧中有差错(但不知道是哪几个比特错)。于是就让发方重发送这一帧,直到收方正确收到这一帧为止。(本章内容) 重发:差错控制中还要处理,发送方超时等待的重发问题. 判断重复帧:重发的帧可能和超时延迟的原帧都到了接收方,接受方还需要判断重复帧的问题. 简介-数据链路层主要功能 数据链路层模型示意图 简介-数据链路层主要功能 数据链路层模型示意图 简介-数据链路层主要功能 简介-为网络层提供服务 数据链路层的服务通过有无连接和有无确认来区分 无确认无连接的服务 有确认无连接的服务 有确认有连接的服务 确认: 接收方在收到数据帧后,必须给发送方发回一个确认 面向连接: 发送方和接收方再传输数据之前必须建立一条数据链路,传输结束后必须释放该数据链路 简介-为网络层提供服务 无确认的无连接服务 事先(事后)不建立(释放)逻辑连接 从源到宿发送独立帧,不确认帧的到达 对丢失的帧不提供检测重传服务 适用于数据链路误码率较低的可靠通信(如局域网),也适用于网络电视,语音聊天等实时业务. 有确认的无连接服务 事先(事后)不建立(释放)逻辑连接 对从源发送的每一独立帧,宿确认其接收情况 在一定时间间隔内未收到确认则重发这一帧 适用于不可靠的通信(如无线通信) 简介-
原创力文档

文档评论(0)