灵活性和最小的用户干预对于未来的通信网络至关重要,这些网络在使用新的硬件和/或软件功能进行扩展时,能够方便地自动部署和重新配置。服务发现是这种自配置网络的一个重要组成部分,它允许设备自动定位具有其属性的网络服务,并向网络的其余部分宣传自己的功能。为此,建立了几个不同的(但重叠的)行业联盟和组织来标准化各种服务发现协议,例如服务定位协议IETF的(SLP),Sun的基尼,微软的通用即插即用(UPnP),IBM的敬礼,和蓝牙服务发现协议(SDP)[1]、[2]、[3]、[4]、[5]。尽管如此,这些标准化的努力并没有直接停留在移动自组织网络(MANET)环境中,其中自配置性是关键。
移动adhoc网络(MANETs)是共享一系列底层技术的节点能够形成临时通信网络以满足即时联网需求的最终方案[6]。MANET节点可能对彼此的身份和能力知之甚少或根本不知道。事实上,在每个单独设备的功能方面(例如,支持多个物理接口、处理能力、打印能力、多媒体库等),这种异构性使得建立adhoc网络更具吸引力。此外,移动自组网具有高度动态、多跳、无基础设施等特点。动态性产生于以下事实:(i)节点可以自由移动,(ii)无线介质的不利信道条件(例如,多径衰落、阴影、干扰、碰撞等)可能生效,(iii)由于电池充电设备的能量有限,可能发生节点故障,节点可以频繁地随意加入或离开网络。假设每个节点都具有路由功能,因此当任何两个设备之间不存在直接链路时,它们仍然可以通过中间节点进行通信。假设没有现有的基础设施,因为即使在网络中出现分区的情况下,也希望有一个独立的、可自我配置的网络。在这种情况下,服务发现是移动adhoc网络的一个先决条件,然而在文献中还没有对其进行充分的研究。
在这项工作中,我们采用了服务发现的抽象视图,而不特别关注服务类型和属性是如何定义的。相反,我们专注于可用的设计选择,并从它们的局限性以及它们与较低层的交互作用两方面对它们进行评估,以评估manet环境下的总体性能。以下定义阐明了在本文中必须如何理解服务和服务发现:
- •
服务移动节点可以利用或受益的任何硬件或软件功能。
- •
服务器是指至少有一个服务可提供给其他节点的任何自组织节点。
- •
用户(或客户端)是指任何想利用MANET中提供的特定服务的adhoc节点。
- •
服务发现是从服务类和属性列表到单个IP地址或一组IP地址的映射。
因此,将MANET与其他无线/有线网络互连的网关节点、备份存储设备或专用传感器节点都可以被视为该通用视图下的不同类型的服务器。
传统上,服务发现是在应用层中从较低层透明地执行的。然而,特定协议的体系结构设计和强制控制消息信令对网络层及以下层提出了一定的要求。作为回报,特定协议在MANET场景中的适用性和性能在很大程度上取决于这些需求。例如,如果在协议体系结构中假设任何固定的基础设施,这将违背adhoc网络的性质,这样的协议不应用于MANET环境。我们将更详细地讨论服务发现协议的期望特性,以便在下一节中用于manet。但在本节中确定可能的体系结构模型以供将来参考是很有用的。
大多数服务发现协议都将客户机-服务器模式作为一种操作模式。在这个范例中,服务用户(即客户机)反应性地发送服务请求消息,服务器在一个确定的网络接口和端口上监听这些消息,如果请求的服务得到支持,则生成一个应答消息并发送回客户端。服务用户还可以通过监听服务器上主动生成的服务广告来被动地了解可用的服务。另一种方案涉及作为逻辑实体驻留在客户端和服务器之间的服务代理(或目录代理)。客户机将其请求定向到知名的服务代理,而服务器则向这些代理注册其服务。作为回报,服务代理向客户机发回服务应答消息,并向服务器发送注册确认。我们将这些模型称为无目录和目录架构。图1示出了架构选择和相应的控制消息的概要。虽然我们在逻辑上分离了用户、服务器、无线中继和目录代理,但它们实际上可以位于同一个移动节点中。
可以说,无目录架构更适合MANET场景,因为不需要任何基础设施[7]。此外,对广播、多播或任意广播的网络支持足以实现这种客户机-服务器模型。很明显,使用servicebroker节点需要将此功能静态或动态地分配给网络中的节点子集。在给定的manet约束条件下,静态分配是不可能的。另一方面,动态分配在选择适应拓扑变化的服务器代理以及通知网络其余部分这些代理的身份方面给网络带来了额外的负载service broker节点(SBN)。因此,它可能被认为是一种昂贵的替代品,而且很容易被丢弃。
然而,有两个非常重要的动机支持目录系统的使用。第一个动机直接来自使用sbn固有的主要优势,例如(1)当网络规模变大时,可伸缩性就实现了。(2) 定位服务的响应时间缩短。(3) 当对某些类型的服务有很高的需求时,服务器不会被服务请求淹没(例如网络间)。(4) SBNs可以在发送回复消息之前应用简单的负载平衡技术。这进一步降低了单个服务器的负载并提高了服务性能。
第二个动机来自于在MANET路由协议(即单播、多播或广播)中利用虚拟主干或群集提高效率和质量的勤奋研究工作,以及主要用于服务于路由协议的分布式数据库系统的实现[8],[9],[10],[11]。为了消除与在不同层中重复类似任务相关联的冗余,通信层之间具有更紧密的关系是非常理想的,这导致控制消息开销增加。如果虚拟主干网的形成和维护机制存在于网络层之下,上层协议,即路由和服务发现算法,可以一起利用这个主干网。然后,如果sbn与主干节点位于同一位置,则与动态选择sbn相关的开销与总体效率相一致。
本文的主要目的是说明目录结构不仅是一种可行的,而且是一种很好的移动自组网服务发现方案。为此,我们提出了自己的解决方案来实现一个目录体系结构,并将其性能与利用网络层的多播和任意广播支持的无目录体系结构进行了比较。
我们的解决方案包括两个阶段:骨干网管理(BBM)阶段和分布式服务发现(DSD)阶段。在BBM阶段,在路由层之下形成动态虚拟骨干网,使得网络中的每个节点要么是主干网的一部分,要么是距离主干网节点至少一个跳的距离。在这个阶段完成后,每个主干节点都知道如何到达其3跳邻域内的其他主干节点。SBN与主干节点位于同一位置,并且每个非主干节点与至少一个SBN相关联。另一方面,在DSD阶段,服务请求和注册消息被用来形成根植于客户机和服务器的子树,从而可以有效地分发后续的请求和注册消息。这些子树中的反向路径被用于回复消息。
论文的其余部分安排如下。在第2节中,概述了可能的网络层支持选项和服务发现协议的期望特性。在第3节中,我们描述了网络模型和使用的符号。在第四节中,我们详细介绍了BBM算法和DSD算法。第五部分介绍了性能指标、仿真框架和仿真结果。最后,在第六部分,我们总结了我们的论点和结果。