拓扑联动方法及装置的制作方法

文档序号:7683966阅读:126来源:国知局
专利名称:拓扑联动方法及装置的制作方法
技术领域
本发明涉及网络通信,尤其涉及一种使运行于弹性分组环(Resilient Packet Ring简称RPR)逻辑口之上的应用协议快速检测邻居节点状态的方 法及装置。
背景技术
RPR层次模型和开放式系统互联(Open Systems Interconnect,简称OSI) 参考模型的关系如图l所示,如图所示,RPR层次模型主要包括介质访问控制(Medium Access Control简称MAC)控制子层,主要包 括拓扑发现与校验、公平算法、运行维护管理(Operation, Administration and Maintenance简称OAM)功能、保护机制和选环。MAC数据通路(datapath)子层为每个子环提供数据传输的功能。物理层(Physical Layer,简称PHY)服务接口用于MAC层向物理层发 送帧或者从物理层接收帧。MAC服务接口定义了 MAC客户层和MAC控制子层之间数据和控制信 息传递的原语。经过以上几个层次对RPR协议的封装,通过逻辑链路控制(Logical link control简称LLC)向上层提供MAC服务。在实际应用中, 一般会虚拟出一 个RPR逻辑口,以便所有的业务都事先运行在RPR逻辑口上,而后由RPR 协议来决定业务具体从哪个RPR物理口上通过。RPR模块通过当前节点两侧是否断开的情况来维护节点RPR逻辑口的 链路状态,即可以分两种状态 一种情况是如果节点的两侧只要有一侧不 断开,则对应的RPR逻辑口链路状态为UP (连通);另一种情况是,如果 某一节点相邻的两侧都断开,则对应的逻辑口链路状态为DOWN (断开)。请参阅图2,图2为RPR逻辑口链路状态第一种情况示意图;如图所示, 节点C左侧断开,但是右侧没有断开,从节点C上、下环的业务还可以进行通信,在这种情况下,节点C的RPR逻辑口链路状态仍然为UP (连通)。 而对于另外一种情况,请参阅图3,图3为RPR逻辑口链路状态第二种 情况示意图;如图所示,在节点C左、右侧都断开,节点C完全从RPR环 中退出,从节点C上、下环业务不能进行通信,在这种情况下,节点C的 RPR逻辑口链路状态为DOWN。而对于与之相连的节点A和节点B,由于 分别仅有一侧被断开(B节点右侧断开、节点A左侧断开),节点A、节点 B的逻辑口仍为UP (连通)。由于在现有技术中,一般在邻居节点之间都是通过互相发送应用协议(属 于上层协议)心跳报文来检测彼此的RPR网络存在状态。而上层协议发送的 心跳报文间隔时间一般都是秒级的,为了节省带宽,心跳报文的间隔时间一 般都会在拓扑变化时快发,拓扑没有变化时慢发,当依赖于慢发的心跳报文 来发现邻居节点状态的改变时,这个时间将会更长。因此,在上述检测机制下,会造成上层拓扑协议无法立刻感知节点C已 经离开,不仅导致与节点C相邻的节点(例如节点B)向节点C转发报文时 造成报文的丢失,从而影响报文后续处理。而且也与当前RPR协议的拓扑故 障稳定特性所实现的50ms相差甚远。发明内容针对现有技术中存在的问题,本发明的目的在于提供一种拓扑联动方 法,使运行于RPR逻辑接口之上的应用协议能够快速检测RPR节点邻居状 态的问题。本发明的另一目的在于提供一种实现上述方法的拓扑联动装置。 为实现上述目的,本发明的技术方案如下一种拓扑联动方法,用于运行于RPR逻辑口之上的应用协议与RPR之 间的拓扑联动,包括以下步骤步骤S100:应用协议向所述RPR协议模块注册,使各RPR节点获知所 述应用协议用于标识本节点的关键标识、所述应用协议所关心的邻居状态和 所述邻居状态变化时通知所述应用协议的通知机制;所述关心的邻居状态包 括新邻居加入和/或旧邻居退出;步骤S200:各RPR节点利用所述各应用协议的注册获取本节点的关键标识,并学习所述邻居节点的关键标识;步骤S300:通过RPR拓扑发现机制,检测所关心的邻居状态;步骤S400:将检测到的发生变化的邻居状态与所述邻居的关键标识,通 过所述通知机制发送给所述应用协议。本发明的拓扑联动方法,其中,步骤S200包括步骤S210:各RPR节点通过各应用协议的注册获取各自的关键标识, 且广播携带有记录本节点不同应用协议关键标识的关键标识列表的ATD帧;步骤S220:接收其他节点广播的所述ATD帧;步骤S230:读取所述ATD帧的关键标识列表,学习邻居的关键标识。本发明的拓扑联动方法,其中,所述关键标识列表记录在一个或分片记 录在所述ATD帧的多个属性单元的属性实际内容中,同一关键标识记录于 同一所述属性单元中,每一属性单元的type字段使用保留类型值,length字 段表示属性实际内容中使用的字节数;所述属性实际内容的格式包括Header字段,其0位表示关键标识列表是否分片记录于多个所述属性单 元中,l位表示是否为分片中的最后一片;IdDate字段,用于记录所述关键标识。本发明的拓扑联动方法,其中,所述通知机制为利用写消息队列的消息 通知,或利用响应函数接口的回调函数通知。本发明的拓扑联动方法,其中,所述拓扑发现机制,通过在稳定定时器 到期时记录的本次邻居列表,与前次邻居列表相比较得出所述邻居状态变 化。实现本发明拓扑联动方法的拓扑联动装置,其中,所述拓扑联动装置包括注册模块,用于将应用协议提交的标识本节点的关键标识、应用协议所 关心的邻居状态和向所述应用协议通知所述所关心的邻居状态的通知机制 形成注册信息并向所述RPR协议模块注册;学习模块,与所述注册模块相连,利用所述注册信息获取本节点关键标 识,并学习邻居节点的关键标识;邻居检测模块,用于接收所述注册模块传来的所述所关心的邻居状态与 所述学习模块传来的所述邻居的关键标识,通过拓扑发现机制,检测所述所关心的邻居状态;通知模块,与所述注册模块和所述邻居检测模块分别相连,用于将所述 邻居检测模块传来的所述邻居状态与所述邻居的关键标识,通过所述通知机 制发送给所述应用协议。本发明的拓扑联动装置,其中,所述学习模块包括帧生成单元,用于生成携带有记录源节点不同应用协议关键标识的关键标识列表的ATD帧,所述关键标识通过各应用协议注册时获取; 帧发送单元,用于广播所述帧生成单元生成的所述ATD帧; 帧接收单元,用于接收其他RPR节点广播的ATD帧; 帧读取单元,用于读取所述帧接收单元接收到的所述ATD帧的关键标识列表;标识学习单元,接收所述帧读取单元传来的所述关键标识列表,进行邻 居关键标识的学习。本发明的拓扑联动装置,其中,所述邻居检测模块包括 稳定定时器;输入单元,用于接收注册模块输入的所述所关心的邻居状态与所述学习 模块输入的所述关键标识;所述邻居列表单元,用于生成和维护邻居列表,其中,初始化时,以所 有检测到的邻居为新加入邻居生成初始邻居列表;所述稳定定时器到期时, 生成本次邻居列表;所述索引单元,用于将所述邻居列表以RPR节点的MAC地址生成索引;所述比较单元,用于借助索引单元传来的所述索引,将本次邻居列表与 前次邻居列表进行比较,得出所述关心的邻居状态;输出单元,用于向所述通知模块传送检测到的所述邻居状态与所述邻居 的关键标识。本发明的拓扑联动装置,其中,所述通知模块包括消息通知单元,所述 消息通知单元利用写消息队列通知所述应用协议。本发明的拓扑联动装置,其中,所述通知模块包括函数接口单元,所述 函数接口单元将从邻居关键标识获取途径获取的函数接口 ,以回调函数的方 式通知所述应用协议。由上述技术方案可知,本发明利用RPR拓扑发现机制,以及RPR协议 的拓扑故障稳定所能得到的50ms特性,使运行于RPR逻辑口之上的应用协 议可以在50ms内快速检测邻居的存在,解决了当前上层协议在节点状态发 生变化时,无法快速感知的问题,为其后续处理节省时间,并实现了运行于 RPR逻辑口之上的应用协议能够在50ms内快速响应RPR节点状态的变化。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为RPR层次模型和OSI参考模型的关系示意图;图2为RPR逻辑口链路状态第一种情况示意图;图3为RPR逻辑口链路状态第二种情况示意图;图4为本发明实施例的拓扑联动方法流程图;图5为ATD帧格式示意图;图6为ATD帧中属性单元格式示意图;图7为本发明实施例的拓扑联动方法中ATD帧的属性实际内容格式示 意图;图8为本发明实施例的拓扑联动方法中的帧读取流程图;图9为本发明实施例的拓扑联动方法中的邻居检测流程图;图IO为本发明实施例的拓扑联动装置的模块结构图;图11为本发明实施例的拓扑联动装置中学习模块的结构图;图12为本发明实施例的拓扑联动装置中邻居检测模块的结构图;具体实施方式
下面将结合附图及具体实施例对本发明作进一步说明。请参阅图4,图4为本发明实施例的拓扑联动方法流程图;本发明实施例的拓扑联动方法,用于运行于RPR逻辑接口之上的应用协议与RPR之间 的拓扑联动,如图所示,包括以下步骤步骤S100:应用协议向所述RPR协议模块注册,使各RPR节点获知所 述应用协议在RPR网络中标识本节点及邻居节点的关键标识、所关心的邻居状态和在邻居状态发生变化时如何将邻居状态通知该应用协议的机制;其中 邻居状态包括新邻居加入和/或旧邻居退出;步骤S200:各RPR节点利用所获知的应用协议关键标识获取本节点的 关键标识,并学习所述邻居节点的关键标识;步骤S300:通过RPR拓扑发现机制,检测所关心的邻居状态;步骤S400:将检测到的邻居状态与对应邻居节点的关键标识,通过所述 通知机制发送给所述应用协议。众所周知,在需与RPR联动的应用协议中,不同的协议对于RPR节点 的关键标识可能不一致,例如,协议A用MAC地址唯一标识一个邻居,而 协议B却用IP地址唯一标识一个邻居。因此,为了实现运行于RPR逻辑口 之上的应用协议与RPR协议之间的拓扑联动,必须知道应用协议如何唯一标 识网络拓扑中的一个邻居节点、该邻居节点的状态(Status)以及知道需与 RPR联动的应用协议与RPR节点的关键标识的对应关系,以便于在所关心 的邻居状态发生变化的时候通知应用协议。在实际使用过程中,所关心的邻 居状态可以表示应用协议是关心新邻居加入还是旧邻居退出,或者两者都关 心。具体地,本发明实施例的拓扑联动方法,采用注册机制与关键标识学习 来解决该问题。即由应用协议向RPR协议模块注册,注册的内容包括各应用 协议标识邻居的关键标识、关心的邻居状态和具体的通知机制,注册后,可 使RPR各节点获知各应用协议用于本节点及邻居节点的关键标识、所述应用 协议所关心的邻居状态和将所述邻居状态通知所述应用协议的通知机制。与RPR协议拓扑联动的应用协议在进行联动时必须依靠一种通知机制 (Mode),通知机制用于实现在RPR发现应用协议所关心的邻居状态(如 发现有新邻居加入或旧邻居退出)发生变化后,及时通知应用协议。例如, 当RPR协议模块检测到新邻居时,应用协议可以获取该邻居的标识、标识的 长度和标识的类型。在本实施例中,通知机制可以为消息通知和回调函数通 知,如果是消息通知,应用协议必须同时提供写消息的队列;如果是回调函 数通知,则需提供响应的函数接口。在本实施例中,当应用协议向RPR协议模块注册后,各RPR节点可以 获取本节点运行的应用协议的关键标识,从而将关键标识记录并生成在ATD帧。这样,各RPR节点通过收发ATD帧,进行邻居关键标识的相互学习, 以使RPR协议模块检测到应用协议所关心的邻居状态时,向应用协议发送该 发生变化的邻居的关键标识。也就是说,步骤S200可以具体包括如下步骤:步骤S210:各RPR节点通过应用协议的注册各自节点的关键标识,且 广播携带有记录本节点不同应用协议关键标识的关键标识列表的ATD帧;步骤S220:接收其他节点广播的所述ATD帧;步骤S230:读取所述ATD帧的关键标识列表,学习邻居的关键标识。从上述步骤可以看出,本发明实施例的拓扑联动方法,采用ATD帧传 送本节点的关键标识,并读取接收到其他节点的ATD帧的关键标识列表, 来学习不同应用协议的不同关键标识。请参阅图5 ,图5为ATD帧格式示意图。RPR协议通过ATD帧来传送 邻居的拓扑无关信息,在通常情况下,控制数据字段为ATD帧携带的RPR 节点拓扑无关的属性信息,且为TLV结构(type-length-value),其中,每 一个TLV结构为一个属性单元。在本实施例中,关注ATD帧中的控制数据 (control Data Unit)字段,即使用ATD帧中的控制数据(control Data Unit) 字段携带发送记录有本节点不同应用协议关键标识的关键标识列表。请参阅图6,图6为ATD帧中属性单元格式示意图。如图所示,resl字 段和res2字段为协议保留字段,每个字段各自具有6个bit; type为属性类 型,长度为10bit,目前802.17协议2004版已经使用的属性类型值为1 7, 保留类型值为8 1022,该保留类型可以由具体实现者使用;length为属性 长度,长度为10bit; attDataUnit为属性实际内容,属性实际内容部分的长度 由length决定,最大不超过1024字节。其中,type字段使用保留类型值 0x200; length字段填写attDataUnit中实际使用的字节数。由于整个标识列表长度可能大于1024个字节,此时还需将标识列表分 片,记录在下一个属性单元中。在本实施例中,所述关键标识列表可以记录 在一个或分片记录在所述ATD帧的多个属性单元的属性实际内容中,同一 关键标识记录于同一所述属性单元中,每一属性单元的type字段使用保留类 型值,length字段表示属性实际内容中使用的字节数,并不是关键标识列表 的总长度。请参阅图7,图7为本发明实施例的拓扑联动方法中ATD帧的属性实际内容格式示意图。需要说明的是,attDataUnit用于记录关键标识列表的属性 实际内容,关键标识列表用于记录不同协议的邻居关键标识,属性单元的属 性实际内容的格式包括Header字段和IdDate字段,其中,Header字段,占 8个bite;在本实施例中,只使用Header字段的0位和l位,其他位保留, Header字段的0位表示关键标识列表是否分片存在于多个ATD属性单元中, 例如,我们可以用l表示分片,用0表示不分片存储,即关键标识列表只需 存储在一个ATD属性单元中;Header字段的1位用来标识是否为分片中的 最后一片,例如,我们可以用l表示是分片中的最后一片,用0表示不是分 片中的最后一片。显然,Header字段的1位只有在Header字段的0位为1 的情况下才是有效的。IdDate字段,其用于记录关键标识,也为TLV结构, 其中,Type、 Length和Value都可以提供给应用协议使用,也就是说,在应 用协议向RPR注册时,关键标识获取途径的注册信息即可向IdDate字段提 供本节点的Type、 Length和Value。其中,Type为关键标识类型,长度为6 个bit,最大支持63种关键标识类型,例如关键标识类型可以是MAC地址, 或IP地址等;Length为关键标识长度,长度为10个bit。此外,为了降低收到ATD帧处理的复杂度,如果关键标识列表记录在 多个属性单元中, 一个关键标识的TLV字段必须记录于同一个属性单元中, 由此可以看出,本发明限制最大的邻居关键标识的长度为1000字节。在发送ATD帧的同时,各节点也接收其他节点广播的所述ATD帧;通 过读取所述ATD帧的关键标识列表,学习邻居的关键标识。请参阅图8,图8为本发明实施例的拓扑联动方法中的帧读取流程图。 如图所示,各节点在进行关键标识学习的时候,帧读取的流程包括如下步骤步骤S221:首先读取属性实际内容Header字段的0位;步骤S222:判断Header字段0位值是否为零,即判断邻居标识列表是 否分片存在于多个ATD属性单元中,如果Header字段0位为0,即表示没 有分片,则执行步骤S227;如果Header字段0位不为0,则执行步骤S223;步骤S223:读取属性实际内容,即该分片的IdDate字段,即读取邻居 标识列表中的一个关键标识,然后执行步骤S224;步骤S224:读取Header字段的1位;步骤S225:判断Header字段1位值是否为零,即判断该分片是否分片中的最后一片。如果1位是O,即表示不是分片的最后一片,则执行步骤S226; 如果1位不是0,则执行步骤S228;步骤S226:输入下一个分片;步骤S227:读取该分片的IdDate字段;即再读取其他协议的关键标识; 然后执行步骤S228;步骤S228:读取ATD帧完成后,即可完成对不同应用协议的不同关键 标识的学习。本发明实施例的拓扑联动方法,将学习到的不同协议的关键标识,链接 于邻居列表,在检测到所关心的邻居状态发生变化时,在所述链接中查找到 所述新加入和/或退出的邻居的关键标识,将其通过所述获取途径的回调函数 返回给所述应用协议。本发明实施例的拓扑联动方法,邻居检测依赖于RPR技术中的拓扑发现 机制,协议启动时,所有检测到的邻居都为新加入,记录邻居列表,索引为 RPR节点的MAC地址。在每次拓扑稳定后(稳定定时器到期)记录本次邻 居列表,并与上次拓扑稳定时记录的邻居MAC地址列表比较,得出邻居状 态(新加入还是退出)。如图9所示,本发明实施例的拓扑联动方法,通过以下流程判断新邻居 加入和旧邻居退出,其具体步骤包括步骤S31h初始化,所有检测到的邻居都为新加入邻居;步骤S312:为所有新加入邻居建立初始邻居列表;步骤S313:将邻居列表,按RPR节点的MAC地址建立索引,索引可 以方便今后对邻居列表进行的比较,可以降低邻居列表进行比较的时间复杂 度;步骤S314:判断稳定定时器是否到期,如到期,则进行步骤S315;如 没有到期,则再进行判断。该步骤也可以使用触发机制达到同样目的; 步骤S315:记录本次邻居列表;步骤S316:将本次邻居列表,与前次拓扑稳定时候的邻居列表相比较; 确定哪些邻居为新加入,哪些旧邻居已经退出。 步骤S317:输出所关心的邻居状态。本发明实施例的拓扑联动方法,在拓扑稳定时,RPR检测出本次拓扑变化后,通过应用协议注册的通知机制,将所关心的邻居状态、和所述邻居的 关键标识发送给应用协议。下面结合图10、图11和图12再介绍本发明实施例的拓扑联动装置。实现本发明拓扑联动方法的本发明实施例的拓扑联动装置,如图10所 示,所述拓扑联动装置包括注册模块、学习模块、邻居检测模块和通知模块;注册模块,用于将应用协议提交的用于标识本节点及邻居节点的关键标 识、应用协议所关心的邻居状态和向所述应用协议通知所关心的邻居状态的 通知机制形成注册信息并向所述RPR协议模块注册;学习模块,与所述注册模块相连,利用所述关键标识获取途径获取本节 点关键标识,并学习邻居节点的关键标识;邻居检测模块,用于接收所述注册模块传来的所述所关心的邻居状态与 所述学习模块传来的所述邻居的关键标识,通过拓扑发现机制,检测所述所 关心的邻居状态;通知模块,与所述注册模块和邻居检测模块分别相连,用于将所述邻居 检测模块传来的所述邻居变化状态与所述邻居的关键标识,通过所述通知机 制发送给所述RPR应用协议。本发明实施例的拓扑连动装置,首先由注册模块将应用协议提交的标识 本节点和邻居节点的关键标识、应用协议所关心的邻居状态和向所述应用协 议通知所述所关心的邻居状态的通知机制形成注册信息并向所述RPR协议 模块注册,完成注册后,可使各RPR节点获知本节点的关键标识、所关心的 邻居状态和通知机制;与注册模块相连的学习模块利用注册信息中的各应用 协议对应的关键标识获取途径获取本节点的关键标识,并由帧生成单元生成 携带记录源节点不同应用协议关键标识的关键标识列表的ATD帧;帧发送 单元将所述ATD帧广播;由帧接收单元接收其他RPR节点广播的ATD帧; 与帧接收单元连接的帧读取单元读取所述帧接收单元接收到的所述ATD帧 的关键标识列表,将读取出的关键标识列表传送于标识学习单元,由标识学 习单元进行邻居关键标识的学习,通过以上的步骤,学习模块即完成了对本 节点关键标识的获取和对邻居节点关键标识的学习。本发明实施例的拓扑联动装置,所述学习模块中的所述帧生成单元,将 所述ATD帧属性单元的type字段置为保留类型值,将所述关键标识列表记录于属性实际内容,属性实际内容中使用的字节数记录于Length字段;将所 述关键标识列表记录在一个属性单元或分片记录在多个属性单元的属性实 际内容中;将是否分片记录于多个属性单元的信息记录于所述属性实际内容 的Header字段的0位;将是否为分片中的最后一片的信息记录于所述属性实 际内容的Header字段的1位;以及将每一关键标识记录于所述属性实际内容 的IdDate字段。本发明实施例的拓扑联动装置,所述邻居检测模块包括稳定定时器、输 入单元、邻居列表单元、索引单元、比较单元和输出单元;输入单元接收注 册模块输入的所述所关心的邻居状态与所述学习模块输入的所述邻居关键 标识;初始化时,邻居列表单元以所有检测到的邻居为新加入邻居生成初始 邻居列表;每次所述稳定定时器到期时,由邻居列表生成本次邻居列表;所 述邻居列表单元还用于维护所生成的邻居列表;邻居列表生成后,为了今后 进行邻居列表的比较时操作更方便,由索引单元将所述本次邻居列表与前次 邻居列表均以RPR节点的MAC地址生成索引;在拓扑稳定后,由所述比较 单元将本次邻居列表与前次邻居列表进行比较,得出应用协议所关心的所述 邻居状态,即有哪些邻居新加入,哪些邻居已退出;邻居列表的比较可以借 助索引单元生成的索引来进行,进过索引的邻居列表的比较,可以降低比较 操作的时间复杂度。比较完成后,由输出单元向所述通知模块传送所述检测 到的应用协议关心的邻居状态与所述所涉及的邻居的关键标识。本发明实施例的拓扑联动装置,所述通知模块包括函数接口单元,所述 函数接口单元将从邻居关键标识获取途径获取的函数接口,以回调函数的方 式通知所述应用协议。本发明实施例的拓扑联动装置,所述通知模块也可以 包括消息通知单元,由所述消息通知单元利用写消息队列通知所述应用协 议。综上所述,本发明利用RPR拓扑发现机制,以及RPR协议的拓扑故障稳 定所能得到的50ms特性,使运行于RPR逻辑接口之上的应用协议可以在 50ms内快速检测邻居的存在,为其后续处理节省时间,实现了运行于RPR 逻辑口之上的应用协议与RPR之间拓扑联动,提高了应用协议的邻居故障处 理性能。以上所述的仅为本发明的较佳可行实施例,所述实施例并非用以限制本发明的专利保护范围,因此凡是运用本发明的说明书及附图内容所作的等同 结构变化,同理均应包含在本发明的保护范围内。
权利要求
1.一种拓扑联动方法,用于运行于RPR逻辑口之上的应用协议与RPR之间的拓扑联动,包括以下步骤步骤S100应用协议向所述RPR协议模块注册,使各RPR节点获知所述应用协议用于标识本节点的关键标识、所述应用协议所关心的邻居状态和所述邻居状态变化时通知所述应用协议的通知机制;所述关心的邻居状态包括新邻居加入和/或旧邻居退出;步骤S200各RPR节点利用所述各应用协议的注册获取本节点的关键标识,并学习所述邻居节点的关键标识;步骤S300通过RPR拓扑发现机制,检测所关心的邻居状态步骤S400将检测到的发生变化的邻居状态与所述邻居的关键标识,通过所述通知机制发送给所述应用协议。
2. 如权利要求1所述的拓扑联动方法,其特征在于,步骤S200包括 步骤S210:各RPR节点通过各应用协议的注册获取各自的关键标识,且广播携带有记录本节点不同应用协议关键标识的关键标识列表的ATD帧; 步骤S220:接收其他节点广播的所述ATD帧;步骤S230:读取所述ATD帧的关键标识列表,学习邻居的关键标识。
3. 如权利要求2所述的拓扑联动方法,其特征在于 所述关键标识列表记录在一个或分片记录在所述ATD帧的多个属性单元的属性实际内容中,同一关键标识记录于同一所述属性单元中,每一属性 单元的type字段使用保留类型值,length字段表示属性实际内容中使用的字 节数;所述属性实际内容的格式包括Header字段,其0位表示关键标识列表是否分片记录于多个所述属性单 元中,l位表示是否为分片中的最后一片;IdDate字段,用于记录所述关键标识。
4. 如权利要求1所述的拓扑联动方法,其特征在于,所述通知机制为 利用写消息队列的消息通知,或利用响应函数接口的回调函数通知。
5. 如权利要求1或2所述的拓扑联动方法,其特征在于所述拓扑发 现机制,通过在稳定定时器到期时记录的本次邻居列表,与前次邻居列表相 比较得出所述邻居状态变化。
6. —种实现权利要求1所述的拓扑联动方法的拓扑联动装置,其特征在于,所述拓扑联动装置包括注册模块,用于将应用协议提交的标识本节点的关键标识、应用协议所 关心的邻居状态和向所述应用协议通知所述所关心的邻居状态的通知机制 形成注册信息并向所述RPR协议模块注册;学习模块,与所述注册模块相连,利用所述注册信息获取本节点关键标 识,并学习邻居节点的关键标识;邻居检测模块,用于接收所述注册模块传来的所述所关心的邻居状态与 所述学习模块传来的所述邻居的关键标识,通过拓扑发现机制,检测所述所 关心的邻居状态;通知模块,与所述注册模块和所述邻居检测模块分别相连,用于将所述 邻居检测模块传来的所述邻居状态与所述邻居的关键标识,通过所述通知机 制发送给所述应用协议。
7. 如权利要求6所述的拓扑联动装置,其特征在于所述学习模块包括帧生成单元,用于生成携带有记录源节点不同应用协议关键标识的关键 标识列表的ATD帧,所述关键标识通过各应用协议注册时获取; 帧发送单元,用于广播所述帧生成单元生成的所述ATD帧; 帧接收单元,用于接收其他RPR节点广播的ATD帧; 帧读取单元,用于读取所述帧接收单元接收到的所述ATD帧的关键标 识列表;标识学习单元,接收所述帧读取单元传来的所述关键标识列表,进行邻 居关键标识的学习。
8. 如权利要求6或7所述的拓扑联动装置,其特征在于所述邻居检 测模块包括稳定定时器;输入单元,用于接收注册模块输入的所述所关心的邻居状态与所述学习 模块输入的所述关键标识;所述邻居列表单元,用于生成和维护邻居列表,其中,初始化时,以所 有检测到的邻居为新加入邻居生成初始邻居列表;所述稳定定时器到期时,生成本次邻居列表;所述索引单元,用于将所述邻居列表以RPR节点的MAC地址生成索弓i;所述比较单元,用于借助索引单元传来的所述索引,将本次邻居列表与 前次邻居列表进行比较,得出所述关心的邻居状态;输出单元,用于向所述通知模块传送检测到的所述邻居状态与所述邻居 的关键标识。
9. 如权利要求6所述的拓扑联动装置,其特征在于所述通知模块包 括消息通知单元,所述消息通知单元利用写消息队列通知所述应用协议。
10. 如权利要求6所述的拓扑联动装置,其特征在于所述通知模块包 括函数接口单元,所述函数接口单元将从邻居关键标识获取途径获取的函数 接口,以回调函数的方式通知所述应用协议。
全文摘要
本发明公开了一种拓扑联动方法,使运行于RPR逻辑口之上的应用协议能够快速检测RPR邻居节点的变化,包括以下步骤应用协议向所述RPR协议模块注册各节点对应的关键标识、所关心的邻居状态和通知机制;获取本节点的关键标识,并学习所述邻居的关键标识;通过拓扑发现机制检测所关心的邻居状态,将所述邻居状态与所述邻居的关键标识,通过所述通知机制发送给所述应用协议。本发明还公开了一种拓扑联动装置。本发明的拓扑联动方法,为其后续处理节省了时间,提高了应用协议的邻居故障处理性能。
文档编号H04L29/06GK101227479SQ20081000916
公开日2008年7月23日 申请日期2008年2月2日 优先权日2008年2月2日
发明者涵 张, 军 闫 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1