计算机网络-数据链路层

kolbe 2021年10月07日 214次浏览

1 简介

数据链路层主要目的是在原始的有差错的物理传输线路上,采用差错检测、差错控制、流量控制等方法,将有差错的物理线路改造成无差错的数据链路,以便向网络层提供高质量的服务。

2 结构

在TCP/IP体系结构中数据链路层就一层,但在局域网体系结构中可细分为两层,分别为逻辑链路控制子层(Logical Link Control,LLC)和介质访问控制子层(Medium Access Control,MAC)。
image.png

2.1 SAP

SAP(Service Access Point服务访问点)指的是上层访问相邻下层所提供的服务点,是领层实体间实现相互通信的逻辑接口,位于两层边界处。每一层都有SAP,为每层的首字母加上SAP

  • PSAP(Physical layer Service Access Point):物理层SAP,指网络通信中设备的具体物理接口。
  • DLSAP(Data Link Control layer ServiceAccess Point):数据链路层SAP,指各个物理接口的MAC地址。
  • NSAP(Network layer Service Access Point):网络层SAP,指物理接口上配置的网络地址(如IP地址)。
  • TSAP(Transport layerService Access Point):传输层SAP,指网络应用通信所用的传输层端口。
  • SLSAP( Session layer Service Access Point):会话层SAP,指具体网络应用会话进程。
  • PLSAP(Presentation layer ServiceAccess Point):表示层SAP,指网络应用进程中的用户标识

image.png

2.2 MAC

MAC(Medium Access Control介质访问控制)主要用来控制不同用户数据传输中对物量层传输介质的访问,主要包括:

  • 数据帧的封装/卸装
  • 帧的寻址和识别
  • 帧的接收与发送
  • 帧的差错控制
  • 介质访问冲突控制

2.3 LLC

LLC(Logical Link Control逻辑链路控制)主要用来解决与传输介质访问无关的问题,为网络层提供服务,主要包括:

  • 逻辑连路的建立和释放
  • 提供网强行层接口(SAP)
  • 数据传输差错控制
  • 给数据帧加上传输序号

3 功能

3.1 数据链路管理

LLC层的边路管理主要针对面向有连接服务类型,主要分为三个阶段:

  • 链路的建立:首先确认对方已就绪,然后交换必要的信息进行初始化,最后建立连接
  • 链路的保持:传输过程中链路需要保持,出现差错需要重新建立连接
  • 链路的释放:传输完毕需要释放所占用的数据连接

3.2 封装成帧

3.2.1 数据包的帧封装

网络层传输的包在数据链路层中传输的是帧,网络层的包到达数据链路层后,数据链路层将在网络层的数据包前加帧头部和数据包尾部加帧尾部。数据包封装成帧时大小受数据链路层协议的MTU(Maximum Transfer Unit 最大传输单元)限制。
image.png

3.2.2 比特流的帧组装

比特流的帧组装目的是将物理层比特流组装成帧,常用的帧组装方法如下:

3.2.2.1 字节计数法

通过一个特殊字符代码帧开始,以一个专门字段标识当前帧字节数,通过这两个字段可以确定每个帧的结束位置。常用的面向字节计数同步的协议DDCMP(Digital DataCommunications Message Protocol,数字数据通信报协议),如下图所示,其中SOH字段代码帧开始,COUNT代表DATA字段大小
image.png

3.2.2.2 字符填充的首尾定界符法

3.2.2.3 比特填充的首尾定界符法

3.2.2.4 违法编码法

3.3 透明传输

3.4 差错控制