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

【计算机网络】-介质访问子层-概述

介质访问控制子层功能

  • 解决信道争用的协议,即用于多路访问信道上确定下一个使用者的协议
  • 是数据链路层协议的一部分

介质访问控制子层位置

位于数据链路层的底部!

【计算机网络】-介质访问子层-(信道划分介质访问控制&随机访问介质访问控制)..._第1张图片

信道分配方式

静态分配

1.频分多路复用(FDM)
原理:如果总共N个用户,则整个带宽分成N等分,每个用户分配一份(见下图)
【计算机网络】-介质访问子层-(信道划分介质访问控制&随机访问介质访问控制)..._第2张图片
优点:适合于用户较少,数目基本固定,且各用户的通信量都较大的情况
缺点:无法灵活地适应站点数及其通信量的变化

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.然后监听信道是否产生冲突,若产生冲突,则等待一段随机的时间重发

【计算机网络】-介质访问子层-(信道划分介质访问控制&随机访问介质访问控制)..._第3张图片

冲突产生:

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协议会交替出现竞争期、传输期、以及所有站都静止的空闲期。

【计算机网络】-介质访问子层-(信道划分介质访问控制&随机访问介质访问控制)..._第4张图片

确定冲突时间:

一个站点确定发生冲突要花多少时间?即经过多长时间可以抓住信道(考虑最差的情况)。假设两个相距最远的站间传播信号所需时间为τ

【计算机网络】-介质访问子层-(信道划分介质访问控制&随机访问介质访问控制)..._第5张图片

1.在t0时刻,一个站开始发送数据;在τ-ε时刻(信号到达最远站之前的那一时刻),最远站开始发送数据,这个数据在2τ-ε时刻才能到达原来的那个站,发送站知道发生冲突
2.最差的情况下,当一个站发送了2τ之后还没有监听到冲突,就确保它抓住了信道

总结:
发前先侦听,空闲即发送,边发边检测,冲突时退避

无冲突协议

位图协议

工作原理:

  • 共享信道上有N个站,竞争周期分为N个时槽,如果一个站有帧发送,则在对应的时槽内发送比特1
  • N个时槽之后,每个站都知道哪个站要发送帧,这时按站序号发送
  • 最后一个站传送完帧后,另一个N位的竞争周期又开始了

【计算机网络】-介质访问子层-(信道划分介质访问控制&随机访问介质访问控制)..._第6张图片

由于在发送前,时槽内会被预先发送比特位1,所以这种在实际发送信息前先广播发送请求的协议称为预留协议(reservation protocol)

缺点:

  • 与站序号有关的不平等性,序号大的站得到的服务好
  • 每个站都有 1 比特的开销

位图协议的实质:让每一个站以预定义的顺序轮流发送一帧

令牌传递

令牌是站与站之间传递的短消息,这个名为令牌的短消息代表了发送的权限,它按照预定好的顺序从一个站传递到另外一个站。如果某个站有一个等待传输的帧队列,当他收到令牌之后,就拥有了发送帧的权限,就可以开始发送帧了,然后再把令牌传递给另外一个站,如果其中某个站收到令牌但是它没有信息要传送,那么它就仅仅简单的把令牌传下去。

【计算机网络】-介质访问子层-(信道划分介质访问控制&随机访问介质访问控制)..._第7张图片

特点:
1.帧传输和令牌发送的方向是一致的
2.为了防止帧陷入无限循环必须有站将其从环上取下来,这个取下来的站可能是原始站,或者是接受站

注意:
1.不需要一个物理环来实现令牌传递,连接各站信道可以是一根长总线,每个站通过该总线来按照预定义的顺序把令牌发送给下一个站,令牌拥有者可以使用总线发送帧
2.和位图协议不同,它不存在倾向低编号还是高编号一说

有限竞争协议

竞争协议vs非竞争协议
为了在广播网络中获取信道,共有两种基本策略,一种是竞争的协议,比如CSMA,另外一种是无竞争协议
1.负载较小的情况下,竞争协议优势大,因为其延迟短
2.负载增加的情况下,无竞争协议优势大,因为竞争协议面临的信道仲裁开销过大,而无竞争开销相对固定

有限竞争协议:结合了竞争协议和无竞争协议的优点
1.低负载下提供竞争做法而提供较短的延迟
2.高负载下提供无竞争的做法减少开销,提高信道利用效率

【计算机网络】-介质访问子层-(信道划分介质访问控制&随机访问介质访问控制)..._第8张图片

【计算机网络】-介质访问子层-(信道划分介质访问控制&随机访问介质访问控制)..._第9张图片
1.可以得出只要减少竞争站的数量,那么站得到信道的概率就会大大增加,有限竞争协议就是这样做的,它首先将所有的站划分成组,只有0号组的成员才可以竞争0号时间槽,如果组内的一个成员竞争成功了,则它获得信道,可以传送它的帧。如果该时间槽是空闲的,或者发生冲突,那么1号组可以竞争1号时间槽,以此类推,通过分组的方法可以减少每个时间槽中竞争数量。
2.冲突的概率会随着组内的站数量增加而增加,因此分配时间槽是动态的,负载低,每个时间槽内的站就多一些,负载高,每个组内站就少一些。

你可能感兴趣的:(【计算机网络】-介质访问子层-(信道划分介质访问控制&随机访问介质访问控制)...)