论文部分内容阅读
[摘要]研究FAMA协议在双层分布式无线网络中的应用,阐述FAMA协议的算法机制和实现过程。结果表明采用发送包序列方式可以大大提高网络性能,可以在双层分布式无线网络中推广使用。
[关键词]FAMA协议 分层分布式无线网络 算法
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0310051-01
一、FAMA协议概述
FAMA协议于1995年由美国科学家提出,用于无线分组网络,FAMA协议提出的目的是为了更好地解决多址接入冲突避免协议(MACA)中仍然存在的终端隐藏问题,FAMA代表了一类MAC层协议,这种方案分为两个阶段,首先获取信道(通过发出大量的确认数据包),然后就是实际的发送数据包。这样就可以比较有效的避免冲突,因为每次都能保证该信道被分配后能成功传送数据而没有冲突。FAMA是通过延长RTS和CTS控制报文的长度来消除控制报文的冲突,比较好地解决了隐终端问题。FAMA还允许一次RTS-CTS交互成功,结点可发送多个报文,从而增加了网络的吞吐量。FAMA是基于单信道的分布式无线网络信道接入协议中较成功的一种。美军在无线互联网网关(WINGS)中使用的信道接入协议就是FAMA协议,国内已用于宽带数字电台中,但还未对该协议的性能作定性定量分析。FAMA协议的接入过程分两个阶段:首先获取信道的控制权(FLOOR)(通过发出大量的控制包),然后就是实际的发送数据包。所谓“FLOOR”捕获,是指有数据发送的站点在发送数据前,先要获得接收方周围的信道控制权,这样可以确保传送数据包时不会被碰撞。为了确保FLOOR捕获成功,CTS信号持续时间必须比RTS信号持续时间长,这样才能保证来自接收端的CTS信号足够长,让跟发送端互为隐藏的终端收到这个禁止发送的信号。虽然诸如MACA,IEEE802.11 DFWMAC,MACAW等协议均采用了RTS/CTS握手协议来解决CSMA中的隐藏终端问题,但是我们可以很容易就用例子来显示它们并不能很好解决隐藏终端问题,而会在发送DATA期间,产生碰撞。
二、FAMA-NCS协议的实现过程
FAMA-NCS协议的具体实现过程是:已初始化的用户站必须等待段时间,这个时间为在信道上发送最长信息包所花的时间以及在整个信道上的来回时间之和,它使任意一个正在接收数据包的相邻站顺利完成接收。这个初始化时间也使该用户站能了解进行中的无线信道信息传输情况,如果在初始化时间内没有检测到载波,用户站便转向无源(PASSIVE)状态,否则转向远端(REMOTE)状态。如果初始化正确(如,没有信息包发送,又侦听到空闲信道),用户站才能处于无源(PASSIVE)状态。在所有其它状态下,用户站必须用一段时间侦听信道,足以让相邻站有时间完成数据接收。处于PASSIVE状态,并侦听到载波的用户站转向REMOTE状态。另一方面,在PASSIVE状态下,收到信息包准备发送时,用户站必须发出一个请求发送的信号(RTS)然后转向RTS状态,发送信息的用户站须等足够长时间让对方发回CTS信号。如果在允许时间没有收到CTS,发送转向BACKOFF状态。如果发送者在发出RTS后听到信道上有噪音,假定与相邻的RTS相碰撞,那么须等足够长时间,让相邻站接收最大长度的数据包。
对于各站点侦听到信道忙时,根据不同情况采取不同退避时间,具体做法如下:
(1)当侦听到非本站的RTS信号后,站点必须等足够长时间让目的站点发送给源站点CTS信号。
(2)听到非本站的CTS信号后,站点必须等足够长时间让其它站点接收数据包。
(3)当侦听到DATA信号后,也需要等待一个时间,让目的站点处理数据。
(4)当侦听到噪声(控制包碰撞了)后,等待数据要足够长,使得其它站点能够在此时间内接收到最大数据包。
为了提高信道的利用率,一个站点成功获取FLOOR后,可以动态地发送多个数据包,发送个数可以设置一个最大限额,这就是所谓的包序列发送,使用一个简单的握手机制就可以支持包序列的发送。当有多个数据包要发送时,在DATA数据帧中,增加一个“MORE”标志位,当目的站点接收到DATA帧,要查看“MORE”标志位,如果置位了,就立即返回一个CTS,用以通知周围站点发送者还有数据要发送,请它们继续推延发送。如果没有置位,就不用返回CTS。
三、基于FAMA协议的双层分布式无线网络
FAMA协议非常适用于单信道网络。对于平面结构的全分布式网络,就是单信道网络。而当网络的规模增大时,需要采用分层分布式网络。分层分布式网络往往是多信道网络。我们来看一下FAMA协议在双层分布式网络中的应用。在双层分布式无线网络中,经常采用如下信道分配方案:(1)Fl频率用于控制信道;(2)F2频率用于群首间的数据通信;(3)F3频率用于群成员间的数据通信。美军在其战术互联网中使用近期数字电台就是采用该方案。因此需要将FAMA协议进行修改才能实现此方案。
在分层分布式网络中修改的FAMA协议如下:公共F1信道发送RTS控制包,来建立数据包发送的信道申请。RTS控制包包含申请数据发送采用的数据信道。CTS包响应RTS包,DATA包和CTS包均在数据信道发送。RTS-CTS握手成功就可以发送DATA.
对比802.11的MAC层协议和修改的FAMA协议,两者均使用RTS/CTS协议、载波侦听机制,它们的不同之处是802.11使用了分布式协调算法(DCF),而修改的FAMA协议使用长一点的CTS控制包来控制信道使用权的获得。所以,修改的FAMA方案的存在着CTS的错误探测缺点。在数据分组传输期间,侦听冲突分组载波的节点必须保持静默,即便冲突是RTS报文造成也是如此。这样一来,共享信道就因空闲而被浪费掉了。CTS的错误探测导致了共享信道的不必要的长时间空闲,降低了信道的吞吐量。而修改的FAMA协议使用包序列方式就可以大大提高性能,在重负载或包到达比较密集时,使用包序列的修改的FAMA协议的性能远远超过802.11,所以在重负载或包达到比较密集时,采用发送包序列方式可大大提高网络性能,可在分层分布式无线网络中推广使用。
四、结论
本文首先对FAMA协议进行了概述,然后详细分析了FAMA-NCS协议的实现过程。重点讨论了基于FAMA协议的双层分布式无线网络,指出当网络的规模增大时,需要采用分层分布式网络,并对分层分布式网络中FAMA协议进行了改进,充分利用公共F1信道发送RTS控制包,来建立数据包发送的信道申请,得到更好的吞吐量,因此可以在分层分布式无线网络中推广使用。
参考文献;
[1]潭齐,分组无线网的介质访问控制分析及220B的MAC协议仿真,西南交通大学硕士论文,2003.
[2]张文柱、李建东、刘凯,UPMA协议在多跳分布式无线网络中的性能研究,西安电子科技大学学报(自然科学版),2002年4月,第29卷第2期.
[关键词]FAMA协议 分层分布式无线网络 算法
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0310051-01
一、FAMA协议概述
FAMA协议于1995年由美国科学家提出,用于无线分组网络,FAMA协议提出的目的是为了更好地解决多址接入冲突避免协议(MACA)中仍然存在的终端隐藏问题,FAMA代表了一类MAC层协议,这种方案分为两个阶段,首先获取信道(通过发出大量的确认数据包),然后就是实际的发送数据包。这样就可以比较有效的避免冲突,因为每次都能保证该信道被分配后能成功传送数据而没有冲突。FAMA是通过延长RTS和CTS控制报文的长度来消除控制报文的冲突,比较好地解决了隐终端问题。FAMA还允许一次RTS-CTS交互成功,结点可发送多个报文,从而增加了网络的吞吐量。FAMA是基于单信道的分布式无线网络信道接入协议中较成功的一种。美军在无线互联网网关(WINGS)中使用的信道接入协议就是FAMA协议,国内已用于宽带数字电台中,但还未对该协议的性能作定性定量分析。FAMA协议的接入过程分两个阶段:首先获取信道的控制权(FLOOR)(通过发出大量的控制包),然后就是实际的发送数据包。所谓“FLOOR”捕获,是指有数据发送的站点在发送数据前,先要获得接收方周围的信道控制权,这样可以确保传送数据包时不会被碰撞。为了确保FLOOR捕获成功,CTS信号持续时间必须比RTS信号持续时间长,这样才能保证来自接收端的CTS信号足够长,让跟发送端互为隐藏的终端收到这个禁止发送的信号。虽然诸如MACA,IEEE802.11 DFWMAC,MACAW等协议均采用了RTS/CTS握手协议来解决CSMA中的隐藏终端问题,但是我们可以很容易就用例子来显示它们并不能很好解决隐藏终端问题,而会在发送DATA期间,产生碰撞。
二、FAMA-NCS协议的实现过程
FAMA-NCS协议的具体实现过程是:已初始化的用户站必须等待段时间,这个时间为在信道上发送最长信息包所花的时间以及在整个信道上的来回时间之和,它使任意一个正在接收数据包的相邻站顺利完成接收。这个初始化时间也使该用户站能了解进行中的无线信道信息传输情况,如果在初始化时间内没有检测到载波,用户站便转向无源(PASSIVE)状态,否则转向远端(REMOTE)状态。如果初始化正确(如,没有信息包发送,又侦听到空闲信道),用户站才能处于无源(PASSIVE)状态。在所有其它状态下,用户站必须用一段时间侦听信道,足以让相邻站有时间完成数据接收。处于PASSIVE状态,并侦听到载波的用户站转向REMOTE状态。另一方面,在PASSIVE状态下,收到信息包准备发送时,用户站必须发出一个请求发送的信号(RTS)然后转向RTS状态,发送信息的用户站须等足够长时间让对方发回CTS信号。如果在允许时间没有收到CTS,发送转向BACKOFF状态。如果发送者在发出RTS后听到信道上有噪音,假定与相邻的RTS相碰撞,那么须等足够长时间,让相邻站接收最大长度的数据包。
对于各站点侦听到信道忙时,根据不同情况采取不同退避时间,具体做法如下:
(1)当侦听到非本站的RTS信号后,站点必须等足够长时间让目的站点发送给源站点CTS信号。
(2)听到非本站的CTS信号后,站点必须等足够长时间让其它站点接收数据包。
(3)当侦听到DATA信号后,也需要等待一个时间,让目的站点处理数据。
(4)当侦听到噪声(控制包碰撞了)后,等待数据要足够长,使得其它站点能够在此时间内接收到最大数据包。
为了提高信道的利用率,一个站点成功获取FLOOR后,可以动态地发送多个数据包,发送个数可以设置一个最大限额,这就是所谓的包序列发送,使用一个简单的握手机制就可以支持包序列的发送。当有多个数据包要发送时,在DATA数据帧中,增加一个“MORE”标志位,当目的站点接收到DATA帧,要查看“MORE”标志位,如果置位了,就立即返回一个CTS,用以通知周围站点发送者还有数据要发送,请它们继续推延发送。如果没有置位,就不用返回CTS。
三、基于FAMA协议的双层分布式无线网络
FAMA协议非常适用于单信道网络。对于平面结构的全分布式网络,就是单信道网络。而当网络的规模增大时,需要采用分层分布式网络。分层分布式网络往往是多信道网络。我们来看一下FAMA协议在双层分布式网络中的应用。在双层分布式无线网络中,经常采用如下信道分配方案:(1)Fl频率用于控制信道;(2)F2频率用于群首间的数据通信;(3)F3频率用于群成员间的数据通信。美军在其战术互联网中使用近期数字电台就是采用该方案。因此需要将FAMA协议进行修改才能实现此方案。
在分层分布式网络中修改的FAMA协议如下:公共F1信道发送RTS控制包,来建立数据包发送的信道申请。RTS控制包包含申请数据发送采用的数据信道。CTS包响应RTS包,DATA包和CTS包均在数据信道发送。RTS-CTS握手成功就可以发送DATA.
对比802.11的MAC层协议和修改的FAMA协议,两者均使用RTS/CTS协议、载波侦听机制,它们的不同之处是802.11使用了分布式协调算法(DCF),而修改的FAMA协议使用长一点的CTS控制包来控制信道使用权的获得。所以,修改的FAMA方案的存在着CTS的错误探测缺点。在数据分组传输期间,侦听冲突分组载波的节点必须保持静默,即便冲突是RTS报文造成也是如此。这样一来,共享信道就因空闲而被浪费掉了。CTS的错误探测导致了共享信道的不必要的长时间空闲,降低了信道的吞吐量。而修改的FAMA协议使用包序列方式就可以大大提高性能,在重负载或包到达比较密集时,使用包序列的修改的FAMA协议的性能远远超过802.11,所以在重负载或包达到比较密集时,采用发送包序列方式可大大提高网络性能,可在分层分布式无线网络中推广使用。
四、结论
本文首先对FAMA协议进行了概述,然后详细分析了FAMA-NCS协议的实现过程。重点讨论了基于FAMA协议的双层分布式无线网络,指出当网络的规模增大时,需要采用分层分布式网络,并对分层分布式网络中FAMA协议进行了改进,充分利用公共F1信道发送RTS控制包,来建立数据包发送的信道申请,得到更好的吞吐量,因此可以在分层分布式无线网络中推广使用。
参考文献;
[1]潭齐,分组无线网的介质访问控制分析及220B的MAC协议仿真,西南交通大学硕士论文,2003.
[2]张文柱、李建东、刘凯,UPMA协议在多跳分布式无线网络中的性能研究,西安电子科技大学学报(自然科学版),2002年4月,第29卷第2期.