zoukankan      html  css  js  c++  java
  • 数据链路层(5) 动态分配信道 ALOHA协议、CSMA协议、CSMA/CD协议、CSMA/CA

    一、动态分配信道

      动态分配信道是信道并非在用户通信时固定分配给用户的。

      动态分配信道,可以分为轮询访问控制  令牌传递协议;随机访问介质访问控制 ALOHA协议、CSMA协议、CSMA/CD协议、CSMA/CA协议

      随机访问介质访问控制:所有用户可随机发送信息,发送信息时占全部带宽。就是因为用户可以随机发送信息,所以就需要相关的控制协议来协调通信双方信息的发送。

    二、ALOHA协议

      ALOHA协议又可以分为两种纯ALOHA协议和时隙ALOHA协议

      (1)ALOHA协议

        ALOHA协议是不监听信道,不按时间槽发送,随机重发。图例:

        

        ALOHA协议如何检测冲突呢?

          如果发生冲突,接收方会检测出差错,不回复确认帧,发送方在一定时间内收不到确认帧,就会判断发生了冲突。

        ALOHA协议如何如何处理冲突?

          超时后等一随机时间再重传。

      

      (2)时隙ALOHA协议

        时隙ALOHA协议的思想就是把时间分成若干个相同的同间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。

        

        当每个站点在发送数据的时候,只能在一个时间片的开始来发送,如(站点1和站点2 只对应自己的T0,从图上可以看到他们在时间上并不交叉),当数据发送时没有发生冲突,那么在单位的时间T0内,接收方就可以正确接收数据;当数据发生冲突时,在一个T0的时隙内,发送方没有收到确认帧,那么发送方判断发生了冲突,发送方会在下一个时间片开始再次重传。

      

      ALOHA协议与时隙ALOHA协议的区别

      (1)ALOHA协议比时隙ALOHA协议吞吐量更低,效率更低。

      (2)ALOHA协议是想发就发,时隙ALOHA协议只有在时间片开始时才能发。

      

    三、CSMA协议

      CSMA协议叫载波监听多路访问协议。CS载波侦听/监听:每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。(当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大,互相叠加,当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突。)MA多点接入:表示许多计算机以多点接入的方式连接在一根总线上。

      

      根据CSMA协议的思想,发送数据帧之前,监听信道。监听的结果有两种一种是信道空闲则立刻发送无整数据帧;另一种是信道忙推迟发送数据帧。根据什么时候发送数据以及需要推迟多久,有三种不同的协议,分别是1-坚持CSMA、非坚持CSMA、p-坚持CSMA。

      

      (1)1-坚持CSMA

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

        1)如果信道空闲则直接传输,不必等待。

        2)如果信道忙则一直监听,直到空闲马上传输

        3)如果有冲突,则等待一个随机长的时间再监听,重复上述过程。

        优点:只要信道空闲,站点马上发送信息,提高了信道的利用率;

        缺点:如果有两个或两个以上的站点有数据要发送,冲突就不可避免。

      (2)非坚持CSMA

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

        1)如果信道空闲则直接传输,不必等待。

        2)如果信道忙则等待一个随机的时间之后再进行监听

        优点:采用随机的重发延迟时间可以减少冲突发生的可能性。

        缺点:可能存在站点都在延迟等待,使得信道可能处于空闲状态,信衜的利用率低。

      (3)p-坚持CSMA

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

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

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

        2)如果信道忙则等待一个随机的时间之后再进行监听(与非坚持CSMA一致)。

        优点:既能像非坚持那样减少冲突,又能像1-坚持CSMA那样提高信道的利用率。

        缺点:发生冲突后还是要坚持把数据帧发送发,会造成信道浪费

        

      三种CSMA方式的对比

        

     

    四、CSMA/CD协议 

      信道划分介质访问控制协议,有四种控制的方法,1、频分多路复用FDM;2、时分多路复用TDM;3、波分多路复用WDM;4、码分多路复用CDM。这四种协议有一些共同的特点,就是网络负载重时,共享信道效率很高,因为这几种协议都是对信道进行均分;但是在网络负载轻时,则共享信道的效率就很低,因为很多的信道被占用了,但是使用率不高。 

      随机访问控制协议,如随机访问介质访问控制 ALOHA协议、CSMA协议,则根据用户随机发送信息,发送信息时可以独占信道带宽,当网络负载重时,容易发生冲突而占用信道开销;但在网络负载轻时,共享信道效率高,单个结点可以利用全部信道带宽

      CSMA/CD也叫轮询访问MAC协议,它可以检测出碰撞、冲突,主要应用于有线以太网。它既不产生冲突,发送数据时又可以占全部带宽

      CSMA/CD协议轮询“邀请”从属结点发送数据,主要问题有:1.轮询开销、2.等待延迟(指还没有轮询到的主机有数据也不能发)、3.单点故障(指网络的指挥官轮询主机发生故障)

      

      注:如果连续发生16次碰撞后,认为网络繁忙,不再尝试发送

     五、CSMA/CA协议

      载波监听多点接入/碰撞避免CSMA/CA协议,它可以避免碰撞,不能检测碰撞,主要应用于无线局域网。

      为什么有了CSMA/CD协议还需要CSMA/CA协议?

      主要的问题是CSMA/CD协议不可能做到在无线局域网范围内,全面检测冲突和碰撞,另外的问题,就是隐蔽站的问题。

      

      什么是隐蔽站问题?

      当A和C都检测不到信号,认为信道空闲时,同时向B发送数据帧,就会导致冲突。

      

      CSMA/CA协议工作原理

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

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

      (3)接收端收到RTS后,会响应请求数据帧CTS(clear to send)。

      (4)发送端收到CTS后,开始发送数据帧(同时预约信道,发送方告知其他站点自己对信道的占用时间)

      (5)接收端收到数据帧后,用采用CRC来检验数据是否正确,正确则回复ACK帧。

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

       注:RTS与CTS数据帧主要用于解决隐蔽站的问题。

      CSMA/CA协议总结

      (1)预约信道  (2)ACK确认帧  (3)RTS/CTS帧。

      CSMA/CD与CSMA/CA的区别

      相同点:

      CSMA/CD与CSMA/CA都是基于CSMA的思路,其核心是先监听再传输。

      不同点:

      (1)CSMA/CD主要用于总线型以太网,CSMA/CA主要用于无线局域网。

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

      (3)CSMA/CD可以检测冲突,CSMA/CA是避免冲突,二者出现冲突后都会进行有上限的重传

      

    六、令牌传递协议

      以下是令牌环网的基本结构:

        

      这个令牌环网由四台PC组成,分别是主机A、主机B、主机C、主机D,TCU转发器就是一个传递数据帧的转发接口,它可以转发所有经过的数据帧。

      那么令牌是什么呢?它是一个特殊格式的MAC控制帧,不含任何信息。它可以控制信道的使用,确保同一时刻只有一个结点独占信道。那么令牌环网就无碰撞也没有冲突,因为,在同一时刻,只有某一台主机可以获得令牌,那么才可以独占信道。

      令牌环网的传递过程:每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制的持有令牌。

      令牌环网的问题有:1.令牌开销、2.等待延迟、3.单点故障。

      令牌环网的应用:主要应用于令牌环网(物理星型拓扑,逻辑环形拓扑),采用令牌传送方式的网络常常是负载较重、通信量较大的网络。

  • 相关阅读:
    从MySQL全备文件中恢复单个库或者单个表
    594. Longest Harmonious Subsequence
    205. Isomorphic Strings
    274. H-Index
    219. Contains Duplicate II
    217. Contains Duplicate
    操作系统-多用户如何理解(Linux)
    Java-面向对象
    C++-有感
    C++-Typedef结构体遇上指针
  • 原文地址:https://www.cnblogs.com/PBDragon/p/14928547.html
Copyright © 2011-2022 走看看