在无线多跳网络中使用NDP检测邻节点的方法、通信装置和系统

申请号 CN200480042630.X 申请日 2004-06-14 公开(公告)号 CN1926820B 公开(公告)日 2011-12-14
申请人 艾利森电话股份有限公司; 发明人 L·阿克塞尔森; H·里奥马;
摘要 本 发明 提供了一种在使用因特网协议版本6(IPv6)的基于分组的无线多跳通信网络中用于邻居发现的方法,其中,该网络由客户端和/或 服务器 装置和/或 基础 设施装置组建,网络业务是基于使用NDP转发和转播 定位 在此类网络体系结构中的装置。本发明还包括用于此类网络的装置,并且描述了完整的通信系统。
权利要求

1.一种在使用因特网协议(IP)的无线多跳数据通信网络中用于检测相邻节点、即所谓“邻居发现”的方法,所述方法包括以下步骤:
-将邻居发现协议NDP请求从第一网络节点(101)广播到第二节点(102);
-所述第二节点(102)接收所述NDP请求、确定所述NDP请求的目的地;
-在所述NDP请求被确定为是到第三节点(104)去时传送所述NDP请求;以及-将NDP通告从所述第三节点(104)经所述第二节点(102、103)转发到所述第一网络节点(101),
其中当所述NDP请求或通告为非标准NDP请求或通告时,通过使用所述NDP请求或通告的消息报头中的选项字段和/或新消息类型,所述NDP请求或通告能被包括到标准NDP请求或通告中。
2.如权利要求1所述的方法,其中所述第二节点(102、103)包括多个节点。
3.如权利要求1所述的方法,还包括在所述节点中安排存储的、检测到的先前NDP请求和NDP通告转发的未决列表。
4.如权利要求3所述的方法,还包括以下步骤:限制在所述未决列表中所述存储的先前NDP请求或NDP通告转发的存储时间。
5.如权利要求1所述的方法,还包括以下步骤:限制允许节点发送到特定目的地的NDP通告转发的速率。
6.如权利要求1所述的方法,还包括以下步骤:在NDP消息过程期间测量节点之间的链路质量并将链路质量信息分发到节点。
7.如权利要求6所述的方法,其中所述链路质量信息包括确认信息、无线电链路质量、数据率吞吐量及误码率中至少之一。
8.如权利要求6或7所述的方法,还包括以下步骤:使用所述链路质量信息确定何时应更新“路由选择和/或NDP邻居高速缓存表”的至少一部分。
9.如权利要求6或7所述的方法,还包括以下步骤:将所述链路质量信息与阈值进行比较以便确定是否要进行NDP清单的更新。
10.如权利要求1所述的方法,其中在一个节点无法与某个节点进行通信时,生成NDP错误消息并分发到所述网络中的侦听节点。
11.如权利要求1所述的方法,还包括在转播或转发所述NDP请求前修改所述NDP请求。
12.一种在使用因特网协议(IP)的无线多跳数据通信网络中用于检测相邻节点、即所谓“邻居发现”的装置,所述装置包括:
-用于将邻居发现协议NDP请求从第一网络节点(101)广播到第二节点(102)的部件;
-用于所述第二节点(102)接收所述NDP请求、确定所述NDP请求的目的地的部件;
-用于在所述NDP请求被确定为是到第三节点(104)去时传送所述NDP请求的部件;
以及
-用于将NDP通告从所述第三节点(104)经所述第二节点(102、103)转发到所述第一网络节点(101)的部件,
其中当所述NDP请求或通告为非标准NDP请求或通告时,通过使用所述NDP请求或通告的消息报头中的选项字段和/或新消息类型,所述NDP请求或通告能被包括到标准NDP请求或通告中。
13.如权利要求12所述的装置,其中所述第二节点(102、103)包括多个节点。
14.如权利要求12所述的装置,还包括用于在所述节点中安排存储的、检测到的先前NDP请求和NDP通告转发的未决列表的部件。
15.如权利要求14所述的装置,还包括:用于限制在所述未决列表中所述存储的先前NDP请求或NDP通告转发的存储时间的部件。
16.如权利要求12所述的装置,还包括:用于限制允许节点发送到特定目的地的NDP通告转发的速率的部件。
17.如权利要求12所述的装置,还包括:用于在NDP消息过程期间测量节点之间的链路质量并将链路质量信息分发到节点的部件。
18.如权利要求17所述的装置,其中所述链路质量信息包括确认信息、无线电链路质量、数据率吞吐量及误码率中至少之一。
19.如权利要求17或18所述的装置,还包括:用于使用所述链路质量信息确定何时应更新“路由选择和/或NDP邻居高速缓存表”的至少一部分的部件。
20.如权利要求17或18所述的装置,还包括:用于将所述链路质量信息与阈值进行比较以便确定是否要进行NDP清单的更新的部件。
21.如权利要求12所述的装置,其中在一个节点无法与某个节点进行通信时,生成NDP错误消息并分发到所述网络中的侦听节点。
22.如权利要求12所述的装置,还包括用于在转播或转发所述NDP请求前修改所述NDP请求的部件。

说明书全文

在无线多跳网络中使用NDP 检测邻节点的方法、通信装置

和系统

发明领域

[0001] 本发明涉及通信网络,具体是在使用因特网协议版本6(IPv6)的自组织网络中基于分组的网络,并且具体地说,涉及使用附加的邻居发现协议(NDP)消息类型的路由选择方案。

发明背景

[0002] 移动用户之间的无线通信正随着装置和技术的发展而变得越来越普遍。基础设施延伸范围在电信系统和数据网络系统内不断扩展。今天,电信系统也在不断增加使用分组交换网络,并且趋势是明显向着此基于分组的路由选择的方案发展。在数据网络中已使用此系统许多年,因此,存在许多用于此目的的标准化路由选择协议。然而,对于例如像所谓的自组织网络等快速变化的网络拓扑图,它们并未作好准备。
[0003] 无线自组织网络的特征在于它们不具有像普通有线网络基础设施一样的静态性质,基于自组织的网络没有集中控制,因此经常以自发的方式创建。它通过分散式概念维护控制。与标准固定网络体系结构相比,节点可以以不受控的方式连接或断开;节点可快速加入和离开,这形成了动态变化的网络拓扑。一些情况下,此类自组织网络由作为基础设施组件的用户/客户端装置本身形成。用户四处移动,进入和离开网络小区,从这方面而言,这些组件因而确实是移动的,因此,基础设施将四处移动并相应地动态变化。这是一种令人激动并有前途的构建基础设施的方式;然而,它对路由选择协议提出了极高的要求。
[0004] 无线环境中的其它问题是由于将使网络流的性能和效率降级的无线电特定问题。可能存在由于基础设施节点的移动或无线电环境中对象的移动而引起的衰落问题,并且可能存在由于来自范围内其它无线电源的干扰而引起的问题。
[0005] 这些种类的网络拓扑图已在军事环境中使用,但现在还正转移到民用领域。无线系统现在用于为例如住宅区或商业区中的无线宽带接入快速构建基础设施区域。它可用于暂时的基础设施组建,例如,在紧急情况下、在灾难地区中或在战场上用于军事用途。它还可用于在像例如音乐会、会议、集会或季节性旅游区等事件期间组建临时接入覆盖区。在这些种类的区域中,不必全年覆盖而只需要在特定时期期间覆盖,因此,在此类情况下固定基础设施组建会显得太昂贵。
[0006] 今天,几个因特网服务提供商(ISP)在诸如机场、餐厅、咖啡馆和酒店等公共或半公共区域,使用固定无线基础设施系统提供无线接入。这些系统经常称为所谓的热点。
[0007] 随着用户获得接入的需求增长,在考虑覆盖和带宽的情况下,一种扩展无线覆盖或带宽范围的方式是安装更多的基础设施组件,然而,通过普通的固定无线组件进行此扩展是昂贵的,因此,出现了使用无线路由器构建网络的想法。这种情况下,自组织路由选择协议可用于实现简化的安装过程。
[0008] 在论述自组织网络时,基本上有两种网络使用;第一种使用是组建局域网而无任何提供到例如因特网等外部网络的接入的外部网关。此方案可在涉及灾难地区的安装或战场上的军事安装中找到。另一种可能更常见的使用是在一个或几个网关为网络提供到例如基于IP(因特网协议)的专用或公共网络(例如因特网)的外部连接时。在此类网络配置中,视例如数据业务类型、拥塞或路由选择成本而定,数据分组可采用不同的路由和/或使用不同的网关。
[0009] 基于分组的路由选择方案经常围绕例如OSI参考模型等分层模型构建通信网络系统。通信软件硬件划分为以分级方式工作的几个更小的子单元、层。信息和通信控制参数在本地上下传递,并在发送端与接收端之间的相同层之间传递。每个上述层按通信顺序负责不同的任务。对于路由选择而言,根据OSI参考模型的前三层最为重要。
[0010] 第1层负责数据比特的物理传输;物理工具的示例例如可以为基于以太网的网络中的有线链路或无线局域网(WLAN)中的无线链路。
[0011] 第2层经常称为链路层或MAC层并负责传送数据、检错和网络资源协调。
[0012] 第3层经常称为网络层;它负责实现网络中任何对节点之间的通信。此层例如可负责路由选择计算和某一拥塞控制。为此,已开发了取决于网络类型的不同路由选择协议。
[0013] 基于IP的网络中的分组路由选择协议一般是基于路由选择算法,这些算法使用距离向量或链路状态信息为网络中的每对源节点和目的节点查找和维护路由。基本上,在距离向量路由选择算法中,每个路由器向其邻路由器广播到所有主机的距离,并且接收该信息的每个路由器计算到网络中每个主机的最短路由。在链路状态路由选择算法中,每个路由器向其邻路由器广播其每个相邻网络链路的状态信息,并且接收该信息的每个路由器维护从链路状态信息得到的网络完整图形的数据库,并基于数据库中的链路成本计算到每个主机的最短路由。这些路由选择算法设计用于相对静态的网络,并且因此新的路由选择算法必须设计用于其拓扑频繁变化的自组织网络。
[0014] 基本上有两种类别的现有路由选择协议用于自组织网络。它们为“主动式”(表驱动)和“反应式”(按需)路由选择协议。具有这些协议的组合的协议也是可能的。
[0015] 主动式路由选择协议不断并定期计算到自组织网络中所有主机的路由,并因此在需要发送分组到某个特殊目的主机时始终有路由可用。结果被保存在所有节点中的路由选择表中。
[0016] 为维护到每个主机的路由,在路由器之间交换控制消息以通知网络配置和链路状态的变化。距离向量路由选择协议和链路状态路由选择协议均被归类为主动式协议。应注意的是,控制消息产生了开销并可能导致网络效率降低。此外,在网络拓扑频繁变化时,主动式协议可能难以维护有效的路由。
[0017] DSDV(目的地排序的距离向量路由选择)是一种基于距离向量算法、使路由选择信息协议(RIP)适应自组织网络的主动式路由选择协议。每个节点维护一个路由选择表,在该表中节点存储下一跳节点和到所有可达目的主机中每个主机的跳数。在DSDV中,每个节点定期或在它检测到网络拓扑的变化时广播或多播路由选择更新。增量更新只更新与自上一次更新后的变化有关的信息,增量更新还用于减少控制业务。
[0018] 反应式协议只在有数据分组要发送时执行控制消息交换以查找/更新路由。源节点要发送数据分组时,它发起控制协议以通过发送路由请求消息到其邻节点来查找路由。根据此原理,反应式方案优点在于无分组要传送时不浪费网络资源。然而,第一次必须形成路由时发送分组要花费更长的时间。AODV和DSR是典型的反应式协议。
[0019] AODV(自组织按需距离向量路由选择)协议使用DSDV算法,并按需、即只在源节点要发送数据分组时创建/更新路由。这减少了为查找/更新路由所需的广播数。
[0020] 在AODV中,每个节点维护一个检测到的邻节点列表。邻居列表通过以下三种方式之一进行更新:a)在从邻节点收到分组时,b)通过从邻节点接收本地通告、即问候消息,或者c)通过来自链路层的反馈。定期从每个节点广播问候消息到其邻节点以将其存在通知其邻节点。
[0021] 在AODV中,每个节点维护一个关于所有目的地的路由选择表,节点代表其它节点与每个目的地进行通信或者将数据分组转发到每个目的地。对于每个目的地,在路由选择表中存在一个项目,它包含有关该目的地的信息,如IP地址、该目的节点的序号、到该目的地的跳数、到该目的地的下一跳节点及路由的寿命。
[0022] 一个节点要与目的节点进行通信、即发送数据分组到目的地时,则源节点发起路由发现机制,在该机制中,源节点向所有检测到的邻节点广播路由请求(RREQ)。邻节点收到RREQ消息并在其路由选择表中具有关于到该目的地的足够新的路由的项目时,则它将路由回复(RREP)消息发回源节点。如果邻节点未找到关于该目的地的路由项目,则它将RREQ消息转发到其自己检测到的邻节点。目的节点收到RREQ时,它返回RREP消息到源节点。
[0023] 在转发RREQ分组的进程中,每个中间节点记录收到的广播RREQ的第一副本所来自的邻节点的IP地址,由此建立反向路由。以后收到的相同RREQ消息的副本全部被丢弃。中间节点将关于目的地的项目添加到其路由选择表,在表中收到的RREP所来自的邻节点被记录为去往该目的地的下一跳节点。目的地序号和路由的寿命从RREP中复制并记录在该项目中。RREP消息最终返回源节点时,形成从源到目的地的前向路由。
[0024] 在节点检测到路由由于路由上关联链路的故障而变得不可用时,它发送路由错误(RERR)消息到使用该路由的所有邻节点。发送RERR消息到其邻节点,并以此类推,直至RERR消息到达源节点。源节点然后可决定是停止发送数据分组还是发起新路由发现。
[0025] DSR(动态源路由选择)协议使用一种源路由选择机制,在该机制中,源节点按需确定沿路由的完整节点序列,并在分组报头中设置中间节点列表以指示路由的节点序列。这样,每个分组必须承载用于分组路由选择的开销。然而,中间节点无需维护任何有关路由的信息,并且它们可在输送数据分组时了解路由。
[0026] 在DSR中,每个节点存储(高速缓冲)它已了解的路由。在源节点要发送数据分组到目的节点并且在高速缓冲存储器中无关于该目的地的项目,则它通过在其链路层上广播RREQ消息而发起路由发现机制。收到RREQ消息的每个节点将其IP地址附加到RREQ消息并然后再将其转发。进行此进程直至找到到目的地的路由或者另一节点可以提供到目的节点的路由。然后返回包含到目的节点的网络跳序列的路由回复(RREP)消息到源节点。
[0027] 在DSR中,在一个节点检测到链路故障时(即分组已被重新传送最大次数时),该节点将该链路从其路由高速缓冲存储器中删除,并发送路由错误(RERR)消息到自上次收到确认以来已使用该链路的每个节点。那些节点必须删除包括该链路的路由。来自源节点的数据分组的重新传输然后由诸如传输控制协议(TCP)等高层来处理。
[0028] TCP/IP协议的一个问题在于它只利用IP地址,并且在以太网或令牌环示例中的数据链路中,网络组件具有其自己的寻址方案,任何使用该数据链路的网络层必须符合该方案。例如,在以太网中,几个不同的网络层可同时合作,几个网络应用可使用相同的物理电缆。将以太网或分组从一个位置发送到另一位置时,它使用48比特的以太网地址确定分组的目的地和源。独特的48比特的以太网地址在所有以太网连网硬件中都有,并经常称为MAC地址(介质访问控制)。此48比特的地址可与IPv4(因特网协议版本4)中使用的32比特的IP地址相比较。地址解析提供了这两种不同形式的地址之间的映射方案。此映射由ARP(地址解析协议)完成。ARP提供以下机制,在称为ARP高速缓冲存储器的暂时存储器空间中将硬件MAC地址动态映射到IP地址。换而言之,ARP将IP地址转换成MAC地址。然而,在IPv6(因特网协议版本6)中不使用ARP功能,而是实施邻居发现协议(NDP)。
与IPv4 ARP功能相比,NDP内置有许多更多不同的功能。
[0029] 相同链路上的IPv6节点使用邻居发现功能来发现彼此的存在、确定彼此的链路层地址、查找路由器以及维护有关到活动邻居的路径的可达性信息。
[0030] IPv6的邻居发现协议(NDP)在网络逻辑地址与链路层地址(例如基于以太网的网络中的MAC地址)之间映射地址。例如,网络层协议IPv6需要将128比特的IP地址映射成长度为48比特的以太网MAC地址。NDP在邻居高速缓冲存储器中存储发现的映射以备将来使用。NDP协议还用于维护邻居可达性信息。
[0031] 用于查找邻居的NDP的基本操作如下:IP层要与网络上的另一装置进行通信时,它在邻居高速缓冲存储器中检查可达性(以了解是否存在关于链路层地址的匹配项)。如果在邻居高速缓冲存储器中无项目(或不可达状态),则发出邻居请求以请求目标节点的链路层地址。该目标将通过包含其链路本地地址的邻居通告而响应该请求。在收到通告时,将更新邻居高速缓冲存储器。
[0032] NDP旨在解决与链路本地通信有关的以下问题:
[0033] о路由器发现:定位连接链路上的路由器。它帮助主机识别本地路由器。
[0034] о前缀发现:查找局域网的网络前缀,该前缀帮助节点区分本地链路地址与需要发送到路由器以便进行转发的地址。
[0035] о参数发现:发现不同的链路参数,例如本地链路MTU(最大传输单元)。
[0036] о地址自动配置:用于IPv6自动配置用途的功能。
[0037] о地址解析:类似于IPv4中使用的地址解析协议(ARP),替代ARP功能与RARP功能。
[0038] о下一跳确定:用于确定下一目的地,这是在本地链路上还是需要进行路由选择。
[0039] о邻居不可达性检测:用于确定节点或路由器是否仍可达。
[0040] о重复地址检测:用于确定地址是否已经在本地链路上使用。
[0041] о重定向:来自路由器的重定向信息。在节点发送分组到可能不是最佳可用路由器的路由器时使用。路由器然后可重定向节点以将分组发送到更佳路由器。
[0042] 邻居发现通过定义五种不同的ICMP分组类型而进行工作:
[0043] о路由器请求:用于强制路由器发送路由器通告。
[0044] о路由器通告:定期发送以通知网络其可用性并包含相关网络信息。
[0045] о邻居请求:用于强制邻节点发送通告。
[0046] о邻居通告:用于在(通过邻居请求)被请求时或在其链路层地址已更改时发送其网络信息。
[0047] о重定向:路由器发送重定向消息以通知主机它们不是去往某个特殊目的地的最佳路由器。
[0048] 根据当前标准,只有“源链路层地址”选项可添加在请求中。接收方静默地忽略所有不理解的额外选项。
[0049] 根据当前标准,只有“目标链路层地址”选项可添加在通告中。接收方静默地忽略所有不理解的额外选项。
[0050] 对于上述其它NDP分组类型,可添加其它选项。
[0051] 此方案对于固定线路网络效果良好,但在无线自组织和/或多跳网络中,不是所有网络单元可相互听到,这种情况下,标准NDP解决方案将不足以解决问题。为此,开发了一些不同的解决方案用于查找网络中的主机。
[0052] 上述解决方案的问题可概括如下:
[0053] 1.标准NDP只允许无线网络中的本地对等通信。
[0054] 2.现有的自组织路由选择协议处于因特网草案状态,因此未最终完成。这是由于尚未广泛部署IPv6而在此领域缺乏经验造成的。
[0055] 3.现有的无线通信系统不考虑发送方与接收方之间的链路质量
[0056] 相应地,上述解决方案在基于标准IP的网络中对于此类网络解决方案的实施者不会是透明的,并会从可用的网络资源和涉及的路由选择组件的计算能两者中占用额外的资源。

发明内容

[0057] 因此,本发明优选实施例的一个目的是纠正上述问题和缺陷中的至少一些。
[0058] 这通过在NDP(邻居发现协议)消息中引入新特性但不更改NDP消息结构而得以实现。这样,使用标准NDP功能的网络组件不会受此新NDP消息结构的影响。然而,使用根据本发明的NDP解决方案的网络组件将能够利用有效的NDP映射。
[0059] 在本发明的一个优选实施例中,为使用因特网协议(IP)并且具体是IP版本6(IPv6)的无线多跳数据通信网络提供一种用于“邻居发现”的方法,该方法包括以下步骤:
将邻居发现协议(NDP)请求从第一网络节点广播到第二节点;第二节点接收NDP请求、确定NDP消息的目的地;在NDP请求被确定为是到第三节点去时重新传送NDP请求;以及将NDP通告从目的网络节点经中间网络节点转发到第一网络节点。
[0060] 该方法还包括在节点中存储的、检测到的先前NDP请求和NDP通告转发的未决列表。
[0061] 该方法还可包括以下步骤:限制在未决列表中存储的先前NDP请求或通告的存储时间,限制允许节点发送到特定目的地的NDP通告转发的速率,在NDP消息过程期间测量节点之间的链路质量并将链路质量信息分发到节点,使用链路质量信息确定何时应更新NDP邻居高速缓冲存储器,将链路质量信息与阈值进行比较以便确定是否要进行更新,以及在转播或转发NDP请求前修改NDP请求。
[0062] 根据该方法,在一个节点无法与某个节点进行通信时,可生成NDP错误消息并分发到网络中的侦听节点。
[0063] 在本发明的另一实施例中,提供一种通信装置,其中该装置在多跳无线网络中具有路由选择工具,并且该装置包括:指令集存储器;至少一个无线收发信机;用于在指令集存储器中提供邻居发现协议(NDP)指令的工具;以及用于在指令集存储器中提供NDP消息转发和转播指令的工具。
[0064] 在该装置中,用于NDP通告转发和NDP请求广播的工具可包括用于确定NDP消息的目的地的工具。
[0065] 该装置可以为诸如但不限于膝上型计算机、个人计算机(PC)、工作站、个人数字助理(PDA)、移动电话嵌入式计算机等客户端或服务器系统或诸如但不限于WLAN(无线局域网)基础设施装置及移动电话基础设施装置等基础设施系统。
[0066] NDP转发或转播指令可修改NDP消息以显现为源于修改消息的装置。
[0067] 在本发明仍有的另一实施例中,提供一种用于多跳无线数据通信的系统,该系统包括:多个通信装置;这些通信装置包括:指令集存储器;至少一个无线收发信机;用于在指令集存储器中提供邻居发现协议(NDP)指令的工具;以及用于在指令集存储器中提供NDP转发和转播指令的工具;以及由这些通信装置组建的通信网络。
[0068] 该数据通信系统中的通信装置还包括用于确定NDP消息的目的地的工具。
[0069] 该通信装置可以为客户端系统、服务器系统、基础设施系统或这些类型的装置的组合。客户端和服务器系统的示例可以为但不限于膝上型计算机、个人计算机(PC)、工作站、个人数字助理(PDA)、移动电话或嵌入式计算机。基础设施系统的示例可以为但不限于WALN(无线局域网)基础设施装置和移动电话基础设施装置。
[0070] 该系统还可包括至少一个连接到诸如因特网或专用IP网络等外部网络的网关。
[0071] 本发明还涉及一种在无线多跳数据通信网络中用于“邻居发现”的指令集,该指令集包括:用于将邻居发现协议(NDP)请求从第一网络节点广播到第二节点的第一指令集;在第二节点中用于接收NDP请求、确定NDP请求的目的地的第二指令集;在NDP请求被确定为是到第三节点去时传送NDP请求的第三指令集;以及用于将NDP通告从第三节点经第二节点转发到第一网络节点的第四指令集。
附图简要说明
[0072] 下面将参照附图中所示的示范实施例,以非限制性方式更详细地描述本发明,图中:
[0073] 图1以示意图方式示出小型多跳网络。
[0074] 图2是通过小型多跳网络带有不同通信消息的流程图
[0075] 图3a示出用于请求的NDP ICMPv6的示意性消息结构。
[0076] 图3b示出用于通告的NDP ICMPv6的示意性消息结构。
[0077] 图4示出与固定网络连接的更大型多跳无线网络的示意图。
[0078] 图5是根据本发明的节点的方框图
[0079] 图6是根据本发明的方法的方框图。发明的详细说明
[0080] 本发明涉及移动自组织网络的概念,其中移动节点的自组织无线网络通过使用所谓的多跳路由选择系统相互进行通信。这些节点既充当主机/客户端系统,又充当路由器,即基础设施装置。经这些节点对业务进行路由选择,并在必要时路由选择到可接入例如因特网等外部IP网络的外部网关。
[0081] 在本发明的优选实施例中,提供一种关于作为因特网协议版本6(IPv6)的一部分的NDP(邻居发现协议)的新解决方案,其中通过使用位于NDP请求节点与NDP消息的最终接收方之间的路径上的中间节点,将NDP消息转发到接收方节点。
[0082] 在图1中,示出多跳无线网络的多个网络节点101、102、103和104。这些节点101、102、103和104相互进行通信,然而,并非所有节点相互有联系。这意味着在一些情况下一些节点会中继消息并充当路由选择单元。例如,如果节点101要与节点104进行通信,则节点102或节点102和103需要参与分组交易,这是因为节点101和104无法在此情况下直接相互“听到”,即无法直接相互进行通信。
[0083] 要将消息从一个节点发送到另一节点时,需要解析这些节点的网络地址。在本发明中,提出一种新NDP过程,其中添加新NDP消息以使NDP消息结构变化,从而实现NDP通告转发或NDP请求转播。这意味着位于需要相互知道网络地址的两个节点之间的节点会转发此类NDP请求,直至NDP请求到达寻求的目的地。
[0084] 假设根据图1节点101要与节点104进行通信,通过示意性逐步进行的过程示出此操作:
[0085] 1.节点101要发送数据到节点104。
[0086] 2.节点101自动广播NDP请求:“谁是104,告诉101 ?”。
[0087] 3.此请求消息由相邻节点102接收,该节点立即转播请求:“谁是104,告诉102?”。
[0088] 4.此请求由相邻节点103接收,该节点转播请求:“谁是104,告诉103 ?”。然而,在此特定情况下,节点104也收到该请求,节点104通过发送NDP通告:“节点102,我是104”来回复。
[0089] 5.节点103传送的请求由节点104接收,该节点通过发送NDP通告:“节点103,我是104”来回复。
[0090] 6.从节点104到节点102的回复由节点102接收。
[0091] 7.节点102通过发送NDP通告转发:“节点101,使用节点102作为到节点104的网关”而回复请求的起源(节点101)。
[0092] 8.从节点104到节点103的通告由节点103接收。节点103通过发送:“节点102,使用节点103作为到节点104的网关”而发送通告转发到节点102。
[0093] 在如图2所示的另一示例中,在小型网络中连接三个节点(201、202和203)。节点201要与节点203进行通信,但无法直接进行通信。然而,节点202的位置使得它可在节点
201与203之间中继消息。在图2中,节点201要发送ICMP(因特网控制消息协议)回送请求到节点203,该请求例如形成通常称为“PING”功能的基础。图2中的消息框205、207、
211和213指示根据本发明在这些节点之间传递的新消息类型。
[0094] 1.节点201开始其通信过程时,它先发送NDP请求消息,请求它要与其进行通信的IP地址的位置。这在方框204中示出。
[0095] 2.此NDP请求由节点202接收。节点202确定消息是指定给另一节点而不是其本身。改变请求消息以显现为源于节点202,并如方框205中所示由节点202转播。
[0096] 3.消息由节点203接收,并且将NDP通告发送到节点202(方框206),以及节点202将NDP通告转发到节点201(方框207)。
[0097] 4.节点201然后具有节点203的坐标,并发送ICMP请求到节点203(方框208),并且ICMP请求由节点202中继(方框209)。
[0098] 5.节点203接收此ICMP请求,并然后要发送ICMP回复。然而,它需要知道节点201的链路层地址以便发送回复,并因此发送关于节点201的NDP请求。这在方框210中示出。
[0099] 6.此消息由节点202接收。节点202确定请求消息是指定给另一节点而不是其本身。改变消息以显现为源于节点202,并如方框211所示由节点202转播。
[0100] 7.消息由节点201接收,并且将NDP通告发送到节点202(方框212),以及节点202将NDP通告转发到节点203(方框213)。
[0101] 8.节点203然后具有节点201的坐标,并发送ICMP回复(方框214),该回复由节点202中继(方框215)到节点201,并且ICMP通信过程得以结束。
[0102] 上述通信方法已通过ICMP回送请求示出,但本领域的技术人员应理解,在本发明的范围内可使用任何类型的通信过程、协议或方案。此外,本领域的技术人员应理解,在通信网络和业务交易中可涉及不止三个节点。
[0103] 图3a和图3b分别示出根据标准因特网协议版本6(IPv6)的NDP请求和通告消息。
[0104] 上述消息并不全属于标准NDP过程。然而,通过使用消息报头中的选项字段和/或新消息类型,即使非标准消息也可包括到标准消息中。对于选项字段的情况,符合标准NDP请求的路由选择单元将能够处理由使用本发明的新NDP转发方案的路由选择单元作出的NDP请求。标准路由选择单元将只忽略此类新NDP消息类型。能够处理本发明的新NDP转发方案的修改的路由选择单元将能够利用选项字段和/或新消息类型中包括的新代码。选项字段定义传送或接收的消息类型。因此,无需更改NDP标准就可实施NDP转发方案。为实现NDP通告转发、NDP错误和NDP链路质量,在本发明中提出新消息类型和选项。现在将描述新的NDP控制消息类型:
[0105] NDP通告转发:任何具有根据本发明的实施的路由选择装置理解此消息是NDP通告转发消息,并将它作为NDP通告处理,但在消息处理方面有一些不同。它还是本发明中引入的NDP通告转发方案实施中的一个功能。此功能中继(function relay)路由选择到节点。消息包含最终目的地及离最终目的地最近的跳是什么。
[0106] 在节点认识到它无法与某个节点进行通信时,生成NDP错误。这在节点无法找到任何到某个寻求的节点的替代路由时生成。将NDP错误消息广播(到相邻节点,即单跳邻居),并且NDP错误消息包含有关哪个节点生成该错误消息及无法到达的节点的信息。NDP错误生成节点删除包含丢失节点的路由的所有项目和丢失节点充当网关的所有路由。广播的NDp错误消息的接收方删除包含丢失节点的所有活动路由。如果在接收节点中不存在替代路由,则生成NDP错误消息并广播。
[0107] NDP链路质量消息包含有关两个节点之间的链路质量的信息。
[0108] 还应考虑的是,中间节点转播的消息还由通信链中前面的节点接收。在图2的示例中,节点202转播NDP请求时,节点201将收到相同的消息。为减少控制业务量,每个节点可通过在每个节点本地存储未决列表而记录每个请求和回复。通过在转发NDP请求前查看此最近请求和回复的列表,节点可能能够减少在网络基础设施上广播的控制业务量。如果收到的消息被确定为是关于已经在未决列表中的节点集,则它将被丢弃。在未决列表中,存储有关哪个节点在请求哪个节点、发出此请求的时间、是否已收到回复及是否已将回复转发到另一节点等信息。
[0109] 在该解决方案中,还可能引入有关节点可以隔多久或何时转播到特定节点去的请求的时间限制。在请求遍历两个或更多个不同的路径并在某个节点接收时,只应转发它一次。这通过在某个时间限制内不允许节点将请求转发到特定节点而得以解决。反之亦然,只要未发送转播,便只允许发送NDP通告或转发消息一次到每个起源。
[0110] 由于本发明不更改NDP标准,因此,无需专的NDP发起例程。然而,在本发明的另一实施例中,可将链路质量监控系统与上述NDP解决方案一起引入以便进一步减少控制业务量和提高业务速度。通过测量节点之间的链路质量,例如无线电质量、确认信息、误码率或数据率吞吐量(例如根据传输控制协议TCP),在检测到链路质量下降时主动更新NDP清单是可能的。此类方案可减少丢失数据分组量,并减少基础设施中的控制业务量。在PCT/SE03/002074(通过引用结合于本文中)中,介绍了一种在自组织网络中用于链路质量监督的类似方案。相同的系统可用于决定何时更新路由选择和/或邻居高速缓存表。在邻居高速缓存和路由选择表中可能有多条路由,这些路由可根据路由状态而标记为活动或不活动。
[0111] 根据本发明的NDP实施中的可控参数包括但不限于节点隔多久可以转播NDP请求、未决列表中项目有效的时长及不使用的路由选择项目和邻居项目会存储在路由选择表和NDP邻居高速缓冲存储器中的时间量。
[0112] 将请求存储在接收节点中,这样,在从其它节点收到回复时,接收节点可发送回复到请求节点。
[0113] 本发明既可用于不提供外部连接的独立网络,如在灾难地区网络建立或战场上的军事网络建立中,也可用于连接在一起的无线组件群集,并且在群集中存在至少一个到外部网络(例如因特网或独立IP网络)的连接。图4中示出后一情况的实施例,其中,多个无线组件402...408和40n(其中n是整数)连接到网关401,该网关具有到例如因特网等外部网络420的连接400。外部连接400可以为任何合适的类型,包括但不限于通过固定有线连接(例如以太网、令牌环、LocalTalk、X.25、ATM、ADSL、ISDN或甚至光纤连接链路以太网、光纤或类似连接)或“固定”无线(例如WLAN(例如802.11系列)、LMDS(本地多点分配业务)、GSM、GPRS或3G)的LAN或WAN连接。
[0114] 该通信方案独立于使用的无线电编码方案,并且可使用任何无线电类型。例如,在IEEE 802.11系列(例如IEEE 802.11a、IEEE802.11b、IEEE 802.11g等等)、IEEE 802.15、IEEE 802.16、HiperLAN、HomeRF、蓝牙、IR(红外)、UWB(超宽带)、JTRS(联合战术无线电系统)、3G(第三代移动通信)、GPRS(通用分组无线电业务)或EDGE(全球演进的增强型数据率)中的无线电标准。然而,可能的无线电标准不限于以上所述。它可以为在100kHz到100PHz的频带内操作的任何合适的基于电磁辐射的传输方案;这包括无线电频率微波频率和红外范围、可见范围和紫外范围中的频率。
[0115] 根据本发明的NDP方法可在许多不同的应用领域中使用,如一般情况下或特殊事件期间由警察使用,灾难或意外期间由救援部队使用,在战场上或训练中由军队使用,或者用于为住宅和商业网络接入构建通信用无线接入区。例如,使用这些自组织网络在其它宽带接入技术稀少或太昂贵难以连接的住宅区中使用近距离、低成本的无线设备组建宽带接入是可能的。它还可用于商业区,用于提供到企业或小型公司的宽带接入,或用于在所谓热点的无线连接。热点的特征在于它们根据商业模型为付费客户或免费在某个区域内提供通信接入,例如,在机场候机厅或酒店中。
[0116] 节点可以为任何计算装置,包括但不限于膝上型计算机、个人计算机、工作站、个人数字助理(PDA)、嵌入式计算机或移动电话。此类装置包括至少一个无线收发信机和指令集存储器,该指令集存储器带有处理邻居发现协议指令和邻居发现协议转发与转播指令的编程代码。该装置还包括在指令集存储器中用于确定消息的最终目的地的工具和用于根据本发明修改NDP消息的工具。
[0117] 图5以示意图方式示出根据本发明在网络中使用的节点500。该节点至少包括诸如处理器或类似单元的计算单元501和无线接口506。该无线接口可具有连接工具以便将信号连接到外部天线(未示出)。根据本发明,计算单元501可用于运行例如路由选择软件、链路质量软件和邻居发现协议软件。另外,节点500可包括LAN和/或WAN连接工具507,如以太网、令牌环、Local Talk、X.25、ATM、ADSL、ISDN、WLAN(例如根据802.11系列)、GPRS、GSM、3G或甚至光纤连接链路。根据本发明的一个优选实施例,包括LAN和/或WAN连接的节点可在网络中充当网关401(如图4中所示)。该节点还可包括易失性存储单元502和非易失性存储单元503及如可在许多计算装置(例如计算机、PDA、膝上型计算机等等)中找到的其它单元504、505,这些其它单元例如可以是输入和输出控制单元、串行通信控制单元或类似的功能。图5中的节点已示为具有一个无线接口506,然而,本领域的技术人员可理解,可使用不止一个无线接口,例如,可使用两个无线接口将接入传输和基础设施传输彼此分离,以便提高网络稳定性和数据吞吐量。
[0118] 图6示出根据本发明的方法的示意图。此用于“邻居发现”的方法可通过图6中的步骤示出如下:
[0119] 1.节点广播邻居发现协议请求(方框601);
[0120] 2.第二节点接收此请求(方框602);
[0121] 3.第二节点确定该请求是否是到第二节点去(方框603);
[0122] 4.如果该请求被确定为是到第三节点去,则重新传送该请求(方框604);以及[0123] 5.将NDP通告从目的网络节点经中间网络节点转发到第一网络节点(方框605)。
[0124] 即使在上述示例中为说明本发明使用了三或四个节点,但本领域的技术人员也应理解在此类网络安装中可使用更多或更少数量的节点。对涉及的节点数量没有特殊限制。
[0125] 虽然出于说明的目的而详细描述了本发明,但应理解上述细节只是为了该目的,并且在不脱离本发明精神和范围的情况下,本领域的技术人员可在其中进行变化,本发明的精神和范围可受随附权利要求书的限制。
QQ群二维码
意见反馈