首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

无线Ad Hoc网络跨层QoS保证的方法与应用探析

无线Ad Hoc网络跨层QoS保证的方法与应用探析

摘要:介绍了无线Ad Hoc网络跨层设计的背景,指出了传统因特网的QoS方法无法完全照搬到Ad Hoc网络上,而跨层设计是能够有效解决Ad Hoc网络服务质量问题的有效方法。同时,对跨层设计的基本原理进行了探讨,进而提出了一种跨层设计的方法。另外,对跨层信令的交互、内部消息的格式、外部消息的格式做出了规定,并用实例说明了这种跨层设计方法的具体实施过程。
关键词:无线自组网;服务质量;跨层设计;信令交互

0 引言
   
无线Ad Hoc网络,又称移动自组织网络,是不依赖于任何固定基础设施的移动节点的动态联合体。它具有无需基础设施支持、高度动态、移动通信等优点,因而得到了广泛的应用(如军事应用、紧急救助、灾难援助、医疗应用、电子商务等)。随着无线网络技术的迅速发展,人们需要移动Ad Hoc网络支持多种多媒体应用,例如VoIP、视频会议、实时协作等。
    在上述应用中,通常都要求语音图像等应用信息能实时准确传送,文件下载等应用则要求有较好的带宽和较低的丢失率。因此,人们迫切需要移动Ad Hoc网络具备良好的Qos机制。但是,由于移动Ad Hoc网络所具有的节点对等性、动态性和能量有限性等特点,互联网QoS控制机制在移动Ad Hoc网络上往往无法使用,而且在移动Ad Hoc网络上要提供Qos控制支持则更为困难。

1 跨层设计的背景
   
目前,对无线Ad Hoc网络的研究主要的仍然是采用传统的Internet分层协议体系结构,在该体系的指导下,在网络的不同层展开了大量的研究。但是,这些研究基本上都忽略了网络设计的整体需求和各层功能之间的相关性。协议栈的每一层都是独立设计和工作的,只在层与层之间有静态的、与网络各层的限制和应用无关的接口。分层结构极大程度地简化了网络设计,并导致了因特网中健壮的、可升级的协议,然而这种严格的分层设计方法缺乏灵活性,不能很好地适应无线AdHoc网络的特点。在实际的网络通信过程中,层与层之间的信息难以共享,也增加了大量难以控制的链路开销、信息冗余以及对等层间的通信开销。对于有线网络来说,为了应对这些开销以及网络其它层的动态变化,设计大都是通过过度的冗余设计网络每一层来处理的。然而,无线Ad Hoc网络的能量和带宽等资源严重受限,因为对等层通信要消耗大量的带宽和能量资源,所以,分层结构的这种设计方式进一步加剧了无线Ad Hoc网络带宽资源和能量资源的限制,使得网络性能恶化。
    无线Ad Hoc网络的能量效率、QoS支持、安全和可扩展性问题都涉及网络协议栈的各个层次,需要多个协议层共同配合得以优化。在实际的网络优化过程中,各个层次的独立优化不一定会带来整个系统的性能优化,尤其是当能量受到限制、或是应用程序带宽需要很大、或者延迟受到严格的限制的时候。为了达到这些要求,需要具有自适应性和协议栈多层优化的跨层协议设计,因而就出现了无线Ad Hoc,同时在网络中出现了支持跨层交互和实施性能优化的跨层设计方法。近年来,在无线Ad Hoc网络中,应用跨层设计的思想受到了越来越多的关注。

2 跨层设计原理
   
跨层设计思想是相对于OSI模型而言的,目前并没有明确的定义。其总体目标是通过提高协议间在本地端的交互,来降低远程通信,节省带宽以达到优化网络性能的目的,但同时也必须考虑跨层所需付出的代价,包括设计、生产和维护。严格的分层能保证各层间可控制的交互,开发和维护任何一层与其他层都是相对独立的。在跨层设计的时候,应当保持模块结构的优点,尽量和已有的成熟标准兼容,少或不修改传统层次中的核心功能;不仅需要考虑静态跨层优化设计,还要考虑动态优化跨层自适应。
    在无线Ad Hoc网络设计中,将整个分层协议栈整体进行跨层设计过于复杂,也难以实现,科学有效的做法是根据无线Ad Hoc网络需要,应用QoS的约束条件,策略地选择若干层次进行跨层设计。
    跨层设计意味着移动通信系统协议栈内的每个层都能够与其他层进行信息交互,从而使得各层都能够利用其它层的信息来控制自身的工作过程。一个层既能与上层交互信息,也能与下层交互信息。处于不同设备的不同层之间也能够进行信息交互。进行信息交互的层包括应用层、传输层、网络层、链路层及物理层。就目前的研究情况而言,跨层设计机制主要包括两类:一类是由上层到下层的机制;另一类是由下层到上层的机制。
    由上层到下层的机制将信息由上层传递到下层。例如应用层可将其相关信息(传输时延或分组丢失率)传递到链路层,使得链路层能够调整其纠错机制。或者应用层的优先级信息被传递到传输控制协议(TCP)层,从而使其接收窗口能够得到调整,以获得相应的优先级。
    由下层到上层的机制将信息由下层传递到上层。例如TCP层的分组丢失率被传递到应用层,使得应用层能够调整其发送速率。或者物理层将信道衰落信息传递到链路层,从而使链路层能够根据信道条件调整数据的发送方式。
    在分层设计方式中,很多时候,多个层往往可能需要做重复的计算和无谓的交互来得到一些其他层次很容易得到的信息,以至于浪费较长的时间。跨层设计与优化的优势在于通过使用层间交互,不同的层次可以及时共享本地信息,以减少处理和通信开销,优化系统整体性能。与传统的分层结构相比,跨层协议栈的层间交互要复杂些,各层需要了解其他层的行为并需要更多的专用接口,因而会降低通用性。但是,跨层设计方法的好处是:各层协议和功能模块的协同有助于消除冗余功能;采用消息驱动的控制方法,任意层之间可以交互信息;针对特定的场合进行集成设计和优化可以较好地匹配应用需求和网络条件。考虑到无线信道有限的带宽资源、信道的时变特性以及节点自身的局限性,跨层设计方法的优势所带来的好处远远大于层间交互带来的协议设计复杂的缺点。

   图1所示是Internet协议和Ad Hoc跨层等两种网络体系结构的设计原则图。其中固定Internet的网络拓扑是准静态的,相邻路由器之间的链路带宽充足,网络的瓶颈是路由器的处理能力和存储容量。因此,Internet的网络协议往往通过使用较多链路带宽来减少路由器的处理和存储资源的耗费,即强调相邻路由器对等实体之间的水平通信,以尽量减少路由器内协议栈各层间的垂直通信(如图1(a)所示)。Ad Hoc网络中的链路带宽和主机能量非常稀少,并且能量主要消耗在发送和接收分组上,而主机处理能力和存储空间相对较高。为了节省带宽和能量,在Ad Hoc网络中应该尽量减少节点间水平方向的通信。跨层设计方法正是这种设计原则的一种具体体现,它通过增加协议栈各层之间的垂直交互来减少协议层对等实体之间的水平通信(如图1(b)所示),协议栈中各层协议在逻辑上是耦合的,因而减少了不必要的水平通信所造成的资源浪费。


3 跨层设计方法的特点
   
通过对传统的分层体系结构的研究,可以确定现有层间通信方法的一些主要缺点。
    首先,通过协议栈的信号传播方法效率不高(例如ICMP方式)。一层一层传播的方法只是仅仅遵循了数据传输的模式。因此,中间层必须被涉及到,即使消息源层和目的层才是事实上的目标。这将导致不必要的处理和传播时延。传统的层间通信必须相邻,逐层传播的方法仅仅遵循数据传输的模式。因此,会导致不必要的处理和传播时延。
    其次,信号的信息格式,即对上行和下行的动态信号来说不够灵活,也对各个节点内外的不同信号来说不够优化,而且,所需要的信号格式应该是更丰富的信今方式,而不是简单的跨层暗示(Cross-layer hints)和通知(notifications)。
    因此,本文给出了一种跨层设计的方法,希望使其成为一种高效率、灵活和包容性好的机制。它具有如下特性:
3.1 不相邻层间的直接信令传输
   
跨层设计方法的基本思想是打破层排序的制约,但保留层结构(layering structure)。举例来说,激活应用层和网络层之间的直接通信,而不需通过中间层(传输层)。虽然这种方法对原有的分层协议栈来说并不是不能使用,但它仅仅作为异常情况出现,而不是设计为一般处理应有的功能。又如GSM中,第三层实体RRM(Radio Resource Management)直接访问物理层。网络层和应用层之间的一个专门的API被定义在一个软件模拟器GloMoSim中。同样的法则也可应用在基于软件的真实世界的应用中。显然,这一机制也应用在相邻层间的信号传播中。这一特性的概念如图2所示。下面是对协议栈传播时延的简单分析:


    对于消息一层一层传播的方法,两层间的上行(或反过来)传播时延,其第一层(源层,不一定是物理层)和第n层(目的层,本情况中1<n≤5)可以用公式表达为:


    与逐层传递相比,不相邻层间的直接信令传输的传播时延只有前者的1/(n-1)。层数越多,它就越有意义。只有当n=2(相邻层间传播信号)时,两者才没有区别。
3.2 消息格式
   
对内部消息传播,没有必要使用标准协议,它通常都很繁琐和低效,特别是对网络中差错控制的传播。内部信号传输使用ICMP消息,除了大IP报文头(对IPv4来说20字节),一个普通的ICMP报文头本身是8字节,所需的校验字段为2字节,占了25%。因此,缩减额外的报文头和将字段最小化可以将内部消息格式简单化。虽然报文头压缩技术正在发展,但这仍然是另一个领域的问题。从本质上来说,交互消息只需要目的地址、事件类型、事件内容等三个字段。其中,目的地址包括目的层和目的协议或应用程序;事件类型用于标志一个参数;事件内容主要是参数值。
    如果为目的地址和事件类型各分配一个字节并假设事件内容字段占2字节,整个消息大小为4字节。类似的,检查一个IPv4封装的、有8字节报文头和2字节内容的ICMP消息,整个消息大小为30字节,是“轻量”消息的7.5倍。引入一个可选字段Next Event,消息也可以用累计的方式传播。
    对于外部消息,ICMP可以用于一般消息,而TCP/IP报文头则可用于较短的通告。
返回列表