用于在网络环境中交换获知信息的系统和方法

文档序号:7607014阅读:259来源:国知局
专利名称:用于在网络环境中交换获知信息的系统和方法
技术领域
本发明一般涉及通信领域,更具体而言,涉及用于在网络环境中交换获知信息(awareness information)的系统和方法。
背景技术
在通信环境中,联网体系结构已经发展得越来越复杂。这种复杂性已经导致多种协议被实现,以确保网络元件获知它们的周围环境。例如,某些网络元件可以交换分组,以便彼此指示是否存在相邻的网络元件。在这种意义上来说,邻居元件能够获知它们的周围环境,并据此定向或管理流量。
随着网络系统变得更加复杂,这种信息交换会变得很复杂。这可能出于多个原因,例如在系统中具有大量网络元件,从而使包括在任意给定分组中的信息很长并且跟广泛。作为这种长分组的副产品,通信速度和系统性能会被约束。此外,由于必须在网络中交换非常大量的信息,因此带宽会受到不必要的限制并且会消耗额外资源,以便适应所需处理周期。为了提供有效的网络通信,正确地识别周围元件并且虑及其他元件的能力是很重要的,这种能力可能导致功能混乱。因此,提供能够快速而准确地识别出现有网络元件的系统或协议的能力对网络设计者和系统管理者提供了一项重要的挑战。

发明内容
从上文中,本领域技术人员会意识到,已经出现对于改进的通信方法的需求,该通信方法用于提供网络环境中的分组通信中的增多的获知特征或特性。根据本发明的一个实施例,用于在网络环境中传输获知信息的系统和方法被提供,其大大减少了与传统分组通信技术相关联的缺点和问题。
根据本发明的一个实施例,提供了用于在网络环境中传输分组的方法,该方法包括在网络元件处接收分组,以及识别包括在所述分组中的和与一个或多个相邻网络元件相关联的获知信息相关的序号。包括在网络元件中的表可以被更新,以便将网络元件尚未考虑到的分组内包括的获知信息考虑进来。在分组中包括的获知信息已经被考虑过的情况下,分组可以被忽略。
本发明的某些实施例可以提供多个技术优点。例如,根据本发明的一个实施例,提供了允许递增传输邻居元件状态的通信方法,该方法节省了资源并减少了网络开销。这可能是由于递增的邻居元件状态更新的大小可以比常规相邻维护分组(例如经由Hello分组)小得多的原因。因此,由于在每个分组中包括了更少信息,因此在适当地处理分组时消耗的资源更少。这部分由于分组仅仅反映网络中的改变,而无需反映与网络中的每个元件相关链的全部状态信息。另外,较小的分组尺寸可以理解为参与状态维护的路由协议所占用的网络带宽更少。这在某些类型的网络(例如较低速的网络,共享介质网络等)中可能尤其重要,但一般有益于任何分组通信。
与本发明的一个实施例相关联的另一技术优点也涉及邻居元件状态的递增传输。本质上,较小的分组尺寸使发送和接收设备在接收和处理该信息时花费更少的功率。这用于适应更健壮的通信和节省网络中的资源。此外,在接收到每个邻居元件状态分组时,给定的接收者为了核实相邻元件的状态信息,只需要检查状态检查指示符,而无需检查相邻元件状态的整个列表。然后,这可以减少接收设备的中央处理单元(CPU)周期,这在任意数目的应用中可能很重要。另外,如果邻居元件状态已被改变,接收设备只需要管理被改变的信息,而无需检查所有信息的列表并且确定什么已被改变,而什么保持不变,并且随后解决某些缺陷或更新其内部数据。类似地,这可以减少接收设备中的处理。本发明的某些实施例可以享有这些优点中的某些或全部或者不享有这些优点。从以下附图、描述和权利要求中,本领域技术人员可以容易地想到其他技术优点。


为了更完整地理解本发明及其特征和优点,结合附图并参考以下描述,其中相同的标号代表相同的部件,其中图1是根据本发明的一个实施例用于在网络环境中传输分组的通信系统的简化框图;图2是示出与通信系统的接收机相关联的一系列示例步骤的简化流程图;图3是示出与在通信系统中可能包括的分段计时器(fragment timer)相关联的一系列示例步骤的简化流程图;图4是示出与通信系统中的接收机相关联的一系列示例步骤的简化流程图;以及图5是可以在通信系统中交换的示例分组的简化框图。
具体实施例方式
图1是用于在网络环境中传输获知信息的通信系统10的简化框图。通信系统10可以包括多个网络元件12、14、16、18、20和22。网络元件12、14、16、18、20和22在这里也可以被分别称为网络元件A-F。分配给网络元件12、14、16、18、20和22的字母名称是任意的,并且仅仅被用于教导目的。这些名称不应以任何方式被理解为限制它们在可能受益于通信系统10的特征的可能环境中的能力、功能或应用。图1一般可以被配置或布置为代表能够在网络环境中交换分组的任意通信体系结构。这些配置例如可以包括提供分组交换能力的第一代、2G、2.5G和3G体系结构。另外,通信系统10可以包括为通信系统10提供通信平台的任意合适的联网协议或布置。因此,通信系统10可以包括能够实现用于在网络中发送或接收分组的传输控制协议/因特网协议(TCP/IP)通信的配置。通信系统10在合适的时候还可以与用户数据报协议/IP(UDP/IP)或任何其他合适的协议结合操作。
根据本发明的教导,通信系统10提供了允许网络元件A-F经由合适的协议交换信息的通信方法,从而使给定分组中只包括状态信息的改变。例如,当网络元件A-F经由Hello分组交换信息时,该信息可以反映相邻网络元件最近是否出现(存在)。该信息可以在Hello分组中提供,并且包含从给定的网络元件12、14、16、18、20和22延伸出去的相应链路上的邻居元件。
出于教导的目的,了解可能正在经过网络的广泛通信以对任何给定的网络元件提供获知信息是很重要的。路由协议一般在它们周期性发送的邻居元件状态分组中包含各种类型的邻居元件状态。例如,路由协议可能包括给定链路上的已知邻居元件的列表,以使附接到该网络的每个网络元件A-F都能够知道在它本身和正发送分组的网络元件之间是否存在双向连接。例如,在移动自治网络(MANET)环境中,在这种邻居元件状态维护分组中携带的状态信息量可能需要被扩展,与此同时,用于传输这些扩展后的分组的可用带宽、分组大小(链路上的最大传输单元)和可用功率严重下降。
在大多数情形中,尽可能快地获知邻居元件是否存在一般是很重要的。因此,分组可以被传输到相邻网络元件,以便提供路线或系统更新,这种更新反映出当前或最近的状态信息。在这种意义上,网络元件只需要知道网络中什么是新的,或者什么已被改变。
某些网络(例如无线网络)对包括了非常大量数据的长通信或分组尤其敏感(或由于这种长通信或分组而使性能受损)。元件内通信可能呈现包括了在网络中难以处理的大块数据的分组。这些分组可能一致包括在网络中出现或未出现的邻居元件的广泛列表。邻居元件未出现可能指示已经出现某种情况,例如某个元件已经变得无法工作或功能混乱。网络元件出现可以反映出已经存在的元件或已被添加到联网体系结构中的新元件。一般所有信息都包括在单个传输中。唯一特别感兴趣的因素是改变等不一定是冗余数据。
通信系统10通过提供如下机构来克服这些挑战,该机构允许在分组交换中只携带最相关的信息,从而不会使发送该信息的链路或设备超载。按照需要,可以在网络元件A-F之间传送完整邻居元件状态更新。这可能是响应于在网络中形成的新邻居元件关系和/或可能反映出的网络中周期性更新而进行的。已经具有完整状态信息的那些邻居元件可以忽略更新,而丢掉了给定状态的邻居元件可以进行选择以处理更新。反映完整信息更新的状态可以利用状态序号来描述,该状态序号是一个可以从循环空间中分配的中小型链路号。协议的邻居元件状态信息的后续传输可以仅包括该状态序号。状态序列可以被其他对等体所引用,以便判断它们是否具有来自给定设备的最近的邻居元件状态信息。在网络元件A-F中的一个被选网络元件从具有不同状态序列的同一邻居元件接收到两个相继发出的邻居状态分组的情况下,被选网络元件可以通过将用于该发送者的当前已知序号传输到发送者网络元件来请求来自发送者的邻居元件状态更新。如果邻居元件状态以任何方式改变,则可以在递增的状态序列内的邻居元件状态分组的集合中发送递增信息(具有新的状态序列)。
在完整相邻状态的传输之间,网络元件A-F的对等体可以维护指示已发送的上一邻居元件状态的本地信息,并且还可以在假设该信息正确的情况下进行操作。这在给定的网络元件持续接收具有最当前状态序列的邻居元件状态分组的情况下可以被实现。为了适应大量信息和完整更新,可以利用分段序列来添加在Hello分组间的信息分段的能力。
因此,在诸如图1所提供的示例环境的上下文中,网络元件A最初可能具有多个邻居元件。分组可以在网络元件A-F之间被传输,这些分组可以包括头部以及与发送元件相邻的所有网络元件的列表。这些通信的大小可能是巨大的,并且在极端情况下,需要执行某种分段操作。但是,通信系统10在网络元件A-F已经与初始分组同步之后允许最小通信时可以避免这种麻烦的操作。这之后,只有改变可以被发送,从而使分组头部与一个序号一起在分组中被传输,而无需包含相应信息。因此,取代该信息,序号可以被包括近来以指示状态尚未改变。
例如,在初始序号等于5并且发现了新的邻居元件的情况下,序号可以被递增到6,以便添加作为邻居元件的新的网络元件。现在,可以传输头部包括序号6的Hello分组。在任何给定的网络元件丢掉更新的情况下,最终网络元件可以接收到包括头部和适当的序号的分组。因此,已经丢失了特定更新的网络元件可以意识到已经丢失了某种东西,并请求该信息。在这种意义上,通信系统10正在提供失效转移特性。被传输的Hello分组的头部可以包括序号,该序号可以包括与相应网络元件相关联的标识、配置文件、指示符或关键字。这可以是任何合适的识别参数、特征或特性,例如IP地址。
在示例性实施例中,网络元件A-F是路由器;但是,在适当时并根据特定需求,网络元件A-F可以是任意合适的设备。例如,网络元件A-F可以是交换机、网关、网桥、负载平衡器、防火墙或者可操作用于在网络环境中交换与获知相关信息的任意其他合适的设备、组件、元件或对象。另外,网络元件A-F可以包括用于辅助其操作的任意合适的硬件、软件、组件、模块、接口或对象。这可以包括允许有效地交换数据或信息的适当的算法和通信协议。在示例性实施例中,更新信息可以经由Hello分组来交换。在替换实施例中,网络元件A-F可以使用操作用于指示周围或相邻网络元件存在与否的任意合适的通信协议。注意,术语“相邻”和“周围”代表宽泛术语,它们在本文档中可以互换使用。这些术语意味着获知概念,因为它涉及给定的网络元件A-F能够到达的任意组件、设备或元件。
网络元件A-F中的每一个可以包括可被配置用于提供发送者状态和接收者状态的多个合适的算法、硬件和软件(或其任意合适的组合)。因此,相对于发送者状态,从网络元件B的角度来看,可以提供将Hello分组传输到另一网络元件的算法。在示例性实施例中,在发送者状态中可能包括带有序号、Hello计时器、分段步调计时器的状态信息表;已经从其接收到信息但还未获知其状态的邻居元件的表;以及发送网络元件已经获知其状态的邻居元件的表。
相对于接收者状态,在网络元件B中可以提供接收Hello分组的算法。接收者状态可以包括接收到的每个发送者的状态信息的表。接收者状态还可以包括每个发送者的当前序列、当前分段、每个发送者的完整位、每个发送者的停机计时器、以及已经从其接收到信息但不包括已获知的状态的邻居元件的表。在适当时并且根据特定需求,在每个发送者和接收者状态中可以包括任意其他合适的相关信息。
为了示出与通信系统10相关联的某些附加示例性操作,以下论述仅仅出于论述和教导的目的而提供。在示例性实施例中,假设网络元件A-F代表已互连设备(例如路由器)的小群组。通信系统10允许这些元件无需接收关于每个网络元件的所有信息就可以实现同步,因此,通信系统10仅提供与网络中的改变等相关的信息。在序列的初始阶段中,网络元件B可能与网络元件C、D和F对等;但不与网络元件A或E对等。图1示出(为了简化)网络元件A、C、D、E和F无法彼此到达,除非通过网络元件B。
当网络元件B检测到网络元件A作为新的对等体时,它可以传输Hello分组,该Hello分组带有与新的未同步邻居元件的列表中的网络元件A相关联的标识符。当网络元件A检测到网络元件B作为新的邻居元件时,它也可以传输Hello分组,该Hello分组带有与新的未同步邻居元件的列表中的网络元件B相关联的标识符。在示例性实施例中,当网络元件B在由网络元件A发送的新邻居元件的列表中检测到它的标识符时,它可以将包含与其连接的邻居元件(C、D和F)中的每一个相关联的完整邻居元件状态信息的Hello分组传输到网络元件A,从而为该状态分配一个状态序号100。一旦完整状态更新被传输,网络元件B就可以从其新邻居元件列表中删除掉网络元件A。当网络元件A接收到Hello分组时,它可能注意到网络元件B已经发送的邻居元件状态以及它当前的状态序列。网络元件A也可以从其新邻居元件列表中删除掉网络元件B。
由网络元件B将来发送的的Hello分组可以只包含状态序列100。假设网络元件A持续接收的其中包括了该状态序列的周期性Hello分组,网络元件A可以假设网络元件B在其上次更新中传输的信息仍然有效。网络元件B现在可以接收新的邻居元件网络元件E。网络元件B可以通过将与网络元件E相关联的标识符放置到将要传输的Hello分组的其新邻居元件列表中来作出响应。网络元件E可以接收该Hello分组,并在网络元件B的Hello分组的新邻居元件部分中注意到其标识符。在检测到网络元件B作为新邻居元件时,网络元件E也可以通过将与网络元件B相关联的标识符放置到它的Hello分组的其新邻居元件列表中。在接收到来自网络元件E的Hello分组(包括其自己的本地标识符)时,网络元件B可以发送完整状态更新。网络元件E可以接受这些更新作为新状态并存储信息,而网络元件A可以作为重复状态忽略该更新,这是因为该序号与网络元件B正在使用的当前序列相匹配。
网络元件B可以建立带有只添加了网络元件E的邻居元件状态信息的Hello分组,从而分配新的状态序列101。网络元件A可以接收该Hello分组,并将关于网络元件E的信息添加到由网络元件B提供的邻居信息的列表。网络元件A可以将与网络元件B相关的状态序列设置到101。网络元件B可以继续发送Hello分组,在这些Hello分组中只带有状态序列101。
在网络元件B丢失了作为邻居元件的网络元件E的示例性情况下,它可以将指示该丢失的Hello分组与新状态序列102一起传输。在网络元件A没有接收到该Hello分组的情况下,会发生如下情况。网络元件B可以传输其下一Hello分组,该分组仅带有状态序列102。网络元件A可以接收该Hello分组,并将状态序列与来自网络元件B的上一已知指示符(该指示符是101)相比较。由于它们不匹配,因此网络元件A可以识别出它已经丢失了来自网络元件B的某种邻居元件状态信息。网络元件A可以将其上一已知状态序列(即101)发送到网络元件B。网络元件B可以从该信息和在本地保存的状态量中判断是应该向网络元件A重传该递增的状态改变,还是简单地利用状态序列102重传完整状态更新。该过程可以被持续重复,它反映了对通常可以在周期性邻居元件获知消息(例如Hello分组)中携带的信息的数据递增更新应用。
因此,通信系统10提供了允许递增传输邻居元件状态的通信方法,从而保留了资源并减少了网络开销。这可能是由于递增的邻居元件状态更新的大小会比通常的相邻维护分组(例如经由Hello分组)小得多的结果。因此,由于在每个分组中包括了更少的信息,因此在给定分组被适当地处理时将消耗更少的资源。这部分由于给定的更新分组只反映出网络中的改变,而无需反映与网络中的每个元件相关联的完整状态信息。另外,较小的分组尺寸可以理解为路由协议在参与状态维护时占用的网络带宽的减少。这在某些类型的网络(例如较低速网络、共享介质网络等)中可能尤其重要,但是对任意分组通信一般都是有益的。
邻居元件状态的递增传输还减小了分组大小,这使得发送和接收设备能够在接收和处理该信息时消耗更少的功率。这用于适应更健壮的通信,并保留网络中的资源。此外,在接收到每个邻居元件状态分组时,为了核实邻居元件的状态信息,给定的接收者只需要检查状态检查指示符,而无需检查邻居元件状态的整个列表。这可以减少接收设备的中央处理单元(CPU)周期,这在任意数目的应用中可能是非常重要的。另外,如果邻居元件状态已被改变,则接收设备只需要管理已改变的信息,而无需检查所有信息的列表并确定什么已被改变而什么没有改变,然后接收设备进行解决某些缺陷或更新其内部信息。类似地,这可以减少接收设备中的处理。
图2是示出与通信系统10内的接收相关联的一系列示例步骤的简化流程图。例如,图2代表从网络元件B的角度来看的示例性操作。在该配置以及参考图3-5所述的其他配置中,相应的网络元件可以被适当地配备以接收状态(接口)、发送状态(接口),和/或可操作用于实现相应网络元件的操作的任意合适的算法、软件、硬件、模块、对象或元件。在这种意义上,图2可以代表接收者状态机,接收者状态机有益于网络环境中的分组传输。
该流程图可以开始于步骤100,其中网络元件B接收Hello分组。在步骤102处,可以判断当前邻居元件是否已被发现。在不存在当前邻居元件的情况下,在步骤104处,可以检查邻居元件建立字段。因此,在步骤104处,判断Hello分组是从当前邻居元件发送的,还是从接收网络元件尚未发现的邻居元件发送的。在步骤104处,可以判断它自己的本地标识符是否被列出。如果如步骤108所反映的,它的标识符没有被列出,则可以在步骤114处将新的邻居元件放置到无状态邻居元件表中。在步骤116处,Hello分组可以与邻居元件建立部分中的邻居元件指示符一起被传输。
同时,当在步骤106处发现本地指示符被列出之后,在步骤110处,可以将该邻居元件指示符从无状态邻居元件列表移动到状态邻居元件列表中。在步骤112处,可以执行对于信息的完整状态的请求。在这些处理发生的同时,当在步骤100处接收到的Hello分组指示该Hello分组中的网络元件确实是当前邻居元件的情况下可以实现并行操作。在这种情况下,可以在步骤120处复位用于发送对等体的停机计时器。因此,在步骤120处,计时器被启动,从而如果我们在一定的时间内没有收到某个网络元件的消息时,则宣布该实体停机或不工作。每次接收到Hello分组时,可以复位该计时器,从而使计时器必须在给定的网络元件被宣布停机之前期满。然后,可以在步骤122处对状态进行检查,在包含状态信息的情况下(步骤124),可以在步骤134处检查序号。在步骤122处,Hello分组的状态信息被检查。这可以包括通知某个网络元件已经离开网络,或一个新的网络元件已被添加到网络。在步骤122处,如果序号较大并且没有提供用于支持该主张的状态信息,则说明已经丢失了某些东西。这可能是因为网络中的某些错误通信,因为在每次递增序号时,都应该提供新的状态信息。通信系统10提供了请求丢失信息的能力,并据此获取或知晓已丢失的信息。
当尚未提供状态时(例如步骤126所示),序号可以被检查。在序号检查表明该序列等于当前序列时,在步骤128处,该Hello分组可以被有效地忽略。序号揭示出相应网络元件的标识。当如步骤130所反映的,序号大于当前序列时,可以在步骤132处请求丢失的递增信息。
在步骤134处执行完检查序号的操作之后,可以在步骤140处判断该序号是否小于当前序号。类似地,可以在步骤144处判断该序号是否等于当前序列。在该序号小于当前序列的情况下,在步骤142处可以忽略该Hello分组。步骤142指示任何情况都可接受的状况,即从网络元件A的角度来看,该序号已被处理过。当执行该过程时,可以执行并行操作,以便判断该序号是否大于当前序号加1,如步骤136所反映的。在这为真的情况下,可以在步骤138处传输更新后的请求。步骤138有效地示出用于更新所有邻居元件的请求可以如何使网络中的所有元件重新同步。类似地,可以在步骤146处执行检查机制,以便判断该序列是否等于当前序号加1。在这为真的情况下,可以在步骤148处检查该邻居元件的完整状态。类似地,从用于判断序号是否等于当前序列的步骤144可知,在这为真的情况下,可以在步骤150处检查该邻居元件的完整状态。
步骤152、160和162反映出考虑该信息是否是一个集合(set)的一部分的操作。相对于步骤152,在这为真的情况下,可以在步骤154处忽略相应的信息。集合指的是应当出现的都出现的指示。可能存在如下的某些情况在网络中出现太多邻居元件,而使分组需要被分段。在当前序号等于该序号的情况下,流程图可以从步骤160移动到步骤166,以核实这个值。另外,在该信息不是集合的一部分的情况下(步骤162),可以在步骤164处请求更新。如步骤166中所核实的,当当前序号等于该序列时,可以判断该分段是否等于当前分段加1,以使新信息适当被处理,如步骤170所反映的。类似地,从步骤156,当确定该信息不是集合的一部分时,可以在步骤158处检查分段号。因此,在步骤156处并且在不代表全集的情况下,需要对分段号执行检查,以便考虑分组的多个部分。从步骤158,该过程可以移动到步骤170(如上所述)或步骤182,以便判断该分段是否大于当前分段加1。在步骤184处,可以在流程图的这个部分结束之前传输带有当前分段的请求。另外,从步骤170,可以判断该过程是否已经在步骤172处识别出分段的结束。如果集合是完整的,如步骤174和180所示,则过程可以结束。当不存在完整的集合时(例如由步骤176所指示的),则可以在过程结束前,在步骤178处判断当前分段是否等于分段值。
图3是示出从发送Hello分组的任意被选网络元件A-F的角度来看,与分段计时器相关联的一系列示例步骤的简化流程图。该流程图可以开始于步骤200,其中分段计时器超时。在步骤202处,与分段相关联的序号可以被递增。另外,已发送的上一分段可以被设置为当前分段值,并且带有邻居元件状态信息的下一集合的Hello分组可以被发送。在步骤204处,可以判断是否剩余更多状态信息要被发送。在这为真的情况下,可以在步骤208处重新启动分段计时器。在这不为真的情况下,可以在步骤206处复位Hello计时器。
分段序号实质上跟踪在网络中传输的所有分段。在对所有分段部分的发送结束时,可以判断是否存在更多状态需要被传输,并且在这不为真的情况下,在步骤206处复位Hello计时器。因此,步骤208允许发送带有附加状态信息的另一分段。
图4是示出与网络元件B的相关联的一系列示例步骤的简化流程图。应该意识到,当网络元件B正在发送时,他还可能正在利用被接收的Hello分组(例如接收可能已经丢失的请求或其他信息)。因此,图4反映出除了简单地设置停机计时器和检查状态信息之外还执行更多操作的情形。取而代之,图4提供了正在评价请求序号的情形。在一种情形中,可以在从网络元件传输的Hello分组上附带请求。例如,从发送者状态的角度来看,可以基于接收到的东西来确定如何改变正被发送的东西。网络元件B可以解决如下问题是否需要基于正被接收的东西来实现某些东西。
流程图可以开始于步骤300,其中Hello分组被接收。与图2很类似,在步骤302处,可以判断Hello分组是否反映出当前邻居元件。如果对于该询问的回答是肯定的,则流程图移动到步骤316,在步骤316,请求序列被检查。如果对于该询问的回答是否定的,则可以在步骤304处检查邻居元件建立字段。当如步骤310所反映的包括了本地指示符时,过程可以移动到步骤312,在步骤312,邻居元件可以被移动到带有状态信息的表中。在步骤314处,可以判断是否在前进至步骤316之前传输完整状态更新。在Hello分组中没有包括本地指示符的情况下(例如步骤306所反映的),可以传输带有包括在邻居元件建立部分中的指示符的Hello分组,如步骤308所反映的。
从步骤316,可以判断该请求序号是否小于当前序号减1(如步骤318所示)。然后可以在320处发送完整更新,并且可以判断请求序号是否等于当前序号减1,如步骤322所反映的。步骤322反映以下状况网络元件仅仅是当前状态之后的一个序号。在步骤324处,可以重新发送上一递增的更新。在步骤326处,可以判断请求序号是否等于当前序号。在步骤328处,可以检查分段序号。在步骤330处,可以判断分段序列是否小于当前分段。已发送的上一分段可以被设置为该请求中的分段序号,并且可以在步骤332处重新启动分段计时器。
重要的是要注意,图2-4中的步骤仅仅示出可以由通信系统10或在通信系统10内执行的多种可能情形中的某种情形。在合适时可以删除或去掉这些步骤中的某些步骤,或者在不脱离本发明的范围的情况下可以对这些步骤进行大量修改或变化。另外,这多个操作已被描述为与一个或多个附加操作同时或并行执行。但是,这些操作的时序可以被相当大地改变。前述操作流程是出于示例和论述的目的而提供的。通信系统10可以提供很大的灵活性,因为在不脱离本发明的教导的情况下,可以提供任意合适的布置、时间排序和定时机构。
图5是示出可以通过通信系统10传播的示例性分组的简化框图。该分组可以包括SCF字段400、序列字段402、校验和字段404和分段字段406。因此,针对允许在网络元件A-F之间通信的相应协议,可以提供与序列、校验和分段以及选项头部相关联的信息片段。校验和字段404可以提供差错检测元素,该差错检测元素可以在包含分组的通信的任意一端执行。SCF字段400提供若干选项,并且代表分组头部中的可被使用或适当地设置以实现某种操作的位。因此,当某组置位状况被提供时,可以实现或产生一组相应的操作。
在SCF字段400的S部分(位)具有一位的情况下,相应的设备(即被选的网络元件A-F)可以被看作存根(stub),它无法发送流量。在SCF字段400的C部分(位)等于一位的情况下,可以执行校验和。当该位被设置时,在头部中可以包括两字节校验和。校验和可以被包括在任意包含状态信息的分组中。为了计算校验和,校验和字段404可以被设置为0,并且可以通过包括在信息的分段中的上一类型长度值(TLV)对整个数据部分(包括头部)执行校验和。当存在分段TLV时,这可以包括分段TLV的结尾。TLV可以代表编码分组中信息的标准方式。该过程的结果可以被放置在校验和字段404中。在SCF字段400的F字段等于一位时,这可能指示存在分段号和校验和。当该位被设置时,可以在序号后面包括两字节的分段号。在该位没有被设置的情况下,一般不包括分段TLV的结尾。
相对于序号,从循环号码空间中获取的指示当前发送者状态的两字节序列号可以被合适地提供。相对于长度可变的状态信息,这可以包括如下信息关于新邻居元件的添加的信息、关于邻居元件丢失的信息、关于到达邻居元件所需代价的改变的信息,或者任意其他合适的信息。可以以TLV来适当地确定该信息的格式。在类型作为一个字节被提供的情况下,可以提供0到(例如)191之间的整数,用以表示所携带的状态改变信息的类型。在长度等于一个字节的情况下,可以提供指示以字节方式携带的状态改变信息的长度的整数。状态改变信息是长度可变的状态改变。如果协议在协议Hello分组内没有提供初始双向连接检查,则可以添加TLV,它提供了尚未同步的新邻居元件的列表。这可以允许在状态序列编号之外完成初始邻居元件发现和双向连接检查。已接收到的上一已知合适的状态信息的序号也可以被提供。分段可以作为两个字节提供。已接收到的上一已知良好状态信息的分段号可以被提供,并且如果相信整个状态序列即将丢失,则可以将其设置为0。
虽然已经参考特定布置和配置描述了本发明,但是在不脱离本发明的范围的情况下,可以相当大地改变这些示例性配置和布置。例如,虽然已经参考涉及Hello分组的特定通信交换描述了本发明,但是通信系统10可应用于其他交换、路由协议或被路由协议,其中分组(不一定是Hello分组)被交换以提供获知信息。此外,通信系统10可应用于网络内企图通过任意通信协议获知其相邻设备的任意合适的元件或组件。因此,任意需要传输状态信息(可能以递增方式)和适宜同步的应用都可以从通信系统10的教导中受益。
另外,虽然已经参考用于辅助通信过程的特定元件和操作示出了通信系统10,但是这些元件和操作可以被能够实现通信系统10的预期功能的任意合适的体系结构或过程所取代。例如,外部组件或模块可以被放置在每个网络元件A-F前面,以便提供这里所需的一个或多个操作。另外,网络元件A-F可能能够执行除参考图1-4所述操作之外的多种其他操作。本发明预期在网络元件A-F的放置、定位、配置和操作方面存在相当大的灵活性。
本领域技术人员可以确定多种其他的改变、替换、变化、变更和修改,并且本发明希望包括落入所附权利要求范围内的所有这些改变、替换、变化、变更和修改。为了帮助美国专利和商标局(USPTO)以及对在该申请上公布的任意专利的读者理解所附权利要求,申请人希望注意,申请人(a)不希望所附权利要求中的在本申请的申请日存在的任何权利要求援引35 U.S.C.112条第六(6)款,除非“用于...的装置”或“用于...的步骤”专门用在特定权利要求中;并且(b)不希望利用说明书中的任何陈述而以任何没有以其它方式反映在所附权利要求中的方式来限制本发明。
权利要求
1.一种用于在网络环境中传输分组的装置,包括网络元件,该网络元件可操作用于接收分组,并且识别包括在所述分组中的与下述获知信息相关的序号,所述获知信息与一个或多个相邻网络元件相关联序号,其中所述网络元件可操作用于更新其中包括的表,以便将所述网络元件尚未考虑到的包括在所述分组内的获知信息考虑进来,并且其中所述网络元件可操作用于在所述分组中包括的获知信息已经被考虑过的情况下忽略该分组。
2.如权利要求1所述的装置,其中所述网络元件包括发送者状态,该发送者状态可操作用于建立分组,并将所述分组发送到从所述相邻网络元件中选出的一个或多个相邻网络元件。
3.如权利要求1所述的装置,其中所述网络元件还包括接收者状态,该接收者状态可操作用于接收分组,并判断所述分组内的获知信息是否已经被考虑过。
4.如权利要求1所述的装置,其中所述分组是在其相应头部中包括所述序号的Hello分组。
5.如权利要求1所述的装置,其中所述分组包括分段值,该分段值可操作用于指示该分组是否是将与其他分段包括在一起以包含包括获知信息的完整分组的一个分段。
6.如权利要求1所述的装置,其中所述网络元件包括分段计时器,该分段计时器可操作用于提供在网络中的所选位置上将用于接收分段的时间间隔。
7.如权利要求1所述的装置,其中所述网络元件可操作用于查询所述相邻网络元件中的一个被选网络元件以接收丢失的获知信息,并且其中所述丢失的获知信息不存在由所述序号反映。
8.如权利要求1所述的装置,其中所述分组包括校验和,该校验和可操作用于在与所选的一个或多个网络元件相关联的接收和发送位置上提供用于分组的差错检测功能。
9.一种用于在网络环境中传输分组的方法,包括在网络元件处接收分组;识别包括在所述分组中的与下述获知信息相关的序号,所述获知信息与一个或多个相邻网络元件相关联序号;更新包括在所述网络元件中的表,以便将所述网络元件尚未考虑到的包括在分组内的获知信息考虑进来;以及在所述分组中包括的获知信息已经被考虑过的情况下忽略该分组。
10.如权利要求9所述的方法,还包括建立分组,并将所述分组发送到从所述相邻网络元件中选出的一个或多个相邻网络元件。
11.如权利要求9所述的方法,其中所述分组是在其相应头部中包括所述序号的Hello分组。
12.如权利要求9所述的方法,其中所述分组包括分段值,该分段值可操作用于指示该分组是否是将与其他分段包括在一起以包含包括获知信息的完整分组的一个分段。
13.如权利要求9所述的方法,还包括提供在网络中的所选位置上将用于接收多个分段的时间间隔,其中所述多个分段包含包括所述获知信息的Hello分组。
14.如权利要求9所述的方法,还包括查询所述相邻网络元件中的一个被选网络元件以接收丢失的获知信息,其中所述丢失的获知信息的不存在由所述序号反映。
15.如权利要求9所述的方法,还包括在与所选的一个或多个网络元件相关联的接收和发送位置上提供用于分组的差错检测功能。
16.一种用于在网络环境中传输分组的系统,包括用于在网络元件处接收分组的装置;用于识别包括在所述分组中的与下述获知信息相关的序号的装置,所述获知信息与一个或多个相邻网络元件相关联序号;用于更新包括在所述网络元件中的表,以便将所述网络元件尚未考虑到的包括在所述分组内的获知信息考虑进来的装置;以及用于在所述分组中包括的获知信息已经被考虑过的情况下忽略该分组的装置。
17.如权利要求16所述的系统,还包括用于建立分组,并将所述分组发送到从所述相邻网络元件中选出的一个或多个相邻网络元件的装置。
18.如权利要求16所述的系统,其中所述分组是在其相应头部中包括所述序号的Hello分组。
19.如权利要求16所述的系统,其中所述分组包括分段值,该分段值可操作用于指示该分组是否是将与其他分段包括在一起以包含包括获知信息的完整分组的一个分段。
20.如权利要求16所述的系统,还包括用于提供在网络中的所选位置上将用于接收多个分段的时间间隔的装置,其中所述多个分段包含包括所述获知信息的Hello分组。
21.如权利要求16所述的系统,还包括用于查询所述相邻网络元件中的一个被选网络元件以接收丢失的获知信息的装置,其中所述丢失的获知信息的不存在由所述序号反映。
22.如权利要求16所述的系统,还包括用于在与所选的一个或多个网络元件相关联的接收和发送位置上提供用于分组的差错检测功能的装置。
23.一种包含用于在网络环境中传输分组的软件的计算机可读介质,所述软件包括代码,所述代码被执行时可操作用于在网络元件处接收分组;识别包括在所述分组中的与下述获知信息相关的序号,所述获知信息与一个或多个相邻网络元件相关联序号;更新包括在所述网络元件中的表,以便将所述网络元件尚未考虑到的包括在所述分组内的获知信息考虑进来;以及在所述分组中包括的获知信息已经被考虑过的情况下忽略该分组。
24.如权利要求23所述的计算机可读介质,其中所述代码还可操作用于建立分组,并将所述分组发送到从所述相邻网络元件中选出的一个或多个相邻网络元件。
25.如权利要求23所述的计算机可读介质,其中所述分组是在其相应头部中包括所述序号的Hello分组。
26.如权利要求23所述的计算机可读介质,其中所述代码还可操作用于提供在网络中的所选位置上将用于接收多个分段的时间间隔,其中所述多个分段包含包括所述获知信息的Hello分组。
27.如权利要求23所述的计算机可读介质,其中所述代码还可操作用于查询所述相邻网络元件中的一个被选网络元件以接收丢失的获知信息,其中所述丢失的获知信息的不存在由所述序号反映。
28.如权利要求23所述的计算机可读介质,其中所述代码还可操作用于在与所选的一个或多个网络元件相关联的接收和发送位置上提供用于分组的差错检测功能。
全文摘要
本发明提供了用于在网络环境中传输分组的方法,其包括在网络元件处接收分组,并且识别包括在分组中的与下述获知信息相关的序号,该获知信息序号与一个或多个相邻网络元件相关联。包括在网络元件中的表可以被更新,以便将包括在分组内的尚未被网络元件考虑到的获知信息考虑进来。在包括在分组中的获知信息已被考虑过的情况下,该分组可以被忽略。
文档编号H04L12/56GK101023631SQ200480019123
公开日2007年8月22日 申请日期2004年7月14日 优先权日2003年7月24日
发明者马达威·W·钱德拉, 大卫·A·库克, 阿尔维勒·E·里塔纳, 拉塞尔·I·怀特, 杨义 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1