专利名称:主动网络中发送消息的方法
技术领域:
本发明涉及其节点可以接收信息消息并且以特定方式处理消息的电信网络。
背景技术:
本发明特别适用于主动网络(active network)。DARPA在1994年提出主动网络的概念并且主动网络成为第一届国际会议IWAN 99(主动网络国际研讨会)的主题。
在本文中主动网络是其节点或某些节点能够以特定方式处理网络传送的消息的网络。换言之,这些节点必须能够执行一个算法,这个算法不同于那些设计入节点中的算法。
在主动网络内部,没有必要为所有节点提供这种处理能力因而在主动节点和非主动(即正常)节点之间产生了差别。
同样,没有必要以特定方式处理所有的消息。因而在主动消息和非主动消息之间产生了区别。有两个主动消息类别包含可执行代码的消息,这些可执行代码将被接收了所述消息的主动节点使用。
包含可执行代码的标识符的消息,这些可执行代码将被相同的主动节点使用。
Alden W.Jackson,Angelos D.Keromytis,Gary J.Minden和David Wetherall标题为"主动网络封装协议(ANEP)"的IETF草案公开了一个通过主动消息(更精确地讲是通过IP分组)传送主动代码的方法。该草案针对封装在IP分组中的主动分组提出了一种报头格式。
接收一个消息的主动节点执行的第一个步骤是确定该消息是否使得有必要使用可执行代码。
主动消息的格式通常由一个报头和一个消息主体(有效负载)构成。如果一个主动消息包含可执行代码,则由于报头过小,代码只能被插在消息的有效负载中。
确定一个消息是否是主动消息的第一种方式是分析消息的有效负载。
然而这样是不令人满意的。
分析有效负载必须对其进行解码。这种解码相对比较耗时并且在传递消息的所有主动节点上对其进行的转发对网络性能有严重的影响。
在国际互联网络工程任务组(IETF)标题为"IPv6路由器报警选项"的RFC 2711中提出了第二种解决方案。根据这个文档,一个"路由器报警"被用来发送一个指示有效负载是否包含可执行代码的标志。因而如果消息不包含可执行代码,则接收该消息的主动路由器仅仅通过分析这个字段的值就可以避免解码消息的有效负载。
虽然代表了重要的进步,但这个解决方案仍不能令人满意。
当前的网络通常是异构网络。换言之,它们包含有不同来源的节点并且因此具有不同的特征。因此主动网络的主动节点可以具有不同的执行环境因而相同的可执行代码可能可以被第一主动节点而不能被第二主动节点处理。
在RFC 2711公开的解决方案中一个主动节点还必须对接收消息的主体进行解码,即使其不具有处理其所包含的可执行代码所必需的执行环境也要如此。这降低了网络性能。
发明内容
本发明的一个目标是通过允许主动节点只在其包含能够使用的可执行代码的情况下解码消息来克服这个缺点。
因此本发明首先提供一个在电信网络中当网络的至少某些节点具有一或多个允许处理可执行代码的执行环境时发送消息的方法。消息包含一个报头和有效负载,有效负载包含可执行代码,并且在该方法中,将涉及处理可执行代码所需的执行环境的信息插入报头。
本发明还提供了一种电信网络节点,该节点包含发送含有一个报头和有效负载的消息的装置,其中有效负载包含可执行代码。在节点中,发送装置适于将涉及处理可执行代码所需的执行环境的信息插入报头。
本发明还提供了一种具有至少一个处理可执行代码的执行环境和接收含有一个报头和有效负载的消息的接收装置的电信网络节点,其中有效负载包含可执行代码。节点还包含根据报头中包含的信息确定是否可以在上述至少一个执行环境中处理可执行代码并且根据一个关于上述确定结果的函数判定是否分析有效负载。
最终,本发明还提供了一种被电信网络节点用来接收包括一个报头和有效负载的消息的方法,其中有效负载包含可执行代码并且节点具有至少一个处理可执行代码的执行环境。在该方法中,分析报头中包含的信息以确定是否可以在至少一个执行环境中处理可执行代码,并且仅当可以在至少一个执行环境中处理可执行代码时才分析有效负载。
通过以下参照附图进行的描述会更加理解本发明及其优点。
图1示出了一个根据本发明的一个实施例的路由分组。
优选实施方式这个主动网络技术特别适用于国际互联网络类型的网络,即基于网际协议(IP)类型的通信协议的网络。在上述环境中节点被称作路由器并且主动节点被称作主动路由器。并且网络传送的消息被称作分组。
标题为"网际协议,版本6"的RFC 2460定义了扩展分组报头。这些扩展报头中的一个报头被称作"逐段转接(hop-by-hop)"报头并且专门被接收分组的路由器用来进行快速解密。
在本发明的一个实施例中,这个报头被用来插入涉及处理消息中包含的可执行代码所需的执行环境的信息。
图1示出了这种"逐段转接"扩展报头的一个基于本发明的可能格式。
在这个实施例中,报头包含四个字段。
在图1中被表示成"AN类型"的第一字段指示"逐段转接"扩展报头涉及主动网络并且包含标识处理消息中含有的可执行代码所需的执行环境的信息。
必须由一个标准主体定义这个字段必须具有的数值以便该字段的解释没有歧义。在国际互联网络环境中,当前由国际互联网络号码分配权威机构(IANA)负责设定这个数值,在Web站点http//www.iana.org上可以发现有关信息。
这个字段可以具有例如8位长度。
在图1中被表示成"长度"的第二字段也可以有8位的长度。其作用是以字节数量的形式指定下两个字段的长度。
被表示成"EE ID"(EE表示执行环境)的第三字段指示执行环境的唯一标识符。可以在一个官方团体那里注册上述唯一标识符,一种这样的团体是主动网络号码分配权威机构(ANANA)。
执行环境可以是操作系统,其中路由器必须具有该操作系统以便处理消息中包含的可执行代码。它也可以标识一个操作系统版本。例如,操作系统可以是一个Java虚拟机,由于在虚拟机之间可能有兼容问题,在这种情况下重要的是指定虚拟机版本,其提供商等等。
在这个实施例中被表示成"EE特定需求"的第四和最后字段被用来指示特定于前面字段所示的执行环境的信息。例如,这个字段可以指示处理可执行代码所需的模块。
在"EE特定需求"字段中存储信息的精确格式和方式特定于各个执行环境。
当接收到上述类型的消息时,一个路由器可以快速分析扩展报头并且确定其中的一个报头是否在"AN类型"字段中包含对应于主动网络和一个执行环境的标识的数值。
如果是这样的话,接着可以分析"EE ID"字段。接着必须将该字段的值与其可用的一个或多个执行环境相比较。这里必须注意,相同路由器可以具有不止一个执行环境(例如专用和优化操作系统和Java虚拟机)并且根据路由器的需要这些执行环境可以被动态加载。
如果"EE ID"字段不对应于任何可用于路由器的执行环境,则路由器不需要分析消息的有效负载并且可以决定将消息路由到使用另一个路由算法的另一个路由器。
如果"EE ID"字段对应于其一个执行环境并且当在必要时加载该执行环境之后,路由器可以分析"EE特定需求"字段。
例如,如果上述模块可用于路由器,则在事先知道其能够处理其中包含的可执行代码的情况下,路由器可以分析消息的有效负载。
否则路由器可以选择将消息路由到另一个使用某种路由算法的路由器。
权利要求
1.一个在电信网络中当上述网络的至少某些节点具有一或多个允许处理可执行代码的执行环境时发送消息的方法,上述消息包含一个报头和有效负载,有效负载包含可执行代码,其中将涉及处理上述可执行代码所需的执行环境的信息插入上述报头。
2.如权利要求1所述的方法,其中上述涉及执行环境的信息被插入一个"逐段转接"扩展报头中。
3.一种电信网络节点,该节点包含发送含有一个报头和有效负载的消息的装置,上述有效负载包含可执行代码,其中发送装置适于将涉及处理上述可执行代码所需的执行环境的信息插入上述报头。
4.如权利要求3所述的电信网络节点,其中上述发送装置适于将上述信息插入一个"逐段转接"扩展报头中。
5.一种具有至少一个处理可执行代码的执行环境和接收含有一个报头和有效负载的消息的接收装置的电信网络节点,上述有效负载包含可执行代码,上述节点还包含根据上述报头中包含的信息确定是否可以在上述至少一个执行环境中处理上述可执行代码并且根据一个关于上述确定结果的函数判定是否分析上述有效负载。
6.一个被电信网络节点用来接收包括一个报头和有效负载的消息的方法,所述有效载荷包含可执行代码以及所述节点具有至少一个用来处理所述可执行代码的环境,其中包含在所述报头中的信息被进行分析以下确定所述可执行代码是否可以在所述至少一个执行环境中被执行,并且如果所述可执行代码可以在所述至少一个执行环境中被执行,则分析所述有效负载。
全文摘要
一个在电信网络中当上述网络的至少某些节点具有一或多个允许处理可执行代码的执行环境时发送消息的方法,上述消息包含一个报头和有效负载,有效负载包含可执行代码。在该方法中将涉及处理上述可执行代码所需的执行环境的信息插入上述报头。
文档编号H04L12/56GK1350386SQ0113709
公开日2002年5月22日 申请日期2001年10月23日 优先权日2000年10月23日
发明者马尔斯·奥立夫, 格兰德·达明 申请人:阿尔卡塔尔公司