在计算机网络的传输介质中,由于存在各种各样的干扰以及信号的衰减,物理层链路的输入并不可靠。而数据链路层的基木功能是向网络层提供服务,将物理层提供的不可靠的物理链路通过本层的协议变为逻辑上可靠的数据链路。所以,数据链路层必须具备以下主要功能。
1.链路管理
在面向连接服务中,两台计算机进行通信时,发送方必须确知接收方是处在准备接收数据的状态。为此,通信双方必须交换一些必要的信息,建立一条数据链路,并且为保证数据传输的可靠性,要做一些必要的准备(如帧序号的初始化);同时在传输数据时要维持数据链路(如当在数据通信过程中,出现差错时,需要重新初始化,重新建立连接);通信完毕时要释放数据链路,以期待建立下一次的连接。
数据链路的建立、维持和释放就叫做链路管理。 2.帧同步
在数据链路层,数据以帧为单位传送。物理层的比特流按照数据链路层协议的规定被封装在数据帧中传送。为此,接收方应该能够从物理层上传送过来的无结构的比特流中准确地区分出一帧的开始和结束,将这一功能称为帧同步。 3.帧的封装与拆装
在传输数据过程中,当发送方发现发送报文过长时,需要将过长的报文分成若干份分别进行传送,每一份配上一些数据链路层的控制信息换为一帧。数据传输时,以帧为单位的优点是当出现差错时可以只重新发送出差错的帧,而不需要将全部数据都重新发送。
源主机在发送数据时,要将从网络层传下来的分组附上目的地址等数据链路层控制信息构成帧,这个过程称为帧的封装。而到达目的主机时,将接收的数据信息传送网络层之前,要将发送方附上的数据链路控制信息去掉,将分组信息传送室网络层,这个过程称为帧的拆装。
4.流量控制
在数据信息发送过程中,通信双方的数据处理速度不同,为解决这一问题是在双方分别建立缓冲区,但当接收端缓存能力不足时,仍然会造成数据的丢失。
为了避免数据的丢失,源主机发送数据的速率必须使目的地主机能够来得及接收和处理;当目的地主机来不及接收时,就必须及时地控制发送端发送数据的速率。
另外,在传输过程中,由于出现差错和数据丢失等原因,目的地主机收到帧的顺序可能与源主机发送的顺序不同,在数据链路层实体将收到的信息上传送网络层之前,还需要调整接收到的帧的顺序。 5.差错控制
在源主机向目的地主机发送数据时,要求极低的误码率。因此,必须采用差错控制技术。差错控制技术要使目的地主机能够发现传送错误,并能纠正传输错误。
误码率是指发生错误的码元数与接收到的总码元数据的比率。因此,需要提供检测和纠正错误的功能,对于一些不可靠的系统,能够在数据链路层上及时发现和纠正错误,将提高系统的传输效率。、
在数据链路层广泛采用编码技术来实现差错的控制。编码技术有两大类:一类称为前向纠错方式,即目的地主机收到有差错的数据帧时,能够自动根据冗余码将差错纠正过来,但这种方法开销较大,不适合于计算机通信;另一类是检错重发方式,即目的地主机可以根据冗余码检测出收到的帧中是否有差错,但并不知道错在哪里,而是让发送端重复发送这一帧
直到正确接收为止,但重传的次数据也是有限制的,当重传多次仍然失败,便于工作作为不可恢复的故障向上层报告,这种方法是通信过程中最常用的。 6.区分数据信息及控制信息
由于数据和控制信息不仅在同一信道中传送,而且在许多情况下数据和控制信息还处于同一帧中,所以要采取相应措施使用目的地主机能将它们区别开来。 7.寻址
计算机网络结构错综复杂,在多点连接的情况下,要保证每一帧能传送到正确的目的结点。接收方也应当知道发送方是哪一个结点。
因篇幅问题不能全部显示,请点此查看更多更全内容