【计算机网络】——数据链路层(应用:介质访问控制)

2023-09-18 20:42:19

//仅做个人复习和技术交流,图片取自王道考研,侵删

一、大纲

1、介质访问控制

        信道划分介质访问控制

        随机访问介质访问控制

2、局域网

3、广域网

4、数据链路层设备

二、介质访问控制

省流:把广播信道通过介质访问控制机制 逻辑上转换为 点对点的信道。

介质访问控制:采取一定措施,使得两个节点之间的通信不会发生相互干扰的情况。

用来决定广播信道中信道分配的协议属于数据链路层的一个子层,称为 介质访问控制子层(Medium Access Control ,MAC)

图片来自王道

1、信道划分介质访问控制

点对点链路: 两个相邻节点通过一个链路相连,没有第三者。
应用:PPP协议,常用于广域网。

广播式链路:所有主机共享通信介质。
应用:早期的总线以太网、无线局域网,常用于局域网。典型拓扑结构:总线型、星型(逻辑总线型)

信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。

多路复用:

把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率。

采用多路复用技术可以把多个输入通道的信息整合到一个复用通道中,在接收端收到的信息分离出来,并传送到对应的输出通道。

信道划分的实质就是:通过分频、分时、分码等方法把原来的一条广播信道,逻辑上分为几条用于两个节点之间通信的互不干扰的子信道,实际上就是把广播信道 转换成 点对点信道

四种信道划分介质访问控制:

1、FDM 频分多路复用

”并行”

2、时分多路复用

“并发”

3、波分多路复用

4、CDM码分多路复用

//具体等后续补充。

2、随机访问介质控制

随机访问介质控制属于争用型协议

1、ALOHA协议

1)纯ALOHA协议

完全自由发送,一段时间内如果没收到确认,则认为发生碰撞,出现碰撞后就等待一个随机时间,再重新发送,直到全部发送成功。

2)时隙AloHa协议

1.纯ALOHA比时隙ALOHA吞吐量更低,效率更低。
2.纯ALOHA想发就发,时隙ALOHA只有在时间片段开始时才能发。

2、CSMA协议

CS:载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。

MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。

载波监听多路复用:

ALOHA协议的随心所欲发送,不会考虑其他站点是否在发送帧,出现碰撞概率很高。

若每个站点在发送前都监听一下公共信道,发现信道空闲后再发送,就会大大降低冲突可能,从而提高信道的利用率。

(1)1-坚持CSMA

一个站点要发送数据时,首先监听信道:信道空闲,立即发送;如果信道忙,则等待,同时继续监听;如果发生碰撞,那么随机等待一段时间后,再重新开始监听信道。

1-坚持的含义是:监听到信道忙后,继续坚持监听信道;监听到信道空闲后,发送帧的概率为1,即立即发送数据。

2)非坚持CSMA

非坚持指的是对于监听信道忙之后就不继续监听。


非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
空闲则直接传输,不必等待。
忙则等待一个随机的时间之后再进行监听


优点:采用随机的重发延迟时间可以减少冲突发生的可能性。
缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低.

3)p坚持CSMA

p-坚持指的是对于监听信道空闲的处理。

p-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。

空闲则以p概率直接传输,不必等待,概率1-p等待到下一个时间槽再传输。

忙则持续监听直到信道空闲再以p概率发送。

若冲突则等到下一个时间槽开始再监听并重复上述过程。

优点:既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。

三者对比

3、CSMA/CD

适用于总线型网络或半双工网络

CS载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据

MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。总线型网络

CD:碰撞检测(冲突检测),【边发送边监听】 适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。半双工网络

如果出现碰撞,就等待随机一端时间后,重新尝试发送数据。

流程概括

先听后发,边听边发,冲突停发,随机重发。

1)准备发送:适配器从网络层获得一个分组,封装成帧,放入适配器的缓存

2)信道检测:若检测到信道空闲,它就开始发送这个帧,若信道忙,它就持续检查直到信道上没有能量信号,然后开始发送此帧。

3)发送过程中,适配器仍然持续检测信道,只有两种可能:

+ 发送成功:在争用期内一直没有检测到碰撞信号,一定发送成功

+发送失败:在争用期检测到碰撞,此时立刻停止发送,适配器执行指数退避算法。

一段时间后返回步骤2,若重传16次不成功,则停止重传,向上报告。

如何确定不会发生碰撞?

争用期/冲突窗口/碰撞窗口: 2τ (τ为单程端到端传播时延)

经过争用期这段时间还未检测出碰撞,才能确定这次不会发生碰撞。

最短帧长

争用期内可发送的数据长度,在争用期内如果检测到碰撞,站点就会停止发送,此时发出去的数据一定小于最短帧长,因此凡是长度小于这个最短帧长的帧都是由于冲突异常终止的无效帧。

计算公式: 最短帧长 =总线传播时延x 数据传输速率x2

以太网规定最短帧长=64B,如果帧长不够,将在MACz子层对数据字段后面进行填充,达到64B。

从冲突中恢复:截断二进制指数规避算法

1.确定基本退避(推迟)时间为争用期 2t。
2.定义参数k,它等于重传次数,但k不超过10,即k=min[重传次数,10]。当重传次数不超过10时,k等于重传次数;当重传次数大于10时,k就不再增大而一直等于10。

3.从离散的整数集合[0,1,2-1]中随机取出一个数,重传所需要退避的时间就是r倍的基本退避时间,即2rte
4.当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错.

【举例】

第一次重传,k=1,r从0,1}选;
重传推迟时间为0或2τ,在这两个时间中随机选一个:

若再次碰撞,则在第二次重传时,k=2,r从[0,1,2,3]选: 重传推迟时间为0τ或2τ或4τ或 6τ,在这四个时间中随机选一个:

若再次碰撞,则第三次重传时,k=3,r从{0,1,2,3,4,5,6,7}选.....

若连续多次发生冲突,就表明可能有较多的站参与争用信道使用此算法可使重传需要推迟的平均时间随重传次数的增大而增大,因而减小发生碰撞的概率,有利于整个系统的稳定

4、CSMA/CA

适用于无线局域网 

检测碰撞变为 碰撞避免:协议的设计要精良降低碰撞的发生的可能性。

802.11无线局域网使用 链路层确认/重传(ARQ)方案,即每个站点通过无线局域网发送完一帧,就要收到对方的确认帧后,才能继续发送下一帧。

帧间间隔IFS:

为避免碰撞 ,802.11规定,所有站完成发送后,必须间隔一段很短时间(继续监听)才能发送下一帧。

间隔时间由短至长

1)SIFS (短IFS): 最短的 FS,用来分隔属于一次对话的各帧,使用 SIFS 的类型有 ACK帧、CTS 帧、分片后的数据,以及所有回答 AP 探询帧的等。

2)PIFS (点协调IIFS): 中等长度的 IFS,在 PCF 操作中使用。

3)DIFS (分布式协调 IFS): 最长的 IFS,用于异步竞争访问的时延。

处理隐蔽站:

发送数据前,先检测信道是否空闲。

空闲则发出RTS(request to send),RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;信道忙则等待。


接收端收到RTS后,将响应CTS (clear to send)


发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)。接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应ACK帧

发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。

CSMA/CD 和CSMA/CA的异同点

相同点:
CSMA/CD与CSMACA机制都从属于CSMA的思路,其核心是先听再说

换言之,两个在接入信道之前都须要进行监听。当发现信道空闲后,才能进行接入。


不同点:
1.传输介质不同:CSMA/CD 用于总线式以太网[有线],而CSMA/CA用于无线局域网[无线]。

2载波检测方式不同:因传输质不同,CSMA/CD与CSMA/CA的检测方式也不同。CSMA/CD通过申缆中电乐的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化:而CSMA/CA采用能量检测(ED)、载波检测 (Cs)和能量载波混合检测三种检测信道空闲的方式。

3.CSMA/CD检测冲突,CSMA/CA避免冲突,二者出现冲突后都会进行有上限的重传。

5、轮询访问:令牌传递协议

物理拓扑上,不一定是环,但是逻辑链路一定是环。

令牌:Token


一个特殊的MAC控制帧,控制信道的使用,确保同一时刻只有一个结点独占信道


今牌环网无碰撞


每个结点都可以在一定的时间内 令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌。
问题:
1.令牌开销 2.等待延迟 3.单点故障
应用于令牌环网 (物理星型拓扑,逻辑环形拓扑)
采用令牌传送方式的网络常用于负载较重、通信量较大的网络中。

更多推荐

本地Docker Registry远程连接,为你带来高效便捷的镜像管理体验!

Linux本地DockerRegistry本地镜像仓库远程连接文章目录Linux本地DockerRegistry本地镜像仓库远程连接1.部署DockerRegistry2.本地测试推送镜像3.Linux安装cpolar4.配置DockerRegistry公网访问地址5.公网远程推送DockerRegistry6.固定D

CESM地球系统模式教程

详情点击公众号技术科研吧链接:CESM地球系统模式教程前言目前通用地球系统模式(CommunityEarthSystemModel,CESM)在研究地球的过去、现在和未来的气候状况中具有越来越普遍的应用。CESM由美国NCAR于2010年07月推出以来,一直受到气候学界的密切关注。近年升级的CESM2.0在大气、陆地、

ElasticSearch系列-简介与安装详解

全文检索讲ElasticSearch之前,需要先提一下全文检索.全文检索是计算机程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置。当用户查询时根据建立的索引查找,类似于通过字典的检索字表查字的过程。索引:建立索引文本---->切分--->词文章出现过出现多少次检索:查询关键词---

基于TensorFlow+CNN+协同过滤算法的智能电影推荐系统——深度学习算法应用(含微信小程序、ipynb工程源码)+MovieLens数据集(三)

目录前言总体设计系统整体结构图系统流程图运行环境模块实现1.模型训练1)数据集分析2)数据预处理3)模型创建(1)定义参数(2)定义网络数据输入占位符(3)定义用户嵌入矩阵(4)定义电影嵌入矩阵(5)定义电影类型嵌入矩阵(6)处理电影名称(7)全连接层(8)定义计算图相关其它博客工程源代码下载其它资料下载前言本项目专注

MySQL事务

MySQL事务一、事务的概念二、事务的ACID特点1、原子性2、一致性3、隔离性3.1、事务的隔离级别3.1.1测试脏读3.1.2测试提交读3.1.3测试可重复读3.2、查询全局事务隔离级别3.3、查询会话事务隔离级别3.4、设置全局事务隔离级别3.5、设置会话事务隔离级别4、持久性三、事务控制语句1、测试提交事务2、

SQL如何从数据库中查找数据是否存在

SQL查找是否存在,别再用count!!!问题背景在业务开发中,经常遇到如下需求:从数据库中查找符合一组条件的数据是否存在。结果也无非两种状态:“有”或者“没有”。模拟数据表CREATETABLE`user`(`id`bigintNOTNULLCOMMENT'id',`userName`varchar(256)CHAR

springboot集成canal实现同步双写

一.canal服务端canal是阿里巴巴MySQL数据库Binlog的增量订阅&消费组件。基于数据库增量日志解析,提供增量数据订阅&消费。二.基于docker搭建在docker环境中1.执行dockersearchcanal获取到需要下载的canal镜像2.执行dockerpull选择下载的canal镜像3.执行run

K8S之Pod详解

Pod详解一、Pod基础概念1.概念2.在Kubrenetes集群中Pod有如下两种使用方式3.pause容器使得Pod中的所有容器可以共享两种资源4.kubernetes中的pause容器主要为每个容器提供以下功能5.Kubernetes设计这样的Pod概念和特殊组成结构有什么用意6.通常把Pod分为两类二、容器的分

华为云创新中心&黑湖科技:将智能制造进行到底

编辑:阿冒设计:沐由一如去年,第二届828B2B企业节从8月28日-9月15日期间,再一次成为广大企业界关注的焦点。当前,数字技术已经被广泛被融入到产品、服务与流程当中,用以转变客户的业务成果,以及商业与公共服务的传统交付方式,从而为企业在数字化时代的发展提供了新的契机。华为云联合多方生态伙伴共同发起的828B2B企业

CentOS 7 安装Libevent

CentOS7安装Libevent1.下载安装包新版本是libevent-2.1.12-stable.tar.gz。(如果你的系统已经安装了libevent,可以不用安装)官网:http://www.monkey.org/~provos/libevent/2.创建目录#mkdirlibevent-stable3.解压#

【openwrt学习笔记】miniupnpd学习笔记

目录一、参考资料二、upnp基本概念三、miniupnpd3.1参数说明3.1.1configupnp的配置参数表3.1.2configperm_rule许可设置配置参数表3.2windows上使用miniupnpc工具3.3关于开启upnp功能后无法添加端口四、其它知识补充4.1NAT4.1.1NAT概念4.1.2N

热文推荐