跳转至

4 The Medium Access Control Sublayer

说明

本文档正在更新中……

说明

本文档仅涉及部分内容,仅可用于复习重点知识

在广播信道中,由于多个设备共享同一介质,一个根本性的问题随之产生:当多个设备都想同时发送数据时,如何协调和仲裁,以决定哪个设备可以使用信道?这就是所谓的竞争问题。如果不加以控制,会导致数据冲突,使得所有发送都失败

为了解决这个关键问题,引入了 MAC(medium access control,介质访问控制)子层。它是数据链路层的一部分,专门负责制定规则和协议,以决定在广播信道上谁下一个发送

1 The Channel Allocation Problem

  • static channel allocation

以 FDMA 为例,它预先将总带宽划分成固定数量的、互不重叠的子频带,并永久或长期地分配给每个用户。这种方式实现简单,能避免用户间的干扰

但是缺乏灵活性,效率低下。当用户数量动态变化或流量具有突发性时,问题尤为突出。突发性流量意味着用户可能在短时间内需要高速传输,然后长时间静默;资源浪费。分配给静止用户的信道在空闲时无法被其他需要的用户使用,导致宝贵的带宽资源被浪费。这在数据通信这种典型的高突发性场景中效率极低

  • dynamic channel allocation

不进行固定的预先分配,而是按需动态地将信道分配给有数据要发送的用户

通过 statistical multiplexing(统计复用)来共享信道。它利用了这样一个统计事实:并非所有用户都会在同一时刻需要全速传输。因此,系统可以为大量用户服务,而无需为每个用户预留专用带宽,从而显著提高了信道利用率

1.1 Static Channel Allocation

为了分析静态信道分配性能不佳的原因,我们将借助一些简单的排队论计算

1.1.1 Preliminary Queueing Theory

容量 \(C\):指系统(在这里可以理解为共享信道)能够处理工作的最大速率(例如,总带宽或总数据处理速率)

平均需求速率 \(R\):指所有用户对系统提出工作需求的平均速率(例如,所有用户平均的数据发送速率之和)

  • \(R < C\):系统容量在平均水平上足以满足需求。这是系统能够稳定工作的必要条件
  • \(R > C\):系统容量长期不足,会导致持续的拥塞、数据丢失和极长的延迟,即系统饱和

但即使满足 \(R > C\),系统仍然会面临问题(如延迟、排队)。这是因为流量是随机和突发的,而不是平滑恒定的

排队(从而导致延迟)的产生源于两个固有的随机性:

  1. the arrival time:数据包(或用户发送请求)到达的时间点是不可预测的
  2. the service time:每个数据包所需的传输时间(或服务量)也是随机的(例如,数据包大小可变)

queueing theory 的本质是研究到达过程和服务过程的随机特性,以及这些随机性如何导致排队现象

将系统抽象为一个排队设施,用户或数据包抽象为顾客 \(C_n\),定义了 3 个关键变量来数学化地描述每个顾客

  1. \(\tau_n\):arrival time。顾客到达队列的时刻
  2. \(t_n\):inter-arrival time。连续两个顾客 \(C_{n-1}\) \(C_n\) 到达的时间间隔
  3. \(x_n\):service time。为顾客提供服务所需花费的时间

整个排队系统的行为是由两个随机变量序列 \(\lbrace t_n\rbrace\) \(\lbrace x_n\rbrace\) 共同驱动的。为了简化模型以便于理论分析,假设所有这些随机变量是相互独立的

将具体的序列抽象为两个通用随机变量:

  1. \(\tilde{t}\):代表任意一个到达间隔时间的分布
  2. \(\tilde{x}\):代表任意一个服务时间的分布

每个随机变量都关联着一个 probability distribution function(概率分布函数,PDF)

  1. \(A(t) = P[\tilde{t} \leqslant t]\)
  2. \(B(x) = P[\tilde{x} \leqslant x]\)

相关的 probability density function(概率密度函数,pdf)为

  1. \(a(t) = \dfrac{d A(t)}{d t}\)
  2. \(b(t) = \dfrac{dB(x)}{dx}\)

与这些随机变量相关的一些重要 moments(矩)为:

  1. mean inter-arrival time:\(E[\tilde{t}] = \dfrac{1}{\lambda}\)
  2. mean service time:\(E[\tilde{x}] = \dfrac{1}{\mu}\)

那么 \(\lambda\) 就是平均到达速率,\(\mu\) 就是平均服务速率

排队论的研究按复杂度和假设条件分为三个层次:

  1. elementary queueing theory:通常基于最强的简化假设
  2. intermediate queueing theory:放松一些假设,考虑更一般的分布
  3. advanced queueing theory:处理非常复杂或特殊的模型

不同层次理论之间的根本区别在于对到达间隔时间分布 \(a(t)\) 和服务时间分布 \(b(x)\) 所做的假设不同

Kendall 记号:简洁、明确地指代和研究不同类型的排队系统。\(A/B/m\)

  • \(A\):代表到达间隔时间的概率分布类型
  • \(B\):代表服务时间的概率分布类型
  • \(m\):代表系统中并行服务台(或服务员、信道)的数量。这是一个整数

\(A\) \(B\) 从以下符号集合中取值,这些符号指代它们所对应的分布:

  1. \(M\):指数分布
  2. \(Er\):r 阶埃尔朗分布
  3. \(Hr\):r 阶超指数分布
  4. \(D\):确定性分布
  5. \(G\):一般分布

最简单的模式则是 \(M/M/1\)

对于 \(G/G/1\),定义利用率因子 \(\rho = \lambda \bar{x} = \dfrac{R}{C}\),表示单个服务台处于繁忙状态的时间比例。例如 \(\rho = 0.8\) 意味着服务器有 80% 的时间在工作,20% 的时间空闲

对于 \(G/G/m\)\(\rho = \dfrac{\lambda \bar{x}}{m} = \dfrac{R}{C}\),表示每个服务台的平均利用率或系统中繁忙服务台的期望比例。例如,\(m=3, \rho=0.9\),则平均来看,约有 \(3 \times 0.9 = 2.7\) 个服务台处于繁忙状态,或者说 90% 的服务台在工作

为了使系统稳定(即队列不会无限增长),必须满足:\(\rho < 1\)

the average time in system \(T = \bar{x} + W\)\(W\) 是平均等待时间(顾客在队列中等待服务所花费的时间)

\(W\) 反映了共享资源所带来的代价。正是因为资源(如信道、服务器)不是独占的,而是与其他用户(顾客)共享,才产生了排队和等待现象

little's result\(\bar{N} = \lambda T\)\(\bar{N}\) 表示系统中的平均顾客总数(包括正在接受服务的和正在排队等待的)

average queue size \(\bar{N}_q = \lambda W\)

因此,\(\bar{N} = \bar{N}_q + m\rho\)

也就是平均客户数 = 正在接受服务的平均客户数 + 正在等待的平均客户数

当一个系统有 \(k\) 个顾客时,定义此时的状态为 \(E_k\),状态概率 \(P_k(t) = P[N(t) = k]\) 表示在特定时刻 \(t\),系统恰好有 \(k\) 个顾客的概率

状态转移的动态方程:\(\dfrac{dP_k(t)}{dt} = \text{在时间 } t \text{ 流入状态 } E_k \text{ 的概率流率 } - \text{在时间 } t \text{ 流出状态 } E_k \text{ 的概率流率 }\)

我们考虑一个稳定的系统,当 \(t \rightarrow \infty\) 时,\(P_k(t)\) 会收敛到一个与初始状态无关的固定值 \(p_k\)\(p_k\) 表示在长时间运行下,系统中恰好有 \(k\) 个顾客的时间比例。例如,\(p_0 = 0.2\) 意味着从长远来看,系统有 20% 的时间是空的(没有顾客)

对于 \(M/M/1\) 队列,该系统具有泊松输入,那么

\(P_k(t) = \dfrac{(\lambda t)^k}{k!}e^{-\lambda t}\)

计算这个分布的平均值,可以发现就是 \(\bar{N}(t) = \lambda t\)

2 Multiple Access Protocols

3 Ethernet

4 Wireless LANs (802.11 WiFi)

评论区

欢迎在评论区指出文档错误,为文档提供宝贵意见,或写下你的疑问