载波侦听多路访问技术解决总线共享方法

(整期优先)网络出版时间:2017-11-21
/ 1

载波侦听多路访问技术解决总线共享方法

端木占军

摘要:以太网多使用总线型的拓扑结构,采用同轴电缆作为公共传输总线,所有计算机共享一条总线,如何协调实现共享,成为以太网要解决的首要问题。

关键词:退避算法,争用期,载波侦听多路访问

1引言

在以太网中,任何结点都可以随机地向总线发送信息,并且网中不存在集中控制的结点,这种介质访问控制属于随机争用型方法。所有的结点都直接连到公共信道上发送和接收数据,因此,对信道的访问是以多路访问方式进行的。任一结点都可以将数据帧发送到总线上,而所有连接在信道上的结点都能检测到该帧,因此,我们说以太网是一种广播网络。当目的结点检测到该数据帧的目的地址(MAC地址)为本结点地址时,就接收该帧,同时给源结点返回一个响应信号,其他结点不接收该帧。

2产生冲突的原因

电磁波在总线上是以有限的速率传播的,当某站点A已经往总线里发送信号,信号正在传输,未到达站点B时,站点B这时监听不到总线有信号,认为总线空闲,它也往总线发送信号,从而产生了冲突。

3本文的算法

3.1概述

3.2建立一个数据模型

假定A到B的距离是1km,信号从A传到B的时间τ=5μs。

(1)t=0时,A开始发送信号,因信号还没到达B,所有B检测到总线空闲

(2)(2)t=3μs,A信号还没到达B,B检测到总线空闲,发送信号。

(3)(3)t=4μs,A和B发生碰撞。

(4)(4)t=5μs,B检测到发生碰撞。

(5)(5)t=8μs,A检测到碰撞。

3.3争用期碰撞概率

在这,τ成为端到端时延(一般取以太网中距离最远的站点间的时延),2τ称为以太网端到端往返的时延,称为争用期,因为这段时间里会发生冲突,如果一次发送在争用期没发生碰撞,那么这次发送就不会发生碰撞。

如果发生碰撞,发送站点不是立即重新发送,要推迟(退避)一个随机时间才能再发送数据,以减少冲突的概率。以太网采用二进制指数类型退避算法来确定退避时间。

3.4算法过程

(1)确定基本退避时间,一般是取为争用期2τ。

(2)定义重传次数k,k≤10,即k=Min[重传次数,[10]。

(3)从整数集合[0,1,...,(2k−1)]中随机地取出一个数,记为r。重传所需的时延就是r倍的基本退避时间,即2τr。

(4)当重传达16次仍不能成功时即丢弃该帧,表明网络太拥挤,要向高层报告。

例如:第一次发生冲突,要进行重传,重传时k=1,再重传k=2,依此类推到k=16。当k=1时,r=0或1,退避时间为0或2τ;当k=2时,r=0,1,2,3,退避时间为随机选择0,2τ,4τ,6τ中的任一个,依此类推,第i次发生冲突,退避时间为随机选择0~(2i−1)倍的2τ中的一个。

以太网的争用时间为51.2μs,是根据信号的速率和以太网中距离最远的站点间的距离计算得来。对于10Mbit/s的标准以太网,争用期内大概可以发送64B,如果某个站点已经成功发送了64B的数据,接下来发送的数据再也不会发生冲突了。反过来说,站点一旦检测到冲突,立即停止发生数据,那么它发送出去的数据一定小于64B。因此,以太网内传输小于64B的数据的包,会被认为是发生了冲突。为了确保所有计算机在数据发送完毕之前,都能接收到冲突信号,以太网规定最小有效帧为64B。同时还规定了最大帧,因为如果某个站点发送特长的数据帧,那其他站点就必须等待很长的时间才能发送数据,对于站点不公平。

3.4试验结果

发送站点在发送数据时要同时侦听总线,若侦听到总线有干扰信号,则表示产生了冲突,于是就要停止发送数据,计算出退避等待时间并等待,再准备重新发送信息。发送站点一面将信息发送到总线上,一面用接收器从总线上接收信息。如果两者相同,则继续发送;如果不一致,说明发生了冲突,应停止发送信息,并发送干扰信号警告所有的其他站点。

当有两个或更多的结点在同一时间发送了数据,在信道上就造成了帧的重叠,导致冲突出现。为了克服这种冲突,以太网采用带冲突检测的载波侦听多路访问(CSMA/CD)技术,来解决总线的共享问题。CSMA/CD协议是IEEE802.3的核心协议,采取随机争用型的介质访问控制方法。应用于局域网的MAC子层,它能协调同一时间内只有一台计算机在使用总线发送数据。