# 数据链路层概述

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

1

# 链路、数据链路和帧

  • 链路(Link)是指从一个节点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他的交换节点。
  • 数据链路(Data Link)是基于链路的。当在一条链路上传送数据时,除需要链路本身,还需要一些必要的通信协议来控制这些数据的传输,把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
  • 计算机中的网络适配器(俗称网卡)和其相应的软件驱动程序就实现了这些协议。一般的网络适配器都包含了物理层和数据链路层这两层的功能。
  • 帧(Frame)是数据链路层对等实体之间在水平方向进行逻辑通信的协议数据单元 PDU。

# 数据链路层的三个问题

# 封装成帧和透明传输

  • 数据链路层给上层交付下来的协议数据单元 PDU 添加帧首部和帧尾部,这称为封装成帧。
    • 帧的首部和尾部中包含有一些重要的控制信息。
    • 帧首部和尾部的作用之一就是帧定界。
    • 以太网 v2 使用物理层添加前导码以及帧间隔(发送 96 比特所耗费的时间)来区分帧,没有帧首尾部
  • 为了提高数据链路层传输帧的效率,应当使帧的数据载荷的长度尽可能地大于首部和尾部的长度。
  • 考虑到对缓存空间的需求以及差错控制等诸多因素,每一种数据链路层协议都规定了帧的数据载荷的长度上限,即最大传送单元(Maximum Transfer Unit,MTU)。例如,以太网的 MTU 为 1500 个字节。

  • 如果能够采取措施,使得数据链路层对上层交付的 PDU 的内容没有任何限制,就好像数据链路层不存在一样,就称其为透明传输
    • 例如在帧定界符或数据载荷中的转义字符前加上转义字符
    • 面向字节的物理链路使用字节填充的方法实现透明传输。
    • 面向比特的物理链路使用比特填充的方法实现透明传输。
      2
      3
      4
  1. HDLC 协议对 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 组帧后对应的比特串为
    • 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 1 0
    • 0 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0
    • 0 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0
    • 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1
解答

高级数据链路控制协议 HDLC 采用帧首部和帧尾部中的标志字段作为帧定界符,其值为 0 1 1 1 1 1 1 0。
HDLC 为了实现 “透明传输”,采用 “零比特填充法”,即每五个连续比特 1 后面插入一个比特 0。

在某个数据链路层协议中使用下列字符编码:
其中,FLAG 作为帧定界符,ESC 作为转义字符。
A :0 1 0 0 0 1 1 1 B : 1 1 1 0 0 0 1 1 E S C :1 1 1 0 0 0 0 0 F L A G :0 1 1 1 1 1 1 0
假设帧的数据载荷为 4 个字符 A、B、ESC 以及 FLAG,请分别使用字符填充法和零比特填充法将其封装成帧。

解答

5

# 差错检测

  • 帧在传输的过程中可能出现误码
  • 接收方根据发送方添加在帧尾部中的检错码,可以检测出帧是否出现了误码即 FCS
  • 实际的通信链路都不是理想的,比特在传输过程中可能会产生差错(称为比特差错):
    • 比特 1 可能变成比特 0
    • 比特 0 可能变成比特 1
  • 在一段时间内,传输错误的比特数量占所传输比特总数的比率称为误码率(Bit Error Rate,BER)。
    • 提高链路的信噪比,可以降低误码率。但在实际的通信链路上,不可能使误码率下降为零。
    • 使用差错检测技术来检测数据在传输过程中是否产生了比特差错,是数据链路层所要解决的重要问题之一

# 奇偶校验

  • 奇校验是在待发送的数据后面添加 1 个校验位,使得添加该校验位后的整个数据中比特 1 的个数为奇数。
  • 偶校验是在待发送的数据后面添加 1 个校验位,使得添加该校验位后的整个数据中比特 1 的个数为偶数。
  • 数据位和校验位都变或有多位都变,检测不出错误
  • 在实际使用时,奇偶校验又可分为垂直奇偶校验、水平奇偶校验以及水平垂直奇偶校验。

# 循环冗余校验

  • 循环冗余校验 CRC 的基本思想:
    • 收发双方约定好一个生成多项式 G (X)。
    • 发送方基于待发送的数据和生成多项式 G (X),计算出差错检测码(冗余码),将冗余码添加到待发送数据的后面一起传输。
    • 接收方收到数据和冗余码后,通过生成多项式 G (X) 来计算收到的数据和冗余码是否产生了误码
      6
      7

# 可靠传输

# 可靠传输的相关基本概念

  • 使用差错检测技术(例如循环冗余校验 CRC),接收方的数据链路层就可检测出帧在传输过程中是否产生了误码(比特差错)。
  • 数据链路层向其上层提供的服务类型
    • 不可靠传输服务: 仅仅丢弃有误码的帧,其他什么也不做;
    • 可靠传输服务: 通过某种机制实现发送方发送什么,接收方最终就能收到什么
  • 一般情况下,有线链路的误码率比较低。为了减小开销,并不要求数据链路层向其上层提供可靠传输服务。即使出现了误码,可靠传输的问题由其上层处理。
  • 无线链路易受干扰,误码率比较高,因此要求数据链路层必须向其上层提供可靠传输服务

传输差错包含:

  1. 误码 (比特差错)
  2. 分组丢失:输入队列快满了主动丢弃收到的分组
  3. 分组失序:分组到达顺序与发送顺序不同
  4. 分组重复:路由器繁忙分组在输入队列中等待较长时间 + 超时重发
  • 可靠传输服务并不局限于数据链路层,其他各层均可选择实现可靠传输。
  • 可靠传输的实现比较复杂,开销比较大,是否使用可靠传输取决于应用需求。

# 停止 - 等待协议

8

  • 接收方收不到数据分组,就不会发送相应的 ACK 或 NAK。
  • 如果不采取措施,发送方就会一
    直处于等待接收方 ACK 或 NAK
    的状态。
  • 为解决上述问题,发送方可在每发送完一个数据分组时就启动一个超时计时器(Timeout Timer)。
  • 若到了超时计时器所设置的超时重传时间(Retransmission Time- Out,RTO),但发送方仍未收到接收方的 ACK 或 NAK,就重传之前已发送过的数据分组。
  • 一般可将超时重传时间 RTO 设置为略大于收发双方的平均往返时间 RTT。
  • 为了避免分组重复这种传输错误,必须给每个分组带上序号。
  • 同样的,确认分组也要带上序号
    9

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

10

  1. 主机甲采用停 - 等协议向主机乙发送数据,数据传输速率是 3kbps,单向传播延时是 200ms,忽略确认帧的传输延时。当信道利用率等于 40% 时,数据帧的长度为
    • 240 比特
    • 400 比特
    • 480 比特
    • 800 比特

# 回退 N 帧协议

11

  • 发送方需要维护一个发送窗口 W_T ,在未收到接收方确认分组的情况下,发送方可将序号落入 W 内的所有数据分组连续发送出去。
    • 采用 n 个比特给分组编序号,则 W_T 的取值范围是 1<W_T ≤ (2^n-1)。本例假设采用 3 个比特给分组编序号,则 W 的取值范围是 2~7,本例取 W = 5
    • 若 n=1, 即为停止等待协议
  • 接收方需要维护一个接收窗口 W_R, 只有正确到达接收方(无误码)且序号落入 W_R 内的数据分组才被接收方接收
    • W_R 的取值只能是 1,这一点与停止 - 等待协议是相同的。
  • 接收方每正确收到一个序号落入接收窗口的数据分组,就将接收窗口向前滑动一个位置,这样就有一个新的序号落入接收窗口。与此同时,接收方还要给发送方发送针对该数据分组的确认分组。
  • 发送方每收到一个按序确认的确认分组,就将发送窗口向前滑动一个位置,这样就有一个新的序号落入发送窗口,序号落入发送窗口内的数据分组可继续被发送。
  • 在回退 N 帧协议的工作过程中,发送方的发送窗口和接收方的接收窗口按上述规则不断向前滑动。因此,这类协议又称为滑动窗口协议
  • 一个数据分组的差错就可能引起大量数据分组的重传。在信道质量较差(容易出现误码)的情况下,回退 N 帧协议的信道利用率并不比停止 - 等待协议的信道利用率高。
  • 回退 N 帧协议的接收方采用累积确认方式。
    • 接收方不必对收到的每一个数据分组都发送一个确认分组,而是可以在收到几个序号连续的数据分组后,对按序到达的最后一个数据分组发送确认分组。
    • 接收方何时发送累积确认分组,由具体实现决定。
    • 确认分组 ACKn 表明序号为 n 及之前的所有数据分组都已正确接收。
  • 累积确认的优点
    • 减少向网络中注入确认分组的数量。
    • 即使确认分组丢失,也可能不必重传数据分组。
  • 累积确认的缺点
    • 不能向发送方及时准确地反映出接收方已正确接收的所有数据分组的数量。
  1. 数据链路层使用后退 N 帧(GBN)协议,发送方已经发送了编号 0~7 的帧。当计时器超时时,若发送方只收到了 0、2、3 号帧的确认,则发送方需要重发的帧数是

    • 2
    • 3
    • 4
    • 5
  2. 主机甲与主机乙之间使用后退 N 帧(GBN)协议传输数据,甲的发送窗口尺寸为 1000,数据帧长为 1000 字节,信道带宽为 100Mbps,乙每收到一个数据帧就立即利用一个短帧(忽略其传输延迟)进行确认,若甲乙之间的单向传播延迟是 50ms,则甲可以达到的最大平均数据传输速率约为

    • 10Mbps
    • 20Mbps
    • 80Mbps
    • 100Mbps
解答

12

# 选择重传协

13

  • 为了使发送方仅重传出现差错的数据分组,接收方不再采用累积确认,而需要对每一个正确接收的数据分组进行逐一确认
  1. 数据链路层采用选择重传协议(SR)传输数据,发送方已发送了 0~3 号数据帧,现已收到 1 号帧的确认,而 0、2 号帧依次超时,则此时需要重传的帧数是
    • 1
    • 2
    • 3
    • 4

# 点对点协议

  • 点对点协议(Point-to-Point Protocol,PPP)是目前使用最广泛的点对点数据链路层协议。
  • 点对点协议 PPP 是因特网工程任务组(Internet Engineering Task Force,IETF)于 1992 年制定的。经过多次修订,目前 PPP 已成为因特网的正式标准 [RFC1661,RFC1662]。
  • 点对点协议 PPP 主要有两种应用:
    • PPPoE
    • 广域网链路
      14

# 帧格式

15

# 透明传输

16
17

# 差错检测

18
接收方每收到一个 PPP 帧,就进行 CRC 检验。若 CRC 检验正确,就收下这个帧;否则,就丢弃这个帧。
使用 PPP 的数据链路层,向上提供的是不可靠数据传输服务

# 工作状态

19

# 共享式以太网

# 网络适配器和 MAC 地址

  • 要将计算机连接到以太网,需要使用相应的网络适配器(Adapter),网络适配器一般简称为 “网卡”。
    20
  • 在计算机内部,网卡与 CPU 之间的通信,一般是通过计算机主板上的 I/O 总线以并行传输方式进行。
  • 网卡与外部以太网(局域网)之间的通信,一般是通过传输媒体(同轴电缆、双绞线电缆、光纤)以串行方式进行的。
  • 网卡除要实现物理层和数据链路层功能,其另外一个重要功能就是要进行并行传输和串行传输的转换。由于网络的传输速率和计算机内部总线上的传输速率并不相同,因此在网卡的核心芯片中都会包含用于缓存数据的存储器。
  • 在确保网卡硬件正确的情况下,为了使网卡正常工作,还必须要在计算机的操作系统中为网卡安装相应的设备驱动程序。驱动程序负责驱动网卡发送和接收帧。

  • 点对点信道数据链路层不需要使用地址
  • 当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每个主机都必须有一个唯一的标识,即一个数据链路层地址。
  • 在每个主机发送的帧的首部中,都携带有发送主机(源主机)和接收主机(目的主机)的数据链路层地址。由于这类地址是用于媒体接入控制(Medium Access Control,MAC)的,因此被称为 MAC 地址。
  • MAC 地址一般被固化在网卡的电可擦可编程只读存储器 EEPROM 中,因此 MAC 地址也被称为硬件地址。
  • MAC 地址有时也被称为物理地址。属于数据链路层范畴
  • 一般情况下,普通用户计算机中往往会包含两块网卡:
    • 一块是用于接入有线局域网的以太网卡
    • 另一块是用于接入无线局域网的 Wi-Fi 网卡
  • 每块网卡都有一个全球唯一的 MAC 地址。
  • 交换机和路由器往往具有更多的网络接口,所以会拥有更多的 MAC 地址。
  • 综上所述,严格来说,MAC 地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。

21

  • 发送顺序:第一字节~第 6 字节
  • 字节内顺序:b0~b7

22

  • 网卡从网络上每收到一个帧,就检查帧首部中的目的 MAC 地址,按以下情况处理:
    1. 如果目的 MAC 地址是广播地址(FF-FF-FF-FF-FF-FF),则接受该帧。
    2. 如果目的 MAC 地址与网卡上固化的全球单播 MAC 地址相同,则接受该帧。
    3. 如果目的 MAC 地址是网卡支持的多播地址,则接受该帧。
    4. 除上述(1)、(2)和(3)情况外,丢弃该帧。
  • 网卡还可被设置为一种特殊的工作方式:混杂方式(Promiscuous Mode)。工作在混杂方式的网卡,只要收到共享媒体上传来的帧就会收下,而不管帧的目的 MAC 地址是什么。
    • 对于网络维护和管理人员,这种方式可以监视和分析局域网上的流量,以便找出提高网络性能的具体措施。
    • 嗅探器(Sniffer)就是一种工作在混杂方式的网卡,再配合相应的工具软件(WireShark),就可以作为一种非常有用的网络工具来学习和分析网络。
    • 混杂方式就像一把 “双刃剑”,黑客常利用这种方式非法获取网络用户的口令。
    • 全球单播 MAC 地址就如同身份证上的身份证号码,具有唯一性
    • 目前大多数移动设备都已经采用了随机 MAC 地址技术。

# CSMA/CD 协议

# CSMA/CD 协议的基本原理

  • 共享总线以太网的一个重要问题:如何协调总线上的各站点争用总线。
  • 为了解决各站点争用总线的问题,共享总线以太网使用了一种专用协议 CSMA/CD,它是载波监听多址接入 / 碰撞检测(Carrier Sense Multiple Access Collision Detection)的英文缩写词。

23

  • 发送帧的站点一旦检测到碰撞,除了立即停止发送帧外,还要再继续发送 32 比特或 48 比特的人为干扰信号(Jamming Signal),以便有足够多的碰撞信号使所有站点都能检测出碰撞
  • 载波监听检测到总线空闲,但总线并不一定空闲。
  • 使用 CSMA/CD 协议的共享总线以太网上的各站点,只是尽量避免碰撞并在出现碰撞时做出退避后重发的处理,但不能完全避免碰撞。
  • 在使用 CSMA/CD 协议时,由于正在发送帧的站点必须 “边发送帧边检测碰撞”,因此站点不可能同时进行发送和接收,也就是不可能进行全双工通信,而只能进行半双工通信(双向交替通信)。
  1. 下列介质访问控制方法中,可能发生冲突的是
    • CDMA
    • CSMA
    • TDMA
    • FDMA
解答
  • CDMA(Code Division Multiplex Access)是码分多址的英文缩写词。 CDMA 的每个用户可以在相同的时间使用相同的频带进行通信
  • TDMA(Time Division Multiplex Access)是时分多址的英文缩写词
  • FDMA(Frequency Division Multiplex Access)是频分多址的英文缩写词。
  • TDMA、FDMA、CDMA 是常见的物理层信道复用技术,属于静态划分信道,用于多用户共享信道,不会发生冲突

# 共享式以太网的争用期

  • 使用 CSMA/CD 协议的共享总线以太网上的任意站点在发送帧的过程中都可能会遭遇碰撞
  • 应当考虑位于共享总线以太网两端的两个站点发送的帧产生碰撞的情况
    24
  • 站点从发送帧开始,最多经过时长 2τ2\tau(即 δ0\delta \to 0)就可检测出所发送的帧是否遭遇了碰撞。
    因此,共享总线以太网的端到端往返时间 2τ2\tau 被称为争用期(Contention Period)或碰撞窗口(CollisionWindow),它是一个非常重要的参数。
    • 站点从发送帧开始,经过争用期 2τ2\tau 这段时间还没有检测到碰撞,就可以肯定这次发送不会产生碰撞。
  • 从争用期的概念可以看出,共享总线以太网上的每一个站点从发送帧开始,到之后的一小段时间内,都有可能遭遇碰撞,而这一小段时间的长短是不确定的,它取决于另一个发送帧的站点与本站点的距离,但不会超过总线的端到端往返传播时延,即一个争用期 2τ2\tau
    • 很显然,总线的长度越长(单程端到端传播时延越大),网络中站点数量越多,发生碰撞的概率就越大。
    • 因此,共享以太网的总线长度不能太长,接入的站点数量也不能太多
  • 10Mb/s10Mb/s 共享总线以太网(传统以太网)规定:争用期 2τ2\tau 的值为 512 比特的发送时间,即 51.2μs51.2\mu s

某局域网采用 CSMA/CD 协议实现介质访问控制,数据传输速率为 10Mbps,主机甲和主机乙之间的距离为 2km,信号传播速度是 200 000km/s。请回答下列问题,要求说明理由或写出计算过程。
(1)若主机甲和主机乙发送数据时发送冲突,则从开始发送数据时刻起,到两台主机均检测到冲突时刻止,最短需经过多长时间?最长需经过多长时间(假设主机甲和主机乙发送数据过程中,其他主机不发送数据)?

解答

最短即单程传播时延,最长即往返传播时延

# 共享式以太网的最小帧长和最大帧长

  • 为了确保共享总线以太网上的每一个站点在发送完一个完整的帧之前,能够检测出是否产生了碰撞,帧的发送时延就不能少于共享总线以太网端到端的往返时间,即一个争用期
  • 由于发送帧的站点边发送帧边检测碰撞,一旦检测到碰撞就立即中止帧的发送,此时已发送的数据量一定小于 64B。因此,接收站点收到长度小于 64B 的帧,就可判定这是一个遭遇了碰撞而异常中止的无效帧,将其丢弃即可
    25
  1. 在一个采用 CSMA/CD 协议的网络中,传输介质是一根完整的电缆,传输速率为 1Gbps,电缆中的信号传播速度是 200 000km/s。若最小数据帧长度减少 800 比特,则最远的两个站点之间的距离至少需要
    • 增加 160m
    • 增加 80m
    • 减少 160m
    • 减少 80m

# 共享式以太网的退避算法

  • 在使用 CSMA/CD 协议的共享总线以太网中,正在发送帧的站点一边发送帧一边检测碰撞,当检测到碰撞时就立即停止发送,退避一段随机时间后再重新发送。
  • 共享总线以太网中的各站点采用截断二进制指数退避(Truncated Binary Exponential Backoff)算法来选择退避的随机时间
  • 退避时间 = 基本退避时间 2τ×r2\tau\times r
  • r 从离散整数集合 0,1,…(2^k-1) 中随机选出,其中 k=min (重传次数,10)
  • 如果连续多次发送碰撞,就表明可能有较多的站点参与竞争信道。但使用上述退避算法可使重传需要推迟的平均时间随重传次数而增大(即动态退避),因而减小产生碰撞的概率
  • 当重传达 16 次仍不能成功时,就表明同时打算发送帧的站点太多,以至于连续产生碰撞,此时应放弃重传并向高层报告。

# 共享式以太网的信道利用率

26

  1. 下列关于 CSMA/CD 协议的叙述中,错误的是
    • 边发送数据帧,边检测是否发生冲突
    • 适用于无线网络,以实现无线链路共享
    • 需要根据网络跨距和数据传输速率限定最小帧长
    • 当信号传播延迟趋近于 0 时,信道利用率趋近 100%

# 使用集线器的共享式以太网

27
若总线上的某个机械连接点接触不良或断开,则整个网络通信就不稳定或彻底断网

  • 在使用细同轴电缆的共享总线以太网之后,以太网发展出来了一种使用大规模集成电路来替代总线、并且可靠性非常高的设备,叫作集线器(Hub)。
  • 站点连接到集线器的传输媒体也转而使用更便宜、更灵活的双绞线电缆。
  • 集线器的一些主要特点如下:
    • 使用集线器的以太网虽然物理拓扑是星型的,但在逻辑上仍然是一个总线网。总线上的各站点共享总线资源,使用的还是 CSMA/CD 协议。
    • 集线器只工作在物理层,它的每个接口仅简单地转发比特,并不进行碰撞检测。碰撞检测的任务由各站点中的网卡负责。
    • 集线器一般都有少量的容错能力和网络管理功能。例如,若网络中某个站点的网卡出现了故障而不停地发送帧,集线器可以检测到这个问题,在内部断开与出故障网卡的连线,使整个以太网能正常工作
  • IEEE 于 1990 年制定了 10BASE-T 星型以太网的标准 802.3i,这种以太网是局域网发展史上的一座非常重要的里程碑,它为以太网在局域网中的统治地位奠定了牢固的基础
  • 10BASE-T 以太网的通信距离较短,每个站点到集线器的距离不能超过 100m
  • IEEE 802.3 以太网还可使用光纤作为传输媒体,相应的标准为 10BASE-F,“F” 表示光纤。光纤主要用作集线器之间的远程连接
  1. 100BaseT 快速以太网使用的导向传输介质是
    • 双绞线
    • 单模光纤
    • 多模光纤
    • 同轴电缆

# 在物理层扩展以太网

  • 共享总线以太网中两站点之间的距离不能太远,否则它们之间所传输的信号就会衰减到使 CSMA/CD 协议无法正常工作。
  • 在早期广泛使用粗同轴电缆或细同轴电缆共享总线以太网时,为了提高网络的地理覆盖范围,常用的是工作在物理层的转发器。
  • IEEE 802.3 标准规定,两个网段可用一个转发器连接起来,任意两个站点之间最多可以经过三个网段
  • 随着使用双绞线和集线器的 10BASE-T 星型以太网成为以太网的主流类型,扩展网络覆盖范围就很少使用转发器了。
  • 10BASE-T 星型以太网中每个站点到集线器的距离不能超过 100m,因此两站点间的通信距离最大不能超过 200m。
  • 在 10BASE-T 星型以太网中,可使用光纤和一对光纤调制解调器来扩展站点与集线器之间的距离。
    • 这种扩展方法比较简单,所需付出的代价是:为站点和集线器各增加一个用于电信号和光信号转换的光纤调制解调器,以及它们之间的一对通信光纤。
  • 信号在光纤中的衰减和失真很小,因此使用这种方法可以很简单地将站点与集线器之间的距离扩展到 1000 以上。
  1. 以太网集线器一般具有 8~32 个接口,如果要连接的站点数量超过了单个集线器能够提供的接口数量,就需要使用多个集线器,这样就可以连接成覆盖更大范围、连接更多站点的多级星型以太网。
  2. 采用多个集线器连接而成的多级星型以太网,在扩展了网络覆盖范围和站点数量的同时,也带来了一些负面因素。(扩大碰撞域)
  3. 在物理层扩展的共享式以太网仍然是一个碰撞域,不能连接太多的站点,否则可能会出现大量的碰撞,导致平均吞吐量太低

# 在数据链路层扩展以太网

  • 网桥(bridge)工作在数据链路层(包含其下的物理层),因此网桥具备属于数据链路层范畴的相关能力。
    • 网桥可以识别帧的结构。
    • 网桥可以根据帧首部中的目的 MAC 地址和网桥自身的帧转发表来转发或丢弃所收到的帧。
      28

# 透明网桥的自学习和转发帧的流程

  • 透明网桥(Transparent Bridge)通过自学习算法建立转发表。
  • 透明网桥中的 “透明”,是指以太网中的各站点并不知道自己所发送的帧将会经过哪些网桥的转发,最终到达目的站点。也就是说,以太网中的各网桥对于各站点而言是看不见的。
  • 透明网桥的标准是 IEEE 802.1D,它通过一种自学习算法基于以太网中各站点间的相互通信逐步建立起自己的转发表

29

自学习流程:

  1. 网桥收到帧后进行登记(即自学习),登记的内容为帧的源 MAC 地址和进入网桥的接口号。
  2. 网桥根据帧的目的 MAC 地址和网桥的转发表对帧进行转发,包含以下三种情况:
    • 明确转发:网桥知道应当从哪个接口转发帧。
    • 盲目转发:网桥不知道应当从哪个接口转发帧,只能将其通过除进入网桥的接口外的其他所有接口
      转发。
    • 丢 弃:网桥知道不应该转发该帧,将其丢弃。

如果网桥收到有误码的帧则直接丢弃。
如果网桥收到一个无误码的广播帧,则不用进行查表,而是直接从除接收该广播帧的接口的其他接口转发该广播帧。
转发表中的每条记录都有其有效时间,到期自动删除!这是因为各站点的 MAC 地址与网桥接口的对应关系并不是永久性的,例如某个站点更换了网卡,其 MAC 地址就会改变

# 透明网桥的生成树协议 ST

  • 为了提高以太网的可靠性,有时需要在两个以太网之间使用多个透明网桥来提供冗余链路
  • 在增加冗余链路提高以太网可靠性的同时,却给网络引入了环路。
  • 网络中的广播帧将在环路中永久兜圈,造成广播帧充斥整个网络,网络资源被白白浪费,而网络中的主机之间无法正常通信!
  • 为了避免广播帧在环路中永久兜圈,透明网桥使用生成树协议(Spanning Tree Protocol,STP),可以在增加冗余链路提高网络可靠性的同时,又避免环路带来的问题
    • 不管网桥之间连接成了怎样复杂的带环拓扑,网桥之间通过交互网桥协议单元(Bridge Protocol Data Unit,BPDU),找出原网络拓扑的一个连通子集(即生成树),在这个子集里整个连通的网络中不存在环路。

# 交换式以太网

# 交换式以太网

  • 网桥的接口数量很少,通常只有 2~4 个,一般只用来连接不同的网段。
  • 1990 年面世的交换式集线器(Switching Hub),实质上是具有多个接口的网桥,常称为以太网交换机(Switch)或二层交换机。
    • “二层” 是指以太网交换机工作在数据链路层(包括物理层)。
    • 与网桥相同,交换机内部的转发表也是通过自学习算法,基于网络中各主机间的通信,自动地逐步建立起来的
    • 另外,交换机也使用生成树协议 STP,来产生能够连通全网但不产生环路的通信路径

# 以太网交换机

  • 以太网交换机(以下简称交换机)本质上就是一个多接口的网桥:
    • 交换机自学习和转发帧的流程与网桥是相同的。
    • 另外,交换机也使用生成树协议 STP,来产生能够连通全网但不产生环路的通信路径
  • 交换机的每个接口可以连接计算机,也可以连接集线器或另一个交换机。
    • 当交换机的接口与计算机或交换机连接时,可以工作在全双工方式,并能在自身内部同时连通多对接口,使每一对相互通信的计算机都能像独占传输媒体那样,无碰撞地传输数据,这样就不需要使用 CSMA/CD 协议了
    • 当交换机的接口连接的是集线器时,该接口就只能使用 CSMA/CD 协议并只能工作在半双工方式。
    • 现在的交换机和计算机中的网卡都能自动识别上述两种情况,并自动切换到相应的工作方式

29

  1. 某以太网拓扑及交换机当前转发表如下图所示,主机 00-e1-d5-00-23-a1 向主机 00-e1-d5-00-23-c1 发送 1 个数据帧,主机 00-e1-d5-00-23-c1 收到该帧后,向主机 00-e1-d5-00-23-a1 发送 1 个确认帧,交换机对这两个帧的转发端口分别是

    • 3 和 1
    • (2,3) 和 1
    • (2,3) 和 (1,2)
    • (1,2,3) 和 1
  2. 以太网交换机进行转发决策时使用的 PDU 地址是

    • 目的物理地址
    • 目的 IP 地址
    • 源物理地址
    • 源 IP 地址
    • PDU(Protocol Data Unit)的意思是协议数据单元,它是计算机网络体系结构中对等实体间逻辑通信的对象。
    • 以太网交换机工作在数据链路层(包括物理层),它接收并转发的 PDU 通常称为帧。以太网交换机收到帧后,在转发表中查找帧的目的 MAC 地址所对应的接口号,然后通过该接口转发帧。
    • MAC 地址又称为硬件地址或物理地址。请注意:不要被 “物理” 二字误导认为物理地址属于物理层范畴,物理地址属于数据链路层范畴
  3. 对于 100Mbps 的以太网交换机,当输出端口无排队,以直通交换(cut-through switching)方式转发一个以太网帧(不包括前导码)时,引入的转发延迟至少是 0.48 微秒

    传输 mac 地址的延迟

  • 一般的交换机都采用 “存储转发” 方式,为了减小交换机的转发时延,某些交换机采用了直通(Cut- Through)交换方式。
  • 采用直通交换方式的交换机,在接收帧的同时就立即按帧的目的 MAC 地址决定该帧的转发接口,然后通过其内部基于硬件的交叉矩阵进行转发,而不必把整个帧先缓存后再进行处理。
    • 直通交换的时延非常小。
    • 直通交换不检查差错就直接将帧转发出去,有可能会将一些无效帧转发给其他主机。

# 共享式以太网与交换式以太网的对比

  • 由于交换机有转发表,并且可以自行构建两个端口之间的隔离通路, 扩大了广播域,隔离了碰撞域
  • 集线器扩大了广播域,也扩大了碰撞域
  • 交换式以太网的网络性能远高于共享式以太网,集线器早已被交换机取代
  1. 下列关于交换机的叙述中,正确的是

    • 以太网交换机本质上是一种多端口网桥
    • 通过交换机互连的一组工作站构成一个冲突域
    • 交换机每个端口所连网络构成一个独立的广播域
    • 以太网交换机可实现采用不同网络层协议的网络互联
    • D: 以太网交换机工作在数据链路层(包含其下的物理层),因此以太网交换机具备属于数据链路层范畴的相关能力。但不同网络层协议的网络互联属于网络层范畴,以太网交换机无法处理。
  2. 若下图中的主机 H2 向主机 H4 发送 1 个数据帧,主机 H4 向主机 H2 立即发送一个确认帧,则除 H4 外,从物理层上能够收到该确认帧的主机还有

    • 仅 H2
    • 仅 H3
    • 仅 H1,H2
    • 仅 H2,H3

31

  1. 在下图所示的网络中,冲突域和广播域的个数分别是
    • 2,2
    • 2,4
    • 4,2
    • 4,4
    • 路由器会同时隔离碰撞域和广播域

32

# 以太网的 MAC 帧格式

DIX Ethernet V2 的帧格式流行
IEEE 802.3 的帧格式
仅 “类型” 字段有差别
33
最小数据载荷为 46B=64B-18B
数据载荷最大长度为 1500B, 即 MAC 帧最大长度为 1518B
34

前同步码用于同步时钟信号

  • 接收方可能收到的无效 MAC 帧包括以下几种:
  1. MAC 帧的长度不是整数个字节
  2. 通过 MAC 帧的 FCS 字段的值检测出帧有误码
  3. MAC 帧的长度不在 64~1518 字节之间
    • 接收方收到无效的 MAC 帧时,就简单将其丢弃,以太网的数据链路层没有重传机制

# 虚拟局域网

# 诞生背景

  • 将多个站点通过一个或多个以太网交换机连接起来就构建出了交换式以太网。
  • 交换式以太网中的所有站点都属于同一个广播域。
  • 随着交换式以太网规模的扩大,广播域也相应扩大。
  • 巨大的广播域会带来一系列问题
    • 广播风暴,广播风暴会浪费网络资源和各主机的 CPU 资源
    • 难以管理和维护,带来潜在的安全问题。
  • TCP/IP 协议栈中的很多协议都会使用广播:
  • 地址解析协议 ARP
  • 路由信息协议 RIPv1
  • 动态主机配置协议 DHCP
  • NetBEUI:Windows 下使用的广播型协议
  • IPX/SPX:Novell 网络的协议栈
  • Apple Talk:Apple 公司的网络协议栈
    分割广播域的方法:
  • 使用路由器可以隔离广播域(成本较高)
  • 虚拟局域网技术应运而生

# 虚拟局域网 VLAN 概述

  • 虚拟局域网(Virtual Local Area Network,VLAN)是一种将局域网内的站点划分成与物理位置无关的逻辑组的技术,一个逻辑组就是一个 VLAN,VLAN 中的各站点具有某些共同的应用需求
  • 属于同一 VLAN 的站点之间可以直接进行通信,而不同 VLAN 中的站点之间不能直接通信。
  • 网络管理员可对局域网中的各交换机进行配置来建立多个逻辑上独立的 VLAN
    • 连接在同一交换机上的多个站点可以属于不同的 VLAN,而属于同一 VLAN 的多个站点可以连接在不同的交换机上。
    • 虚拟局域网 VLAN 并不是一种新型网络,它只是局域网能够提供给用户的一种服务

# 虚拟局域网 VLAN 的实现机制

  • 虚拟局域网 VLAN 有多种实现技术,最常见的就是基于以太网交换机的接口来实现 VLAN。这就需要以太网交换机能够实现以下两个功能:

    1. 能够处理带有 VLAN 标记的帧,也就是 IEEE 802.1Q 帧
    2. 交换机的各接口可以支持不同的接口类型,不同接口类型的接口对帧的处理方式有所不同
  • IEEE 802.1Q 帧也称为 Dot One Q 帧,它对以太网 V2 的 MAC 帧格式进行了扩展:在源地址字段和类型字段之间插入了 4 字节的 VLAN 标签(tag)字段,最大长度自然也多了 4B, 为 1522B
    35

  • VID 是 802.1Q 帧所属 VLAN 的编号,设备利用 VID 来识别帧所属的 VLAN。

  • 广播帧只在同一 VLAN 内转发,这样就将广播域限制在了一个 VLAN 内。

  • 802.1Q 帧一般不由用户主机处理,而是由以太网交换机来处理

    • 当交换机收到普通的以太网 MAC 帧时,会给其插入 4 字节的 VLAN 标签使之成为 802.1Q 帧,该处理简称为 “打标签”。
    • 当交换机转发 802.1Q 帧时,可能会删除其 4 字节的 VLAN 标签使之成为普通的以太网 MAC 帧,该处理简称为 “去标签”。交换机转发 802.1Q 帧时也有可能不进行 “去标签” 处理,是否进行 “去标签” 处理取决于交换机的接口类型
  • 根据接口在接收帧和发送帧时对帧的处理方式的不同,以及接口连接对象的不同,以太网交换机的接口类型一般分为 Access Trunk 两种。

  • 当以太网交换机上电启动后,若之前未对其各接口进行过 VLAN 的相关设置,则各接口的接口类型默认为 Access,并且各接口的缺省 VLAN ID 为 1,即各接口默认属于 VLAN1。

    • 对于思科交换机,接口的缺省 VLAN ID 称为本征 VLAN (Native VLAN)
    • 对于华为交换机,接口的缺省 VLAN ID 称为端口 VLAN ID(Port VLAN ID),简记为 PVID
      36
  • Hybrid 接口是华为交换机私有的接口类型。Hybrid 接口既可以用于交换机之间的互连(与 Trunk 接口相同),也可用于交换机与用户计算机之间的互连(与 Access 接口相同)。

  • 除此之外,Hybrid 接口的绝大部分功能与 Trunk 接口相同。不同点在于 Hybrid 接口的转发处理:Hybrid 接口会查看帧的 VID 值是否在接口的 “去标签” 列表中,若存在则 “去标签” 后转发,若不存在则直接转发。

  1. 以下关于 VLAN 的描述中,错误的是

    • 从数据链路层的角度看,不同 VLAN 中的站点之间不能直接通信。
    • 属于同一个 VLAN 中的两个站点可能连接在不同的交换机上。
    • 虚拟局域网只是局域网给用户提供的一种服务,而不是一种新型局域网。
    • VLAN 使用的 802.1Q 帧的最大长度为 1518 字节。
  2. 如下图所示,在交换机 1 和 2 上进行了 VLAN 划分,PVID 是交换机端口的本征 VLAN,Access 和 Trunk 是交换机的接口类型,以下说法正确的是

    • B 可以收到 H 发给 B 的单播帧
    • E 可以收到 D 发送的广播帧
    • 能收到 C 发送的广播帧的有 D、G 和 H
    • 能收到 E 发送的广播帧的有 A、B、F、G 和 H

37

# 以太网的发展

以下看过即可

# 100BASE-T 以太网

  • 100BASE-T 以太网是指在双绞线上传输基带信号的速率为 100Mb/s 的以太网,也称为快速以太网(Fast Ethern
  • 100BASE-T 以太网与 10Mb/s 标准以太网(传统以太网)一样,仍然使用 IEEE 802.3 的帧格式和 CSMA/CD 协议。
  • 100BASE-T 以太网为了与 10Mb/s 标准以太网保持兼容,需要以太网最小帧长保持不变,即仍为 64 字节。
    • 网段的最大电缆长度从 1000m 减小到 100m
    • 争用期缩短为 5.12 微秒
    • 帧间最小间隔缩短为 0.96 微秒
  • 100BASE-T 以太网还可以使用以太网交换机来提供比集线器更好的服务质量,即在全双工方式下无碰撞工作。因此,使用交换机的 100BASE-T 以太网,工作在全双工方式下,并不使用 CSMA/CD 协议。
  • 1995 年,IEEE 的 802 委员会正式批准 100BASE-T 以太网的标准为 802.3u。实际上,IEEE 802.3u 只是对原有 IEEE802.3 标准的补充。
  • 除 100BASE-T 以太网外,百兆以太网有多种不同的物理层标准:
名 称 传 输 介 质 网段最大长度 说明
100BASE-TX 铜缆 100m 两对 UTP5 类线或屏蔽双绞线 STP
100BASE-T4 铜缆 100m 4 对 UTP3 类线或 5 类线
100BASE-FX 光缆 2000m 两根光纤,发送和接收各用一条

# 吉比特以太网

  • 吉比特以太网也称为千兆以太网(Gigabit Ethernet)。1998 年,千兆以太网的标准 802.3z 成为正式标准。
  • 近几年来,千兆以太网已迅速占领市场,成为了以太网的主流产品。
  • IEEE 802.3z 千兆以太网的主要特点有:
    • 速率为 1000Mb/s(1Gb/s)
    • 使用 IEEE 802.3 的帧格式(与 10Mb/s 和 100Mb/s 以太网相同)
    • 支持半双工方式(使用 CSMA/CD 协议)和全双工方式(不使用 CSMA/CD 协议)
    • 兼容 10BASE-T 和 100BASE-T 技术
  • 当千兆以太网工作在半双工方式时,需要使用 CSMA/CD 协议。由于速率已经提高到了 1000Mb/s,因此只有减小网段最大长度或增大最小帧长,才能使 3.4.2 节中介绍的以太网的参数 a(τ/T0)a (\tau/T_0) 保持为较小的数值。
    • 若将网段最大长度减小到 10m,则网络基本失去了应用价值。
    • 若将最小帧长增大到 640 字节,则当上层交付的待封装的协议数据单元 PDU 很短时,开销就会太大
    • 千兆以太网的网段最大长度仍保持为 100m,最小帧长仍保持为 64 字节(与 10BASE-T 和 100BASE-T 兼容)
  • 这就需要使用载波延伸(Carrier Extension)的办法,将争用期增大为 512 字节的发送时间而保持最小帧长仍为 64 字节。
    • 只要发送的 MAC 帧的长度不足 512 字节时,就在 MAC 帧尾部 (FCS 之后) 填充一些特殊字符 (448B),使 MAC 帧的长度增大到 512 字节。
  • 在使用载波延伸的机制下,如果原本发送的是大量的 64 字节长的短帧,则每一个短帧都会被填充 448 字节的特殊字符,这样会造成很大的开销。
  • 因此,千兆以太网还使用了分组突发(Packet Bursting)功能。也就是当有很多短帧要连续发送时,只将第一个短帧用载波延伸的方法进行填充,而其后面的一系列短帧不用填充就可一个接一个地发送,它们之间只需空开必要的帧间最小间隔即可。
    • 这样就形成了一连串分组的突发,当累积发送 1500 字节或稍多一些为止。
  • 当千兆以太网工作在全双工方式时,不使用 CSMA/CD 协议,也不会使用载波延伸和分组突发。
    千兆以太网有多种不同的物理层标准:
名 称 传 输 介 质 网段最大长度 说 明
1000BASE-SE 光缆 550m 多模光纤(50 和 62.5 微秒)
1000BASE-LX 光缆 5000m 或 550m 单模光纤(10 微秒)或多模光纤(50 和 62.5 微秒)
1000BASE-CX 铜缆 25m 使用 2 对屏蔽双绞线电缆 STP
1000BASE-T 铜缆 100m 使用 4 对 UTP5 类线

# 10 吉比特以太网

  • 2002 年 6 月,IEEE 802.3ae 委员会通过 10 吉比特以太网(10GE)的正式标准,10GE 也称为万兆以太网。
  • 万兆以太网并不是将千兆以太网的速率简单地提高了 10 倍。万兆以太网的目标是将以太网从局域网范围(校园网或企业网)扩展到城域网与广域网,成为城域网和广域网的主干网的主流技术之一。
  • IEEE 802.3ae 万兆以太网的主要特点有:
    • 速率为 10Gb/s
    • 使用 IEEE 802.3 标准的帧格式(与 10Mb/s、100Mb/s 和 1Gb/s 以太网相同)
    • 保留 IEEE 802.3 标准对以太网最小帧长和最大帧长的规定。这是为了用户升级以太网时,仍能和较低速率的以太网方便地通信。
    • 只工作在全双工方式而不存在争用媒体的问题,因此不需要使用 CSMA/CD 协议,这样传输距离就不再受碰撞检测的限制。
    • 增加了支持城域网和广域网的物理层标准
  • 万兆以太网交换机常作为千兆以太网的汇聚层交换机,与千兆以太网交换机相连,还可以连接对传输速率要求极高的视频服务器、文件服务器等设备
    万兆以太网有多种不同的物理层标准:
名 称 传 输 介 质 网段最大长度 说 明
10GBASE-SR 光缆 300m 多模光纤(850nm)
10GBASE-LR 光缆 10km 单模光纤(1300nm)
10GBASE-ER 光缆 40km 单模光纤(1500nm)
10GBASE-CX4 铜缆 15m 使用 4 对双芯同轴电缆(twinax)
10GBASE-T 铜缆 100m 使用 4 对 6A 类 UTP 双绞线

# 40 吉比特 / 100 吉比特以太网

  • 2010 年,IEEE 发布了 40 吉比特 / 100 吉比特以太网(40GE/100GE)的 IEEE 802.3ba 标准,40GE/100GE 也称为四万兆 / 十万兆以太网。
  • 为了使以太网能够更高效、更经济地满足局域网、城域网和广域网的不同应用需求,IEEE 802.3ba 标准定义了两种速率类型:
    • 40Gb/s 主要用于计算应用
    • 100Gb/s 主要用于汇聚应用
  • IEEE 802.3ba 标准只工作在全双工方式(不使用 CSMA/CD 协议),但仍使用 IEEE 802.3 标准的帧格式并遵守最小帧长和最大帧长的规定

IEEE 802.3ba 标准的两种速率各有 4 种不同的传输媒体:

物理层 40GE 100GE
在背板上传输至少超过 1m 40GBASE-KR4 -
在铜缆上传输至少超过 7m 40GBASE-CR4 100GBASE-CR10
在多模光纤上传输至少 100m 40GBASE-SR4 100GBASE-SR10
在单模光纤上传输至少 10km 40GBASE-LR4 100GBASE-LR4
在单模光纤上传输至少 40km - 100GBASE-ER4

# 802.11 无线局域网

# 802.11 无线局域网的组成

  • 随着移动通信技术的发展,无线局域网(Wireless Local Area Network,WLAN)自 20 世纪 80 年代末以来逐步进入市场。
  • IEEE 于 1997 年制定出了无线局域网的协议标准 802.11,802.11 无线局域网是目前应用最广泛的无线局域网之一,人们更多地将其简称为 Wi-Fi(Wireless Fidelity,无线保真度)。
  • 802.11 无线局域网可分为以下两类:
    • 有固定基础设施的
    • 无固定基础设施的
  • 固定基础设施是指预先建立的、能够覆盖一定地理范围的、多个固定的通信基站。
  • 802.11 无线局域网使用最多的是它的固定基础设施的组网方式。
  1. 基本服务集 BSS 内各站点之间的通信以及与本 BSS 外的站点之间的通信,都必须经过本 BSS 内的 AP 进行转发。
  2. 网络管理员需要为接入点 AP 分配一个最大 32 字节的服务集标识符(Service SetIdentifier,SSID)和一个无线通信信道,SSID 实际上就是使用该 AP 的 802.11 无线局域网的名字
  3. 基本服务区 BSA 的直径小于 100m

# 有固定基础设施的 802.11 无线局域网

  • 802.11 标准并没有定义实现漫游的具体方法,仅定义了以下一些基本服务。
    1. 关联(Association)服务
      移动站与接入点 AP 建立关联的方法有以下两种:
      • 被动扫描:AP 周期性发出信标帧 (Beacon Frame), 包含 [服务集标识符 SSID,AP 的 MAC 地址,所支持的速率、加密算法和安全配置等参数]
      • 主动扫描:移动站主动发出探测请求帧,等待 AP 的探测响应帧
    2. 重建关联(Reassociation)服务和分离(Dissociation)服务
      如果一个移动站要把与某个接入点 AP 的关联转移到另一个 AP,就可以使用重建关联服务;若要终止关联服务,就应使用分离服务

# 无固定基础设施的 802.11 无线局域网

  • 自组织网络 (ad hoc Netwrk): 需要网关 gateway 或协议转换器连接因特网
  • 自组织网络组网方便,不需要基站,并且具有非常好的生存性,这使得自组织网络在军用和民用领域都有很好的应用前景
  • 802.11 无线局域网的 ad hoc 模式允许网络中的各站点在其通信范围内直接通信,也就是支持站点间的单跳通信,而标准中并没有包括多跳路由功能。因此,802.11 无线局域网的 ad hoc 模式应用

# 802.11 无线局域网的物理层

  • 802.11 无线局域网的物理层非常复杂,依据工作频段、调制方式、传输速率等,可将其分为多种物理层标准。
  • 802.11 无线网卡一般会被做成多模的,以便能适应多种不同的物理层标准,例如支持 802.11b/g/n。
  • 无线局域网最初还使用红外技术(infrared,IR)和跳频扩频(Frequency Hopping Spread Spectrum,FHSS)技术,但目前已经很少使用了
- 802.11ax也称WiFi6 - 802.11be也称WiFi7

# 802.11 无线局域网使用 CSMA/CA 协议的原因

  • 对于 802.11 无线局域网,其使用无线信道传输数据,这与共享总线以太网使用有线传输介质不同。因此,802.11 无线局域网不能简单照搬共享总线以太网使用的 CSMA/CD 协议。
  • 802.11 无线局域网采用了另一种称为 CSMA/CA 的协议,也就是载波监听多址接入 / 碰撞避免(Carrier Sense Multiple Access/Collision Avoidance,CSMA/CA)
  • CSMA/CA 协议仍然采用 CSMA/CD 协议中的 CSMA,以 “先听后说” 的方式来减少碰撞的发生,但是将 “碰撞检测 CD” 改为了 “碰撞避免 CA”
  • 尽管 CA 表示碰撞避免,但并不能避免所有的碰撞,而是尽量减少碰撞发生的概率。
  • 802.11 无线局域网不采用 “碰撞检测 CD” 的原因如下:
    1. 由于无线信道的传输环境复杂且信号强度的动态范围非常大,在 802.11 无线网卡上接收到的信号强度一般都远远小于发送信号的强度,信号强度甚至相差百万倍。因此,如果要在 802.11 无线网卡上实现碰撞检测,对硬件的要求非常高。
    2. 即使能够在硬件上实现碰撞检测功能,但由于无线电波传播的特殊性(存在隐蔽站问题),还会出现无法检测到碰撞的情况,因此实现碰撞检测并没有意义。
      • 隐蔽站即一个 AP 同时处于两台信号无法互相覆盖的设备 AB 覆盖范围的交集,AB 无法互相通信,互为隐蔽站

# CSMA/CA 协议的基本工作原理

  • DCF 帧间间隔 DIFS (Distributed Inter-frame Spacing) 的长度为 128 微秒,在 DCF 方式中,DIFS 用来发送数据帧和管理帧。
  • DCF 是分布式协调功能(Distributed Coordination Function,DCF)的英文缩写词。在 DCF 方式下,没有中心控制站点,每个站点使用 CSMA/CA 协议通过争用信道来获取发送权。DCF 方式是 802.11 定义的默认方式(必须实现)。
  • 等待 DIFS 间隔是考虑到可能有其他的站有高优先级的帧要发送。
  • 数据帧帧首部中的 “持续时间” 字段的值指出了源站要占用信道的时间(包括目的站发回确认帧所需的时间)。
  • 当某个站检测到正在信道中传送的帧首部中的 “持续时间” 字段时,就调整自己的网络分配向量(Network Allocation Vector,NAV)。NAV 指出了完成这次帧的传送且信道转入空闲状态所需的时间。
  • 短帧间间隔(Short Interframe Space,SIFS)的长度为 28 微秒,它是最短的帧间间隔,用来分隔开属于一次对话的各帧。一个站点应当能够在这段时间内从发送方式切换到接收方式。使用 SIFS 的帧类型有 ACK 帧、CTS 帧等。
  • 由于无线信道的误码率较高,CSMA/CA 协议还需要使用停止 - 等待的确认机制来实现可靠传输,这与使用 CSMA/CD 协议的共享式以太网不同。
  1. 下列选项中,对正确接收到的数据帧进行确认的 MAC 协议是
    • CSMA
    • CDMA
    • CSMA/CD
    • CSMA/CA
  • 当某个站在发送帧时,很可能有多个站都在监听信道并等待发送帧,一旦信道空闲,这些站几乎同时发送帧而产生碰撞。
  • 为了避免上述情况,所有要发送帧的站检测到信道从忙转为空闲后,都要执行退避算法。这样不仅可以减少发生碰撞的概率,还可避免某个
    站长时间占用无线信道。
  • 当某个站要发送数据帧时,仅在这种情况下才不使用退避算法:检测到信道空闲,并且该数据帧不是成功发送完上一个数据帧之后立即连续发
    送的数据帧。除此之外的以下情况,都必须使用退避算法:
  1. 在发送帧之前检测到信道处于忙态
  2. 在每一次重传一个帧时
  3. 在每一次成功发送帧后要连续发送下一个帧时

# CSMA/CA 协议的基本工作原理

40

# CSMA/CA 协议的退避算法

  • 在执行退避算法时,站点为退避计时器设置一个随机的退避时间:
    • 当退避计时器的时间减小到零时,就开始发送数据;
    • 当退避计时器的时间还未减小到零时而信道又转变为忙状态,这时就冻结退避计时器的数值,重新等待信道变为空闲,再经过帧间间隔 DIFS 后,继续启动退避计时器。
  • 在进行第 n 次退避时,退避时间在时隙编号 (0,1,…,22+i-1) 中随机选择一个,然后乘以基本退避时间(也就是一个时隙的长度)就可以得到随机的退避时间。当时隙编号达到 255 时(对应于第 6 次退避)就不再增加了

41

  • 为了进一步降低发生碰撞的概率,802.11 无线局域网允许源站对信道进行预约。
  • RTS(Request To Send)帧是短的控制帧,它包括源地址、目的地址和本次通信(包括目的站发回确认帧所需的时间)所需的持续时间。
  • CTS(Clear To Send)帧是短的响应控制帧,它也包括本次通信所需的持续时间(从 RTS 帧中将此持续时间复制到 CTS 帧中)。
  • 除源站和目的站的其他各站,在收到 CTS 帧或数据帧后就推迟访问信道。这样就确保了源站和目的站之间的通信不会受到其他站的干扰。
  • 若 RTS 帧发生碰撞,源站就不可能收到 CTS 帧,源站会执行退避算法重传 RTS 帧。

使用 RTS 帧和 CTS 帧进行信道预约会带来额外的开销。但由于 RTS 帧和 CTS 帧都很短,发生碰撞的概率、碰撞产生的开销以及本身的开销都很小。对于一般的数据帧,其发送时延往往远大于传播时延(因为是局域网),碰撞的概率很大,且一旦发生碰撞而导致数据帧重发,则浪费的时间就很多,因此用很小的代价对信道进行预约往往是值得的。

  • 尽管如此,802.11 无线局域网仍为用户提供了以下三种选择:
  1. 使用 RTS 帧和 CTS 帧。
  2. 只有当数据帧的长度超过某个数值时才使用 RTS 帧和 CTS 帧。
  3. 不使用 RTS 帧和 CTS 帧。
  • 由于 RTS 帧和 CTS 帧都会携带通信需要持续的时间,这与之前介绍过的数据帧可以携带通信所需持续时间的虚拟载波监听机制是一样的,因此使用 RTS 帧和 CTS 帧进行信道预约,也属于虚拟载波监听机制。

42

  1. IEEE 802.11 无线局域网的 MAC 协议 CSMA/CA 进行信道预约的方法是

    • 发送确认帧
    • 采用二进制指数退避
    • 使用多个 MAC 地址
    • 交换 RTS 和 CTS 帧
  2. 某 IEEE 802.11 无线局域网中主机 H 与 AP 之间发送或接收 CSMA/CA 帧的过程如下图所示,在 H 或
    AP 发送帧前所等待的帧间间隔时间(IFS)中最长的是

    • IFS1
    • IFS2
    • IFS2
    • IFS4
    • DCF 帧间间隔 DIFS 的长度为 128 微秒,在 DCF 方式中,DIFS 用来发送数据帧和管理帧。等待 DIFS 间隔是考虑到可能有其他的站有高优先级的帧要发送。
    • 短帧间间隔 SIFS 的长度为 28 微秒,它是最短的帧间间隔,用来分隔开属于一次对话的各帧。一个站点应当能够在这段时间内从发送方式切换到接收方式。使用 SIFS 的帧类型有 ACK 帧、CTS 帧等

# 802.11 无线局域网的 MAC 帧

44
45

  • 持续期:用于实现 CSMA/CA 的虚拟载波监听和信道预约机制。在数据帧、RTS 帧和 CTS 帧中用该字段指出将要持续占用信道的时长
  • 序号控制:用来实现 802.11 的可靠传输,对数据帧进行编号。
  • 帧控制,地址 1234: 取决于帧控制字段中的 “去往 DS”(到分配系统)和 “来自 DS”(分配系统)这两个字段的值。
    46
例如

47
48
注意以太网传输时不携带 AP 的 mac 地址

  1. 在下图所示的网络中,若主机 H 发送一个封装访问 Internet 的 IP 分组的 IEEE 802.11 数据帧 F,则帧 F 的地址 1、地址 2 和地址 3 分别是
    • 00-12-34-56-78-9a,00-12-34-56-78-9b,00-12-34-56-78-9c
    • 00-12-34-56-78-9b,00-12-34-56-78-9a,00-12-34-56-78-9c
    • 00-12-34-56-78-9b,00-12-34-56-78-9c,00-12-34-56-78-9a
    • 00-12-34-56-78-9a,00-12-34-56-78-9c,00-12-34-56-78-9b

49

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

小春日和 微信支付

微信支付

小春日和 支付宝

支付宝

小春日和 wechat

wechat