zoukankan      html  css  js  c++  java
  • 计算机网络-链路层(2)多路访问控制协议(multiple access control protocol)

    单一共享广播信道,如果两个或者两个以上结点同时传输,会互相干扰(interference)
    冲突(collision):结点同时接收到两个或者多个信号→接收失败!
    MAC协议采用分布式算法决定结点如何共享信道,即决策结点何时可以传输数据。
    其必须基于信道本身,通信信道共享协调信息。无带外信道用于协调。
    • 信道划分(channel partitioning)MAC协议
    TDMA: time division multiple access
    TDM 将时间划分为时间帧(timeframe),并进一步划分每个时间帧为N个时隙(slot)
    每个站点在每个时间帧,占用固定长度的时隙(长度=分组传输时间);未用时隙空闲(idle)
    如图:6站点LAN,134传输分组,256空闲
    FDMA: frequency division multiple access
    信道频谱划分为若干频带(frequency bands)
    每个站点分配一个固定的频带,不会冲突但信道利用率可能不高;无传输频带空闲
    如图:6站点LAN, 134频带传输数据,256频带空闲。
    CDMA: code division multiple access
    每个用户分配一个唯一的m bit码片序列(chipping sequence),其中“0”用“-1”表示、“1”用“+1”表示。
    各用户码片序列相互正交(orthogonal)
    各用户使用相同频率载波,利用各自码片序列编码数据,编码信号= (原始数据) × (码片序列)
    如发送比特 1(+1),则发送自己的m bit 码片序列
    如发送比特 0(-1),则发送该码片序列的m bit 码片序列的反码
    接收端收到的是各用户的叠加向量,用发送端的码片序列与收到的编码信号求内积则可解码
    • 随机访问(random access)MAC协议
    当结点要发送分组时,利用信道全部数据速率R发送分组,没有事先的结点间协调
    两个或多个结点同时传输时会发生冲突,因此需要定义:如何检测冲突、如何从冲突中恢复 (如通过延迟重传)
    时隙ALOHA协议
    所有帧大小相同
    时间被划分为等长的时隙(每个时隙可以传输1个帧),结点间时钟同步
    结点只能在时隙开始时刻发送帧,当结点有新的帧时在下一个时隙(slot)发送
    如果2个或2个以上结点在同一时隙发送帧,结点即检测到冲突
    如果无冲突:该结点可以在下一个时隙继续发送新的帧
    如果冲突:该结点在下一个时隙以概率p重传该帧,直至成功
    优点:
    (1)单个结点活动时,可以连续以信道全部速率传输数据
    (2)高度分散化:只需同步时隙
    (3)简单
    缺点:
    (2)冲突时会浪费时隙
    (2)存在空闲时隙
    (3)结点也许能以远小于分组传输时间检测到冲突,不过检测到冲突也没有意义,因为时隙ALOHA协议只允许在时隙开始时发送数据帧
    (4)需要时钟同步
    假设: N个结点有很多帧待传输,每个结点在每个时隙均以概率p发送数据
    对于给定的一个结点,在一个时隙将帧发送成功的概率= p(1-p)N-1
    对于任意结点成功发送帧的概率= Np(1-p)N-1
    最大效率: 求得使Np(1-p)N-1最大的p*
    对于很多结点,求Np*(1-p*)N-1当N趋近无穷时的极限,可得最大效率=1/e≈0.37
    非时隙ALOHA协议
    无需时钟同步,更加简单
    当有新的帧产生时,立刻发送
    冲突可能性增大:在t0时刻发送帧,会与在[t0-1, t0+1]期间其他结点发送的帧冲突
    易损时间区为[t0-1, t0+1],是时隙ALOHA协议的两倍
    P(给定结点成功发送帧) = P(该结点发送)*P(无其他结点在[t0-1, t0]期间发送帧)*P(无其他结点在[t0, t0+1]期间发送帧)
    = p·(1-p)N-1·(1-p)N-1
    = p·(1-p)2(N-1)
    选取最优的p,当N趋近无穷时的极限=1/(2e)≈0.18,比时隙ALOHA更差
    载波侦听多路访问协议 CSMA(carrier sense multiple access)协议
    载波侦听:发送帧之前,监听信道(载波):
        信道空闲:发送完整帧
        信道忙:推迟发送
            1-坚持CSMA:以概率p=1一直坚持监听信道
            非坚持CSMA:不坚持监听信号,等待一段时间再监听
            P-坚持CSMA
    冲突可能仍然发生:信号传播延迟,或者同时发送了数据帧
    广播信道的端到端信道传播时延越长,载波侦听结点不能侦听到网络中另一个结点巳经开始传输的机会就越大
    如图:B已经开始传输,但由于信号传输延迟,D不能侦听到,因此也开始了传输。但即使出现冲突也必须将数据帧发送完,会浪费信道资源。
    具有碰撞检测的载波侦听多路访问协议 CSMA/CD (CSMA with CollisionDetection)协议
    应用于以太网
    碰撞检测:当一个传输结点在传输时一直在侦听此信道。如果它检测到另一个结点正在传输干扰帧,它就停止传输
    有线局域网易于实现:测量信号强度,比较发射信号与接收信号
    无线局域网很难实现:接收信号强度淹没在本地发射信号强度下
    如图:短时间内可以检测到冲突(检测到叠加信号),冲突后传输中止,减少信道浪费
    网络带宽:R bps
    数据帧最小长度:Lmin(bits)
    信号传播速度:V(m/s)
    数据帧发送完成前,A必须收到B处传来的冲突L / R ≥ 2dmax/ V
    Lmin/ R = 2dmax/ V
    可能还有一些延迟时间,RTT > d / V ,得Lmin/ R= RTTmax
    Tprop= LAN中2个结点间的最大传播延迟
    ttrans= 最长帧传输延迟,对于10Mbps,传输最大长度的以太网帧的时间近似为1.2ms
    Tprop趋近于0或者ttrans趋近于∞时,效率趋近于1
    远优于ALOHA,并且简单、分散!
    避免冲突的载波侦听多路访问协议  CSMA/CA(CSMAwith Collision Avoidance)协议
    802.11无线局域网中,不能像CSMA/CD那样,边发送、边检测冲突,原因为:
    (1)检测碰撞的能力要求站点具有同时发送(站点自己的信号)和接收(检测其他站点是否也在发送)的能力。因为在802. 11适配器上,接收信号的强度通常远远小于发送信号的强度,制造具有检测碰撞能力的硬件代价较大。
    (2)无法侦听到所有可能的冲突:隐藏站、信号衰落
    802.11发送端:
    (1)如果监听到信道空闲了分布式帧间间隔DIFS后,则在发送整个帧(发送的同时不检测冲突)
    发送端首先利用CSMA向BS发送一个很短的请求发送(request-to-send,RTS)控制帧预约信道,而不是随机发送数据帧,利用小预约帧避免长数据帧的冲突。RTS帧仍然可能彼此冲突(但RTS帧很短)
    AP广播一个很短的允许发送(clear-to-send,CTS)控制帧作为对RTS的响应,CTS帧可以被所有结点接收,以消除隐藏站影响
    发送端可以发送数据帧,其他结点推迟发送
    (2)如果监听到信道忙,则选取随机回退值
                当信道空闲时,计时器倒计时
                当计时器超时时,发送帧
    (3)如果没有收到ACK,则增加随机退避间隔时间,重复(2)
    802.11接收端:
    如果正确接收帧,则在延迟短帧间间隔SIFS后,向发送端发送ACK(由于存在隐藏站问题)
    • 轮流访问MAC协议
    轮询协议
    主结点以循环的方式轮询每个结点(向结点发送一个报文,告诉它能够传输的桢的最多数掀)
    从属结点发送数据(被邀请且有数据才会发送数据)
    缺点:
    (1)轮询数据帧存在轮询开销
    (2)主结点必须依次轮询每一个非活跃结点,活跃结点等待轮询存在等待延迟
    (2)单点故障问题
    令牌传递协议
    控制令牌(小的特殊帧)依次从一个结点传递到下一个结点。
    当一个结点收到令牌且它有一些帧要发送时,它持有令牌并发送最大数目的帧数;否则,它立即向下一个结点转发该令牌。
    缺点:
    (1)令牌开销
    (2)令牌丢失,则必须调用某些恢复步骤使令牌返回到循环中来
    (3)令牌依次传递,结点必须等待令牌存在等待延迟
    (4)单点故障问题
  • 相关阅读:
    scala :: , +:, :+ , ::: , ++ 的区别
    Scala 函数式编程思想
    Scala 关键字
    HDFS 的内存存储是什么?
    LRU
    高并发情况限流
    Java中List集合去除重复数据的方法
    MySQL支持的跨库事务
    死磕ConcurrentHashMap 1.8源码解析
    一致性Hash算法
  • 原文地址:https://www.cnblogs.com/yangyuliufeng/p/9298273.html
Copyright © 2011-2022 走看看