1.数据链路层最基本的服务是将源机网络层来的数据可靠的传输到相邻节点的目标机网络层,为达到这一目的,数据链路层必须具备一系列相应的功能,它们主要有:如何将数据组合成数据块,在数据链路层中将这种数据块称为数据帧,数据帧是数据链路层的传送单位,如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送数据速率以使之与接收方相匹配;在两个网络实体之间提供数据链路通路的建立,维持,释放和管理.2。基本数据链路协议停等协议:差错控制方法中的自动重发请求法即ARQ法有几种方案,重空闲发请求状语从句:连续重发请求的英文其中最基本的两种方案空闲重发请求方案也。称停等行业释义法律,该方案规定发送方每发送一数据帧后就要停下来等待接受方的确认返回,仅当接收方正确接受后再继续发送下一数 据帧,停等协议的实现程如下(1)发送方每次仅将当前信息帧作为待确认帧保存在缓冲存储器中,(2):当发送方开始发送信息帧时,赋予该信息帧一个帧序号,随即启动计时器; (3):当接收方收到无差错的信息帧后,即向发送方返回一个与该帧序号相同序号的ACK确认帧。(4):当接收方检测到一个含有差错的信息帧时,便宜弃该帧。(5):若发送方在规定时间内未收到ACK确认帧(即计时器超时),则应重发存于缓冲器中的待确认信息帧。 从以上的过程可以看出,停等协议的接受,发送双方仅需设置一个数据帧的缓冲存储空间和帧序号只取0或1的两个状态标志位,便可有效地实现数据重发并确保接受方接受的数据不会重份该方案最主要的优点就是所需缓冲存储空间最小,因此在链路端使用简单终端的环境中被广泛采用它最大的缺点是:。发送方要停下来等待ACK返回后再继续发送而造成的信道浪费.2 。顺序管道接受协议 (1)发送方连续发送信息帧而不必等待确认帧的返回;
(2)发送方在重发表中保存所发送的每个帧的备份;
(3)重发表按先进先出(FIFO)队列规则操作;
(4)接收方对每一个正确收到的信息帧返回一个确认帧;
(5)每一个确认帧包含一个唯一的序号,随相应的确认帧返回;
(6)接收方保存一个接收次序表,它包含最后正确收到的信息帧的序号;
(7)当发送方收到相应信息帧的确认帧后,从重发表中删除该信息帧的备份;
(8)接收方因某一帧出错,则对后面再发送来的帧均不接收而丢弃。话说,接收方只允许顺序接收,而发送方发现前面帧未收到确认信息,计时器已超时,不得不退回重发最后确认序号以后的帧,这种方法又称之为“回退N”策略的重发请求法
.Go-back-N策略的基本原理是,当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧 ,或者当发送方发送了Ñ个帧后,若发现该Ñ帧的前一帧在计时器超时区间内仍未返回其确认信息,则该帧被判定为出错或丢失,此时发送方就不得不重新发送该出错帧及其后的ñ帧。这就是回退ñ帧,因为对接收方来说,由于这一数据帧出错,就不能以正确的序号向它的高层递交数据,对其后发送来的n帧也可能都不能接收而丢弃.3。选择重传协议Go-back-N可能将已正确传送到目的方的一帧再重传一遍,这显然是一种浪费,另一种效率更高的策略是当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧。一旦收到重新传来的帧后,就可与原已存于缓冲区中的其余帧一并按正确的顺序递交高层,这种方法称为选择性重传。
选择重传协议也可以看成一种滑动窗口协议,只不过其发送窗口和接收窗口都大于1,若从滑动窗口的观点来统一看待停等,去退N及选择重传三种协议,它们的差别仅在于各自窗口尺寸的大小不同
而已。停等:发送窗口= 1,接收窗口= 1;
返回N:发送窗口> 1,接收窗口= 1;
选择重传:发送窗口> 1 ,接收窗口> 1 4.因特网的数据链路层协议在因特网上有两个被广泛使用的链路层协议,它们是串行线路IP协议(SLIP)和点到点协议(PPP)
SLIP:提供在串行通信线路上封装IP分组的简单方法,用以让远程用户通过电话线和MODEM能方便地接入TCP / IP网络。SLIP是一种简单的组帧方式,使用时还存在一些问题。首先SLIP不支持在连接过程中动态IP地址分配,通信双方必须事先告知对方IP地址,这给没有固定IP地址的个人用户上Internet网带来了很大的不便,其次,SLIP帧中无协议类型字段,因此它只能支持IP协议,再有,SLIP帧中无校验字段,因此链路层上无法检测出传输差错,必须由上层实体或具有纠错能力的MODEM来解决传输差错问题。
PPP协议:为了解决SLIP存在的 问题,在串行通信应用中又开发了PPP点到点协议,RFC1661定义了该协议,PPP具有处理错误检测,支持多个协议,允许在连接时刻协商IP地址,允许身份认证等功能,还有其他特性。
PPP提供了3类功能
(1)成帧:它可以毫无歧义地分割出一帧的起始和结束。其帧格式支持错误检测。
(2)链路控制:有一个称为LCP的链路控制协议,支持同步和异步线路,也支持面向字节的和面向 位的编码方法,可用于启动线路 ,测试线路,协商参数,以及关闭线路。
(3)网络控制:具有协商网络层选项的方法,并且协商方法与使用的网络层协议独立,所选择的方法对于每一种支持的网络层都有一个不同的NCP(网络控制协议)