一种以太环网的拓扑获取方法

文档序号:7754523阅读:379来源:国知局
专利名称:一种以太环网的拓扑获取方法
技术领域
本发明涉及数据通信领域,更具体地涉及一种以太环网的拓扑获取方法。
背景技术
随着以太网络向着多业务承载方向的发展,特别是一些业务对网络的可靠性、 实时性要求越来越高,以太网广泛采用了环形的组网以提高网络可靠性。并且在环形的 保护方法中,通常要求快速保护倒换,达到50ms以下。目前这种快速保护倒换的技术有 IETF(Internet Engineering Task Force,互联网工程任务组)的 RFC3619、ITU-T (Intern ationalTelecommunication Union,国际电信联盟)的 G. 8032 等。例如以太环网保护技术,如图1所示,节点A至F都为具有以太网交换功能的节 点,网络M和节点B相连接,网络N和节点D相连接。网络M和网络N之间进行通信。网络 M和网络N之间有2条物理路径,即网络N ——节点D ——节点C ——节点B ——网络M, 网络N —一节点D —一节点E —一节点F —一节点A —一节点B —一网络M。在应用以太网环保护技术时,一般定义了环保护链路和控制节点,即在以太环网 无故障的情况下,环上对数据报文进行阻塞防止环路形成的链路为环保护链路,通过对这 段环保护链路的操作,可以进行环网的主用路径和保护路径的切换。拥有环保护链路的节 点,这里称为控制节点(或者称为主节点)。如图2a所示,环网包含的节点有A、B、C、D、E 和F,包含的链路有<A,B>、<B, C>、<C,D>、<D,E>、<E,F>和<F,A>链路。节点A为控制节 点,与a2端口直连链路<F,A>为环保护链路。当环上链路完好时,控制节点阻塞与环保护链路相连端口的数据报文转发功能, 网络中无环路产生,防止了由于网络环路引起的“广播风暴”。如图2a所示,控制节点A阻 塞了 a2端口的保护数据转发功能,网络M和N的通信路径为网络M ――节点B ——节点 C——节点D—一网络N。当链路发生故障时,控制节点放开与环保护链路相连端口的数据报文转发功能, 从而保障了业务的连通。如图2b所示,环上的<B,O链路发生了故障,控制节点A放开端 口 a2的数据报文转发功能,网络M和N新通信路径为网络M ——节点B ——节点A —— 节点F ——节点E ——节点D ——网络N。这里,链路故障是引起保护倒换的其中一种情 况,还包括手工倒换,强行倒换等情况,更加详细的操作细节请参阅ITU-T G.8032的标准。ITU-T G. 8032vl在2008年6月份已经发布。在这一版本中,标准很好地支持了以 太单环网的保护。但是,该标准还缺少一种能够对以太网拓扑进行管理的方法。

发明内容
技术问题本发明目的是针对现有技术存在的缺陷提供一种以太环网的拓扑获取 方法,能够直观便捷的发现整体网络中的节点位置、拓扑状况、路径是否可达等信息的环网 拓扑发现协议。技术方案本发明为实现上述目的,采用如下技术方案
本发明一种以太环网的拓扑获取方法,其特征在于所述方法如下TF帧发送子环含有环上阻塞端口的节点沿完好端口周期性地发送拓扑发现帧 TF (Topology Find);如果发送端口不是阻塞端口并且SEG_ID为0,节点将自身的N0DE_ID写入N0DE_ LIST字段即拓扑信息列表;所述发送端口启动一个计数器SEG,将计数器SEG的值写入TF帧的SEG_ID的字 段;然后SEG = (SEG+l)mode (Ν/Μ),SEG的初值为0,其中,N为环上节点的总数,M为N0DE_ LIST包含的N0DE_ID的最大个数,N能够整除M ;节点将N-I写入TF帧的TTL字段;端口的拓扑数据库更新当子环上节点收到TF帧时,如果该TF帧是从阻塞端口收 到的,节点将所述TF帧丢弃,否则读取TF帧(N0DE_ID,BPR),并把它与节点Ω集合元素存 储的(N0DE_ID,BPR)进行比较;构成节点的Ω集合的元素是(N0DE_ID,BI3R, SEG_ID)三元 组;如果不同,节点删除接收端口的拓扑数据,并且根据所述TF帧的N0DE_LIST和 SEG_ID将拓扑信息写入该端口的拓扑数据库。另外,节点将TF帧的(N0DE_ID,BPR, SEG_ ID)保存到该端口的Ω集合中,并且删除原先的Ω集合中的所有3元组元素(N0DE_ID, BPR,SEG_ID);如果相同,节点检查Ω集合的元素是否有与TF帧的(NODE_ID,BPR,SEG_ID)相同 的元素;如果发现,节点忽略此TF帧;如果没有发现,节点根据所述TF帧的N0DE_LIST和SEG_ID将拓扑信息写入该端 口的拓扑数据库。另外,节点将TF帧的(N0DE_ID,BPR, SEG_ID)加入到该端口的Ω集合 中;TF帧的转发处理节点从非阻塞端口收到TF帧后,读取TF帧的SEG_ID和TTL的 字段值,节点计算P = ceil ((N-TTL)/M),其中ceil (χ)为向下取整函数;如果P = SEG_ID,节点将自身的N0DE_ID写入N0DE_LIST字段;节点将TTL的字段值减少1,然后从另一个完好环上端口将TF帧转发。其中N0DE_ID =TF帧的发送节点的标识;BPR 环上端口阻塞标识,1 东面端口阻塞;0 西面端口阻塞;TTL 协议帧生存时间,TF帧经过一跳转发后TTL就减少1 ;N0DE_LIST:节点标识列表,用来存放TF帧传播路径上即发送节点到接收节点的 节点标识;SEG_ID 用于TF帧将拓扑信息分批传输的批标号。有益效果本发明提供了一种能够直观便捷的发现整体网络中的节点位置、拓扑状况、路径 是否可达等信息的环网拓扑发现协议。它对提高基于G. 8032的环网的管理和控制是非常 有意义的。


图1是环网的结构;图2a是环网无故障情况下的数据转发示意图;图2b是环网发生故障的情况下数据流保护倒换的示意图;图3、4和5是本发明的流程图;图6是本发明的实施例1的示意图;图7是本发明实施例2的示意图。
具体实施例方式—种以太环网的拓扑获取方法,其特征在于所述方法如下TF帧发送子环含有环上阻塞端口的节点沿完好端口周期性地发送拓扑发现帧 TF (Topology Find);如果发送端口不是阻塞端口并且SEG_ID为0,节点将自身的N0DE_ID写入N0DE_ LIST字段即拓扑信息列表;所述发送端口启动一个计数器SEG,将计数器SEG的值写入TF帧的SEG_ID的字 段;然后SEG = (SEG+l)mode (Ν/Μ),SEG的初值为0,其中,N为环上节点的总数,M为N0DE_ LIST包含的N0DE_ID的最大个数,N能够整除M ;节点将N-I写入TF帧的TTL字段;端口的拓扑数据库更新当子环上节点收到TF帧时,如果该TF帧是从阻塞端口收 到的,节点将所述TF帧丢弃,否则读取TF帧(N0DE_ID,BPR),并把它与节点Ω集合元素存 储的(N0DE_ID,BPR)进行比较;如果不同,节点删除接收端口的拓扑数据,并且根据所述TF帧的N0DE_LIST和 SEG_ID将拓扑信息写入该端口的拓扑数据库。另外,节点将TF帧的(N0DE_ID,BPR, SEG_ ID)保存到该端口的Ω集合中,并且删除原先的Ω集合中的所有3元组元素(N0DE_ID, BPR,SEG_ID);如果相同,节点检查Ω集合的元素是否有与TF帧的(NODE_ID,BPR,SEG_ID)相同 的元素;如果发现,节点忽略此TF帧;如果没有发现,节点根据所述TF帧的N0DE_LIST和SEG_ID将拓扑信息写入该端 口的拓扑数据库。另外,节点将TF帧的(N0DE_ID,BPR, SEG_ID)加入到该端口的Ω集合 中;TF帧的转发处理节点从非阻塞端口收到TF帧后,读取TF帧的SEG_ID和TTL的 字段值,节点计算P = ceil ((N-TTL)/M),其中ceil (χ)为向下取整函数;如果P = SEG_ID,节点将自身的N0DE_ID写入N0DE_LIST字段;节点将TTL的字段值减少1,然后从另一个完好环上端口将TF帧转发。其中 N0DE_ID =TF帧的发送节点的标识;BPR 环上端口阻塞标识,1 东面端口阻塞;0 西面端口阻塞;TTL 协议帧生存时间,TF帧经过一跳转发后TTL就减少1 ;
N0DE_LIST 节点标识列表,用来存放TF帧传播路径上即发送节点到接收节点的 节点标识;SEG_ID 用于TF帧将拓扑信息分批传输的批标号。为了进一步说明本发明的方案,本发明的步骤阐述如下(如图3a、4a和5a所示)图3是TF帧的发送过程步骤301,判断节点是否含有环上阻塞端口。如果有转入步骤302;步骤302,节点在发送TF帧的端口上启动一个计数器SEG_ID ;步骤303,节点将计数器SEG_ID的值写入TF帧的SEG_ID的字段。然后SEG_ID = (SEG_ID+1)mode(Ν/Μ); 步骤304,节点将自身的N0DE_ID写入TF帧的N0DE_ID字段,将阻塞端口的状态写 入TF帧的Bra字段;步骤305,判断所述节点的发送端口是不是阻塞端口。如果是,转入步骤306,否则 转入步骤307 ;步骤306,节点将自身的N0DE_ID写入N0DE_LIST字段;步骤307,节点将N-I写入TTL字段,然后从所述端口发送出去。图4是节点对接收的TF帧进行处理的过程步骤401,节点收到TF帧;步骤402,判断该TF帧是否是从阻塞端口收到的。如果是,转入步骤403,否则转 入步骤404 ;步骤403,节点丢弃该TF帧;步骤404,节点读取TF帧的相关字段信息;步骤405,节点计算 P = ceil( (N-TTL) /M);步骤406,判断P是否等于SEG_ID字段的值。如果相等,转入步骤407,否则转入 步骤409 ;步骤407,节点将自身的N0DE_ID写入N0DE_LIST字段相应的位置;步骤408,节点将TTL的字段值减少1,将TF帧从另一个完好的环上端口转发出 去;图5是节点的端口的拓扑数据库更新过程步骤501,节点阻塞端口收到TF帧,读取N0DE_ID,BPR和SEG_ID的字段值;步骤502,节点查找它的Ω集合中是否有元素的(N0DE_ID,BPR)与TF帧的(N0DE_ ID, BPR)相同。如果没有找到,转入步骤503,否则转入步骤505 ;步骤503,节点删除接收端口的拓扑数据,并且根据所述TF帧的N0DE_LIST和 SEG_ID将拓扑信息写入该端口的拓扑数据库;步骤504,节点将TF帧的(N0DE_ID,BPR, SEG_ID)保存到该端口的Ω集合中,并 且删除原先的Ω集合中的所有3元组元素(N0DE_ID,Bra,SEG_ID);步骤505,节点查找它的Ω集合中是否有元素的与TF帧的(N0DE_ID,BPR, SEG_ ID)相同。如果没有找到,转入步骤506;步骤506,节点根据所述TF帧的N0DE_LIST和SEG_ID将拓扑信息写入该端口的拓 扑数据库;
6
步骤507,节点将TF帧的(N0DE_ID,BPR, SEG_ID)加入到该端口的Ω集合中;为了进一步说明本发明的方案,我们通过以下具体实施例进一步阐述本发明所述 的方法。以下对具体实施方式
进行详细描述,但不作为对本发明的限定。实施例一、环网在无故障情况下的拓扑发现。如图6所示,环网包含节点Α、B、C、D、E和F,以及它们之间的链路,控制节点A在 无故障情况下阻塞w端口的数据报文的转发功能。下面我们约定TF帧的N0DE_LIST最多 放入3个节点号(N0DE_ID)。控制节点A分别在w端口和e端口启动SEG计数器。控制节点A沿w端口周期 性地交替发送TFlO (SEG_ID = 0)和TF11(SEG_ID= 1)报文,沿e端口周期性地交替发送 TF20 (SEG_ID = 0)和TF21 (SEG_ID = 1)报文。由于节点A的w端口是阻塞端口,所以节点 A没有将自身的节点号写入TFlO和TFll的N0DE_LIST。对于TF20和TF21,节点A将自身 的节点号写入TF20的N0DE_LIST,而不写入TF21的N0DE_LIST中。对于节点A,由于它的w端口是阻塞端口,所以节点A丢弃收到的TF2帧,它只能 从e端口学习TFlO和TFll中的拓扑信息。当节点A收到TFlO时,发现TFlO中的(N0DE_ ID, BPR)与自身e端口 Ω集合中的所有元素的(N0DE_ID,BPR)都不一致时,节点A清除e 端口原先的拓扑数据库和Ω集合中的所有元素,将TFlO中的N0DE_LIST的拓扑信息“E-F” 写入e端口的拓扑数据库,并且将TFlO中的(N0DE_ID,BPR, SEG_ID)加入e端口 Ω集合 中;当节点A收到TFll时,发现TFll中的(N0DE_ID,BPR)与自身e端口 Ω集合中元素的 (N0DE_ID, BPR) 一致时,进一步检查发现自身e端口 Ω集合中不存在元素与TFll中的3 元组(N0DE_ID,BPR, SEG_ID)相同,节点A将TFll的N0DE_LIST的拓扑信息“D-C-B”写入 e端口的拓扑数据库,并且将TFll中的(NODE_ID,BPR,SEG_ID)加入e端口 Ω集合中。至 此为止,节点A的e端口的拓扑数据为“D-C-B-E-F”,节点A将不用后续的TFlO和TFl 1进 行拓扑更新处理。对于B、C、D、E和F,我们仅仅以节点D为例来说明问题当节点D收到TFlO时,发现TFlO中的(N0DE_ID,BPR)与自身e端口 Ω集合中的 所有元素的(N0DE_ID,BPR)都不一致时,节点D清除e端口原先的拓扑数据库和Ω集合中 的所有元素,将TFlO中的N0DE_LIST的拓扑信息“E_F”写入e端口的拓扑数据库,并且将 TFlO中的(N0DE_ID,BPR,SEG_ID)加入e端口 Ω集合中。节点D通过TFlO帧中的SEG_ID 和TTL的字段值得知“节点D不应该将自身的N0DE_ID写入TFlO帧的N0DE_LIST”,节点D 将TFlO帧的TTL字段值减少1后将它从w端口转发出去;当节点D收到TFl 1时,发现TFl 1 中的(N0DE_ID,BPR)与自身e端口 Ω集合中元素的(N0DE_ID,BPR) —致时,进一步检查发 现自身e端口 Ω集合中不存在元素与TFll中的3元组(N0DE_ID,BPR, SEG_ID)相同,节 点D读取TFll的N0DE_LIST的拓扑信息发现是空的,不操作e端口的拓扑数据库,随后将 TFll中的(NODE_ID,BPR,SEG_ID)加入e端口 Ω集合中。节点D通过TFlO帧中的SEG_ID 和TTL的字段值得知它需要将自身的N0DE_ID写入TFlO帧的N0DE_LIST并且做了相应的 处理。随后,节点D先将TFlO帧的TTL字段值减少1然后再将它从w端口转发出去。至此 为止,节点D的e端口的拓扑数据为‘ -F”,节点A将不用后续的TFlO和TFl 1进行拓扑更 新处理。节点D对从w端口收到的TF20和TF21帧的处理与对收到的TFlO和TFll帧的处 理类似。
实施例二、环网在故障情况下的拓扑发现如图7所示,节点B和C检测到<B,O链路发生故障,节点B和C分别阻塞e和w 端口的数据报文转发功能,控制节点A打开w端口的数据报文转发功能。节点B沿w端口 周期性地交替发送TF20和TF21报文,节点B将自身的节点号写入TF20的N0DE_LIST。节 点C沿e端口周期性地交替发送TFlO和TFll报文,节点C将自身的节点号写入TFlO的 N0DE_LIST。下面以节点F从w端口收到TFlO和TFll帧为例来说明本发明当节点F收到TFlO时,发现TFlO中的(N0DE_ID,BPR)与自身w端口 Ω集合中的 所有元素的(N0DE_ID,BPR)都不一致时,节点F清除w端口原先的拓扑数据库和Ω集合 中的所有元素,将TFlO中的N0DE_LIST的拓扑信息“E_D_C”写入w端口的拓扑数据库,并 且将TFlO中的(N0DE_ID,BPR, SEG_ID)加入w端口 Ω集合中。节点F通过TFlO帧中的 SEG_ID和TTL的字段值得知“节点F不应该将自身的N0DE_ID写入TFlO帧的N0DE_LIST”, 节点F将TFlO帧的TTL字段值减少1后将它从e端口转发出去;当节点F收到TFll时,发 现TFll中的(N0DE_ID,BPR)与自身w端口 Ω集合中元素的(N0DE_ID,BPR) —致时,进一 步检查发现自身w端口 Ω集合中不存在元素与TFll中的3元组(N0DE_ID,BPR, SEG_ID) 相同,节点F读取TFll的N0DE_LIST的拓扑信息发现是空的,不操作w端口的拓扑数据库, 随后将TFll中的(N0DE_ID,BPR, SEG_ID)加入w端口 Ω集合中。节点F通过TFlO帧中 的SEG_ID和TTL的字段值得知它需要将自身的N0DE_ID写入TFlO帧的N0DE_LIST并且做 了相应的处理。随后,节点F先将TFll帧的TTL字段值减少1然后再将它从e端口转发出 去。至此为止,节点D的w端口的拓扑数据为‘ -D-C”,节点F将不用后续的TFlO和TFll 进行拓扑更新处理。节点D对从e端口收到的TF20和TF21帧的处理与对收到的TFlO和 TFll帧的处理类似。通过对上面两个实例的分析,我们可以看出本发明解决了“现有的ITU-T G. 8032 无拓扑管理协议”的问题,提高了以太环网可管理性。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟 悉本领域的技术人员可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形 都应属于本发明所附的权利要求的保护范围。
8
权利要求
一种以太环网的拓扑获取方法,其特征在于所述方法如下TF帧发送子环含有环上阻塞端口的节点沿完好端口周期性地发送拓扑发现帧TF(Topology Find);如果发送端口不是阻塞端口并且SEG_ID为0,节点将自身的NODE_ID写入NODE_LIST字段即拓扑信息列表;所述发送端口启动一个计数器SEG,将计数器SEG的值写入TF帧的SEG_ID的字段;然后SEG=(SEG+1)mode(N/M),SEG的初值为0,其中,N为环上节点的总数,M为NODE_LIST包含的NODE_ID的最大个数,N能够整除M;节点将N 1写入TF帧的TTL字段;端口的拓扑数据库更新当子环上节点收到TF帧时,如果该TF帧是从阻塞端口收到的,节点将所述TF帧丢弃,否则读取TF帧(NODE_ID,BPR),并把它与节点Ω集合元素存储的(NODE_ID,BPR)进行比较;构成节点的Ω集合的元素是(NODE_ID,BPR,SEG_ID)三元组;如果不同,节点删除接收端口的拓扑数据,并且根据所述TF帧的NODE_LIST和SEG_ID将拓扑信息写入该端口的拓扑数据库。另外,节点将TF帧的(NODE_ID,BPR,SEG_ID)保存到该端口的Ω集合中,并且删除原先的Ω集合中的所有3元组元素(NODE_ID,BPR,SEG_ID);如果相同,节点检查Ω集合的元素是否有与TF帧的(NODE_ID,BPR,SEG_ID)相同的元素;如果发现,节点忽略此TF帧;如果没有发现,节点根据所述TF帧的NODE_LIST和SEG_ID将拓扑信息写入该端口的拓扑数据库。另外,节点将TF帧的(NODE_ID,BPR,SEG_ID)加入到该端口的Ω集合中;TF帧的转发处理节点从非阻塞端口收到TF帧后,读取TF帧的SEG_ID和TTL的字段值,节点计算P=ceil((N TTL)/M),其中ceil(x)为向下取整函数;如果P=SEG_ID,节点将自身的NODE_ID写入NODE_LIST字段;节点将TTL的字段值减少1,然后从另一个完好环上端口将TF帧转发。其中NODE_IDTF帧的发送节点的标识;BPR环上端口阻塞标识,1东面端口阻塞;0西面端口阻塞;TTL协议帧生存时间,TF帧经过一跳转发后TTL就减少1;NODE_LIST节点标识列表,用来存放TF帧传播路径上即发送节点到接收节点的节点标识;SEG_ID用于TF帧将拓扑信息分批传输的批标号。
全文摘要
本发明公布了一种以太环网的拓扑获取方法,本发明方法包括TF帧发送子环含有环上阻塞端口的节点沿完好端口周期性地发送拓扑发现帧TF(Topology Find);端口的拓扑数据库更新当子环上节点收到TF帧时,如果该TF帧是从阻塞端口收到的,节点将所述TF帧丢弃,否则读取TF帧(NODE_ID,BPR),并把它与节点Ω集合元素存储的(NODE_ID,BPR)进行比较;TF帧的转发处理节点从非阻塞端口收到TF帧后,读取TF帧的SEG_ID和TTL的字段值。本发明能够直观便捷的发现整体网络中的节点位置、拓扑状况、路径是否可达等信息。
文档编号H04L12/42GK101895424SQ20101023047
公开日2010年11月24日 申请日期2010年7月19日 优先权日2010年7月19日
发明者王斌 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1