文章转自:https://blog.csdn.net/weixin_43914604/article/details/104935912

学习课程:《2019王道考研计算机网络》

学习目的:利用最省时间的方法学习考研面试中的计算机网络。


1、思维导图

2、传输数据的两种链路

3、什么是介质访问控制?它有几种方法?

  • 介质访问控制(medium access control)简称MAC。 是解决共用信道的使用产生竞争时,如何分配信道的使用权问题。
  • 常见的介质访问控制有下图所示几种方法:

4、静态划分信道–信道划分介质访问控制

  • 简单了解一下相关概念

  • 信道划分的实质就是通过分时、分频、分码等方法把原来的一条广播信道,逻辑上分为几条用于两个结点之间通信的互不干扰的子信道,实际上就是把广播信道转变为点对点信道。
  • 信道划分介质访问控制有一下4种方法:

(1)频分多路复用 FDM

  • 频分多路复用(Frequency-division multiplexing,FDM),是指载波带宽被划分为多种不同频带的子信道,每个子信道可以并行传送一路信号的一种多路复用技术。

(2)时分多路复用 TDM

  • 时分多路复用(Time-Division Multiplexing,TDM)一种数字或者模拟(较罕见)的多路复用技术。使用这种技术,两个以上的信号或数据流可以同时在一条通信线路上传输,其表现为同一通信信道的子信道。但在物理上来看,信号还是轮流占用物理信道的。

  • 如果说TDM中,A\B\C\D四个用户,有三个用户没传输数据,则造成了信道利用率不高,于是引入了另一种方法来解决这种问题,提高信道利用率。
  • 这种方法交是统计时分复用STDM
  • 统计时分复用(Statistical Time Division Multiplexing)是一种根据用户实际需要动态分配线路资源的时分复用方法。只有当用户有数据要传输时才给他分配线路资源,当用户暂停发送数据时,不给他分配线路资源,线路的传输能力可以被其他用户使用。采用统计时分复用时,每个用户的数据传输速率可以高于平均速率,最高可达到线路总的传输能力。

  • 这里我们假设线路传输速率为8000b/s
  • 采用TDM,则4个用户的平均速率为2000b/s
  • 采用STDM,则每个用户的最高速率可达8000b/s。

(3)波分多路复用 WDM

  • 波分复用技术(Wavelength-division multiplexing, WDM)

(4)码分多路复用 CDM

  • 码分复用技术(Code-division multiplexing, CDM)
  • 码分多路复用是采用不同的编码来区分各路原始信号的一种复用方式。与FDM和TDM不同,它既共享信道的频率,又共享时间。下面举一个 直观的例子来理解码分复用,如下图所示。

  • 假设 A 站要向 C 站运输黄豆, B 站要向 C 站运输绿豆, A 与 C 、 B 与 C 之间有一条公共的道路,可以类比为广播信道。
  • 频分复用方式下,公共道路被划分为两个车道,分别提供给 A 到 C 的车和 B 到 C 的车行走,两类车可以同时行走,但只分到了公共车道的一半,因此频分复用(波分复用也一样)共享时间而不共享空间。
  • 时分复用方式下,先让 A 到 C 的车走一趟,再让 B 到 C 的车走一趟,两类车交替地占用公共车道。公共车道没有划分,因此两车共享了空间,但不共享时间。
  • 码分复用与另外两种信道划分方式大为不同,在码分复用情况下,黄豆与绿豆放在同一辆车上运送,到达 C 后,由 C 站负责把车上的黄豆和绿豆分开。
  • 因此,黄豆和绿豆的运送,在码分复用的情况下,既共享了空间,也共享了时间。

  • 码分多址( Code division Multiple Access , CDMA )是码分复用的一种方式,其原理是每比特时间被分成 m 个更短的时间槽,称为码片( ChiP ) ,通常情况下每比特有 64 或 128 个码片。每个站点被指定一个唯一的 m 位代码或码片序列
  • 发送 1时,站点发送mbit码片序列;发送0 时,站点发送mbit码片序列的反码
  • 当两个或多个站点同时发送时,各路数据在信道中线性相加
  • 为从信道中分离出各路信号,要求各个站点的码片序列相互正交

  • 简单理解就是, A 站向 C 站发出的信号用一个向量来表示, B 站向 C 站发出的信号用另一个向量来表示,两个向量要求相互正交。向量中的分量,就是所谓的码片
  • 举个例子计算加深理解:
  • 假如站点 A 的码片序列被指定为 000 110 11 ,则 A 站发送 000 110 11 就表示发送比特 1 ,发送111 001 00 就表示发送比特 0 。
  • 按惯例将码片序列中的 0 写为-l ,将 1 写为+ l , A 站的码片序列就是-l - l -l + l + l -l + l + l
  • 令向量 S 表示 A 站的码片向量,令 T 表示 B 站的码片向量。
  • 两个不同站的码片序列正交,且向量 S 和 T 的规格化内积为(S*T)/8= 0 ,所以令向量 T- l - l + l -1 + l + l + l - 1
  • S和T具有以下运算性质:



  • 当 A 站向 C 站发送数据 l 时,就发送了S向量 -l ,-l ,-l ,+l,+l,-l,+l,+l
  • 当 B 站向 C 站发送数据 0 时,就发送 T 向量+l, +l, -1 ,+1, -l ,-l ,-l ,+1
  • 两个向量到了公共信道上就进行叠加,实际上就是线性相加,得到 S + T = ( 0 0 -2 2 0 -2 0 2 )
  • 到达 C 站后,进行数据分离。如果要得到来自 A 站的数据,那么就让 S 与 S + T 进行规格化内积,得到 S·( S +T ) = l 所以 A 站发出的数据是 1 。
  • 同理,如果要得到来自 B 站的数据,那么 T . ( S + T ) =- 1 因此从 B 站发送过来的信号向量是一个反码向量,代表 0 。

什么是规格化内积:就是内积结果再除以向量的维数,如向量s(1,2,3)点乘向量t(7,8,9)的规格化内积为(1 * 7+2 * 8+3 * 9)/ 3 = 50 / 3

5、动态分配信道

  • 特点:信道并非在用户通信时固定分配给用户

(1)随机访问介质访问控制

  • 在随机访问协议中,不采用集中控制方式解决发送信息的次序问题,所有用户能根据自己的意愿随机地发送信息,占用信道全部速率
  • 在总线形网络中,当有两个或多个用户同时发送信息时,就会产生帧的冲突(碰撞,即前面所说的相互干扰),导致所有冲突用户的发送均以失败告终。
  • 为了解决随机接入发生的碰撞,每个用户需要按照一定的规则反复地重传它的帧,直到该帧无碰撞地通过。这些规则就是随机访问介质访问控制协议,常用的协议有ALOHA 协议 CSMA 协议 CSM 刀 CD 协议CSM 刀 CA 协议等,它们的核心思想都是:胜利者通过争用获得信道,从而获得信息的发送权。因此,随机访问介质访问控制协议又称争用型协议
  • 如果介质访问控制采用信道划分机制,那么结点之间的通信要么共享空间,要么共享时间,要么两者都共享:而如果采用随机访问控制机制,那么各结点之间的通信就可既不共享时间,也不共享空间。所以随机介质访问控制实质上是一种将广播信道转化为点到点信道的行为。

1️⃣ ALOHA协议

  • ALOHA协议是由美国夏威夷大学开发的一种网络协议。处于OSI模型中的数据链路层。它属于随机存取协议(Random Access Protocol)中的一种。它分为纯ALOHA协议分段ALOHA协议(或时隙ALOHA协议)。

① 纯ALOHA协议

② 时隙ALOHA协议

  • 对比纯ALOHA时隙ALOHA

2️⃣ CSMA协议

  • 全称Carrier Sense Multiple Access (CSMA),是一种允许多个设备在同一信道发送信号的协议,其中的设备监听其它设备是否忙碌,只有在线路空闲时才发送。

① 1-坚持 CSMA

② 非坚持CSMA

③ p-坚持CSMA

④三种CSMA对比总结

3️⃣ CSMA/CD协议

  • 简介:

① 传播时延对载波监听的影响



② 截断二进制指数规避算法确定碰撞后的重传时机

  • 一道例题感受一下

③ 最小帧长问题



4️⃣ CSMA/CA协议

① 为什么使用CSMA/CA协议?

  • 虽然CSMA/CD协议已成功地应用于有线连接的局域网,但无线局域网不能简单地搬用CSMA/CD协议。其主要原因是:
  • 第一,CSMA/CD协议要求一个站点在发送本站数据的同时还必须不间断地检测信道,以便发现是否有其他的站也在发送数据,这样才能实现“冲突检测”的功能。但在无线局域网的设备中要实现这种功能花费过大。
  • 第二,更重要的是,即使能够实现冲突检测的功能,且在发送数据报时检测到信道是空闲的,但是,由于无线电波能够向所有的方向传播,且其传播距离受限,在接收端仍然有可能发生冲突,从而产生隐藏站问题和暴露站问题。
  • 此外,无线信道还由于传输条件特殊,造成信号强度的动态范围非常大。这就使发送站无法使用冲突检测的方法来确定是否发生了碰撞。
  • 因此,无线局域网不能使用CSMA/CD协议,而是以此为基础,制定出更适合无线网络共享信道的载波监听多路访问/冲突避免CSMA/CA协议。CSMA/CA协议利用ACK信号来避免冲突的发生,也就是说,只有当客户端收到网络上返回的ACK信号后,才确认送出的数据已经正确到达目的 。

② CSMA/CA工作原理

③CSMA/CA与CSMA/CD比较

(2)轮询访问介质访问控制

  • 轮训访问控制的产生

  • 轮询访问控制的特点:在轮询访问中,用户不能随机地发送信息,而要通过一个集中控制的监控站,以循环方式轮询每个结点,再决定信道的分配。当某结点使用信道时,其他结点都不能使用信道。
  • 这里我们只讨论两类:轮询协议令牌传递协议

1️⃣ 轮询协议

  • 轮询协议要求节点中有一个被指定为主节点,其余节点是从属节点。
  • 主节点以循环的方式轮询每一个从属节点,“邀请”从属节点发送数据(实际上是向从属节点发送一个报文,告诉从属节点可以发送帧以及可以传输帧的最大数量),只有被主节点“邀请”的从节点可以发送数据,没有被“邀请”的节点不能发送,只能等待被轮询。

  • 从主节点向从节点发送的报文信息可以看出,如果一个节点要发送的数据很多,它不会一直发送到结束,它发送到最大数据帧就是结束,主节点开始轮询下一个节点,等再次轮询到它时才能继续发送。即如果从节点要发送的数据很多时,它不是一次性发送结束的。

2️⃣ 令牌传递协议

  • 令牌传递又称“标记传送”,局部网数据送取的一种控制方法,多用于环形网。
  • 令牌由专用的信息块组成,典型的令牌由连续的8位“1”组成。当网络所有节点都空闲时,令牌就从一个节点传送到下一个节点。当某一节点要求发送信息时,它必须获得令牌并在发送之前把它从网络上取走。一旦传送完数据,就把令牌转送给下一个节点,每个节点都具备有发送/接收令牌的装置。使用这种传送方法决不会发生碰撞,这是因为在某一瞬间只有一个节点有可能传送数据。最大的问题是令牌在传送过程中丢失或受到破坏,从而使节点找不到令牌从而无法传送信息。
  • TCU:环接口干线耦合器。它的主要作用是传递经过的所有帧,为接入站发送和接收数据提供接口。它的状态有两种:收听状态和发送状态。
  • 没有人使用令牌时,令牌则在环路中循环。







    参考:
  • https://www.bilibili.com/video/av70228743?p=30

计算机网络之介质访问控制(静态划分信道、FDM、TDM、STDM、WDM、CDM)、(动态划分信道、ALOHA、CSMA、CSMA/CD、CSMA/CA)、令牌传递协议的更多相关文章

  1. 【计算机网络】-介质访问控制子层-无线LAN

    [计算机网络]-介质访问控制子层-无线LAN 802.11体系结构和协议栈 802.11网络使用模式: 有架构模式(Infrastructure mode) 无线客户端连接接入点AP,叫做有架构模式 ...

  2. 【计算机网络】-介质访问子层-(信道划分介质访问控制&随机访问介质访问控制)

    [计算机网络]-介质访问子层-概述 介质访问控制子层功能 解决信道争用的协议,即用于多路访问信道上确定下一个使用者的协议 是数据链路层协议的一部分 介质访问控制子层位置 位于数据链路层的底部! 信道分 ...

  3. 介质访问控制子层-Medium Access Control Sublayer:多路访问协议、以太网、无线局域网

    第四章 介质访问控制子层-Medium Access Control Sub-layer 4.1介质访问控制子层概述 MAC子层不属于之前提到的OSI或TCP/IP架构的任何一层,这也是为什么这一层被 ...

  4. 介质共享型局域网中的介质访问控制(MAC)协议需要具体解决的3个问题,CSMA/CD介质访问控制的基本思想

    1,在某一时刻,那个节点可以发送数据 2,发送时是否会出现冲突 3,出现冲突时如何处理 CSMA/CD介质访问控制的基本思想:先监听,再发送.边发送,边监听,如发生冲突,则等待一段时间后再次发送

  5. 玩转Web之Jsp(一)-----jsp中的静态包含(<%@include file="url"%>)与动态包含(<jsp:include>)

    在jsp中include有两种形式,其中<%@include file="url"%>是指令元素,<jsp:include page="" f ...

  6. Qt动态连接库/静态连接库创建与使用,QLibrary动态加载库

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt动态连接库/静态连接库创建与使用,QLibrary动态加载库     本文地址:https ...

  7. 动态库与静态库的学习 博主写的很好 静态库 编译的时候 需要加上 static 动态库编译ok运行不成功就按照文章中的方法修改

    来源连接   http://www.cnblogs.com/skynet/p/3372855.html C++静态库与动态库 这次分享的宗旨是--让大家学会创建与使用静态库.动态库,知道静态库与动态库 ...

  8. 解决方案:ipv4地址手动设置之后关掉推出再打开就没了(静态Ip设置好之后又自动变动态IP)

    解决方案:ipv4地址手动设置之后关掉推出再打开就没了(静态Ip设置好之后又自动变动态IP) 1.情况说明:修改好IP,关掉窗口后,又变成 自动获取IP (如图二) 2.解决方案: 1)调出 服务和应 ...

  9. 计算机网络课程优秀备考PPT之第四章介质访问控制层(四)

    为了记录自己从2016.9~2017.1的<计算机网络>助教生涯,也为了及时梳理和整写笔记! 前期博客是, 计算机网络课程优秀备考PPT之第一章概述(一) 计算机网络课程优秀备考PPT之第 ...

随机推荐

  1. 编译执行 VS 解释执行

    一般编译程序从对源程序执行途径的角度不同,可分为解释执行和编译执行. 所谓解释执行是借助于解释程序完成,即按源程序语句运行时的动态结构,直接逐句地边分析边翻译并执行.像自然语言翻译中的口译,随时进行翻 ...

  2. POJ——3278 Catch That Cow(BFS队列)

    相比于POJ2251的三维BFS,这道题做法思路完全相同且过程更加简单,也不需要用结构体,check只要判断vis和左右边界的越界情况就OK. 记得清空队列,其他没什么好说的. #include< ...

  3. vijos题解

    Vijos题解 题库地址:https://vijos.org/p P1001 谁拿了最多奖学金 题意:按照指定要求计算奖学金,直接用if判断即可 #include<iostream> us ...

  4. PHP的那些魔术方法(一)

    在PHP中,有一堆魔术方法,服务于类和对象.PHP虽然也是纯种的面向对象语言,但是之前的PHP还真不是,所以有一些面向对象的标准实现并不完善,比如重载.但是,我们可以通过一些魔术方法来弥补,例如__c ...

  5. PHP的bz2压缩扩展工具

    在日常的开发和电脑使用中,我们经常会接触到压缩和解压的一些工具,PHP 也为我们准备了很多相关的操作扩展包,都有直接可用的函数能够方便的操作一些压缩解压功能.今天,我们先学习一个比较简单但不太常用的压 ...

  6. dede后台栏目管理文章统计数量和实际文章数不一致解决办法

    操作dede_arctiny表,将和栏目对应的typeid所有文章去掉即可.

  7. Shell系列(32)- 双分支if语句判断Apache服务是否启动

    #!/bin/bash #截取httped进程,并把结果赋予变量test test=$(ps -aux | grep "httpd" | grep -v "grep&qu ...

  8. Django框架进阶

    Django ORM那些相关操作 Django中ORM介绍和字段及字段参数 Cookie.Session和自定义分页 Django 中间件 AJAX Django form表单 Django的认证系统 ...

  9. LR录制附件上传后,回放报错

    使用LR录制附件上传后,点击回放,发现报错:没有找到上传的文件 Could not obtain information about submitted file "C:\Users\Adm ...

  10. sqlalchemy 查询结果转json个人解决方案

    参考了网上很多资料,自己搞了一个适合的 在model 内增加一个函数: class User(db.Model): __tablename__ = 'user' userid = db.Column( ...