计算机网络第九章——数据链路层《介质访问控制》
一、概念
简言之,就是解决之前学拓扑结构的总线型【总线争用】问题
【介质访问控制】又叫【媒体接入控制】,英文都是【MAC】
整体架构(先建立整体关系概念)
大体上分为【静态划分信道】和【动态接入控制】
这一章要学的内容
二、静态信道划分(记住特点就行)
这里简单说一下不知道为什么明明题目很少,历年考察静态划分也很少,但是【王道】和【湖工大】的计网课程都要超级详细去将这几个知识点,我的建议是别听这一部分,直接记忆我笔记里带颜色加粗的那些特点,然后【码分复用】会考计算题,要会算一下就行了
1、疑问:为啥要弄这些东西?
因为如果要多个主机之间相互通信,像最早时期的电报转发那样单独连接线路的话,线路造价高又浪费、而且可能还很慢。
但是如果多个信息共用一个信道传输,那同时发送的多个信息之间会互相干扰,而且接收方也无法分清哪个信息是给自己的,所以就得在【复用一个信道】的基础上去解决信号混乱的问题
2、【信道划分】和【信道复用】概念
【信道划分】
记住【信道划分】的核心思想就是:通过分时、分频、分码的技术手段,把一条广播信道变成一条条【点对点】的信道(多个发送方的信息混合在一个信道,就需要把一整个分开,看是哪个是主机A的、哪个是主机B的...)
【信道复用】
就是物理层面上把独立的多个信道整合成都用一条信道
但是逻辑上是还是结合信道划分和信道复用,把信道分离成独立的信道
要分清物理层面和逻辑层面的区别
3、时分复用 TDM(Time Division Multiplexing)
考点提炼:
- 1、将全部时长分为一个个等长的时间片段,成为【TDM帧】(与数据帧概念无关)
- 2、再在TDM帧里划分多个等长的时间片段,成为【时隙】
- 3、每个用户只能在每1个TDM帧里占用1个时隙发信息,呈现周期性(相当于几个人每隔一段时间轮流说话,在该发言期间每个人只准说1分钟)
- 4、信道利用率低,如果ABC发消息,即使1个TDM里BC不发信息,A也只能在它的时隙里发信息,不能用BC空闲的时隙
- 5、TDM适合发【数字信号】,不适合【模拟信号】!!!(而现代计算机网络更流行使用数字信号,所以更广泛使用TDM时分复用)
- 6、【介质为速率(介质的传播比特速率) > 单个信号的位速率(单信号的传播比特速率)】简单说,就是一条路要按固定时间间隔,依次给多个 “乘客(信号)” 发车,这条路的 “发车速度(介质位速率)” 得比单个 “乘客队伍前进速度(单个信号位速率)” 快,才能把所有乘客的 “行程(数据传输)” 安排好 。
4、统计时分复用 STDM(Statistic Time Division Multiplexing)
考点提炼:
- 1、又叫【异步时分复用】,他是时分复用的改进版,动态分配了时隙,解决了TDM时分复用信道利用率不高的问题
- 2、和时分复用的周期时间片段TDM帧一样,STDM也有固定时间片段【STDM帧】
- 3、通过【集中器(concentrator)】实现,所有发送方的信息进入集中器缓存,集中器顺序扫描缓存然后填入STDM帧,当一个STDM帧填满就发出去
- 4、因此各个用户信息在每个STDM帧内不在占固定的时隙,信道利用率提高(比如ABC发信息,某个STDM内BC不说话,而A一堆话要说,那就都让A说)
5、频分复用 FTDM(Fraquency Time Division Multiplexing)
考点提炼:
- 1、是用声音信号来传播信息用到的技术,题目提到了频率、频带,直接选频分复用(因为这是声波的东西啊)
- 2、记住了FTDM传播【模拟信号】,传不了【数字信号】!!!
- 3、各用户独立占用不同的频带(就是不同的信号频率范围),多个信息并行的传输,完全不用互相等,充分利用信道带宽
具体细节解释,理解就行
6、波分复用 WDM(Wavelength Division Multiplexing)
考点提炼:
只用记住:1、是光信号传输用的技术;2、和FTDM频分复用原理一样,只不过是换成了光信号
7、码分复用 CDM(Code Division Multiplexing)
先看总体框架
接下来是难点解释
- 1、因为计算机里传数据都是0和1,那为了区分哪些是【主机A的0和1】哪些是【主机B的0和1】......我们需要用向量的形式重新标注不同主机的0和1的形式,这些向量在这里称作【码片序列】
- 2、一个主机如果分配了M维的码片序列,那么这个码片序列就是代表1,而0就是这个码片序列的每一位取负数(比如下面例子的A的码片序列是4维的(1,1,1,1),那就是1就是(1,1,1,1),也可写成 a;而0就是(-1,-1,-1,-1),也可写成 -a)
- 3、那么当一个主机发N位的一个数据,就是N个对应1或0的码片序列(比如图中A传101,就是(1,1,1,1), (-1,-1,-1,-1), (1,1,1,1))
- 4、接收方会提前知道所有发送方的码片序列,但是它收到的信号是多个发送方信息的糅合,这个糅合的码片序列,是不同发送方发的信息之间的【向量相加】(比如图2里A发了a=1=(1,1,1,1),B发了-b=0=(-1,1,-1,1),那么C收到的叠加码片序列就是【a + (-b) = (每一位相加,我就不写了)】;同理图3也是)
- 5、注意要求ABC这些不同的发送方的码片序列必须互相正交!!!(解释:A和B正交就是A和B的内积为0,内积也叫—>点乘也叫—>数量积—>A·B,若A=(x1,y1),B=(x2,y2),则A·B = x1x2 + y1y2,正交就是要A·B = x1x2 + y1y2 = 0)
- 6、那接收方C怎么知道主机A发了什么呢?——> 利用规格化内积:【1/m * a · (C收到的叠加信息)】,只要真的有A发的数据,那么得出的结果必然是1或-1(对应真实信息1或0),这样就能得出发送方A发了什么信息了(注意m是规定的码片序列是几维,比如图片的是4维)
- 7、如果没有A发送的数据,那么用【A的码片序列】去和【C收到的叠加码片序列】做规格化内积,得出的结果必然是0
- 7、误区:题目给我们的【接收方C的收到的叠加码片序列】中
- 并不一定都是ABC发送方一起发的信息糅合,有可能是A和B、有可能是A和C、有可能是B和C、也可能是ABC同时......我们并不知道,不过我们也不用关心
- 当题目会问我们 “请问A发给C什么数据”,那就说明C收到的叠加码片序列必定是【A】和【其他发送方】的叠加
- 那么我们只需要将C收到的【叠加码片序列】分别跟A进行规格化内积,就能得到A发送的每一位信号了(记得值是1代表二进制1、-1代表二进制0)
- 原理就是因为你既然已知有A发送的信息了,然后你又得到了叠加的序列,那每一片叠加序列不就必然包含了A的信息吗?你不用管是A和谁叠加得到的,你只需要理解成你从【一堆混在一起的餐具】里挑出【筷子】就行了(同理如果问B发了什么,你就知道要从里面挑出B就行了,挑出来的办法就是【规格化内积】)
例题
这道题就是典型直接问你A发送的数据是啥,就说明叠加序列必定包含A的信息,那就用A跟每一个叠加序列规格化内积,就得出答案了(记得把一整串序列分割成多个M维叠加序列)
- 这里注意:因为接收方收到的【叠加码片序列】是A、B、C的维度的倍数(ABC都是4维向量,叠加序列却是12维),所以要把【叠加码片序列】分割成多个和发送方同等维度的序列,这些每一个【叠加码片序列】再跟发送方分别进行规格化内积
;
;
下面这道题就直接不告诉ABCD谁发了,反而是问你是谁发的?
那观察【收到的码片序列】的【维度】,可以发现和ABCD的码片序列维度一样都是8个,那么说明这是由2个发送方的码片序列叠加得到的(向量X + 向量Y的结果维度依旧和它两的维度一样)
那直接用A、B、C、D分别和收到的叠加序列规格化内积,看得到的值是什么,如果是1或-1就说明这个发送方确实有信息包含在里面,而且结果就是这个值;如果得到的值是0,就说明这个主机压根就没发过信息,因为叠加序列里都没包含它
- 这里注意:因为接收方收到的【叠加码片序列】就已经和A、B、C、D的维度一样了(ABCD都是8维向量,叠加序列也是8维),就说明【所有发送站的信号在这 8 维内完成了一次叠加】,所以只需要让这个【叠加码片序列】和A、B、C、D分别规格化内积就行了,无需再分割
;
;
针对上面【叠加序列】到底为什么有的分割、有的不分割,我画个图大家理解
够直观了吗
额外知识点补充
好像有的题目会说【CDMA码分多址】,其实也是代表【CDM码分复用】;
同理【TDMA时分多址】、【FDMA频分多址】也分别可代表【TDM时分复用】、【FDM频分复用】
8、整体架构
三、动态随机访问
也叫【动态接入控制】