【计算机网络】:3-数据链路层

数据链路层

数据链路层主要处理单个链路上如何传输数据,并且向网络层向上提供服务

1. 数据链路层概述

1.1 术语介绍

image-20221011174611130

主机拥有全部的计算机网络结构,路由器只有一部分

各个路由器之间由物理层连接

红线为发送的信息

【计算机网络】:3-数据链路层_第1张图片

1.2 数据链路层的三个重要问题

  • 封装成帧

【计算机网络】:3-数据链路层_第2张图片

  • 差错检测(不仅仅需要在数据链路层要考虑的问题)

​ 在帧的传输过程中出现了误码,可以通过检错码进行检验

【计算机网络】:3-数据链路层_第3张图片

  • 可靠传输(不仅仅需要在数据链路层要考虑的问题)

    单独讲解,详见该博客

image-20221011175234859

  • 其他问题:使用广播信道的数据链路层

    当A给C传输数据时,如何确保C一定能够接收到数据

    通过添加MAC帧地址进行发送

【计算机网络】:3-数据链路层_第4张图片

2. 封装成帧

  • 封装成帧指数据链路层给上层交付的协议数据单元添加帧头和帧尾使其成为帧

    • 帧头和帧尾中包含有重要的控制信息

    【计算机网络】:3-数据链路层_第5张图片

    • 帧头和帧尾的作用之一是 帧定界(区分传输的时候一个个的帧)

    【计算机网络】:3-数据链路层_第6张图片

  • 透明传输

    • 面向字节的物理链路层使用字节填充的方法实现透明传输

    数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在

    (例如帧定界符与其内容相同的问题)

    红色:真正的帧定界符

    灰色:扫描到相同内容时插入转义字符

    【计算机网络】:3-数据链路层_第7张图片

    接收结果时扫描到转义字符将其剔除,还原为原本的内容

    • 面向比特的物理链路层使用比特填充的方法实现透明传输

    【计算机网络】:3-数据链路层_第8张图片

  • 为了提高帧的传输效率,应使帧的数据部分的长度尽可能的大

  • 每种数据链路层协议都规定了帧的数据部分的上限,即最大传输单元:MTU

【计算机网络】:3-数据链路层_第9张图片

3. 点对点协议PPP

3.1 概念及应用

  • 点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的点对点数据链路层协议

应用场景:

因特网

【计算机网络】:3-数据链路层_第10张图片

广域网

【计算机网络】:3-数据链路层_第11张图片

3.2 基本内容

  • 对于各种协议数据报的封装方法(封装成帧)

    • 帧格式

      【计算机网络】:3-数据链路层_第12张图片

  • 链路控制协议LCP

    用于建立配置已经测试数据链路的连接

    image-20221018161354174

  • 一套网络控制协议NCPs

    每一个协议支持不同的网络层协议

    image-20221018161326255

3.3 工作状态

【计算机网络】:3-数据链路层_第13张图片

4. 媒体接入控制(MAC)

协调多个发送与接收站点在一个通路里不冲突的使用

4.1 基本概念

【计算机网络】:3-数据链路层_第14张图片

媒体接入控制(MAC)的分类:

4.2 媒体接入控制——静态划分信道

【计算机网络】:3-数据链路层_第15张图片

复用和多址的概念:

某种程度上,多址可以看做是复用的应用

【计算机网络】:3-数据链路层_第16张图片

  • 信道复用

    【计算机网络】:3-数据链路层_第17张图片

    • 分类

      • 频分复用FDM

      【计算机网络】:3-数据链路层_第18张图片

      • 时分复用TDM

      image-20221018164637944

      • 波分复用WDM

      【计算机网络】:3-数据链路层_第19张图片

      • 码分复用

      可以在同样的时间使用不同码形,因此各个用户之间不会造成干扰

      【计算机网络】:3-数据链路层_第20张图片

      应用举例:

      【计算机网络】:3-数据链路层_第21张图片

4.3 MAC——随机接入——CSMA/CD协议

总线局域网使用的无限控制协议

载波监听多址接入/碰撞检测

【计算机网络】:3-数据链路层_第22张图片

早期的以太网使用该协议进行检测

  • 术语

    【计算机网络】:3-数据链路层_第23张图片

    • 争用期

    衡量是否可以发射信号的标准

    τ:单程端到端的传播时延

    • 最小帧长

    规定最小帧长为64字节

    最小帧长可以保证在帧发送完成之前就检验到该帧的发送过程中是否遭遇碰撞,如果在争用期(64字节)没有检测到碰撞,后续数据一定不会碰撞

    所以小于64字节的帧都将被抛弃

    • 最大帧长

    以太网V2的MCA帧尾1518字节

    插入VLAN标记后为1522字节

    如果帧太长,总线总会处于繁忙状态

  • 截断二进制指数退避算法

image-20221122102819363

例:

【计算机网络】:3-数据链路层_第24张图片

若多次发生重传,表示有较多的主机参与信道竞争

如果重传16次不成功,则丢弃改帧,并向高层汇报

  • 信道利用率

【计算机网络】:3-数据链路层_第25张图片

  • 帧发送流程图

【计算机网络】:3-数据链路层_第26张图片

  • 帧接收流程图

【计算机网络】:3-数据链路层_第27张图片

4.4 随机接入——CSMA/CA协议

无限局域网使用的无线控制协议,因为无线的不稳定性,还需使用停止等待协议对信息进行确认

载波监听多址接入/碰撞避免

不使用碰撞检测技术(CD),主要原因是无线信道的信号强度较小,检测碰撞较难,并且存在隐蔽站问题

所以802.11无线局域网使用CSMA/CA协议

  • 术语

    • 帧间间隔(IFS)

    所有站点必须在持续检测到信道空闲一段时间后才能发送帧

    【计算机网络】:3-数据链路层_第28张图片

    常用的两种:短帧间间隔SIFS(28μs)、DCF间间隔DIFS(128μs)

  • 工作原理

【计算机网络】:3-数据链路层_第29张图片

  • CSMA/CA协议的退避算法

【计算机网络】:3-数据链路层_第30张图片

例:

【计算机网络】:3-数据链路层_第31张图片

  • CSMA/CA协议信道预约

802.11标准允许对信道进行预约,使用请求发送(RTS)与允许发送(CTS)表示对信道进行预约

【计算机网络】:3-数据链路层_第32张图片

【计算机网络】:3-数据链路层_第33张图片

  • CSMA/CA协议虚拟载波监听

image-20221122114323409

【计算机网络】:3-数据链路层_第34张图片

5. MAC地址、IP地址、ARP协议

5.1 MAC地址

以太网的MAC子层所使用的地址

  • 当多个主机连接在同一个广播信道上,需要一个特定的数据链路层(MAC)地址
  • MAC地址也被称为硬件地址

帧中必须携带目的地址接收地址

  • IEEE 802局域网的MAC地址

【计算机网络】:3-数据链路层_第35张图片

  • 第一字节:

    • b0 ->

      • 0:单播

      由B发出,填入目的地址与源地址,该信号沿链路传播

      【计算机网络】:3-数据链路层_第36张图片

      • 1:多播

      由A发出,填入多播地址与源地址,该信号沿链路传播

      在每个主机中存有多播列表

      【计算机网络】:3-数据链路层_第37张图片

    • b1->

      • 0:全球管理
      • 1:本地管理
  • 广播MAC地址举例

由B发出,填入广播地址与源地址,该信号沿链路传播

image-20221122141609999

5.2 IP地址

TCP/IP的网际层所使用的地址

5.3 ARP协议

属于TCP/IP体系结构,作用是通过IP地址获取设备的MAC地址

  1. 首先在本地的ARP缓存中进行查找,如果未找到,则发送下述ARP请求

image-20221122142807184

【计算机网络】:3-数据链路层_第38张图片
  1. 在C接收到请求报文后回应其响应报文
【计算机网络】:3-数据链路层_第39张图片
  1. B将C的MAC地址收录到缓存中

tips:ARP协议只能在一个链路或者一个网路上使用

6. 集线器与交换机

6.1 集线器

使用集线器HUB取代同轴电缆,因为其更加可靠

【计算机网络】:3-数据链路层_第40张图片

  • 可以使用集线器HUB在物理层面扩展以太网

【计算机网络】:3-数据链路层_第41张图片

6.2 对比以太网交换机

  • 单播时:使用交换机可以不用将信息发送给全部连接

【计算机网络】:3-数据链路层_第42张图片

  • 多个主机向一个主机进行单播时不会发送碰撞
【计算机网络】:3-数据链路层_第43张图片

在交换机中缓存后依次送转发给目的主机

【计算机网络】:3-数据链路层_第44张图片

【计算机网络】:3-数据链路层_第45张图片

7. 以太网交换机自学习与转发帧的流程

  • 自学习:

将MAC地址记录在交换机的表中

【计算机网络】:3-数据链路层_第46张图片
  • 转发帧:

如果找不到B,则进行转发帧

【计算机网络】:3-数据链路层_第47张图片

B收到了该帧,对其进行回应:

【计算机网络】:3-数据链路层_第48张图片

该步骤循环往复

就可以自动学习MAC地址与接口的对应关系

例:

【计算机网络】:3-数据链路层_第49张图片

8. 以太网交换机生成树协议STP

为了提高以太网可靠性,又要避免网络环路带来的各种问题,所以使用树形结构

例如:

将一下物理连接的网络自动变为一个没有闭合环路的网络

【计算机网络】:3-数据链路层_第50张图片

9. 虚拟局域网VLAN

因为使用多个交换机互联会产生巨大的广播域,可能会导致:

  • 广播风暴
  • 难以维护

所以使用VLAN:将局域网内的设备划分成与物理位置无关的逻辑组的技术:

【计算机网络】:3-数据链路层_第51张图片

实现VLAN机制

首先需要在以太网交换机上实现:

  • IEEE 802.1Q帧

对原本的MAC格式进行了扩展,插入了4字节的VLAN

image-20221122162148252

image-20221122162725089

  • 交换机的端口类型

新概念:缺省 VLAN ID,在华为交换机上简称为PVID

有以下几种:

  • Access(连接主机的交换端口)
【计算机网络】:3-数据链路层_第52张图片

例:

【计算机网络】:3-数据链路层_第53张图片

  • Trunk(交换机之间的互联端口)

    【计算机网络】:3-数据链路层_第54张图片

    例:

    【计算机网络】:3-数据链路层_第55张图片

  • Hybrid(华为交换机特有的)

你可能感兴趣的:(计算机网络,网络,网络协议)