基于地址刷新报文发送源节点集的地址刷新方法

文档序号:7754511阅读:224来源:国知局
专利名称:基于地址刷新报文发送源节点集的地址刷新方法
技术领域
本发明涉及数据通信领域,更具体地涉及一种以太环网的地址刷新的新方法。
背景技术
随着以太网络向着多业务承载方向的发展,特别是一些业务对网络的可靠性、 实时性要求越来越高,以太网广泛采用了环形的组网以提高网络可靠性。并且在环形的 保护方法中,通常要求快速保护倒换,达到50ms以下。目前这种快速保护倒换的技术有 IETF(Internet Engineering Task Force,互联网工程任务组)的 RFC3619、ITU-T (Intern ationalTelecommunication Union,国际电信联盟)的 G.8032vl 等。例如以太环网保护技术,如图Ia所示,节点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,C>链路发生了故障,控制节点A放开了端 口 a2的数据报文转发功能,网络M和N新的通信路径为网络M ——节点B ——节点A — 节点F —一节点E —一节点D —一网络N。在以太环网发生链路切换时(如链路发生故障或者故障消失),需要刷新地址转 发表。如图2a所示,在环网无故障的情况下,网络N向网络M发送的数据报文的路径为网 络N—节点D—节点C—节点B—网络M。如图2b所示,链路<B,C>发生了故障。如果节 点D的转发表没有刷新,网络N向网络M发送的数据报文仍然沿着原来的路径继续传输,这 些报文在节点C被丢弃,该现象将一直持续到节点D学习到节点B的正确地址。刷新地址 转发表的目的是为了防止节点仍然使用链路切换前的路径转发数据报文,造成报文大量丢 失。因此,在G.8032vl中,常常运用刷新地址转发表的方法来防止节点仍然使用链路切换 前的路径转发数据报文。在ITU-T G. 8032vl中,以太单环网的节点在非反转恢复模式存在节点的地址不刷新问题,下面我们就这个问题展开讨论。在G. 8032vl中,地址刷新信息通常是由SF (链路故障通知协议报文)和NR (无请 求协议报文)的DNF字段来指示。这些协议报文通常由源节点周期性地发送,使环网稳定 地处于一种状态(在G. 8032vl中,节点仅仅有IDLE状态和PROTECTION状态)。为了防止 节点重复刷新地址转发表,在G. 8032vl中,协议规定在一种节点的状态下,节点仅仅刷新 一次地址转发表。如图3a所示,环上的<B,C>链路发生了故障,节点B和节点C分别沿着 b2和cl端口向外周期性地发送SF报文。环上的节点D、E、F和A虽然能够不断地收到SF 报文,但是这些节点在PROTECTION状态仅仅只刷新一次地址转发表,S卩,节点收到第一个 SF报文时刷新地址转发表,对后续的SF报文进行忽略。但是,节点仅仅有IDLE状态和PROTECTION状态对反转恢复模式下的地址刷新造 成的影响不是很大(所谓反转恢复模式是指当以太环网的故障链路恢复正常时,整个环 网仅仅在控制节点与环保护链路相连的端口阻塞数据报文的转发)。但是,对于非反转恢 复模式(当以太环网的故障链路恢复正常时,整个环网阻塞数据报文的转发端口不一定是 控制节点与环保护链路相连的端口),节点的地址刷新会出现严重的问题。如图3b所示, 当环上的<B,O链路的故障消失时,节点B和C分别沿着b2和cl端口向外周期性地发送 NR(N0DE_ID)报文,节点B收到节点C发送的NR(N0DE_ID)报文时,发现节点C的N0DE_ID 比自己的大,节点B停止发送NR(N0DE_ID)报文,同时打开bl端口的数据报文转发功能。根 据G.8032vl的节点状态规定,此时环上的各个节点仍然处在PROTECTION状态。环上的各 个节点不会刷新地址转发表。但是,如果以后环上的链路发生新的故障,节点的地址刷新就 会遇到问题。如图3c所示,以太环网在链路<B,O的故障消失一段时间以后,链路<E,D> 又发生了故障,节点E和节点D检测到故障后,分别沿着el和d2端口向外周期性地发送SF 报文,节点C收到SF报文后,打开c2端口的数据报文的转发功能。在这种情况下,环上的 各个节点仍然处于PROTECTION状态,所有节点不会刷新地址。然而,在该情况下,环网的拓 扑结构发生了新的变化,如果环上的节点没有刷新地址转发表,环上的数据流会沿着环网 拓扑结构发生变化之前的路径转发,数据会发生大量的丢失。

发明内容
技术问题本发明目的是针对背景技术中存在的ITU-T G. 8032vl的基于状态转 移的地址刷新方案是不能解决非反转恢复模式下的地址刷新问题,提供一种基于地址刷新 报文发送源节点集的地址刷新方法。技术方案本发明为实现上述目的,采用如下技术方案本发明基于地址刷新报文发送源节点集的地址刷新方法,以太环网的每个节点维 护一个集合Ω,所述集合Ω包含的元素是节点号,所述节点号对应于发送带有指示刷新地 址的协议报文的源环上节点,所述节点通过对收到的协议报文进行分析确定是否有新的节 点号加入集合Ω,当且仅当有新的节点号加入集合Ω时,节点刷新地址转发表。优选地,所述节点对收到的协议报文进行分析确定的方法如下情况1 如果从协议报文中读取的节点号不与集合Ω的元素相等并且协议报文指 示节点刷新地址转发表,该节点刷新地址转发表,同时向集合Ω添加读取的节点号;情况2 如果从协议报文中读取的节点号与集合Ω的某个元素相等并且协议报文指示节点刷新地址转发表,该节点忽略地址刷新信息,不刷新地址转发表;情况3 如果从协议报文中读取的节点号不与集合Ω的元素相等并且协议报文没 有指示节点刷新地址转发表,该节点不刷新地址转发表;情况4 如果读取的节点号与集合Ω的某个元素相等并且协议报文没有指示节点 刷新地址转发表,该节点从集合Ω中删除与读取的节点号相同的元素。有益效果本发明在不增加节点状态的情况下,不仅可以避免以太环网协议报文重复刷新地 址转发表,而且还能够解决非反转恢复模式下的地址刷新问题,从而保证了以太环网在链 路倒换后能够在50ms内收敛,大大提高了网络性能。


图Ia为以太多环网的拓扑图;图2a为以太多环网中链路完好时的通信路径拓扑图;图2b为以太多环网中链路故障时的通信路径拓扑图;图3a为故障情况下SF协议报文的传输;图3b为以太环网的非反转恢复;图3c为以太环网链路在非反转恢复后的另一链路发生故障的情况;图4a为基于地址刷新报文发送源节点集的地址刷新方案的流程图;图5a为单点故障情况下节点的地址刷新和集合Ω的处理;图5b为故障链路恢复情况下的集合Ω的处理;图5c为非反转恢复后又发生故障的处理;图6a、6b、6c和6d为本发明在非反转保护情况下的实际运用;图7a、7b和7c为本发明在反转保护情况下的实际运用。
具体实施例方式本发明基于地址刷新报文发送源节点集的地址刷新方法,以太环网的每个节点维 护一个集合Ω,它包含的元素是节点号(节点号对应于发送带有指示刷新地址的协议报文 的源环上节点)。节点通过对收到的协议报文进行分析确定是否有新的节点号加入集合 Ω。当且仅当有新的节点号加入集合Ω时,节点刷新地址转发表。本发明的技术方案主要包含以下几个技术特征 每个环上节点都配置一个集合Ω,它的元素是节点号(这些节点号对应于发送 带有指示刷新地址的协议报文的源环上节点)。 当节点收到协议报文时,读取协议报文头部包含的节点号,分以下几种情况处理。情况1 如果从协议报文中读取的节点号不与集合Ω的元素相等并且协议报文指 示节点刷新地址转发表,该节点刷新地址转发表,同时向集合Ω添加读取的节点号。情况2 如果从协议报文中读取的节点号与集合Ω的某个元素相等并且协议报文 指示节点刷新地址转发表,该节点忽略地址刷新信息,不刷新地址转发表(目的是防止后 续协议报文重复刷新地址转发表)。
情况3 如果从协议报文中读取的节点号不与集合Ω的元素相等并且协议报文没 有指示节点刷新地址转发表,该节点不刷新地址转发表。情况4 如果读取的节点号与集合Ω的某个元素相等并且协议报文没有指示节点 刷新地址转发表,该节点从集合Ω中删除与读取的节点号相同的元素。本发明的具体步骤阐述如下(如图4a所示)步骤401,对每个环上节点配置一个集合Ω,它的元素是环上发送地址刷新的协 议报文的源节点的节点号。步骤402,当节点收到协议报文时(包含本节点发送的协议报文),读取协议报文 的节点号,判定协议报文中的节点号是否与集合Ω中的某个元素相等。如果相等转入步骤 403,否则转入步骤406。步骤403,判定协议报文是否指示地址刷新。如果是转入步骤404,否则转入步骤 405。步骤404,如果从协议报文中读取的节点号与集合Ω的某个元素相等并且协议报 文指示节点刷新地址转发表,该节点忽略地址刷新信息,不刷新地址转发表。如图5a所示, 当环网的链路<E,D>发生故障时,节点E和节点D分别沿el和d2向外周期性地发送SF报 文(带有地址刷新信息),环上的节点首次收到这类报文时,检查本节点的集合Ω,发现集 合Ω中没有节点E和节点D的节点号,然后再检查报文得知要求刷新地址转发表。环上的 节点刷新地址转发表,同时将节点E和节点D的节点号加入到集合Ω中。当环上的节点收 到后续的SF报文时,发现集合Ω中已经包含节点E和节点D的节点号,同时通过检查SF 报文,发现报文要求刷新地址转发表,环上的节点忽略后续的SF报文,不刷新地址转发表。步骤405,如果从协议报文中读取的节点号与集合Ω的某个元素相等并且协议报 文不指示节点刷新地址转发表,该节点从集合Ω中删除与此节点号相等的元素。如图5b 所示,当故障链路<C,D>恢复正常时,节点C和节点D继续阻塞与链路<C,D>相邻端口的数 据报文的转发功能,同时向外周期性地发送NR报文(不携带地址刷新信息)。环上的节点 收到NR报文后,读取报文中的节点号,发现节点C和节点D的节点号在集合Ω中有对应的 元素,然后检查NR报文获知没有地址刷新信息,环上的节点从集合Ω中删除节点C和节点 D的节点号。步骤406,判定协议报文是否指示地址刷新。如果是转入步骤407,否则转入步骤 408。步骤407,如果从协议报文中读取的节点号与集合Ω中的元素不相等并且协议报 文指示节点刷新地址转发表,该节点刷新地址转发表,同时将该节点号加入到集合Ω中。 如图5c所示,当环网由于链路<F,E>故障消失而非反转恢复后,链路<C,D>又发生了故障。 节点C和节点D阻塞与链路<C,D>相邻端口的数据报文的转发功能,同时向外周期性地发 送SF报文(携带地址刷新信息)。环上的节点首次收到SF报文后,读取报文中的节点号, 发现节点C和节点D的节点号不在集合Ω中有对应的元素,然后检查SF报文获知有地址 刷新信息,环上的节点刷新地址转发表,同时将节点C和节点D的节点号加入到集合Ω中。 环上节点对待后续的SF报文的处理方法同步骤404。步骤408,如果从协议报文中读取的节点号与集合Ω中的元素不相等并且协议报 文不指示节点刷新地址转发表,该节点不刷新地址转发表。如5b的右图所示,环上节点对节点C和节点D的发送的后续NR报文不给与处理(原因是后续NR报文中的节点号即不在 集合Ω中,也不包含地址刷新信息)。为了进一步说明本发明的方案,我们通过以下具体实施例进一步阐述本发明所述 的方法。以下对具体实施方式
进行详细描述,但不作为对本发明的限定。实施例一、某以太环网发生了单点故障,然后进行非反转恢复,然后另外一条链路 发生了故障。如图6(a)所示,环网各个节点开始处于IDLE状态,当链路<C,D>发生了故障,节 点C和D向外周期性地发送SF报文(如图6 (b)所示)。环上的节点首次收到SF报文后, 发现报文中的节点C和节点D的节点号不在集合Ω中,然后检查SF报文获得地址刷新信 息,该节点刷新地址转发表,并且将节点C和节点D的节点号加入到集合Ω中。当节点收 到后续的SF报文时,忽略SF报文中的地址刷新信息(原因是节点C和节点D的节点号已 经在集合Ω中)。如图6(c)所示,当<C,D>链路的故障消失,节点C和D继续阻塞原故障端口(现 在故障消失)的数据报文的转发,并周期性地向外发送NR(N0DE_ID)报文。节点D收到节 点C发送来的NR(N0DE_ID)报文后,发现节点C的节点号大(优先级高),节点D打开阻塞 的端口,并停止发送NR(N0DE_ID)报文。环上的节点收到NR(N0DE_ID)报文后,读取节点号, 发现节点C和节点D的节点号在集合Ω中,然后检查协议报文获知没有地址刷新信息,该 节点将集合Ω中的节点C和节点D的节点号删除。如图6(d)所示,环网的<F,Ε>链路发生故障,节点F和E阻塞故障端口的数据报 文的转发,并向外周期性地发送SF报文,节点E收到SF报文后打开阻塞端口。环上的节点 首次收到SF报文后,发现协议报文中的节点F和节点E的节点号不在集合Ω中,然后检查 SF报文获得地址刷新信息,该节点刷新地址转发表,并且将节点F和节点E的节点号加入到 集合Ω中。当节点收到后续的SF报文时,忽略SF报文中的地址刷新信息(原因是节点F 和节点E的节点号已经在集合Ω中)。实施例二、某以太环网发生了单点故障,然后进行反转恢复如图7(a)所示,链路<C,D>发生了故障了,环网对链路<C,D>的保护同实际举例 2。如图7(b)所示,节点C和D继续阻塞原故障端口(现在故障消失)的数据报文的 转发,并周期性地向外发送NR报文。控制节点A收到NR报文后,启动WTR定时器。环上的 节点收到报文后,读取节点号,发现节点C和节点D的节点号在集合Ω中,然后检查协议报 文获知没有地址刷新信息,该节点将集合Ω中与节点C和节点D的节点号相同的元素删 除。如图7(c)所示,当WTR定时器超时后,控制节点阻塞与环保护链路(RPL)相邻端 口的数据报文的转发,同时向外周期性地发送NR,RB报文(携带地址刷新信息),通知环上 的其它节点“环保护链路已经被阻塞”。环上的节点首次收到NR,RB报文后,发现报文中的 节点A的节点号不在集合Ω中,然后检查NR,RB报文获得地址刷新信息,该节点刷新地址 转发表,并且将节点A的节点号加入到集合Ω中。当节点收到后续的NR,RB报文时,忽略 后续报文中的地址刷新信息(原因是节点A的节点号已经在集合Ω中)。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟
7悉本领域的技术人员可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形 都应属于本发明所附的权利要求的保护范围。
权利要求
一种基于地址刷新报文发送源节点集的地址刷新方法,其特征在于以太环网的每个节点维护一个集合Ω,所述集合Ω包含的元素是节点号,所述节点号对应于发送带有指示刷新地址的协议报文的源环上节点,所述节点通过对收到的协议报文进行分析确定是否有新的节点号加入集合Ω,当且仅当有新的节点号加入集合Ω时,节点刷新地址转发表。
2.根据权利要求1所述的基于地址刷新报文发送源节点集的地址刷新方法,其特征在 于所述节点对收到的协议报文进行分析确定的方法如下情况1 如果从协议报文中读取的节点号不与集合Q的元素相等并且协议报文指示节 点刷新地址转发表,该节点刷新地址转发表,同时向集合Q添加读取的节点号;情况2 如果从协议报文中读取的节点号与集合Q的某个元素相等并且协议报文指示 节点刷新地址转发表,该节点忽略地址刷新信息,不刷新地址转发表;情况3 如果从协议报文中读取的节点号不与集合Q的元素相等并且协议报文没有指 示节点刷新地址转发表,该节点不刷新地址转发表;情况4 如果读取的节点号与集合Q的某个元素相等并且协议报文没有指示节点刷新 地址转发表,该节点从集合Q中删除与读取的节点号相同的元素。
全文摘要
本发明公布了一种基于地址刷新报文发送源节点集的地址刷新方法,以太环网的每个节点维护一个集合Ω,所述集合Ω包含的元素是节点号,所述节点号对应于发送带有指示刷新地址的协议报文的源环上节点,所述节点通过对收到的协议报文进行分析确定是否有新的节点号加入集合Ω,当且仅当有新的节点号加入集合Ω时,节点刷新地址转发表。本发明在不增加节点状态的情况下,不仅可以避免以太环网协议报文重复刷新地址转发表,而且还能够解决非反转恢复模式下的地址刷新问题,从而保证了以太环网在链路倒换后能够在50ms内收敛,大大提高了网络性能。
文档编号H04L12/56GK101895588SQ201010230408
公开日2010年11月24日 申请日期2010年7月19日 优先权日2010年7月19日
发明者王斌 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1