计算机网络 第3章 数据链路层

发布于:2024-09-18 ⋅ 阅读:(14) ⋅ 点赞:(0)

湖科大教书匠,学习的这个老师的视频。讲的非常好,PPT动画演示以及知识点都罗列的很清楚。听完之后受益良多。这次笔记记得很详细,有许多PPT直接截屏,方便后续复习。

在这里插入图片描述

数据链路层基本概念

数据链路层以为单位传输和处理数据。

  • 结点:主机、路由器
  • 链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。
  • 数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。
  • 帧:链路层的协议数据单元,封装网络层数据报。

数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。

数据链路层功能概述

数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。

  • 功能一:为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务。有连接一定有确认。
  • 功能二:链路管理,即连接的建立、维持、释放(用于面向连接的服务)。
  • 功能三:组帧。
  • 功能四:流量控制。
  • 功能五:差错控制。

封装成帧和透明传输

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

封装成帧的目的是为了在链路上以帧为单元来传送数据。在这里插入图片描述

接收方的数据链路层如何从物理层交付的比特流中提取一个个的帧?

  • 帧头和帧尾中包含有重要的控制信息
  • 帧头和帧尾的作用之一就是帧定界

并不是每一种数据链路层协议的帧都包含有帧定界标志。如上图,PPP帧的格式包含,以太网V2的MAC帧不包含。

对于以太网来讲,数据由数据链路层交付给物理层后,物理层会在帧前面加上8字节的前导码,然后再将比特流转化为电信号发送。以太网规定了帧间间隔,因此,MAC帧不需要帧结束定界符

在这里插入图片描述

帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。

透明传输是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。

  • 面向字节的物理链路使用**字节填充(或称为字符填充)**的方法实现透明传输。
  • 面向比特的物理链路使用零比特填充的方法实现透明传输。

转义字符是特殊的控制字符,其长度为1个字节,十进制值为27,而并不是E、S、C这三个字符。

组帧的四种方法

  1. 字符计数法
  2. 字符(节)填充法
  3. 零比特填充法
  4. 违规编码法

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

帧长度

在这里插入图片描述

差错检测

在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(Bit Error Rate)。

奇偶校验码

只能检查出奇数个比特错误,检错能力为50%

在这里插入图片描述

循环冗余码CRC

CRC(Cyclic Redundancy Check)

在这里插入图片描述

  • 收发双方约定好一个生成多项式G(x)
  • 发送方基于待发送的数据和生成多项式计算出差错检测码(冗余码),将其添加到带传输数据的后面一起传输
  • 接受方通过生成多项式计算收到的数据是否产生了误码

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 检错码只能检测出帧在传输过程中出现了差错,但并不能定位错误,因此无法纠正错误。
  • 要想纠正传输中的差错,可以使用余信息更多的纠错码进行前向纠错。但纠错码的开销比较大,在计算机网络中较少使用。
  • 循环冗余校验CRC有很好的检错能力0(漏检率非常低),虽然计算比较复杂,但非常易于用硬件实现,因此被广泛应用于数据链路层

可靠传输

在这里插入图片描述

在这里插入图片描述

可靠传输的三种机制

  • 停止-等待协议SW
  • 回退N帧协议GBN
  • 选择重传协议SR

这三种可靠传输实现机制的基本原理并不仅限于数据链路层,可以应用到计算机网络体系结构的各层协议中。

停止-等待协议SW(Stop and Wait)

在这里插入图片描述

注意事项:

  • 接收端检测到数据分组有误码时,将其丢弃并等待发送方的超时重传。但对于误码率较高的点对点链路,为使发送方尽早重传,也可给发送方发送NAK分组。
  • 为了让接收方能够判断所收到的数据分组是否是重复的,需要给数据分组编号。由于停止-等待协议的停等特性,只需1个比特编号就够了,即编号0和1。
  • 为了让发送方能够判断所收到的ACK分组是否是重复的,需要给ACK分组编号,所用比特数量与数据分组编号所用比特数量一样。数据链路层一般不会出现ACK分组迟到的情况,因此在数据链路层实现停止-等待协议可以不用给ACK分组编号
  • 超时计时器设置的重传时间应仔细选择。一般可将重传时间选为略大于“从发送方到接收方的平均往返时间”。
    • 在数据链路层点对点的往返时间比较确定,重传时间比较好设定。
    • 然而在运输层,由于端到端往返时间非常不确定,设置合适的重传时间有时并不容易。

停止-等待协议的信道利用率

在这里插入图片描述

补充:

  • 铜线中的电信号传播速率大约为2.3*108 m/s
  • 光纤中光信号的传播速度为2*108 m/s

光速为3*108 m/s。

为什么光纤传播速度低一些?

光纤的传播原理是光的全反射,所以实际走的距离大于光纤的长度,故速度会低于铜线的电信号传播速度。

  • 当往返时延RTT远大于数据帧发送时延TD时(例如使用卫星链路)。信道利用率非常低。
  • 若出现重传,则对于传送有用的数据信息来说,信道利用率还要降低。
  • 为了克服停止-等待协议信道利用率很低的缺点,就产生了另外两种协议,即后退N帧协议GBN选择重传协议SR

回退N帧协议GBN(GO Back N)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 回退N帧协议在流水线传输的基础上利用发送窗口来限制发送方连续发送数据分组的数量,是一种连续ARQ协议
  • 在协议的工作过程中发送窗口和接收窗口不断向前滑动,因此这类协议又称为滑动窗口协议
  • 由于回退N帧协议的特性,当通信线路质量不好时,其信道利用率并不比停止-等待协议高。

选择重传协议SR(Selective Request)

为了进一步提高性能,可设法只重传出现误码的数据分组。因此,接收窗口的尺寸WR不应再等于1(而应大于1),以便接收方先收下失序到达但无误码并且序号落在接收窗口内的那些数据分组,等到所缺分组收齐后再一并送交上层。这就是选择重传协议

注意:选择重传协议为了使发送方仅重传出现差错的分组,接收方不能再采用累积确认,而需要对每个正确接收到的数据分组进行逐一确认

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

点对点协议PPP

PPP协议是因特网工程任务组IETF在1992年制定的。经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准[RFC1661,RFC1662]。

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

PPP协议为在点对点链路传输各种协议数据报提供了一个标准方法,主要由以下三部分构成:

  • 对各种协议数据报的封装方法(封装成帧)
  • 链路控制协议LCP(用于建立、配置以及测试数据链路的连接)
  • 一套网络控制协议NCPs(其中的每一个协议支持不同的网络层协议)

在这里插入图片描述

在这里插入图片描述

透明传输

实现透明传输的方法

  • 面向字节的异步链路:字节填充法(插入“转义字符”)
  • 面向比特的同步链路:比特填充法(插入“比特0”)

在这里插入图片描述

在这里插入图片描述

差错检测

在这里插入图片描述

工作状态

在这里插入图片描述

媒体介入的基本概念

共享信道要着重考虑的一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制MAC(Medium Access Control)。

在这里插入图片描述

随着技术的发展,交换技术的成熟和成本的降低,具有更高性能的使用点对点链路和链路层交换机的交换式局域网在有线领域已完全取代了共享式局域网,但由于无线信道的广播天性,无线局域网仍然使用的是共享媒体技术。

静态划分信道

信道复用

  • 频分复用FDM
  • 时分复用TDM
  • 波分复用WDM
  • 码分复用CDM

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

随机接入——CSMA/CD协议

总线局域网使用的协议

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

随机接入——CSMA/CA协议

无线局域网使用的协议

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

MAC地址

  • MAC地址是以太网的MAC子层所使用的地址。(数据链路层)
  • IP地址是TCP/IP体系结构网际层所使用的地址。(网际层)
  • ARP协议属于TCP/IP体系结构的网际层,其作用是已知该设备所分配的IP地址,使用ARP协议可以通过该IP地址获取到设备的MAC地址。(网际层)

当多个主机连接在同一个广播信道上,想要实现两个主机之间的通信,则每个主机都必须有一个唯一的标识,即一个数据链路层地址。在每个主机发送的帧中必须携带标识发送主机和接收主机的地址。由于这类地址是用于媒体接入控制MAC(Media Access Control),因此这类地址被称为MAC地址。

在这里插入图片描述

  • MAC地址一般被固化在网卡(网络适配器)的电可擦可编程只读存储器EEPROM中,因此MAC地址也被称为硬件地址
  • MAC地址有时也被称为物理地址。请注意:这并不意味着MAC地址属于网络体系结构中的物理层!
  • 一般情况下,用户主机会包含两个网络适配器:有线局域网适配器(有线网卡)和无线局域网适配器(无线网卡)。每个网络适配器都有一个全球唯一的MAC地址。而交换机和路由器往往拥有更多的网络接口,所以会拥有更多的MAC地址。综上所述,严格来说,MAC地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识在这里插入图片描述
    在这里插入图片描述

IP地址

  • IP地址是因特网(Internet)上的主机和路由器所使用的地址,用于标识两部分信息:
    • 网络编号:标识因特网上数以百计的网络
    • 主机编号:标识同一网络上不同主机(或路由器各接口)
  • MAC地址不具备区分不同网络的功能
    • 如果只是一个单独的网络,不接入因特网,可以只使用MAC地址(这不是一般用户的应用方式)
    • 如果主机所在的网络要接入因特网,则IP地址和MAC地址都需要使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ARP协议

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ARP协议只能在一段链路或一个网络上使用,而不能跨网络使用

ARP的作用范围:逐段链路或逐个网络使用

在这里插入图片描述

集线器与交换机的区别

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以太网交换机自学习和转发帧的流程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

虚拟局域网VLAN

为什么引入VLAN?

为了解决网络中频繁出现广播信息。使用路由器分割广播域成本较高,VLAN技术应运而生。

网络中常见的广播信息:

  • TCP/IP协议栈中的很多协议都会使用广播:
    • 地址解析协议ARP(已知IP地址,找出其相应的MAC地址)
    • 路由信息协议RIP(一种小型的内部路由协议)
    • 动态主机配置协议DHCP(用于自动配置IP地址)
  • NetBEUl:Windows下使用的广播型协议
  • IPX/SPX:Novell网络的协议栈
  • AppleTalk:Apple公司的网络协议栈

分割广播域的方法:

  • 路由器可以分割广播域,成本较高
  • VALN技术

在这里插入图片描述

实现机制
在这里插入图片描述

  • 交换机的端口类型有以下三种
    • Access
    • Trunk
    • Hybrid(思科交换机没有这个端口,华为交换机私有)
  • 交换机各端口的缺省VLAN ID
    • 在思科交换机上称为Native VLAN,即本征VLAN。
    • 在华为交换机上称为Port VLAN ID,即端口VLAN ID,简记为PVID。

在这里插入图片描述
在这里插入图片描述

总结:连接主机的交换机端口应设置为Access类型,交换机之间互连的端口应设置为Trunk类型。

在这里插入图片描述
在这里插入图片描述