由于分布式网络布设方便、组网灵活而越来越受到人们的关注。然而,这给其多址接入协议的设计带来了巨大的挑战。另一方面,协同通信作为一种新兴通信形式得到了国内外学者的广泛关注。
协同通信技术充分利用了无线传输的全向传播特性,使得多个节点协同工作来达到网络资源的共享,从而有效地提高了整个网络的性能。早期关于协同通信技术的研究大都集中在物理层,但是协同思想对上层协议的影响,尤其是媒体访问控制(MAC)层协议并没有得到充分深入地研究。然而,MAC层协议本身是决定资源使用权的技术,并且协同通信技术的重点也是如何优化系统的资源分配,因此如何设计分布式协同通信系统中的MAC层协议是体现和发挥协同技术优势的重中之重。
一、MAC地址解释
MAC(Medium/MediaACCess Control, 介质访问控制)MAC地址是烧录在NetworkInterfaceCard(网卡,NIC)里的。MAC地址,也叫硬件地址,是由48比特/bit长(6字节/byte,1byte=8bits),16进制的数字组成。0-23位叫做组织唯一标志符(organizatiONally unique,是识别LAN(局域网)节点的标识。24-47位是由厂家自己分配。其中第40位是组播地址标志位。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。
也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一般也是全球唯一的。比如,着名的以太网卡,其物理地址是48bit(比特位)的整数,如:44-45-53-54-00-00,以机器可读的方式存入主机接口中。以太网地址管理机构(除了管这个外还管别的)(IEEE)(IEEE:电气和电子工程师协会)将以太网地址,也就是48比特的不同组合,分为若干独立的连续地址组,生产以太网网卡的厂家就购买其中一组,具体生产时,逐个将唯一地址赋予以太网卡。
形象的说,MAC地址就如同我们身份证上的身份证号码,具有全球唯一性。
二、MAC层的协作动机
IEEE802.11[4]系列的多址接入协议是最为流行的无线局域网接入标准,并且在大多数分布式网络的测试及仿真平台中也得到了广泛的应用。802.11系列协议能够支持多个物理层的传输速率,并根据信道条件的不同来进行调整。以IEEE802.11b为例,支持1 Mbit/s、2 Mbit/s、5.5 Mbit/s、11Mbit/s这4种不同的传输速率。
当节点间的距离较远、信道条件较差时,只能使用较低的速率(即1或2Mbit/s)来完成信息传输,在分布式网络中,这不仅影响到本节点的传输性能,而且使得周围邻节点需要等待较长的时间才有机会进行传输,从而降低了整个系统的性能。因此我们需要通过节点间的相互协作来提高网络的性能。
一种简单有效的方法是:通过引入一个邻节点(称之为Helper节点)来协助源节点到目的节点的传输。该Helper节点到源节点和目的节点的信道条件均比较理想,因此可以支持高速率协作传输,从而提高了整个网络的饱和吞吐量。然而,随着协作的引入,分布式网络的MAC协议设计也变得更加复杂并且要面临许多新问题与挑战。
三、分布式协作多址协议中的问题与挑战
1、“协作”还是“不协作”
从信息论的角度出发,协作总是能够带来系统增益,如分集增益等。然而在实际系统中,为了实现节点间的协作,MAC层协议需要引入额外开销(如:协议开销和空间开销等),从而导致协作性能的下降甚至完全抵消协作带来的增益,对系统带来负面影响。因此在设计时考虑根据不同的系统参数(如包长、传输速率等)来综合考虑是否引入协作。
2、选择协作节点方法
在分布式网络中,协作节点的选择需要考虑多重因素:
提高传输速率,即在引入协作节点后要能够显着提高信息的传输速率;
降低干扰,由于协作的引入从而增加了对网络中其他节点的干扰,那么在协作节点选择时应尽量减少对其他数据流的干扰,进而增加网络的空间复用度;
公平性,协作节点消耗了自身的能量来帮助源节点完成通信,因此在协作节点选择时应充分考虑到网络的公平性,尽量避免某些节点的过分使用。
3、隐藏终端和暴露终端
隐藏终端和暴露终端是分布式网络中的重要问题,由于协作需要增加节点间的握手信息,因此在引入协作后隐藏终端和暴露终端问题变得更加严峻,这会大大降低协作的成功概率,因此如何减少、避免隐藏终端和暴露终端的影响是分布式协作协议中需要重点考虑的问题,其主要手段有:协议优化,智能天线的应用等。
四、典型的分布式协作多址协议
1、CoOPMAC协议
基于IEEE802.11协议,P.Liu等人首先提出了一种CoopMAC协议[5-7],该协议使高速节点帮助低速节点完成传输,这不仅大大提高了网络的吞吐量,减小了节点的接入时延,同时还降低了各个节点的总能量消耗。在CoopMAC协议中每个节点将维护一张协同表,其中包括源节点到中继节点的速率,中继节点到目的节点速率,该表项更新的时间等,当有数据要传输时首先查找该协同表来判断是否有可以利用的协同节点从而决定是否使用协同传输。
当需要协作时,源节点S首先发送请求协作发送帧(CoopRTS);Helper节点H在正确收到CoopRTS后,判断是否能够支持源节点所期望的传输速率,如果可以即发送协作节点确认发送帧(HTS);最后目的节点D回复确认发送帧(CTS),从而静默了周围其他的邻节点,成功预约到信道的使用权,完成了协作握手过程。此后,源节点以高速将数据发送给Helper节点,并由它高速地转发给目的节点。而当源节点和目的节点不需要协作传输以及不存在协作节点时,则使用传统的802.11b协议。CoopMAC协议的握手过程如图1所示。
在全连通的网络中,协作传输所需要的3次握手机制和传统的RTS/CTS握手机制并没有太大区别,仅仅是增加了握手复杂度和握手时间。然而,在分布式多跳网络中,3次握手机制则更容易受到隐藏终端的影响。
从图2中我们可以看到:当源节点发送CoopRTS时,节点{B,C,E,F,G,M,I}均为隐藏终端,其中任何节点发送信息均会影响到CoopRTS的正确接收,而当Helper节点发送HTS时,节点{B,E,F,G}仍然为隐藏终端。
因此,以节点B为例,其在较长的时间内均可以干扰到当前握手信息的传输。由此我们可以看出隐藏终端问题严重影响到CoopMAC协议在多跳分布式网络中的性能,应该引起协议设计人员的广泛关注。
2、“按需”协同MAC协议
有些研究者认为在CoopMAC协议中每个节点都要维护到各个邻节点的协同表,不仅增大了存储的开销,而且由于节点的移动性以及信道的时变性,使得协同表的更新无法跟上网络状态的变化,因此他们提出了在“按需”的协同MAC协议,协议中节点并不维护任何协同节点的信息,当有数据要发送时,通过源节点首先发送RTS信息,目的节点收到后回复CTS信息,那么潜在的协作节点通过这两个握手信息即可以获得源节点到本节点以及目的到本节点的信道信息:H SR和H RD.协作节点通过设置退避时间T 来竞争参与协作,T 是H SR和H RD反比例函数,当退避计时器减为零时,协作节点发送同意中继帧(RTR),如图3。但是该协议在预约协作节点的过程中可能会发生碰撞从而导致整个握手过程失败,如图4。