zoukankan      html  css  js  c++  java
  • 计算机网络之多路访问协议

    1.  在网络链路传输数据的时候如何协调多个发送和接收节点对一个共享广播信道的访问,也就是所谓的多路访问问题,因为所有的节点都能传输帧,两个以上的节点可能会同时传输帧。当发生这种情况时,所有节点同时接到多个帧;也就是说,传输的帧在所有接收方处发生碰撞了。通常,碰撞帧的信号纠缠在一起。因此,涉及此次碰撞的所有帧都丢失了。

    2.  纯ALOHA:基本思想就会当用户有数据的时候就直接发送并通过信号的反馈检测信道以确定发送是否成功。如发送失败,则经随机延时后再发送。

       冲突的几率很大。

    3.  分槽ALOHA:把时间分成时隙(时间片),时隙的长度对应一帧的传输时间,新帧的产生是随机的,但分隙ALOHA不允许随机发送,凡帧的发送必须在时隙的起点。

       冲突只发生在时隙的起点,冲突发生时只浪费一个时隙,一旦某个站占用时隙并发送成功,则在该时隙内不会出现冲突。最大吞吐量大概是纯ALOHA的两倍。

    4.  CSMA(载波监听多路访问)是在ALOHA协议上面做了更多改进并且应用于现实中MAC层截止访问控制(MAC)的协议。所谓载波监听,就是“讲前先听”。网络站点监听载波(别的用户的数据)是否存在并随之采取相应的行动。

       1. 1-坚持CSMA

       所谓1-坚持指的是对于监听信道忙之后的坚持。它的思想是:如果一个主机要发送消息,那么它先监听信道,如果空闲,那么直接传输,不必等待。如果信道忙(有别人在传输),那么一直坚持监听,直到空闲马上传输。如果自己发送的时候监听到了冲突,那么停止发送,等待一个随机长的时间,再监听,并重复上面过程。

       2.非坚持CSMA

            所谓非坚持指的是对于监听信道忙之后的就不继续监听。它的思想是:如果一个主机要发送消息,那么它先监听信道,如果空闲,那么直接传输,不必等待。如果信道忙(有别人在传输),那么不再监听,等待一个随机的时间之后再进行监听。

       3. p坚持CSMA

            所谓p-坚持指的是对于监听信道空闲的处理。它的思想是:如果一个主机要发送消息,那么它先监听信道,如果空闲,那么有概率p直接传输,不必等待,概率1-p等待到下一个时间槽再传输。如果信道忙(有别人在传输),那么等待一个时间槽再进行上面的操作。

    5.  带冲突检测的CSMA协议

       所谓带冲突检测的CSMA,就是CSMA/CD。这也是实际中使用的协议。它的具体思想是:在发送之前先监听信道。如果介质空闲,则马上传输。如果介质正在忙,则一直监听到信道空闲,立刻传输。如果检测到冲突,那么立刻停止传输,等待一个随机的时间,之后再重复上面的步骤

       如何检测到冲突?如何认为自己的消息没有遇到冲突呢?

             检测到冲突其实很简单。消息发送的过程中主机进行监听,如果发现信道上面的电平值和自己发送端的电平值不相同,那么它就认为自己发送的时候有别人进行发送,也就是说信道发生了冲突。那么这个监听过程应该持续多长呢?换句话说,我监听多长时间没有监听到冲突,就认为我的消息成功发送了呢?我们假设AB是两个局域网中相距最远的节点,并且从一端传递到另一端所需要的时间为τ。我们考虑极端的情况:假设A发送到B的消息,在马上就到达B的时候,B突然发送了消息发生冲突。那么这个冲突信号再传递给A,这个过程应该持续2τ。也就是说,在消息最后一比特监听时间持续了2τ之后,还没有检测到冲突,那么认为消息应该已经无冲突的到达。

  • 相关阅读:
    Hyperledger Fabric:最简单的方式测试你的链码
    ETCD:客户端v3
    ETCD:gRPC命名与发现
    ETCD:HTTP JSON API通过gRPC网关
    ETCD:TLS
    ETCD:基于角色的访问控制
    ETCD:多机上的集群
    ETCD:etcd网关
    ETCD:在容器中运行etcd集群
    ETCD:词汇表
  • 原文地址:https://www.cnblogs.com/jkzr/p/10489367.html
Copyright © 2011-2022 走看看