【计算机网络】-介质访问子层-(信道划分介质访问控制&随机访问介质访问控制)
【计算机网络】-介质访问子层-概述
介质访问控制子层功能
- 解决信道争用的协议,即用于多路访问信道上确定下一个使用者的协议
- 是数据链路层协议的一部分
介质访问控制子层位置
位于数据链路层的底部!
信道分配方式
静态分配
1.频分多路复用(FDM)
原理:如果总共N个用户,则整个带宽分成N等分,每个用户分配一份(见下图)
优点:适合于用户较少,数目基本固定,且各用户的通信量都较大的情况
缺点:无法灵活地适应站点数及其通信量的变化
2.时分多路复用(TDM)
原理:每个用户被静态地分配到N分之一个时槽
优点:适合于用户较少,数目基本固定,且各用户的通信量都较大的情况
缺点:无法灵活地适应站点数及其通信量的变化
静态信道分配存在的问题:不能适应突发性流量
动态分配
信道分配模型的五个基本假设:
流量独立(independent traffic)
- 该模型是由N个独立的站组成的,每个站点都有一个程序或用户产生要传输的帧,并以统计固定的速率产生帧,一旦生成一帧,则站就被阻塞,直到该帧被成功地发送出去。
单信道(single channel)
- 所有的通信都使用这个信道。所有站点都可以从该信道上收发信息
冲突假设(collision assumption)
- 若两帧同时发出,会相互重叠,结果使信号无法辨认,这称为冲突
- 所有的站点都能检测到冲突,冲突帧必须重发。除了冲突而产生错误外,没有其它错误
连续时间和分槽时间
- 连续时间(continous time)
- 时间可假设是连续的,在任何时刻都可以开始发送帧
- 分槽时间(slotted time)
- 时间被分成离散的间隔(即时槽),总在时槽开始的一瞬间开始发送帧
载波帧听(carrier sense)和无载波帧听(no carrier sense)
- 载波帧听
- 所有站在使用信道之前都检测到信道是否正在使用
- 如果信道忙,则没有站企图使用信道,如此下去直到信道空闲为止
- 无载波帧听(no carrier sense)
- 各站在使用信道前不检测信道,只是盲目地发送,以后再判断这次是否发送成功
ALOHA协议
背景:70年代,夏威夷大学的Norman Abramson和他的同事设计的,用于解决信道的分配问题,可用于“多个无协调关系的用户竟争单个共享信道使用权”的系统。
纯ALOHA
基本思想:
1.用户有数据要发送时,就让它们发送
2.然后监听信道是否产生冲突,若产生冲突,则等待一段随机的时间重发
冲突产生:
1.任何时候只要两帧同时使用信道就会产生冲突,破坏两帧
2.两帧只要有1位的重叠,这两帧都将被完全毁坏,稍后都要重传
信道最高利用率
纯ALOHA信道的利用率最好为18.4%
分槽ALOHA
基本思想:
1.把时间分成离散的间隔,每个间隔对应于发送一帧所需时间
2.每个站点只能等到下一个时槽开始时才允许发送
3.其他过程与纯ALOHA相同
注意:
- 牺牲了随机性来提高利用率——0.368
- 必须全局时间同步
载波侦听多路访问(CSMA)
基本思想:
站点在发送帧之前,首先监听信道是否存在载波,若有载波,说明已有用户在使用信道,则不发送帧以避免冲突
1-持续CSMA
原理:
1.若站点有数据发送,先监听信道
2.若信道忙,则继续监听直至发现信道空闲
3.当站点发现信道空闲,就发送一帧
4.若产生冲突,等待一随机时间,然后再次检测和发送
优点:
减少了信道空闲时间
缺点:
增加了发生冲突的概率
非持续CSMA
原理:
1.若站点有数据发送,先监听信道
2.若站点发现信道空闲,则发送
3.若信道忙,等待一随机时间,然后再重复同样的算法
4.若产生冲突,等待一随机时间,然后再重复同样的算法
优点:
- 减少了冲突的概率
缺点:
- 增加了信道空闲时间,数据发送延迟增大
- 信道效率比1-坚持CSMA高,传输延迟比1-坚持CSMA大
p-持续CSMA
适用:分槽信道
原理:
1.若站点有数据发送,先监听信道
2.若站点发现信道空闲,则以概率p的可能性发送。在概率q =1-p情况下,会将发送数据的任务延迟至下一个时槽。若下一个时槽仍空闲,则它或以概率p发送数据,或以概率q再次延迟,重复此过程,直至数据发出或时槽被其他站点所占用
3.若信道忙,则等到下一个时槽,再重复同样的算法
4.若产生冲突,等待一随机时间,然后再重复同样的算法
带冲突检测的CSMA(CSMA/CD)
引入原因:
- 当两个帧发生冲突时,两个被损坏帧继续传送毫无意义,而且信道无法被其他站点使用,对于有限的信道来讲,造成很大的浪费
- 如果站点边发送边监听,并在监听到冲突之后立即停止发送,可以提高信道的利用率
CSMA/CD协议的改进:
CSMA/CD的改进是由于在检测到碰撞时中止传输,进而减少争用时间以提高性能
原理:
1.发送前先监听信道是否空闲
2.若空闲则立即发送
3.若信道忙,则继续监听,一旦空闲就立即发送
4.在发送过程中,仍需继续监听
5.若监听到冲突,则立即停止发送数据,然后发送一串干扰信号
6.等待一段随机时间(称为退避)以后,再重新尝试
CSMA/CD模型:
如果有两个或者多个站正在传输,冲突就会发生。如果一个站监听到冲突,那么它会立即终止自己的传送,等待一段随机的时间,然后重新尝试传送,因此CSMA/CD协议会交替出现竞争期、传输期、以及所有站都静止的空闲期。
确定冲突时间:
一个站点确定发生冲突要花多少时间?即经过多长时间可以抓住信道(考虑最差的情况)。假设两个相距最远的站间传播信号所需时间为τ
1.在t0时刻,一个站开始发送数据;在τ-ε时刻(信号到达最远站之前的那一时刻),最远站开始发送数据,这个数据在2τ-ε时刻才能到达原来的那个站,发送站知道发生冲突
2.最差的情况下,当一个站发送了2τ之后还没有监听到冲突,就确保它抓住了信道
总结:
发前先侦听,空闲即发送,边发边检测,冲突时退避
无冲突协议
位图协议
工作原理:
- 共享信道上有N个站,竞争周期分为N个时槽,如果一个站有帧发送,则在对应的时槽内发送比特1
- N个时槽之后,每个站都知道哪个站要发送帧,这时按站序号发送
- 最后一个站传送完帧后,另一个N位的竞争周期又开始了
由于在发送前,时槽内会被预先发送比特位1,所以这种在实际发送信息前先广播发送请求的协议称为预留协议(reservation protocol)
缺点:
- 与站序号有关的不平等性,序号大的站得到的服务好
- 每个站都有 1 比特的开销
位图协议的实质:让每一个站以预定义的顺序轮流发送一帧
令牌传递
令牌是站与站之间传递的短消息,这个名为令牌的短消息代表了发送的权限,它按照预定好的顺序从一个站传递到另外一个站。如果某个站有一个等待传输的帧队列,当他收到令牌之后,就拥有了发送帧的权限,就可以开始发送帧了,然后再把令牌传递给另外一个站,如果其中某个站收到令牌但是它没有信息要传送,那么它就仅仅简单的把令牌传下去。
特点:
1.帧传输和令牌发送的方向是一致的
2.为了防止帧陷入无限循环必须有站将其从环上取下来,这个取下来的站可能是原始站,或者是接受站
注意:
1.不需要一个物理环来实现令牌传递,连接各站信道可以是一根长总线,每个站通过该总线来按照预定义的顺序把令牌发送给下一个站,令牌拥有者可以使用总线发送帧
2.和位图协议不同,它不存在倾向低编号还是高编号一说
有限竞争协议
竞争协议vs非竞争协议
为了在广播网络中获取信道,共有两种基本策略,一种是竞争的协议,比如CSMA,另外一种是无竞争协议
1.负载较小的情况下,竞争协议优势大,因为其延迟短
2.负载增加的情况下,无竞争协议优势大,因为竞争协议面临的信道仲裁开销过大,而无竞争开销相对固定
有限竞争协议:结合了竞争协议和无竞争协议的优点
1.低负载下提供竞争做法而提供较短的延迟
2.高负载下提供无竞争的做法减少开销,提高信道利用效率
1.可以得出只要减少竞争站的数量,那么站得到信道的概率就会大大增加,有限竞争协议就是这样做的,它首先将所有的站划分成组,只有0号组的成员才可以竞争0号时间槽,如果组内的一个成员竞争成功了,则它获得信道,可以传送它的帧。如果该时间槽是空闲的,或者发生冲突,那么1号组可以竞争1号时间槽,以此类推,通过分组的方法可以减少每个时间槽中竞争数量。
2.冲突的概率会随着组内的站数量增加而增加,因此分配时间槽是动态的,负载低,每个时间槽内的站就多一些,负载高,每个组内站就少一些。
【计算机网络】-介质访问子层-(信道划分介质访问控制&随机访问介质访问控制)的更多相关文章
- 序列流、对象操作流、打印流、标准输入输出流、随机访问流、数据输入输出流、Properties(二十二)
1.序列流 * 1.什么是序列流 * 序列流可以把多个字节输入流整合成一个, 从序列流中读取数据时, 将从被整合的第一个流开始读, 读完一个之后继续读第二个, 以此类推.* 2.使用方式 * 整合两个 ...
- 世界各个地区WIFI 2.4G及5G信道划分表(附无线通信频率分配表)
参考:https://blog.csdn.net/dxpqxb/article/details/80969760 目前主流的无线WIFI网络设备802.11a/b/g/n/ac: 传统 802.11 ...
- centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课
centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 ...
- WIFI 国家码和信道划分
前言 网上百度了很多资料,都没有找到国家码对应支持哪些信道的资料,无奈只能qiang到谷歌,分享给大家完整的WIFI 国家码和信道划分. 安卓WIFI国家码的影响 android中设置wifi国家码的 ...
- [19/04/03-星期三] IO技术_其它流(RandomAccessFile 随机访问流,SequenceInputStream 合并流)
一.RandomAccessFile 随机访问流 [版本1] /* *RandomAccessFile 所谓随机读取就是 指定位置开始或指定位置结束 的读取写入文件 * 实现文件的拆分与合并 模拟下载 ...
- 【windows 访问控制】三、访问控制列表 ACL=DACL+SACL
访问控制列表(ACL:Access Control List) ACL列表的结构 ACL 中的每个 ACE 标识一个受信者,并指定该受信者访问规则.安全对象的安全描述符 可以包含两种类型的 ACL:D ...
- 使用poco 的NetSSL_OpenSSL 搭建https 服务端,使用C++客户端,java 客户端访问,python访问(python还没找到带证书访问的代码.)
V20161028 由于项目原因,需要用到https去做一些事情. 这儿做了一些相应的研究. 这个https 用起来也是折腾人,还是研究了一周多+之前的一些积累. 目录 1,java client 通 ...
- 本机ip+端口不能访问web server,外部却可以访问
本机ip+端口不能访问web server,外部却可以访问! 这个奇葩的问题困扰了我好久,别人通过ip访问我的server一切正常,自己却访问不了,一度怀疑win10的问题,久寻无果! 最后关闭ads ...
- nginx日志中访问最多的100个ip及访问次数
nginx日志中访问最多的100个ip及访问次数 awk '{print $1}' /opt/software/nginx/logs/access.log| sort | uniq -c | sort ...
随机推荐
- ISO15765
常用的缩略词 ISO15765网络层服务 协议功能 a)发送/接收最多4095个字节的数据信息: b)报告发送/接收完成状态. 网络层内部传输服务,CAN总线上的数据帧没帧只能传输8个字节,ISO 为 ...
- [CSP-S模拟测试]:C(三分+贪心)
题目传送门(内部题46) 输入格式 第一行$3$个整数$n,m,t$.第二行$n$个整数,表示$P_i$.接下来$m$行每行两个整数,表示$L_i,R_i$. 输出格式 一行一个整数表示答案. 样例 ...
- LeetCode 114. 二叉树展开为链表(Flatten Binary Tree to Linked List)
题目描述 给定一个二叉树,原地将它展开为链表. 例如,给定二叉树 1 / \ 2 5 / \ \ 3 4 6 将其展开为: 1 \ 2 \ 3 \ 4 \ 5 \ 6 解题思路 二叉树转化为链表的基本 ...
- leetcode-hard-ListNode-23. Merge k Sorted Lists
mycode 91.2% # Definition for singly-linked list. # class ListNode(object): # def __init__(self, x ...
- PHP中Smarty的fetch()方法
fetch 取得输出的内容 string fetch (string template [, string cache_id [, string compile_id]]) 返回一个模板输出的内容(H ...
- LC 553. Optimal Division
Given a list of positive integers, the adjacent integers will perform the float division. For exampl ...
- vue echarts圆角阴影效果
series: [ { name: '销量', type: 'bar', data: [5, 20, 36, 10, 10, 20], itemStyle: { normal: { barBorder ...
- win7系统下flutter环境搭建+AndroidStudio编译插件
flutter学习网址:https://flutter-io.cn/ ----------------------------------------------------------------- ...
- oracle imp 工具可能出现的问题
- pyqt5 工具栏文字图片同时显示
import sys from PyQt5.QtWidgets import QMainWindow, QTextEdit, QAction, QApplication from PyQt5.QtGu ...