具体实施方式
下文将参考附图详细描述本发明的实施方式使得本发明可以容易地被本领域技术人员实施。然而,应当知道的是,本发明并不受限于这些实施方式,而能够以多种其它方式被实施。在附图中,为了说明的简洁,与本说明书无关的部分被省略;且贯穿全文,类同的参考数字表示类同的部件。
纵贯全文,用来表明一个元件到另一个元件的连接或耦合的术语“连接到”或“耦合到”包括两种情况:一是一个元件被“直接连接或耦合到”另一个元件,二是一个元件经由另一个元件被“电子地连接或耦合到”又一个元件。此外,本文中所使用的术语“包括”或“包含”和/或“包括或包含”意指除了所记载的部件、步骤、操作和/或元件之外,不排除一或多个其它的部件、步骤、操作和/或元件的存在或添加,除非上下文中另有规定。
一种根据本发明的用于在分组传输系统中设置和传送终端的地理地址的方法,包括:通过传输分组(packet)在系统中发送和接收数据,自动设置目的地址,使该地址包含在分组中,以及路由该分组以便将包含地址的该分组传输到目的端(destination)。
但是,该地址是地理地址,其基于位置信息,且不同于传统的IP地址,并且,该地理地址基于终端的位置信息和MAC信息被自动设置。
根据本发明用于在分组传输系统中设置和传输终端的地理地址的该方法首先根据终端的位置信息以及目的端(分组被传输到该目的端)是单一目的端还是区域目的端来设置地理地址。这由发送包含地理地址的分组的终端来执行。
单一目的端意味着分组向其传输的目的端不是具体区域范围,而是具体终端,而区域目的端则表示具体区域,其中设有成组的多个终端。
在如上述那样设置了地理地址之后,该终端形成包含地理地址的分组,并将该分组发送给目的端。被发送的分组通过网络进行传输,并且还能够被传输到使用不同地址系统的另一个网络。其细节稍后进行描述。
图1是根据本发明的说明性实施方式的地理地址系统的基本结构图。
如图1中所描绘的,地理地址系统基本上具有128位的长度并包括地址标识符字段、位置信息字段、范围字段和ID字段。
地址标识符字段是表示该地址是基于地理信息的地址的字段。也就是说,地址标识符字段存储地址识别码用于表明其不同于传统的IPv4或IPv6地址。
将当前网络完全转换为采用新的地理地址系统的网络几乎是不可能的。可以参照实施将传统IPv4网络转换为新的IPv6网络的实施例来完成,该实施例表明:利用各种过渡机制,IPv4网络通过IPv4网络和IPv6网络共存于其中的网络过渡阶段被逐步转换为IPv6网络。
因此,依据本发明的地理地址系统基本上具有128位,等于IPv6地址的基本长度,以便被应用到作为下一代IP地址系统的IPv6地址系统。
考虑到转换成IPv6地址系统或者从IPv6地址系统转换而来,地址标识符字段的高8位标识其是否是地理地址。如果地理地址系统不能贯穿不同网络被普遍使用而只能被用在某些特定网络中,则地理地址需要被转换成IPv6地址(或IPv4地址)以便在不支持地理地址系统的那些网络中提供服务。
在具有不同地址系统的异构网络之间的通信过程中,地址标识符字段可被用来确定是否需要执行如同IPv4/IPv6转换机制(例:NAT-PT)的实施例一样的地址转换。
位置信息字段是包含终端位置信息的字段。
位置信息字段包括通过GPS等工具获取的作为终端的位置信息的纬度、经度和海拔。纬度和经度信息用度、分和秒来表示。秒四舍五入到小数第二位。
如图1中所描绘的,位置信息用8位来表示。纬度被分成北纬和南纬,且以度、分、秒表示。度在0到90的范围内。分在0到60的范围内变化。秒在0到60的范围内,保留小数点前两位数以及小数点后两位数。
经度被分成东经和西经,且以度、分和秒表示。度在0到180的范围内。分在0到60的范围内。秒在0到60的范围内,保留小数点前两位数以及小数点后两位数。海拔用高度值表示,后面跟单位。该高度值在0到999的范围内变化,单位通常是m或km。可以调整海拔信息的表示方式以适合使用地理地址系统的应用。
位置信息由终端通过使用装备在该终端中的诸如GPS之类的定位系统获取。如果该终端不具有任何可用的定位系统或者定位系统不能运转,则需要从参考点获取该位置信息。
也就是说,如果终端没有装备有GPS接收器或者终端在室内,则该终端难以凭借其自身获取其位置信息,因此需要一种方法用于为不能获取其自身位置信息的终端设置地理地址。
图2示出了当由于没有设置地址所需要的对终端而言可用的定位系统或者定位不能运转因而终端的位置信息不能凭借其自身获取时,通过从参考点获取位置信息来设置地址的顺序操作。
参考图2,不能获取自身位置信息的终端发送位置信息请求报文给参考点(例如,接入点),通过接收包含该参考点位置信息的位置信息回答报文获取位置信息,然后通过使用位置信息及其MAC地址及其它来设置地理地址。
当终端位于多跳网络环境中时,也需要获取位置信息。在这种情况下,位置信息可通过由终端从其相邻节点处接收的响应该终端在一跳范围内发送位置信息请求报文的位置信息回答报文来获取。如果在一定时间内没有收到位置信息回答报文,则其可通过在两或更多跳的扩大传送范围内发送另一位置信息请求报文来获取。
图3示出了实施例,其中终端分别从一跳和两跳的范围内获取位置信息。图4和5分别示出了终端通过从一跳和两跳的范围内获取位置信息来设置其地理地址的顺序操作。
如图3(左边)和图4中所描绘的,多跳网络环境中的终端在一跳范围内发送位置信息请求报文给其相邻节点,并利用从其相邻节点处接收的位置信息回答报文设置地理地址。
如果在位置信息请求报文发送之后的一定的时间限制届满前没有收到位置信息回答报文,则,考虑到终端一跳范围内的相邻节点可能也没有位置信息的情况,终端在两或更多跳的扩大传送范围内发送另一位置信息请求报文。
如图3(右边)和图5中所描绘的,由于在一跳范围内没有具有位置信息的终端,因此终端将传送范围扩大至两跳,并利用从其两跳内的相邻节点处接收的位置信息设置地理地址。
范围字段指示目的端是单一目的端还是区域目的端,如果是区域目的端则包括该区域目的端的范围信息。范围字段中没有值表示目的端是单一目的端,而其中有具体值则表示目的端是区域目的端。
如果范围字段代表区域目的端,则该区域目的端的范围基于位置信息字段中的位置信息进行表示。区域目的端可以以三维圆、六面体或多边形的形式进行表示。
范围字段基本上被应用于终端的通信伙伴(communicationpartner)的地理地址。如果通信伙伴是单一终端(即,单一目的端),则范围字段中没有信息显示(即,该字段中不包含具体值)。另一方面,如果通信伙伴不是单一终端,即,如果分组被传送给具体区域(地域群播区域)内的终端,则范围字段包含地域群播以将分组传送给具体区域所需要的区域(范围)信息。
举例来说,如果范围字段的高2位具有0值,则意味着地理地址不包括具体区域(范围)(即,其意味着单一目的端)。在这种情况下,由于范围字段代表单一目的端,所以ID字段不需要表示区域目的端的详细区域范围信息,因此,其中存储终端的MAC地址。
如果范围字段的高2位具有1值,则意味着地理地址代表圆形的具体区域(范围)。在这种情况下,范围字段通过描绘从存储在位置信息字段中的中心点出发的圆半径来描述具体区域范围。该半径具有0到大约999范围内的值(10位),可用m或者km作为单位。
可以对圆范围的表示方式进行调整以适合使用地理地址系统的应用。图6示出了一个实施例,其中地理地址的具体区域以圆的形式表示。
如果范围字段的高2位具有2值,则意味着地理地址代表长方体形的具体区域(范围)。该范围能够以多种方式进行表示,具体取决于存储在位置信息中的点被如何表示及其参考什么进行表示。
例如,图7示出了根据具体区域(用粗线条进行标记)相对于参考点(表示为球)如何进行表示可有多种表示方式。用于表示该具体区域范围的信息被记载在表现区域目的端的详细信息的ID字段中。如果ID字段没有足够的空间来表现该信息,则可使用IPv6扩展头(extension header)。
也就是说,区域目的端的范围被详细表示在ID字段中。如若不然,其可以通过使用IPv6扩展头来表示。下面将描述其中的细节。
ID字段包含终端的MAC地址或者包含范围字段中所表示的区域范围的详细信息。具体而言,如果目的端是单一目的端,则ID字段体现终端的MAC地址,而如果目的端是区域目的端,则ID字段体现范围字段中所表示的区域范围的详细信息。
如果ID字段针对单一终端(即,单一目的端)的地址,则ID字段中包含分配给终端的网络接口卡的MAC(媒体访问控制)地址。包含MAC地址的ID字段被用于通过终端的唯一地址来区分终端,即使从该终端的定位系统(GPS或类似的机制)获取的信息会有一些误差。
另一方面,如果地址针对具体区域(即区域目的端),则ID字段包含由于范围字段的有限空间而不能在范围字段中表示的具体区域(范围)的详细信息。具体区域可以以圆、长方体或多边形的形式表示。如果ID字段的48位不足以表示该具体区域,则可使用一或多个IPv6扩展头,如图8中所描绘的。
IPv6扩展头描述了IPv6头的选项和IPv6地址系统新增加的功能。例如,通信所需要的功能被附于基本的IPv6头,作为成组的扩展头。
分组基本上包括基本的IPv6头,根据各自通信需要,一或更多扩展头可被附于该基本头。这一配置被用来提高路由效率。迄今已有定义的IPv6扩展头的实施例包括逐跳选项(hop-by-hop options)、路由、分片、认证、ESP(封装安全净荷)和目的端选项。
扩展头的细节如下:
下面的表1示出了早期的扩展头。所有扩展头(除了编号为59的)都有其自己的下一个头(next header)字段。该配置使得IP地址能够附加多个扩展头。最后一个扩展头使用其下一个头字段来指向更高层的协议。
[表1]
图9示出了包含一些扩展头的数据报。如图9中所描绘的,每个头指定其下一个头,直至该序列到达认证头,认证头的下一个头字段指定更高层的协议(此例中是TCP)。
由于扩展头在大小上是不固定的,所以各种类型的IPv6扩展头可被另行开发。因此,如果基本地理地址(128位)没有足够的空间来表示区域范围信息,那么可以使用IPv6扩展头来描述详细信息。
同时,按照设置地理地址的上述方法收到包含地理地址的分组的终端比较该分组中的地理地址的位置信息、范围和ID字段,并基于该比较的结果确定是否接收该分组。
例如,如果收到包含地理地址的分组的终端发现包含在所收到的分组中的地理地址的范围字段表示单一目的端,则该终端只在其MAC地址与包含在ID字段中的信息一致时接收该分组。
如果收到包含地理地址的分组的终端发现包含在所收到的分组中的地理地址的范围字段表示区域目的端,则该终端只在该终端位于由范围字段和ID字段限定的区域目的端的范围中时接收该分组。
如果所收到分组的地理地址的范围字段中没有指定具体区域,则该分组的目的端是单一节点。从而,该终端根据该终端的MAC地址是否与地址的ID字段一致来确定是否接收该分组。
另一方面,如果所收到分组的地理地址的范围字段中指定了具体区域,则该终端通过检查该终端的位置是否在由位置信息字段和范围字段限定的具体区域的范围中来确定是否接收该分组。
如上所述能够自动设置其地理地址的终端基本上需要包括用于通过获取位置信息和MAC地址来设置地址的模块、用于在分组需要被传送给具体区域的具体情况下通过指定作为目的端地址的具体区域来设置相对地址的模块、以及用于确定是否接收分组的模块。
更具体而言,终端包括位置信息接收单元以从装备在终端中的GPS或类似机构获取终端的位置信息。而且,如果该终端不能凭借其自身获取其位置信息,则该终端通过发送请求报文给参考点请求其周围节点的位置信息并从该参考点接收回答报文来获取位置信息。
根据本发明,终端的位置信息可通过解析图1所示的数据结构来获得。终端的位置信息可包括例如纬度、经度以及海拔。
根据本发明的终端包括MAC地址获取单元。该MAC地址获取单元获取分配给终端的网络接口卡的MAC(媒体访问控制)地址信息。
根据本发明的终端包括位置范围指定单元。如果发送分组的终端需要该分组的目的端包括具体区域,则位置范围指定单元基于由位置信息接收单元获取的信息计算该具体区域的范围并将计算所得的范围添加到图1所示数据结构的范围信息字段。但是,如果终端的地址代表不包括具体区域的单一终端,则位置范围指定单元没有要处理的事务。
根据本发明的终端包括地理地址设置单元。地理地址设置单元根据图1所示的地理地址系统基于由位置信息接收单元、MAC地址获取单元和位置范围指定单元获取的信息来设置地址。
根据本发明的终端包括分组接受确定单元。分组接受确定单元基于所收到的分组的目的地址确定是否接收分组。如果该分组的目的地址包含具体区域,则分组接受确定单元基于收到分组的终端是否作为目的地址的位置信息字段、范围字段和ID字段中所表示的目的端被包括在该具体区域中来确定是否接受该分组。
如果目的地址代表单一终端而非具体区域,则分组接受确定单元基于终端的MAC地址是否与目的地址的ID字段信息一致来确定是否接收该分组。
根据本发明的终端包括相对位置范围指定单元和相对地址设置单元,其用于通信的目的端是具体区域而非单一终端的情况。根据本发明的分组接受确定单元基于图1的地址标识符字段中的信息确定是进行IP地址信息处理程序还是进行地理地址信息处理程序,并将所收到的分组转发给选定的程序。
如果分组的目的端需要被指定为特定区域中的终端,则相对位置范围指定单元令位置范围指定单元指定目的区域的范围,并且,基于该信息,相对地址设置单元设置目的地址。
设置地理地址的上述方法具有的优点包括能够基于终端的位置信息和MAC地址自动设置地址。虽然IPv6地址系统提供地址的自动设置,但它需要应从路由器(即,外部终端)接收的含有网络前缀的路由器通告报文。
相反地,根据本发明,地址可被自动设置而无需路由器或其它外部节点的任何帮助,从而能够更易于建立网络。然而,由于根据本发明的地理地址系统预计首先被用在有限的网络中,因此,为了支持基于地理地址的网络和外部网络之间的互连,在该两个网络之间提供连接的网关具有如下功能。
如果包含地理地址的分组被传送给使用传统IP地址系统的网络,则连接使用地理地址系统的网络和使用传统IP地址系统的网络的网关通过执行地址转换将包含地理地址的分组传送给使用传统IP地址系统的网络。
在将地理地址转换为传统IP地址之后,网关将发送包含地理地址的分组的终端的转换之前和之后的地址存储到表中,并在确定从使用传统IP地址的网络接收的分组的传送目的端时使用存储在该表中的信息。
连接使用传统IP地址系统的网络和使用地理地址系统的网络的网关包括被配置来在分组被传送给外部网络时执行地址转换使得该两个不同网络之间的通信能够顺利进行的设备。
将使用地理地址系统的网络中的终端所传送的分组转发给外部网络的网关将该终端的地理地址转换为适于该外部网络的全球IP地址、将传送该分组的终端的转换之前和之后的地址存储到表中。然后,该网关可使用存储在该表中的信息来转换从该外部网络中的通信伙伴终端接收的分组的目的地址以将该分组转发给地理网络中的目的终端。
包括用于转换地址的设备的网关所执行的内部终端地址到全球IP地址的地址转换可被应用于IPv4地址系统和IPv6地址系统二者,具体取决于被连接到网关的外部网络的IP地址系统的版本。如果相对方终端(counterpart terminal)是使用IPv4地址系统的终端,则分组的头被转换为IPv4分组。
因此,如图10中所描绘的,根据本发明的地理地址系统在基于地理地址的网络能够与外部网络交互工作时会更有用。
同时,根据说明性实施方式,对于网络寻址而言,可以使用包含节点标识符/标识(NID)和弹性地址(flexible address)的地址系统。
弹性地址可包括弹性局部地址(FLA)和弹性全局地址(FGA)。弹性局部地址可主要用在局部网中,而弹性全局地址可主要用在主干网或全球网中。也就是说,弹性全局地址(FGA)是主干网内节点的地址,而弹性局部地址(FLA)是局部网内节点的地址。弹性地址(FA)是FGA或FLA。节点ID(NID)是全球唯一的标识。FLA-FGA路由器(LGR)是存在于局部网和主干网之间的路由器。FLA路由器(FR)是存在于LGR和局部网内节点之间的路由器。主干网路由器(BR)是存在于主干网内LGR之间的路由器。NID-FA系统(NFS)是由NID和FA组成的数据库系统。入站流量是从主干网到局部网的流量。出站流量是从局部网到主干网的流量。FLA节点是使用FLA的设备。此外,
弹性地址可包括表示基于位置的信息的定位符(locator)。定位符可包括绝对定位符和相对定位符,绝对定位符包括基于由节点的位置的绝对位置而来的纬度、经度、海拔和区域范围的区域范围信息,相对定位符包括节点离参考点的距离和节点离参考点的区域范围中的至少一者。根据弹性地址,或者绝对定位符或者相对定位符可被包括。换言之,定位符(LOC)代表网络中的节点的地理位置。它可以是绝对LOC或者是相对LOC。LOC可用全局位置(全局LOC)或者用局部位置(局部LOC)来表示。全局LOC可以是绝对LOC或者是相对LOC,而局部LOC可以是相对LOC。此外,LOC包括“节点id”、指示节点是固定的还是移动的“节点标志(flag)”、“带宽信息”、“处理器信息”,等等。这些信息会被用于路由。绝对LOC由来自物理绝对位置信息的纬度、经度、海拔及其范围来表示。相对LOC由离参考点的相对距离和范围来表示。距离信息表示离参考点的相对位置。范围信息表示相对于作为中心的参考点的区域。
图11根据本发明的说明性实施方式示出了网络地址生成装置。
根据本发明的说明性实施方式,网络地址生成装置100包括生成绝对定位符的绝对定位符生成单元110和生成相对定位符的相对定位符生成单元120,并生成包括该绝对定位符或者该相对定位符的节点网络地址。
绝对定位符生成单元110生成包括由节点的位置的绝对位置而来的纬度、经度、海拔和区域范围中的至少一者的绝对定位符。
相对定位符生成单元120生成包括节点离参考点的距离和节点离参考点的区域范围中的至少一者的相对定位符。
网络地址生成装置100可进一步包括节点标识符生成单元130。节点标识符(NID)是用于标识用户节点的唯一号码,且可由节点的硬件的唯一序列号、包括在节点中的处理器的信息、或者带宽的信息来指定。
图12是根据本发明的说明性实施方式的使用新的地址系统的网络系统的说明图。
图12中所示的通信网络系统被划分为局部网和主干网。局部网包括基于弹性局部地址系统执行路由的多个路由器(FR)。局部网经由局部全局路由器(LGR)连接到主干网。
主干网包括基于弹性全局地址系统执行路由的多个路由器(BR)。
较下层的路由器FR可被连接到一或多个FLA节点。FLA节点能够基于由局部全局路由器提供的信息生成弹性局部地址。FLA节点可包括一或多个节点标识符。FLA节点之间的通信可基于节点标识符进行。FLA节点可作为诸如MANET(移动ad hoc网络)之类的多跳环境中的FLA路由器(FR)。
接着,局部全局路由器执行弹性局部地址和弹性全局地址之间的互译。局部全局路由器包括到局部网侧的一或多个接口以及到主干网侧的一或多个接口。
针对出站流量的数据的传送,局部全局路由器将弹性局部地址转换为弹性全局地址。针对弹性全局地址的源地址,它使用其自身的弹性全局地址。而针对目的地址,它使用基于目的节点的节点标识符NID的搜索结果。
针对入站流量的数据的传送,局部全局路由器将弹性全局地址转换为弹性局部地址。针对弹性局部地址的源地址,它使用其自身的弹性局部地址。而针对目的地址,它使用基于目的节点的节点标识符NID的搜索结果。
针对FLA节点之间的通信,局部全局路由器存有(hold)包含NID和局部网节点的弹性局部地址之间的关系的映射表。此外,它还维护存储NID和主干网节点的弹性全局地址之间的关系的映射表。
进一步地,所示NFS(NID-FA系统)存储和管理节点标识符和弹性全局地址或者节点标识符和弹性局部地址的信息。NFS作为中央网络管理单元,并管理节点、局部全局路由器和其它设备的操作。
该网络系统中所使用的弹性局部地址是位于局部网中的本地节点(此处称为“FLA节点”)的地址,且可被包括来用于局部网节点的各个接口。
FLA节点的弹性局部地址可被用作为用于局部网中的路由的信息。它可被用作为用于生成虚电路的信息。同时,网络前缀使用分级定位符结构。
弹性局部地址可包括如下字段:
弹性局部地址可包括表明哪种寻址结构被使用的寻址类型字段、表明节点的位置是固定还是移动的标志(flag)、表明地址只针对局部网还是也对主干网可用的标志(flag)、连接到节点的接口的带宽、节点的CPU的性能、表明是否支持虚电路的标志(flag)、虚电路的使用范围、虚电路中使用的标签的信息、服务类型、节点的其它信息、可区别于其它节点的ID信息、以及代表节点的位置信息的LOC字段。简言之,地址可由字段组成,所述字段包括寻址类型(代表哪种寻址方式被使用的类型)、移动/固定节点标志(代表与节点连接的接口是移动还是固定的标志)、主干网/局部网标志(代表地址只能被用于局部网中或者也被用于主干网中的标志)、带宽信息(与节点连接的接口的带宽信息)、处理器信息(节点的处理器信息)、虚电路标志(代表是否支持虚电路的标志)、虚电路区域(关于虚电路使用范围的信息)、虚电路标签(虚电路中所使用的标签)、服务类型、ID(与其它节点相区别的ID)、节点信息(节点的其它识别信息)和LOC(节点的位置信息)。
同时,上述网络系统中所使用的弹性全局地址是使用在主干网中的地址系统,且可被用作局部全局路由器的地址。
弹性全局地址可被手动或自动地配置为在全局网中被唯一地使用,且可被用作为用于主干网中的路由的信息。它可被用作为用于生成虚电路的信息。同时,网络前缀使用分级定位符结构。
弹性全局地址可包括如下字段:
弹性全局地址可包括表明哪种寻址结构被使用的寻址类型字段、表明节点的位置是固定还是移动的标志(flag)、表明地址只针对局部网还是也对主干网可用的标志(flag)、连接到节点的接口的带宽、节点的CPU的性能、表明是否支持虚电路的标志(flag)、虚电路的使用范围、虚电路中使用的标签的信息、服务类型、节点的其它信息、可区别于其它节点的ID信息、以及代表节点的位置信息的LOC字段。地址可由字段组成,所述字段包括寻址类型(代表哪种寻址方式被使用的类型)、移动/固定节点标志(代表与节点连接的接口是移动还是固定的标志)、主干网/局部网标志(代表地址只能被用于局部网中或者也被用于主干网中的标志)、带宽信息(与节点连接的接口的带宽信息)、处理器信息(节点的处理器信息)、虚电路标志(代表是否支持虚电路的标志)、虚电路区域(关于虚电路使用范围的信息)、虚电路标签(虚电路中所使用的标签)、服务类型、ID(与其它节点相区别的ID)、节点信息(节点的其它识别信息)和LOC(节点的位置信息)。
LOC字段可由上述定位符指定。
图13根据本发明的说明性实施方式示出了在网络系统中登记FLA节点的定位符的顺序操作。
首先,FLA节点建立接口链路。在所述建立完成之后,FLA节点接收局部全局路由器的信息。
接着,FLA节点基于其自身定位符的信息和局部全局路由器的信息生成弹性局部地址。
之后,FLA节点作出将弹性局部地址登记到局部全局路由器的请求。该请求包括弹性局部地址和节点标识符。
接着,响应于该请求,局部全局路由器发送表示弹性局部地址的登记完成的确认报文。
然后,局部全局路由器作出将弹性全局地址登记到NFS的请求。该请求包括FLA节点的节点标识符信息和局部全局路由器的弹性全局地址。
接着,响应于该请求,NFS发送表示弹性全局地址的登记完成的确认报文。简言之,LOC登记可按如下所述来执行:FLA节点执行接口链路的建立。在完成链路的建立之后,FLA节点接收LGR的信息。FLA节点从其自身的信息以及LGR的信息创建FLA。FLA节点发送FLA登记REQ给LGR。该FLA登记REQ包括FLA和NID。LGR藉由对FLA登记REQ的回答发送FLA登记ACK给FLA节点。该FGA登记REQ包括FGA和NID用于FLA节点的LOC登记。FGA是LGR的地址。NFS藉由对FGA登记REQ的回答发送FGA登记REQ给LGR。
图14根据本发明的说明性实施方式示出了在网络系统中查询定位符信息的顺序操作。
发送者FLA节点和接收者FLA节点将它们的弹性局部地址登记在各自的局部全局路由器处。
然后,发送者FLA节点将包括发送者NID、接收者NID、发送者弹性局部地址和局部全局路由器弹性局部地址的数据包发送给接收者FLA节点。该包被传送给局部全局路由器LGR_S,且接收该包的局部全局路由器LGR_S用接收者FLA节点的节点标识符搜索先前缓存的NID-FGA映射表。如果结果显示该映射表中没有任何对应的弹性全局地址,则局部全局路由器LGR_S向NFS发出针对该弹性全局地址的查询,该弹性全局地址包括接收者FLA节点的节点标识符。响应于该查询,NFS搜索接收者FLA节点的节点标识符及其对应的弹性全局地址,并将结果返回给局部全局路由器LGR_S。
局部全局路由器LGR_S将接收自NFS的弹性全局地址与接收者FLA节点的节点标识符进行匹配,并更新NID-FGA映射表。
局部全局路由器LGR_S将弹性局部地址转换为弹性全局地址,并传送数据包,该数据包被传送给局部全局路由器LGR_R。所传送的数据包包括发送者的NID、接收者的NID、发送者局部全局路由器的弹性全局地址和接收者局部全局路由器的弹性全局地址。
然后,收到数据包的局部全局路由器LGR_R将该数据包转发给接收者FLA节点,该数据包包括发送者的NID、接收者的NID、接收者局部全局路由器的弹性局部地址和接收者的弹性全局地址。总而言之,NID-FLA映射表被用于管理局部网中的FLA节点的FLA信息。它包含在NID和FLA之间的映射信息。LGR维护关于局部网中的FLA节点的NID-FLA映射表。FLA节点可具有关于同一局部网的FLA节点的NID-FLA映射表。此外,NID-FGA映射表被用于管理主干网中的FLA节点的FGA信息。它包含在NID和FGA之间的映射信息。LGR缓存关于与局部网中FLA节点通信的对应节点的NID-FGA映射表。NFS根据LGR的GLMP维护NID-FGA映射表。NFS具有所有FLA节点的NID-FGA映射表。
同时,根据本发明的说明性实施方式的网络系统提供用于移动FLA节点的路由方法。
图15到17根据本发明的说明性实施方式示出了当FLA节点改变其在网络系统中的位置时的路由方法。
FLA节点的位置的改变可分为两种情况:第一种情况是FLA节点在同一局部全局路由器的范围内到处移动。在这种情况下,由于FLA节点的位置被改变,因此生成新的定位符并相应地改变弹性局部地址。但是,因为该FLA节点在同一局部全局路由器的服务范围中,所以弹性全局地址没有改变。
图16根据本发明的说明性实施方式说明了当FLA节点改变其在网络系统中的位置时的路由方法的构思。
举例来说,为了更详细的说明,如图15中所描绘的,我们假定网络是诸如MANET之类的多跳网络,且在第一时间点t1,FLA节点H通过另一FLA节点A与局部全局路由器通信。在第二时间点t2,FLA节点H被移动,且相应地,FLA节点H生成具有新定位符的弹性局部地址。在这种情况下,由于FLA节点H在离FLA节点A一定距离之内,所以它仍可通过FLA节点A进行通信,因此,可以决定不将新的弹性局部地址通报给局部全局路由器。
然后,在第三时间点t3,FLA节点H移动到一个新位置,并相应地生成具有新定位符的弹性局部地址。在这种情况下,由于FLA节点H在离FLA节点A一定距离之外,所以FLA节点H可通过新的FLA节点B开始与局部全局路由器通信。为此,它将新的弹性局部地址传送给局部全局路由器。
第二种情况是FLA节点移动到了不同局部全局路由器的服务范围中。在这种情况下,不仅弹性局部地址应当会改变,而且弹性全局地址也应当会改变。
图17根据本发明的说明性实施方式示出了当节点改变其在网络系统中的位置时切换到新路由器的顺序操作。
FLA节点在通过旧路由器LGR_Old与其通信伙伴FLA节点通信过程中改变其位置并移动到新路由器LGR_New的服务范围中。因此,在建立接口链路之后,FLA节点接收新路由器LGR_New的信息。接着,FLA节点利用该新位置的定位符和该新路由器LGR_New的信息生成新的弹性局部地址。
然后,FLA节点将该新的弹性局部地址登记到新路由器LGR_New。为了登记其定位符,FLA节点可传送弹性局部地址和节点标识符(NID)。接着,新路由器LGR_New登记该FLA节点的新的弹性局部地址。
紧接着,由于FLA节点的移动导致其切换到不同的本地路由器,所以这被通报给NFS。也就是说,新路由器LGR_New发送请求给NFS以修改移动过的FLA节点的弹性全局地址,该请求包括节点的弹性全局地址和节点标识符。收到该请求的NFS基于移动过的FLA节点的NID搜索NID-FGA映射表,并识别该移动之前服务该FLA节点的路由器LGR_Old。然后,NFS发送请求给旧路由器LGR_Old以捆绑移动后的FLA节点的弹性全局地址,该请求包括NID和弹性全局地址。
旧路由器LGR_Old响应于该请求更新其NID-FGA映射表,并发送表示弹性全局地址捆绑成功完成的确认报文。收到该确认报文的NFS将核实该弹性全局地址的确认报文发送给新路由器LGR_New。
此时,收到针对弹性全局地址的捆绑的请求的旧路由器LGR_Old搜索与移动了的FLA节点通信的FLA节点的列表,并且基于搜索结果发送请求给服务于相对方FLA节点(counterpart FLAnode)的路由器LGR_R以更新移动过的FLA节点的弹性全局地址,该请求包括NID和弹性全局地址。
收到针对弹性全局地址的更新的请求的路由器LGR_R更新其NID-FGA映射表,并发送表示该更新完成的报文给旧路由器LGR_Old。
同时,在弹性全局地址被更新之前,旧路由器LGR_Old通过隧道技术将数据包传送给新路由器LGR_New。
下面将说明根据本发明的说明性实施方式的网络系统中的路由方法。
服务于FLA节点和局部网的路由器FR可通过利用弹性局部地址来生成并使用虚电路,而服务于主干网的路由器BR则可通过利用弹性全局地址来生成并使用虚电路。利用虚电路,可以保证QoS、短延迟和流量管理特性。
弹性全局地址路由确定局部全局路由器之间的路由路径。根据弹性全局地址的寻址类型,可以使用下述路由方法中的一种:
首先,LPM(最长前缀匹配)方法可被用于依照IP路由方法的弹性全局地址系统,如传统互联网。其次,可以使用利用弹性全局地址的定位符的信息的路由方法。再次,可以使用利用虚电路标签配置虚电路的方法。
弹性全局地址路由确定局部全局路由器之间、主干网路由器BR和局部全局路由器之间、或者主干网路由器之间的路由路径。
当生成虚电路时,局部全局路由器会用到弹性全局地址信息和路由信息,其中的每一者可包括如下信息:弹性全局地址信息可包括该弹性全局地址的移动/固定节点标志、带宽信息、CPU信息和节点信息。路由信息可包括该路由中的跳(hop)的数量、该路由的带宽、链路状态、延迟状态和负载状态。
虚电路可同时使用多于一个的弹性全局地址。而且,单个弹性全局地址可被用于多个虚电路。要使用哪种虚电路可由服务、流量和延迟确定。
总而言之,FGA路由决定LGR之间的路由。根据FGA的寻址类型,可以选出路由方法,比如与现有互联网的IP路由相同的FGA最长前缀匹配、利用FGA分级LOC信息的路由、以及利用虚电路标签生成虚电路。FGA路由决定的路由包括LGR之间、BR和LGR之间、BR之间的路由。LGR在生成虚电路时会用到FGA信息和路径信息。所述信息可包括FGA信息、FGA的移动/固定节点标志、FGA的带宽信息、FGA的处理器信息、FGA的节点信息、路径信息、路径的跳数量、路径的带宽、路径的链路状态和路径的负载。虚电路可一次使用多于一个的FLA。一个FGA可被用在多个虚电路中。此时,通过服务、流量、延迟等决定使用哪个虚电路。
同时,弹性局部地址路由确定局部全局路由器和FLA结点之间的路由路径。根据弹性局部地址的寻址类型,可以使用下述路由方法中的一种:
首先,LPM(最长前缀匹配)方法可被用于依照IP路由方法的弹性局部地址系统,如传统互联网。其次,可以使用利用弹性局部地址的定位符的信息的路由方法。再次,可以使用利用虚电路标签配置虚电路的方法。
弹性局部地址路由确定局部全局路由器之间、局部全局路由器和FLA节点之间、FLA节点路由器FR之间、FLA节点路由器FR和FLA节点之间以及FLA节点之间的路由路径。
当生成虚电路时,局部全局路由器、FLA节点路由器和FLA节点能用到弹性局部地址信息、路由信息和节点状态信息,其中的每一者可包括如下信息:弹性局部地址信息可包括弹性全局地址的移动/固定节点标志、带宽信息、CPU信息和节点信息。路由信息可包括该路由中的跳(hop)的数量、该路由的带宽、链路状态、延迟状态和负载状态。节点状态信息可包括接口的信号强度、离相邻节点的距离和电池状态信息。
虚电路可同时使用多于一个的弹性局部地址。而且,单个弹性局部地址可经由多个虚电路进行使用。要使用哪种虚电路可由服务、流量和延迟确定。
总而言之,FLA路由决定LGR和FLA节点之间的路由。根据FLA的寻址类型,可以选出路由方法,比如与现有互联网的IP路由相同的FLA最长前缀匹配、利用FLA分级LOC信息的路由、以及利用虚电路标签生成虚电路。FGA路由决定的路由包括LGR和FR之间、LGR和FLA节点之间、FR之间、FR和FLA节点之间、FLA节点之间的路由。LGR、FR、FLA节点在创建虚电路时会用到FGA信息、路径信息和节点状态。所述信息可包括FLA信息、FLA的移动/固定节点标志、FLA的带宽信息、FLA的处理器信息、FLA的节点信息,路径信息、路径的跳数量、路径的带宽、路径的链路状态、路径的延迟、路径的负载、节点状态、接口信号强度、相邻节点的距离和电池状态。虚电路可一次使用多于一个的FLA。一个FLA可被用在多个虚电路中。此时,通过服务、流量、延迟等决定使用哪个虚电路。
所述说明性实施方式能够在包含可由计算机或处理器执行的指令代码(比如由计算机或处理器执行的程序模块)的存储介质中被具体实现。根据所述说明性实施方式的数据结构能够被存储于可由计算机或处理器执行的存储介质中。计算机可读介质可以是能够被计算机访问的任何可用介质,且包括所有的易失/非易失和可移动/不可移动的介质。进一步地,计算机可读介质可包括所有的计算机存储和通信介质。计算机存储介质包括所有的易失/非易失和可移动/不可移动的介质,具体表现为用于存储诸如计算机可读指令代码、数据结构、程序模块或其它数据等信息的某种方法或技术。通信介质通常包括调制数据信号(比如载波或其它传送机制)的计算机可读指令代码、数据结构、程序模块或其它数据,并包括信息传送介质。
本发明的上述描述出于说明的目的而提供,且本领域技术人员能够理解的是,可以作出各种改变和修改而不改变本发明的技术构思和本质特征。因此,明显的是,上述实施方式在所有方面都是说明性的,且并不限制本发明。例如,被描述为是单一类型的各个部件可以以分布式的方式被实现。同样地,被描述为是分布式的部件可以以组合的方式被实现。
本发明的范围由下面的权利要求限定而不是由实施方式的详细描述限定。应当理解的是,所有的修改方式、由所述权利要求的涵义和范围而来的实施方式、及其等同方式均被包括在本发明的范围中。