【计算机网络】媒介访问控制子层(MAC)(一)概念理解

简介: 网络连接分为两类,一类是端到端连接(在物理层一章详细介绍了,我后面再整理),一类是通过广播信道,其中的一个关键问题是当存在竞争时,谁能获得信道的使用权。本文中提到的一些协议用于解决该问题。
本文首发于稀土掘金。该平台的作者 逐光而行 也是本人。

媒介访问控制子层(MAC):决定了谁能在信道上继续执行

注意:多路访问控制协议都无法保证传输的可靠性

相关背景知识及概念

  • 网络连接分为两类,一类是端到端连接(在物理层一章详细介绍了,我后面再整理),一类是通过广播信道,其中的一个关键问题是当存在竞争时,谁能获得信道的使用权。

本文中提到的一些协议用于解决该问题。

  • 广播信道的访问方式也分两种。一种是随机访问,一种是多路访问(存在竞争)。MAC属于多路访问的范畴。
  • 局域网(LAN)是一个广播信道,因此MAC层显得很重要;而在广域网(WAN)中,除卫星通信外多用端到端连接。

信道分配问题

信道是什么?

信道是一个抽象的逻辑概念,它实际的物理介质可以有多种形式。比如:无线频谱、有线网络里面的单根线、光纤等等。

静态信道分配

  • FDM(frequency division multiplexing)

按照使用者的数量N将带宽均分为N份

  • 缺点:

    • 当用户量变大时,每个用户能分到的带宽很小;
    • 当用户数量超过最大能分的数量时,有的用户会被挤出去(拒绝访问)
    • 用户不用时这部分资源也被独占,无法释放,造成浪费。
  • 用途:比如telephone trunk

(其实关于这一点我是有切身体会的,我个人觉得真不仅是电话线,从某一个时段来看,这种思想依然是成立的。比如社团有人拉了宽带,少人连接的时候每个人都用得很流畅,多人用的时候速度真的一言难尽;再比如,我经常无法连接学校的校园网,属于是被挤掉的那个)

有如下公式:
$T=1/(μC-λ)$

其中,T表示平均延迟时间,C是信道容量,1/μ是帧的平均长度,服务率就是大除以小,即μC,设平均到达率为λ。

帧在信道中的示意图.png

如果将单一信道分为N份,套用加对以上公式进行变形,即可得到:

$T(N)=NT$

动态信道分配

前提是假设满足如下条件:

  • 交通独立。有N个独立的基站,并且对于单个基站而言,在一帧被成功传输前它不会发送新的帧。
  • 所有基站都在使用同一个信道(核心)。(各个基站理论上是可以均分信道资源的,不过在具体协议中会有所调整)
  • 冲突是可以被检测的。(基础)
  • 时间是持续的或者插槽式的

    • 时间是连续的:任意一个时刻都可以开始帧的发送
    • 时间片也可以被分为多个独立的整体,称为插槽(slot),在这种情况下,帧的传输必须在插槽开始的位置。

    (这需要所有基站进行同步)

    • 插槽含有的帧数为0,说明是空槽;1,说明成功传输;多帧,说明存在冲突
  • 分是否含载波监听两种情况。

(载波监听机制也会有自己的问题,后续会详细说)

ALOHA(世界最早的无线电计算机通信网)(了解即可)

分纯正的和带插槽的两种。前者时间是连续的,后者时间被划分为一块块插槽。

带插槽的信道利用率最多可达$1/e$

Carrier Sense Multiple Access Protocols(载波监听与多路访问)

目前以太网使用的是:CSMA/CD(多了个collision detection,冲突监测)

按照检测信道是否空闲的报文持续发送的程度(persistent),可将CSMA大致分成以下几种类型(实际上还不止,详见原书图4-4,只是这几种最有代表性)

  • persistent CSMA(一直等)
  • non-persistent CSMA(不总是等)
  • p-persistent CSMA(按概率来等)

以下将以小明等公交以及坐公交为例,详细解释这三种情况以及后续的CD模型。

  • persistent CSMA:小明一直在车站等公交,一直抬头张望(监听信道是否空闲);要是等到了就上车,等不到就继续等。
  • non-persistent CSMA:小明等公交并不是特别着急,如果能等到就上,等不到就去隔壁小卖部先坐会儿吹吹水(时长不定),过会儿再去看看车来了没有。
  • p-persistent CSMA:小明比较任性,在有了去隔壁小卖部吹水的习惯的前提下,他手握一枚硬币,即使公交来了他也不着急上车,而是先抛抛硬币,只有是正面(概率为p)他才上车。
  • with Collision Detection:小明终于上了车,只有稳稳坐在座位上他才能更好地敲代码完成老板的任务,但是车上座位只有一个(别质疑,先相信),如果有人也想坐这个位子,他会先站起来等一等,发现没人坐再坐回去。

不过这种情况下会存在问题,比如小军想坐这个位子,他也想着先等一会儿,没人了他再坐,如果他们两个同时开始等待又同时结束等待的话,实际上相当于中间那段时间信道处于空闲状态、而之后又产生新的冲突。

参考书籍

  • 《Computer Networks (the fifth edition) 》
相关实践学习
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
1月前
|
安全 网络安全 数据安全/隐私保护
【计算机网络】URL概念及组成
【计算机网络】URL概念及组成
|
1月前
|
消息中间件 存储 缓存
Kafka【基础知识 01】消息队列介绍+Kafka架构及核心概念(图片来源于网络)
【2月更文挑战第20天】Kafka【基础知识 01】消息队列介绍+Kafka架构及核心概念(图片来源于网络)
91 2
|
3月前
|
缓存 负载均衡 应用服务中间件
高性能网络编程技术 Nginx 的概念与实践
Nginx 是一款高性能、轻量级的Web服务器和反向代理服务器,它在网络编程技术领域中被广泛应用。本文将详细介绍Nginx的概念和实践,包括其核心原理、功能特点、优势和应用场景等方面。同时,还将深入探讨如何使用Nginx进行高性能网络编程,结合实际案例进行分析。
|
15天前
|
安全 SDN 数据中心
|
1月前
|
网络协议 网络安全 网络性能优化
网络技术基础(14)——ACL访问控制列表
【3月更文挑战第3天】刚加完班又去南京出差了,实在是太忙了。。。。
|
1月前
|
缓存 算法 数据安全/隐私保护
计算机网络:数据链路层(介质访问控制)
计算机网络:数据链路层(介质访问控制)
367 0
|
1月前
|
存储 边缘计算 网络协议
计算机网络的基本概念与应用
计算机网络的基本概念与应用
|
1月前
|
机器学习/深度学习 编解码 人工智能
一篇文章搞懂CNN(卷积神经网络)及其所含概念
一篇文章搞懂CNN(卷积神经网络)及其所含概念
72 0
一篇文章搞懂CNN(卷积神经网络)及其所含概念
|
2月前
|
存储 缓存 网络协议
计算机网络:思科实验【2-MAC地址、IP地址、ARP协议及总线型以太网的特性】
计算机网络:思科实验【2-MAC地址、IP地址、ARP协议及总线型以太网的特性】
|
2月前
|
安全 网络安全 数据安全/隐私保护