用于将分组地址分配给多个设备的方法和装置的制作方法

文档序号:7885593阅读:225来源:国知局
专利名称:用于将分组地址分配给多个设备的方法和装置的制作方法
用于将分组地址分配给多个设备的方法和装置在正如用于通信系统中的可靠的计算机系统中,在现有技术中准 备好冗余资源。这些冗余资源例如可以被构造为计算机容量、存储器 容量或输入/输出容量,其中由平台或设备提供资源。在一个设备发生 故障的情况下,冗余的设备直接接管故障设备的任务,使得从外部看 来功能和可用性仅受到最小损害。如果就功能而言要被替换的故障设备具有基于分组的接口,该设 备通过该接口与其它设备联系,那么原则上存在两种恢复可操作性的可能性在第一种情况下,替换连接的(ersatzgeschaltet)设备具有自 己的分组地址,该分组地址与故障设备的那个分组地址是不同的。在 该情况下所有的通信伙伴必须明确地切换到这个新的分组地址。在第二种情况下,接管故障设备的功能的设备具有提供故障设备 的分组地址的能力。这具有以下优点,即不产生鉴于高可用性情形而 可避免的时间延迟以及不可达性。此外还具有对通信伙伴的要求较低 的优点,其中所述通信伙伴在该第二种情况下在故障情形下不必切换 或不必被切换到另一分组地址。但是其前提是,可通过多个设备来替 换连接的逻辑分组地址明确而可靠地被解析为或被分配给前置网络的 同样基于分组的物理寻址。这是必要的,因为该网络必须对具有自己 的物理硬件地址的每个设备进行响应。鉴于基于IP的分组网络的该例子,逻辑分组地址被构造为IP地 址,而物理i也址被构造为参与的以太网接口的世界范围唯一的MAC地 址。为了由于有效设备的故障而造成的对功能的损害从IP网络以及远 程通信伙伴的角度看来能够被保持得特别小,实施所谓的"IP-Fai lover ( IP故障转移)"功能。在此情况下,对于故障设备来说冗 余的具有其功能的设备还接管其IP地址。这意味着,故障设备的IP地址被传输到具有相同的IP地址的能工作的设备上。此外该设备还具 有其它的IP地址,这些IP地址不是IP故障转移地址。IP故障转移功能可以如此来实现,使得接管设备针对它所接管的 IP地址分别把用于地址解析的消息(免费(gratuitous) ARP )传输
到它的局部网络(LAN),并且因此实际上把广播消息发送到包围它的 网络中。所有的接收设备于是通过以下方式更新其地址列表(ARP緩 存),即其根据所接收的地址解析(逻辑IP地址对以太网上的物理MAC 地址)对位于其緩存中的IP地址进行检查,必要时录入接管设备的MAC 地址,并且与此同时重写故障i更备的MAC地址。这是通过IP( Internet Protokoll (因特网协议))与计算机系统通信的远离的伙伴系统至少 在应用层上没有注意到该计算机系统内的故障的前提条件。在设备发生故障直到由冗余设备来替换连接之间的时间内,尤其 是来自外部通信伙伴的消息不能通过被置于该故障设备之前的路由器 成功地被送交。同样对在相同网络(LAN)上的该设备的其它通信伙伴 适用。最迟随着地址解析的有效时间的到期,通信伙伴、例如路由器 将想重新解析发生故障的IP地址。为此它产生向其网络的地址解析请 求(ARP Request (请求))。这具有以下效果,即位于该网络中的所 有设备如收到它们是否主管预先给定的逻辑分组地址的询问并且这在 必要时在应答中在说明其在网络上的物理MAC地址的情况下公开。如 果现在这在故障和替换连接之间的短时间内进行,那么所涉及的IP甚 至从路由器的地址列表中被删除,因为不能找到至MAC地址的有效地 址解析。因此对于高度可靠的系统来说重要的是,将故障开始与替换 连接之间的时间间隔限制于最小值.可惜即使利用该方法也不能处理所有可能的替换连接情形。因此 由商业计算机平台已知的是,这些商业计算机平台能够持续地停留在 应用层上,也即,各个应用进程或应用线程(Threads)或必要时甚至 珥有的应用进程都不再能够被停止。但这并不意味着在IP层上与前置 路由器或网络上的其它通信伙伴的通信同样被中断,该通信也许可以 继续保持。对计算机平台的监控现在识别故障,并将包含的IP故障转 移地址切换到冗余地维持的设备。但是因此突然有两个设备位于网络 上,这两个设备根据请求把所涉及的逻辑IP故障转移分组地址解析为 其自己的物理MACi也址。因此听其自然的是,前置路由器在送交消息的时刻是否恰好寻址 到故障设备或可操作的替换连接的设备。也即如果故障设备的ARP模 块(IP栈的部分)还能够对ARP请求进行应答并且已根据其它情况进 行了包括IP故障转移的替换连接,那么可能导致严重的持续的通信干
扰,并且因此导致该设备的功能丧失。如果在这种情况中两个设备都接收到对IP故障转移地址的ARP请求,针对该请求已经进行了替换连 接,那么两者都对该请求进行应答。如果现在故障设备偶然晚于可操 作的替换连接的设备发送ARP响应(ARP Response),则当该网络的 所有通信伙伴和路由器当前已经将IP故障转移地址解析为MAC地址、 也即与所述设备已经存在通信时,该网络的所有通信伙伴和路由器把 故障设备的MAC地址作为IP故障转移地址的所属的MAC地址进行存 储。因此,IP消息被继续发送到故障设备,而不是发送到应该接管故 障设备的功能的替换连接的设备。因此在这种情况下两个设备中的哪 一个接收到IP消息以及还要将IP消息处理到何种程度是不可控制 的。出现误操作或功能丧失或者可能甚至产生不一致的数据的危险是 非常大的。这种情形在专业文献中也称为"裂脑(split brain)"情形,并 且在高可用性要求的情况下应无条件地被避免。在当前技术中,为了 处理这种问题而设置有分离的硬件单元,该硬件单元在IP层上对冗余 单元的(也即冗余对的)各个平台进行监控。该硬件单元负责,只有 当被识别为故障的设备或平台的确不再发送/应答ARP请求时,才进行 IP故障转移。这种解决方案的问题在于,相应的方法是昂贵的并且比 较慢的(在不利的情况下在几分钟范围内)。本发明所基于的任务在于,说明一种方法和一种装置,借助该方 法和该装置可以使"裂脑"情形的出现和影响最小化。本发明从在权利要求1和10的前序部分中所说明的特征出发通过 特征部分的特征来解决。本发明的优点在于在应用层上进行地址处理。 一个平台是否能起 作用或者是否必须通过IP故障转移功能而被替换连接的判断在应用层 上由故障转移控制的功能根据多个环境标准(环境参数)来确定。环 境标准或环境参数可以是与冗余设备的通信的可用性/不可用性、与对 替换连接进行控制的其它设备的通信的可能性、对于顺序地执行设备 的任务来说必要的中央资源的可访问性。所述故障转移控制负责,在 任何时间两个冗余设备根据被分配给多个冗余设备的环境标准不能同 时被调节为有效的运行、也即IP故障转移地址的提供。根据本发明, 所述故障转移控制在具有IP故障转移地址的每个冗余设备中拥有功 能,并在应用层上作为应用进程或应用进程的部分运行,所述应用进程或应用进程的部分在由ARP模块所接收的每个ARP请求的情况下都 被询问是否应发送ARP响应。因此在位于该应用层之下的层上基本上 不进行无条件的ARP响应。根据本发明,所述ARP请求的进行取决于 是否可以尤其是在ARP模块与在应用层上的故障转移控制之间进行预 先给定的消息交换(Handshake (握手))。通过握手方法,即使在不再执行应用的情况下,也简单、可靠且 毫无疑问地识别出没有ARP请求被允许应答。因此在这种情况下冗余 设备也可以根据所述故障转移控制的控制接管所述IP故障转移地址, 而发生故障的、就应用层而言不再起作用的设备不会由于不期望的ARP 响应而在该应用层之下的层上干扰地址切换。因此在应用层中的故障 转移控制(F0C )与IP栈的较低层上的ARP模块之间引入一种依赖性。 该依赖性保证,在任意的故障情形下ARP模块与故障转移控制的状态 逻辑同步地工作,并且该ARP模块能够分别把正确的信息(关于向该 平台发送/不发送IP故障转移地址的消息)传送到网络中。因此不需 要如在现有技术中的情况那样对平台进行外部监控,其中这种外部监 控超出在应用层上的故障转移控制。本发明的有利改进方案在从属权利要求中给出。因此另外规定,针对不允许的緩存内容通过无载的 (f rei lauf end )地址解析消息来缩短时间窗,其中所述地址解析消息 附加地根据ARP请求或作为所接收的不一致的地址解析的结果(ARP 请求/响应,免费ARP)由应用层产生。此外,还可以以如下方法来使用用于对设备进行复位的硬件机 制,即作为自动重新启动的第一动作将基于分组的接口去激活,以便 针对在软件问题之后的可能的地址冲突进 一 步缩减时间窗。最纟,本发明的另一优点在于,在由故障转移控制所预先给定的 冗余设备之一的状态与在网络中所交换的地址解析之间持续不一致的 情况下,为了警告操作者的目的而在网络上进行侦听。通过所有的上面所说明的机制的组合来实现最高的功能可用性。下面借助用图示出的实施例来更详细地解释本发明。据此借助两 个平台(m=2 )来描述本发明,其中这两个平台被连接到一个LAN上。在此,环境参数应被理解为自身系统或外部系统的状态量、通信
关系和协议关系、对例如数据库的存储(abgesetzt )单元的访问。在 本实施例中m=2应适用,但这决不应当是在任意数量的设备方面对本 方法的限制。所述设备被构造为(计算机)平台。此外在网络中还可 以设置有网络管理NM。在无故障的运行中,所有的m=2个平台都是激活的并且所有的进 程都是可用的。平台Plfl、 Plf2中的每一个都具有至少一个基于分组 的接口,并且能够以规定的功能使用多个故障转移地址。因此,这两 个平台鉴于所提及的故障转移地址以及要为这些故障转移地址提供的 功能而构成冗余设备集合。环境参数随时针对两个平台中的正好一个平台被设置,而不是针 对剩下的平台被设置。根据本实施例,该运行参数应是运行状态 act/standby (激活/备用)。如果该环境参数针对两个平台之一被设 置,那么该平台应当提供通过故障转移地址的通信和所期望的处理功 能。如果该环境参数未针对一个平台被设置,那么该平台不应当提供 故障转移地址。环境参数通过外部控制以所描述的方式被提供。为了 简单起见,在下文中具有被设置的环境参数的平台就故障转移地址而 言被表示为激活(act),没有被设置的环境参数就故障转移地址而言 被表示为备用(stb)。在此情况下尤其排除环境参数持续地针对多 于一个的平台被设置为激活。按照该图,在两个平台Plfl、 Plf2中的 每一个上都存在应用进程"Fail over Control (故障转移控制)" F0C,该应用进程具有至该平台的模块ARP的接口,并拥有该设备就故 障转移地址而言处于状态"act"中还是处于状态"stb,,中的信息。状态"act"在此意味着,该平台使用故障转移地址。前置路由器 必须把具有这些逻辑分组地址的消息发送到该平台。因此该设备的ARP 模块对浙属的地址解析请求(ARP请求)进行应答。而状态"Stb"意 味着,该平台不使用故障转移地址。前置路由器不能把具有这些逻辑 分组地址的消息发送到该设备。该设备的ARP模块因此不对所属的ARP 请求进行应答。该ARP模块将ARP请求已经被接收通知给故障转移控制F0C。如 果设备的故障转移控制F0C明确地允许该ARP请求,那么该ARP请求 才被回复。因此ARP请求实际上不是通过I0P栈或操作系统的低层功 能来自给自足地应答,而是由应用层来应答。因此,该平台的应用层
的故障或停留(Haengenbleiben)导致该设备的故障转移控制F0C也 不再可用,由此随后到达的ARP请求也不再被应答。如果该故障转移 控制F0C认为ARP请求不被应答是正确的,或者如果该ARP模块与该 故障转移控制的通信受干扰,那么ARP请求不被应答。尤其是如果该 设备处于状态stb中,那么该故障转移控制F0C不对ARP请求进行应 答。在应用层上的停留导致所涉及的设备的ARP处理的断开。通过这种在平台内进行的对ARP请求的回复到应用层上的转移、 也即由该平台的应用进程进行回复来避免,尽管该应用层不再能起作 用,但是ARP功能仍旧是激活的。(该应用层可以用于设备的替换连 接,也即用于把不受干扰的冗余设备的环境参数改变为激活)。如果 仍然发生裂脑效应,那么该影响可选地通过以下措施来限制如果就故障转移地址而言激活的平台收到ARP请求,那么该平台 对该ARP请求进行应答,但是出发点是,其它平台可能无权同样使用 该IP蜂障转移地址。因此该平台事后为了安全起见而预防性地在对该 ARP请求的回复的某一时间间隔之后发送至少一个用于解析发送方地 址的免费(gratuitous) ARP。这根据设备的应用层的故障转移控制的 倡议来进行。因此网络上的通信伙伴或者前置路由器的错误存在的ARP 緩存内容可以迅速地被修正,使得时间窗被大大缩短,在该时间窗中 由于裂脑效应而可能存在不正确的緩存内容。如果未出现ARP请求,那么预防性地以某一最小间隔周期性地生 成免费ARP。这同样根据该设备的应用层中的故障转移控制的倡议进 行。即使对于这种情况来说也需要应用层上的故障转移控制F0C与ARP 模块之间的接口。每个ARP请求都被通报,并且附加地或替代地导致 由该应用层所激励的可能多次产生的免费ARP。如果所述环境参数由于在所参与的平台中的不同的运行时间而可 能是短时间不一致的,那么这种处理方式总是有利的。因此如果例如 在例行切换或手动切换的范畴内被激活的平台已经是激活的,而要去 激活的平台还没有被去激活,并在该时间窗口中出现前接路由器的ARP 请求,那么两者都进行应答。于是在对称实施的情况下两者都还将想 要后置时间延迟的免费ARP。由于时间偏差,环境标准的改变将以高的 概率在产生附加的免费ARP之前到达要断开的平台,使得这在要断开 的平台侧不发生,并且可能不正确的地址解析由被激活的平台来修正。除了这种处理方式之外,可选地可以在应用层上进行平台的硬件(HW)监控。这具有以下后果,即由于软件缺陷或过载而造成的平台 的停留或该平台的故障转移控制能够迅速地被识别,并导致该平台或 该平台的部分由硬件^i制所引起的重新启动,在该重新启动的范畴内 作为第一动作必要时还将基于分组的接口去激活或复位。随着以前对 于分组地址来说激活的平台的启动,环境参数将如此发生改变,使得 所设置的其它平台之一接管该平台的功能,并且因此保证由该平台提 供的功能的无缝的可用性。所述硬件监控以相应的硬件功能的存在为 前提。在本发明的另一扩展方案中规定,如果一个平台确定环境参数的 可访问性的持续的丧失,那么该平台将它的IP故障转移地址去激活。 在该情况下该平台的出发点是,由此另外的平台的环境参数如此被调 节,使得该另外的平台从此以后将使用所提及的IP故障转移地址,并 且因此就该故障转移地址而言特有的交互作用不会导致不期望的干扰 和误操作。资源可用性(例如用于处理或者与其它外部处理实体的不 受干扰的通信的内部资源)一起用作环境参数。如果用于交替地使用故障转移地址的平台位于相同的网络上,那 么每个平台都可以通过在网络上侦听来获得从ARP模块传输到故障转 移控制F0C中的对ARP请求的回复以及其它平台的免费ARP。如果由 故障转移控制所使用的IP故障转移地址在此情况下得到与至特有的 MAC地址的解析不同的解析,那么该故障转移控制为此指示该ARP模块 把不是作为广播消息发送的所有ARP响应、以及以广播模式发送的并 且被用于地址解析的所有ARP请求和免费ARP都送交给该故障转移控 制。因此该故障转移控制可以可选地检查具有特有的环境参数的内容 的一致性。这意味着,以这种方法可以确定哪个另外的平台在某一时 间觉得自己主管该故障转移地址。就该地址而言激活的平台可以为了 警告目的而输出无权访问的另外的平台的物理地址,并产生用于修正 的免费ARP。就该地址而言未激活的平台或者网络上的任意的另外的平 台因此可以识别参与裂脑情况的平台,并警告操作者。就该地址而言 未激活的平台可以相对于网络中的地址解析来检验特有的环境参数的
一致性,并同样警告操作者。通过这种警告以及可被视为最后的手段 的操作者介入,可能的地址冲突的持续时间被进一步缩短,并进一步 提高所提供的功能的可用性。
权利要求
1.用于把逻辑地址分配给多个设备的物理地址的方法,其中所述设备相互有效连接并且分别具有在协议层上工作的模块(ARP),借助所述模块通过以下方式把逻辑地址分配给通信伙伴的物理地址,即由所述模块接收通信伙伴的询问消息(ARP Request),并由所述设备之一以其物理地址来回复(ARP Response),其特征在于,提供在应用层上工作的切换控制功能(FOC)与在协议层上工作的模块(ARP)之间的通信关系,通过该通信关系把具有所述物理地址的对询问消息(ARP Request)的回复转移到应用层上。
2. 根据权利要求1所述的方法, 其特征在于,在正确的物理地址(ARP Response)通过所述应用层已经被回复 之后,在预先给定的时间间隔后,将在应用层上由所述切换控制功能 (FOC)启动的用于把所述物理地址分配给逻辑地址的至少一个消息 (Gratuitous ARP)无载地通过所述模块(ARP)重新发送给所有的 通信伙伴。
3. 根据权利要求1或2所述的方法,其特征在于,选择性地附加地设置对所述设备的应用层的可用性或者所述设备 的切换控制功能的可用性的硬件监控,该硬件监控的响应导致所述设 备的不可用部分的重新启动的措施。
4. '根据权利要求1至3所述的方法,其特征在于,设备的所述切换控制功能(FOC)将一个或多个环境参数考虑用于 决定是否对询问消息(ARP Request)进行应答。
5. 根据权利要求1至4所述的方法, 其特征在于,如果确定所述环境参数的可访问性的持续丧失,那么去激活所述 设备中的至少 一个设备的逻辑地址。
6. 根据前述权利要求之一所述的方法, 其特征在于, 所述设备之一为了交替地使用逻辑地址而通过在网络上侦听来获得传输到所述切换控制装置(F0C)中的用于其它设备的逻辑和物理地 址的分配的消息(ARP Response, gratuitous ARP )。
7. 根据权利要求5所述的方法, 其特征在于,相对于所述环境参数检查所接收的地址分配的真实性,并且通过 网络管理功能在输出故障标志的情况下警告操作者。
8. 根据前述权利要求之一所述的方法, 其特征在于,所述逻辑地址被构造为IP故障转移地址。
9. 根据前述权利要求之一所述的方法, 其特征在于,所述物理地址被构造为MAC地址。
10. 用于在至少两个冗余设备之间进行切换的装置, 其特征在于,提供有在应用层上工作的切换控制装置(FOC)与在协议层上工作 的模块(ARP)之间的通信关系,通过所述通信关系借助设备的物理地 址使逻辑地址的可用性依赖于在应用层上工作的切换控制装置(FOC) 与在协议层上工作的模块(ARP)之间是否能够进行消息交换 (Handshake )。
全文摘要
在高可用性要求的情况下必须无条件地避免“裂脑”情形。在现有技术中为了处理这种问题设置有分离的硬件单元,该硬件单元对IP层上的各个设备进行监控。该硬件单元负责,只有当被识别为故障的设备也不再对ARP请求进行应答时,才进行IP故障转移。这种解决方案的问题在于,相应的方法是昂贵的和相对慢的。本发明通过以下方式来解决这个问题,即提供在应用层上工作的切换控制装置(FOC)与在协议层上工作的模块(ARP)之间的通信关系,通过该通信关系把对正确的物理地址(ARP Request)的回复转移到应用层上。
文档编号H04L29/06GK101112070SQ200680003503
公开日2008年1月23日 申请日期2006年1月4日 优先权日2005年1月28日
发明者J·特格勒, N·洛比格 申请人:诺基亚西门子通信有限责任两合公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1