OSI体系结构——数据链路层详解
前言 数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,数据链路层是对物理层传输原始比特流的功能的加强,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一无差错的线路。为达到这一目的,数据链路必须具备一系列相应的功能。本文就数据链路层具有的功能进行相关介绍。 一、 数据链路的概念以及相关基础知识 上图为两台主机通过互联网进行通信时数据链路层所处的地位。 本文只关心在协议栈中水平防线的各数据链路层。当H1向H2发送数据时,我们可以想象数据就是在数据链路层从左向右水平传送的。于是在数据链路层的层面上,有如下链路:H1链路层→R1链路层→R2链路层→R3链路层→H2链路层 由此,我们引出了一些基本概念: 链路(link):一条无源的物理线路段,中间没有其他的交换结点。一条链路只是一条通路的一个组成部分。 数据链路(date link):除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。 现如今,最常用的方法就是使用网络适配器(网卡)来实现这些要求,一般网卡包含了数据链路层和物理层两层的功能。 数据在信道中传输,其在数据链路层中的数据单元叫做帧。 数据链路层把网络层交下来的数据封装成帧发送到链路上,并将收到的帧中的数据取出