基于分组和网络编码的光网络双链路故障保护方法与流程

文档序号:12067681阅读:248来源:国知局
本发明涉及一种在光网络中的双路径故障保护方法。该方法使用分组和网络编码,在每组中提供额外的一条路径进行数据传输,在出现双链路故障时保证数据的正常传输。
背景技术
:随着网络技术的发展与业务种类的不断增加,因特网的规模不断扩大,网络流量以指数速度递增,这些都对网络带宽、传输速度,节点处理能力、网络稳定性提出了更高的要求。全光网络被认为是未来可以满足高速增长的带宽需求的网络。在光网络中,每个波长承载的传输容量可高达吉比特每秒,因此网络故障(如链路断裂、节点故障等)会导致大量业务的中断,从而带来不可估量的巨大经济损失。因此,光网络的抗毁技术已经成为一个研究热点。抗毁策略主要包括保护和恢复两大类。保护策略是指预先为业务分配好保护资源,同时使用正常资源和保护资源传输数据包的多个副本,当网络中出现故障的链路小于数据包传输的副本个数,则数据包可以正常传输,网络可以正常工作。恢复是指并不事先为业务分配预留的保护资源,当故障发生后,再动态地寻找网络中富余资源来承载受故障影响的业务。由于保护策略可满足实时业务的需求,因此很多研究基于保护策略。光分组交换网络中保护策略的基本思路是提供额外的保护路径传输数据包的副本。例如在1+1路径保护方法中,源节点在接收到要发送的数据包时,将此数据包进行复制,通过主路径(根据某种方法计算的最优路径)传输数据包,与此同时通过保护路径传输数据包的副本。一般地,数据包和其副本中的任意一个到达目的节点则该数据包传输成功。当网络中出现1条故障链路时,此方法可以保障网络中业务的正常传输。但是路径保护的方法产生了冗余的数据包,使得网络中的流量翻倍。为了减少冗余的数据包,网络编码技术被引用进来。网络编码的基本思路是将两个属于相近但不同的源-目的节点对的数据包副本进行编码,得到一个新的数据包。简单的编码方式如表1所示,将两个数据包对应的比特位按表1的规则进行相加,这样新得到的数据包的字节数是进行编码的两个数据包副本字节数总和的一半,可以减少一半的冗余数据包。具体实施方法如图1所示,节点A和节点B为源节点,节点C为目的节点,节点R为中继节点。节点A与节点C、节点B与节点C、节点A与节点R、节点B与节点R、节点R与节点C之间分别存在路径010、011、012、013和014。当数据包1到达节点A时,节点A沿路径010将此数据包传输向目的节点C,同时沿路径012将数据包1的副本发送给中继节点R。中继节点R中分别建立A-C节点对的缓存空间和B-C节点对的缓存空间。当数据包1的副本到达节点R时,节点R将检查B-C节点对的缓存空间,此时为空,因此节点R将数据包1的副本存储在A-C节点对的缓存空间中。当数据包2到达节点B时,节点B沿路径011将此数据包传输向目的节点C,同时沿路径013将数据包2的副本发送给中继节点R。当数据包2的副本到达节点R时,节点R将检查A-C节点对的缓存空间,此时缓存空间中有数据包1的副本,节点R从缓存空间中读取数据包1的副本,与数据包2的副本进行网络编码,得到数据包1+2,并将此数据包沿路径014传输向目的节点C。目的节点C接收到数据包1、数据包2、数据包1+2中的任意两个,可以正常工作。技术实现要素:本发明旨在提供一种光分组网络中的双链路故障保护方法,在网络中同时有两条链路出现故障的情况下可以保证网络中数据的正常传输,并在某些多链路故障的情况下可以保证网络中数据的正常传输。技术方案如下:一种基于分组和网络编码的光网络双链路故障保护方法,包括下列步骤:(1)将源-目的节点对按目的节点进行分组,每组中包含目的节点相同的3个源-目的节点对,要求这3个节点对的源节点形成树状结构或者环状结构,形成3个主路径,并且有一条中继路径连接个源节点和目的节点,此中继路径和3个主路径不经过相同的链路;(2)每个源节点向目的节点发送其自身的数据包及同组另一个源节点产生的数据包的副本,这样分组中的每个数据包将通过2条主路径传输向目的节点。同时源节点将数据包传输向中继路径,中继路径中的节点将收到的3个源节点传输的不同数据包进行网络编码,之后将编码得到的新的数据包传输向目的节点;(3)目的节点收到7个数据包,其中一个进行过网络编码的数据包,以及3个原始数据包及其各自的副本。本发明的有益效果如下:(1)在双链路故障的情况下可以保证网络的正常传输;(2)在某些多链路故障的情况下可以保证网络的正常传输;(3)每个分组仅需要一条中继链路。附图说明图1不同源节点相同目的节点的节点对网络编码示意图图2光核心网络拓扑图图3分组示意图:源目的节点A、B、C、E、F、G分为2组,节点A、B和E一组(分组1),节点C、F和G一组(分组2)。图4分组1主路径和中继路径示意图图5分组1数据包传输示意图具体实施方式下面结合附图对本发明的技术方案进行详细说明:本发明的具体方法如下:1.将源-目的节点对按目的节点进行分组,每个分组有3个目的节点相同的节点对。要求这3个节点对的源节点形成树状结构或者环状结构,并且有一条中继路径连接3个源节点和目的节点(目的节点在中继路径最后一跳),中继路径和3个主路径不经过相同的链路。每个分组可以独立传输其数据。以下任取1个分组讨论其中数据包传输方法。2.将3个源节点分别标记为A,B,C,目的节点标记为D。节点A发送节点对A-D和B-D的数据包,节点B发送节点对B-D和C-D的数据包,节点C发送节点对C-D和A-D的数据包。3.当节点对A-D的数据包到达源节点A时,节点A复制数据包。之后将数据包通过节点对A-D的主路径传输向节点D,将数据包的一个副本传输向节点C(如A和C直接相连则通过相连链路传输,如不直接相连先传输向节点B,之后节点B将此数据包传输向节点C),并将数据包的另一个副本沿中继路径传输。4.当节点对B-D的数据包到达源节点A时,节点A将此数据包沿节点对A-D的主路径传输向节点D。当节点对C-D的数据包到达源节点A时,节点A将此数据包沿A-B的连接链路传输给节点B。5.到达节点B的数据包和到达C节点的数据包按照步骤3-4的规则进行相应处理。6.在中继路径上,当相应节点接收到不同源节点发送的数据包时,进行网络编码,然后把经过编码的数据包发送到目的节点。7.在目的节点,如果其相连的任意2条主路径正常传输时,目的节点可以正常收到3个节点对的数据包。如果其相连的主路径中只有一条可以正常工作,中继路径正常工作,则目的节点通过解码可以得到3个原始的数据包,则这个分组同样可以正常工作。在如图2所示的光核心网络中,有7个节点和12条链路。其中节点A、B、C、E、F和G为源节点,节点D为目的节点。网络中共有6个节点对,分别为A-D、B-D、C-D、E-D、F-D和G-D,可以把这六个节点对按照技术方案中的第一步分为2组,如图3所示。分组1包括节点对A-D、B-D和E-D,分组2中包括节点对C-D、F-D和G-D。由于每个分组单独处理其数据,因此以分组1为例对后续技术方案进行详细说明。在分组1中,如图4所示,源节点A到目的节点D的主路径为链路003,源节点B到目的节点D的主路径为链路004,源节点E到目的节点的主路径为链路006,分组1的中继路径为链路012、002、008、007、010、009。节点C和F是分组1的中继节点,在节点C中,从源节点A和B传输过来的数据包进行按表1所示规则进行网络编码,得到的新的数据包将在节点F与从源节点E传输过来的数据包按表1所示规则进行网络编码,并将最终得到的数据包经过链路010和009传输向目的节点D。确保3条主路径和中继路径没有经过相同链路。表1简单的网络编码规则,将两个数据对应的比特进行相加数据1数据2新得到的数据000011101110如图5所示,在分组1的源节点A、B、E分别有新到达的数据包1、数据包2和数据包3,3个数据包的目的节点均为节点D。源节点A复制数据包1,之后将数据包1沿链路003传输向目的节点,将数据包1的一个副本沿链路001、005传输向另一个源节点C,并将数据包2的另一个副本沿链路012传输向中继节点C。源节点A收到节点B传输过来的数据包2的一个副本,沿链路003将此副本传输向目的节点D。源节点B复制数据包2,之后将数据包2沿链路004传输向目的节点D,将数据包2的一个副本沿链路001传输向节点A,并将数据包2的另一个副本沿链路002传输向中继节点C。源节点B收到节点C传输过来的数据包3的一个副本,沿链路004将此副本传输向目的节点D。中继节点C接收到数据包1的副本和数据包2的副本,将其按照表1的规则进行网络编码,得到新的数据包1+2,并将此数据包沿链路008传输向另一个中继节点F。源节点E复制数据包3,之后将数据包3沿链路006传输向目的节点D,将数据包3的一个副本沿链路005传输向节点B,并将数据包3的另一个副本沿链路007传输向中继节点F。源节点E收到节点A传输过来的数据包1的一个副本,沿链路006将此副本传输向目的节点D。中继节点F接收到数据包1+2和数据包3的副本,将其按照表1的规则进行网络编码,得到新的数据包1+2+3,此数据包也可通过表2的规则将数据包1、数据包2、数据包3直接进行网络编码得到。中继节点F将新的到的数据包1+2+3沿链路010、009传输向目的节点D。表2简单的网络编码规则,将三个数据对应的比特进行相加在图5中,分组1的网络中出现单链路故障时,可以正常工作。网络中出现2条链路故障时,可以分为以下3大类(以节点A所连链路为例),均可正常工作:(1)如果链路012和链路003故障(确保链路001、004、005和006正常工作,其他链路故障或者正常工作均可),则数据包1的副本可以通过链路001、005、006传输到目的节点D,数据包2和数据包3分别可以通过链路、004、006传输到目的节点,分组1网络可以正常工作。(2)如果链路001和003故障(确保链路002、004、006、007、008、009、010和012正常工作,其他链路故障或者正常工作均可),则目的节点D可通过链路004接收到数据包2、通过链路006接收到数据包3、通过链路009接收到数据包1+2+3,则按照表2的规则进行反向解码,可得到数据包1,分组网络可正常工作。(3)如果链路003和链路004故障(确保链路001、002、005、006、007、008、009、010和012正常工作,其他链路故障或者正常工作均可),则目的系节点D可通过链路006接收到数据包3和数据包1的副本,通过链路009接收到数据包1+2+3,则按照表2的规则进行反向解码,可得到数据包2,分组网络可正常工作。分组网络中出现3条或以上链路故障时,如果某个源节点所连的所有链路全部故障,则分组无法正常工作。例如如果节点A所连3条链路001、003和012均出现故障,则节点A的数据包无法向外界发送,则分组1无法正常工作。如果故障链路集中在(1)某条主路径、或者(2)某两条主路径、或者(3)某条主路径和中继路径时,分组1的网络还是可以正常工作的。如果3条主路径和中继路径中的3条路径均出现故障时,分组1的网络无法正常工作。通过分析故障对所有分组的影响,可以得到故障对整个网络的影响。本发明提出的方法可以在双链路故障的情况下确保网络的正常运行。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1