数据链路层简介

文章目录

  • 一、基本概念
  • 二、主要功能
    • 1.封装成帧
    • 2.透明传输
    • 3. 差错控制
    • 4. 流量控制
    • 5. 链路管理
    • 认识MTU
  • 三、相关协议
    • 1. PPP协议
    • 2. ARP协议

一、基本概念

链路(Link):一个节点到另一个相邻节点的一段物理线路,中间没有任何其他节点。链路由传输介质和物理设备组成,传输介质主要有双绞线、光纤、微波。在两个计算机进行通信的时候,链路只是一条完整通信路径的一部分

数据链路(Data Link):把实现控制数据传输协议的硬件和软件加到链路上就构成了数据链路。

帧(frame):数据链路层把网络层交付的数据构成帧发送到链路上,把接收到的帧取出来,交给上层的网络层

信道类型

  • 点对点信道:使用一对一的通信方式,如ppp协议
  • 广播信道:一对多的广播通信方式,如CSMA/CD协议

数据链路层

  • 位于OSI参考模型的第二层,使用物理层提供的服务,向网络层提供服务,最基本的服务是将源自物理层来的数据可靠地传输到相邻节点的目标机网络层。
  • 定义了在单个链路上如何传输数据
  • 数据链路层以帧为单位,传输和处理数据。

二、主要功能

1.封装成帧

在一段数据的前后分别添加首部和尾部,然后就构成了一个帧,确定帧的界限。
接收方识别帧首后,就知道要开始读取数据了,一直到帧尾,就知道读取完成了。
数据链路层简介_第1张图片

2.透明传输

上述的过程,可能会存在数据帧的某个片段和帧首或者帧尾一样,会不会出错或者提前结束呢。

透明传输解决的问题就是:

需要在数据部分出现首部尾部相同的内容前面插入转义字符

如果数据部分出现转义字符,那么就在转义字符前面再加个转义字符,在接收端进行处理后可以还原出原始数据。

3. 差错控制

  • 为了保证数据传输的可靠性,在计算机网络传输数据时,必须采取各种差错检测措施,使差错被控制在所能允许的尽可能小的范围内。
  • 目前数据链路层广泛使用的是循环冗余校验CRC(Cyclic Redundancy Check),保证数据的无差错接收。

将CRC的余数作为FCS,在数据后面添加冗余码成为帧检验序列FCS。接收端收到数据后再进行一次CRC校验,余数为0,则认为没有出错。否则,丢弃数据。

  • 为了避免数据帧的丢失,引入计时器(Timer)来限定接收方发回反馈信息的时间间隔,当发送方发送一帧的同时也启动计时器,若在限定时间间隔内未能收到接收方的反馈信息,即计时器超时(Timeout),则可认为传的帧已出错或丢失,继而要重新发送。

由于同一帧数据可能被重复发送多次,为了防止发生这种危险,可以采用对发送的帧编号的方法,即赋予每帧一个信号,从而使接收方能从该序号来区分是新发送来的帧还是已经接收但又重新发送来的帧,以此来确定要不要将接收到的帧递交给网络层。数据链路层通过使用计数器和序号来保证每帧最终都被正确地递交给目标网络层一次。

4. 流量控制

对发送方数据流量的控制,使其发送率不致超过接收方所能承受的能力。通过一种反馈机制使得发送方了解接收方的能力,避免因为速度快而造成数据丢失。

5. 链路管理

数据连路层连接的建立维持和释放

主要用于面向连接的服务

当链路两端的节点要进行通信前,必须首先确认对方已处于就绪状态,并交换一些必要的信息以对帧序号初始化,然后才能建立连接,在传输过程中则要能维持该连接

如果出现差错,需要重新初始化,重新自动建立连接

传输完毕后则要释放连接。

认识MTU

  • MTU相当于发快递时对包裹尺寸的限制。这个限制是不同的数据链路对应的物理层,产生的限制。
  • 以太网帧中的数据长度规定最小46字节,最大1500字节,ARP数据包的长度不够46字节, 要在后面补填充位;
  • 最大值1500称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU;
  • 如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU了,则需要对 数据包进行分片(fragmentation);
  • 不同的数据链路层标准的MTU是不同的;

三、相关协议

1. PPP协议

数据链路层简介_第2张图片

  • 首部、尾部分别是4个字节和2个字节
  • 首尾部标志F:1字节,规定为0x7E,表示帧开始或结束位置
  • 首部地址字段A:1字节,规定为0xFF。
  • 控制字段C:规定为规定为0x03
  • 协议:2字节,标志封装于帧的数据字段中的协议。
  • 数据:零或者多字节,包含协议字段中指定协议的数据报。长度可变的,不超过1500字节。
  • 帧校验序列(FCS):通常为2字节

2. ARP协议

ARP协议建立了主机 IP地址 和 MAC地址 的映射关系

需要注意的是:ARP不是一个单纯的数据链路层的协议,而是一个介于
数据链路层和网络层之间的协议。

作用

  • 在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址
  • 数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃
  • 因此在通讯前必须获得目的主机的硬件地址

你可能感兴趣的:(网络)