• 3.1、数据链路层概述


    1、数据链路层在网络体系结构中所处的地位

    如下所示,主机 H1 给主机 H2 发送数据,中间要经过三个路由器和电话网、局域网以及广域网等多种网络

    从五层协议原理体系结构的角度来看:

    • 主机应具有体系结构中的各个层次
    • 而路由器只需具有体系结构中的下面三层
    • 各设备通过物理层下面的传输媒体进行互连

    image-20221123231921860

    当主机 H1H2 发送数据时

    • 主机 H1 将待发送的数据逐层封装后,通过物理层将构成数据包的各比特,转换为电信号发送到传输媒体
    • 数据包进入路由器后,由上往下逐层解封到网络层。路由器根据数据包的目的网络地址和自身转发表,确定数据包的转发端口,然后从网络层向下逐层封装数据包,并通过物理层将数据包发送到传输媒体。
    • 数据包最终到达主机 H2 时,还要由下往上逐层解封,最终解封出主机 H1 所发送的数据

    image-20221123232333113


    我们可以想象数据包只在数据链路层从左向右沿水平方向传送。

    从数据链路层来看,主机 H1H2 的通信,可以看成是在 4 段不同的链路上的通信组成的

    image-20221123232520712

    链 路 \color{red}链路 Link

    • 就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。

    要在链路上传输数据,还需要通信协议来控制这些数据传输

    数 据 链 路 \color{red}数据链路 (Data Link

    • 是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。

    在数据链路层上传输的数据包,又称为帧

    数据链路层以 帧 \color{red}帧 为单位传输和处理数据

    2、三个重要问题

    2.1、封装成帧

    如下所示,两台主机通过一段链路相连,两台主机都会对发送或接收的数据包进行五个层次的封装或解封。

    • 通过应用层封装成为应用层协议数据单元,然后交付给运输层

    • 运输层为其添加运输层协议首部,使之成为运输层协议数据单元,然后交付给网络层

    • 网络层为其添加网络层协议首部,使之成为网络层协议数据单元,然后交付给数据链路层

    • 数据链路层为其添加数据链路层协议首部(帧头),还要给其添加一个帧尾。

      image-20221123233317899

      • 我们将数据链路层给网络层交付的协议数据单元添加帧头和帧尾的操作,称为封装成帧

      • 添加帧头和帧尾的目的,都是为了在链路上以帧为单元来传送数据。

      • 也就是为了实现数据链路层本身的功能

      • 例如,以太网版本 2MAC 帧格式

        image-20221123233653082

    2.2、差错检测

    发送方将封装好的帧通过物理层发送到传输媒体。

    帧在传输过程中遭遇干扰后可能会出现误码

    • 也就是比特 0 可能变成了比特 1,反之亦然

    image-20221123233901836

    接受方主机如何判断帧在传输过程中是否出现了误码呢?

    • 可以通过检错码来发现

    • 发送方在发送帧之前,基于待发送的数据和检错算法计算出检错码,并将其封装在帧尾

    • 例如:以太网版本 2 的 MAC 的帧尾,就是 4 字节的帧检验序列 FCS 字段,

      要写入该字段的内容,也就是检测码。

      接收方主机收到帧后,就可以判断出帧在传输过程中是否出现了误码

    image-20221123234255725

    2.3、可靠传输

    接收方主机收到有误码的帧后,是不会接受该帧的,将其丢弃。

    • 若数据链路层向上层提供的是不可靠的服务,那么丢弃就丢弃了,不会再有更多措施。

    • 若数据链路层向上层提供的是可靠的服务,那就需要其他措施,来确保接受方主机还可以重新受到被丢弃的这个帧的正确副本

    image-20221123234522093

    注意:以上内容使用点对点信道的数据链路层

    3、其他需要解决的问题


    广播信道的数据链路层共享式局域网

    目的地址问题

    主机A,B,C,D,E 通过一根总线进行互连。主机 A 要给主机 C 发送帧。

    • 代表帧的信号会通过总线传输到总线上的其他各主机

    那么主机 B,D,E 如何知道所收到的帧不是发送给它们的,而主机 C 又如何知道所受到的帧恰恰是给自己的呢?

    • 就是将帧的目的地址添加在帧中一起传输。

      • 例如,以太网版本 2MAC 帧格式

        image-20221123233653082

      • 其首部中的三个字段中,又两个字段和地址相关。一个是目的地址字段,一个是源地址字段

        image-20221123235033685

    源地址问题

    当总线上多台主机同时使用总线来传输帧时,传输信号就会产生碰撞。

    这是采用广播信道的共享式局域网不回避免的。

    以太网采用的协调方法是:使用一种特殊的协议 CSMA/CD(载波监听多点接入/碰撞检测)

    image-20221123235323527


    交换式局域网

    随着交换技术的成熟和成本的降低,具有更高性能的,使用点对点链路和链路层交换机的交换式局域网,在有线局域网)领域已完全取代了共享局域网

    那么网络中的交换机是如何转发帧的呢?

    image-20221123235624272


    无线局域网

    另外,由于无线信道的广播天性,无线局域网仍然使用的是共享信道技术。

    例如:802.11 局域网采用的媒体接入控制协议是 CSMA/CA(载波监听多点接入/碰撞避免)。

    image-20221124000249872

    其工作原理又是怎样的呢?

  • 相关阅读:
    C51 - 定时器
    Vite创建React项目,另外一种更加简单的方法
    ELK企业级日志分析系统
    力扣labuladong——一刷day39
    Ant Design for Figma设计系统组件库 支持变量 非社区版
    Springboot集成Mybatisplus,轻松CRUD
    【洛谷】P5662 纪念品
    AVL树C++实现——高度平衡二叉搜索树
    插上u盘显示格式化怎么办?U盘数据恢复可以这样做
    SAR雷达系统反设计及典型目标建模与仿真实现研究——目标生成与检测(Matlab代码实现)
  • 原文地址:https://blog.csdn.net/qq_67720621/article/details/128010523