多链路访问及其协议

在牛客刷题看到了船新的知识点,当时看图解TCP/IP的时候也看到了,但是很显然我没有记住。

下面的是计算机网络自顶向下方法中的内容,经过了个人的整理,具体内容在书的292页

访问链路

链路层信道分为两种,分别是广播链路和点对点通信链路

  • 广播链路
    这种信道用于连接有线局域网,卫星网和混合同轴光纤电缆接入网中的多台主机。因为有许多主机与相同的广播信道链接,需要额外的媒体访问协议帧来协调传输,,在某种场合可以使用重要控制器来协调帧传输。
    广播信道能让多个发送和接收节点都连接到相同的,单一的共享的广播信道是哪个,这里使用广播 是因为当任何一个节点传输一个帧时,信道会广播该帧,每个其他节点都会受到一个副本。
  • 点对点通信链路
    出现在长距离链路连接的两台路由器 之间,或者用户办公纸计算机与他们锁连接的临近以太网交换机之间等场合京城能发现。一般来说协调点对点链路的访问较为简单,再次不赘述。

多路访问问题及其协议

如何协调多喝发送节点和接收节点对于一个共享广播信道的访问?这就是多路访问问题(multiple access problem),广播信道常用于局域网之中,局域网则是一个地理上集中的一座建筑物/公司/大学之中的网络。

碰撞

在实践中,数以百计甚至数以千计的节点能够通过一个广播信道直接进行通讯,因为所有的节点都能够传输帧,所以多个节点可能会同时传输帧。当发生这种期刊是所有的节点会同时接受到多个帧,这种现象被称为碰撞.
通常当碰撞发生时,没有一个接受节点能够有效的获得任何传输的帧。某种意义上,碰撞帧的信号纠缠在一一起,由此涉及这次碰撞的帧都会丢失,在发生碰撞的时间间隔中的广播信道都被浪费。显然在许多节点频繁传输帧的情况下会使得碰撞发生,广播信道中的大量带宽将被浪费掉。
多个节点处于活跃状态时,为了确保广播信道执行有用的工作,以某种方式协调活跃节点的传输是必要的。这种协调工作由多路访问协议负责。
多路访问协议大致可以分为以下三种类型:

  • 信道划分协议
  • 随机接入协议
  • 轮流协议

在理想情况下对于速率为Rbps的广播信道,堵路访问协议应该具有以下特性

  • 当且仅有一个节点发送数据时,该节点具有Rbps的吞吐量
  • 当有M个节点发送数据时,每个节点的吞吐量为R/M bps,这不要求节点M个节点中的每一个总是有这样的速率,而是每一个节点在一些适当定义的时间间隔内应有这个平均传输速率
  • 协议是分散的,这说明不会因为某个主节点的故障导致整个系统停滞
  • 协议是简单的,其实现不昂贵

信道划分协议

时分多路复用(TDM)

TDM将时间划分为时间帧,并进一步划分时间帧为N个时隙,然后把每个时隙分配给N个节点中的一个,无论何时某个节点在有一个分组需要发送时,他再循环的TDM帧中指派给他的时隙内传输分组比特,通常时隙大小的选择可以使得一个时隙内可以传输单个分组。
TDM消除了碰撞(因为不会有两个同时发送的节点了),并且其非常公平。每个节点在每个帧时间内得到了专用的传输速率R/N bps,然而其存在两个主要缺陷。

  • 节点被限制于R/N的平均速率,即使其为唯一需要发送的节点。
  • 节点总是需要等待期其在传输中的轮次,即使其是唯一一个有帧需要发送的节点

频分多路复用(FDM)

FDM将R bps的信道划分为不同的频段,并把每个频段分给N个节点中的一个,每个节点拥有R/N bps的平均速率。FDM相当于在单个大信道上创建了多个小信道,其与TDM一样消除了碰撞,并公平分配了带宽,但
其缺点也与TDM相同

码分多址(CDMA)

CDMA对每个节点分配一种不同的编码,然后每个节点使用其唯一的编码来对其发送的数据进行编码。在精心选择编码的情况下,CDMA将拥有不同的节点可以同时进行传输这一奇妙特性,并且在这种情况下,若接收方知道发送方的编码,则其仍能接受发送发编码的数据比特,而不在意其他节点的发送干扰。
细节暂且留白,等有时间再补

随机接入协议

随机接入协议中一个传输节点总是以信道的全部速率进行发送。
当存在碰撞时,涉及碰撞的每一个节点都会反复重发它的帧,直到该帧无碰撞地通过。
当每个节点经历一次碰撞时,其不会立即重发该帧,而是在重发该帧之前等待一个随机的时延。
涉及到碰撞的每一个节点选择的时延是完全独立且随机的。因为该时延随机,所以存在以下可能的状况:这些节点中的一部分选择的时延充分小于其他碰撞节点的时延,从而能无碰撞地把其帧在信道中发出。

奏一首ALOHA,请州长夫人献唱!

时隙ALOHA

再对时隙ALOHA的描述中,先做出以下假设:

  • 所有的帧以L比特组成
  • 所有时间被划分成L/R秒的时隙,此时一个时隙刚好传输一帧数据
  • 如果在一个试下中有两个或者更多碰撞,则所有节点在该时隙结束之前检测到该碰撞事件
    令p为一个概率,每个节点中,时隙ALOHA的操作相当简单:
    • 当节点有一个新帧要发送时,其等到下一个时隙开始并在该时隙传输整个帧。
    • 若没有碰撞,该节点成功传输这个帧,不考虑重传。
    • 若存在碰撞,该节点以概率P在后续的每个时隙中重传其帧,直到该帧被无碰撞地传出。

其与信道划分不同,当信道中只有一个节点活跃时该节点将会以最高速率R连续传输。其也是高度分散的,每个节点检测碰撞并独立地决定是否重传。其也足够简单。

但是当节点趋向于无穷时,信道速率会趋向于0.37R bps,极大拉低了带宽。

ALOHA

和上面的时隙ALOHA相同,但是ALOHA并不要求将信道在时间上分成多个时隙,其结果就是在极限情况下ALOHA出现的问题与时隙ALOHA完全相同,甚至在极限情况下ALOHA的效率比时隙ALOHA还要满一倍

载波侦听多路访问(CSMA)

ALOHA系的协议中,一个节点传输的决定独立于这个信道上的其他节点,当节点开始传输时并不会关注是都有其他节点正在传输,当有其他节点进行传输,本节点开始传输只会增加干扰的情况下节点仍会做出传输的决定,就像粗暴打断别人讲话的听众一般,具体来说礼貌的“听众”应该具备以下个重要规则:

  • 载波侦听
    节点在传输前先侦听信道,若信道正在被占用,节点会等待直到检测到一小段时间信道上没有传输,然后再开始传输
  • 碰撞检测
    当一个阶段进行传输时持续对信道进行侦听,若其检测到有其他节点正在干扰帧,那么便停止传输,等待一段随机时间后开始侦听。

这两条规则被包含在CSMA(载波侦听多路访问)和CSMA/CD(具有碰撞检测的载波侦听多路访问)协议族中,其对带宽的利用接近1,并有效解决了碰撞问题。

轮流协议

ALOHA和CSMA保证了当且仅有一个节点发送数据时,该节点具有Rbps的吞吐量,但没有保证节点的公平性。这激发研究人员提出轮流协议以保证节点公平性。这里主要说轮询和令牌传递协议

轮询协议

这种协议中需要存在一个主节点,主节点以循环的方式轮询所有的节点。特别的,主机向节点1发送一个报文,告诉节点1能够传输帧的最大数量。在节点进行一些帧的传播后,主节点告诉下一个节点(即节点2)能够传输帧的最大数量(主节点通过监测信道来判断一个节点是否完成了帧的发送)。上述过程持续进行,并在询问最后一个节点后重新开始询问第一个节点。
这种方式使得碰撞和空时隙问题被消除,使得轮询有比随机协议更高的效率。但是其也引入了一些其他问题,问题如下

  • 该协议引入了轮询时延,毕竟通知节点也是需要时间的。在只有一个节点的情况下,该节点的传送速率会略低于Rbps
  • 主节点发生故障会使得整个信道变得不可操作。

令牌传递协议

协议中不存在主节点,一个称为令牌特殊小帧会在节点之间以固定次序进行交换。当一个节点接收到令牌时,若其有数据要进行发送,则其持有令牌,占有信道并进行数据发送;若其没有数据要进行发送,则其立即交出令牌。
令牌传递的过程会比较分散,而且效率很高,但是令牌协议还是有那么一些缺点:

  • 一个节点的故障可能使得整个信道直接崩溃
  • 若节点偶然忘记释放令牌,必须找到一种方法使得其将令牌释放。

你可能感兴趣的:(多链路访问及其协议)