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

文档序号:11147237阅读:333来源:国知局
基于网络编码和路径保护的光网络单链路故障保护方法与制造工艺
本发明涉及一种在光网络中的冗余路径保护方法,属于通信
技术领域

背景技术
:伴随着现代社会的高度信息化,Internet的规模不断扩大,同时,网络业务种类不断增加,音频和视频相结合的多媒体技术所占的比例越来越大,导致Internet的流量正在以指数速度递增,这些都对网络带宽和交换系统容量提出了更高的要求。全光网络被认为是未来可以满足高速增长的带宽需求的网络。由于在光网络中每个波长承载的传输容量可高达吉比特每秒,网络故障(如链路断裂、节点故障)会导致大量业务中断,从而带来不可估量的经济损失。因此,WDM光网络的抗毁技术已经成为一个研究热点。抗毁策略主要包括保护和恢复两大类。保护是指事先为业务分配好预留的保护资源,故障发生时,业务可以由预留的保护资源承载。恢复是指并不事先为业务分配预留的保护资源,当故障发生后,再动态地寻找网络中富余资源来承载受故障影响的业务。由于保护策略具有快速的故障恢复时间而满足实时业务的需求,因此很多研究基于保护策略。目前光网络中的交换技术主要有光路交换(opticalcircuitswitching,OCS),光分组交换(opticalpacketswitching,OPS),光突发交换(opticalburstswitching,OBS)和光流交换(opticalflowswitching,OFS)等基本交换技术。其中,光突发交换和光流交换可应用于光电混合网络,是全光网络实现之前的过渡技术。在OCS网络中,由于在传输数据前会先建立光路,因此可以很快的检测到故障发生并使用其他路径建立光路传输数据。在OBS和OPS网络中,故障并不能被源节点很快的探知,因此源节点会继续向故障链路或节点发送数据,从而造成大量的数据包丢失。因此本发明提出的保护机制主要作用于光突发交换和光分组交换。为了便于表述,OBS网络中的突发包与OPS网络中的数据报统称为数据包,因此一个数据包中包含1个或多个数据报。在光突发交换网络和光分组网络中的传统路径保护机制主要有1+1路径保护,1:1路径保护和1+N路径保护。下面对这几种方法逐一进行分析。(1)1:1路径保护。在每一个源节点和目的节点之间,都存在两条可达的路径。源节点在发送每一个数据包之前,都会对此突发进行判断,判断此数据包的业务级别,并选择地将高级别数据包发送到主要路径,将低级别数据包发送到备用路径。当主要路径出现故障,高级别数据包只能选择通过备用路径传输,此时低级别数据包的传输被终止,保护了网络中高级别数据包的传输。(2)1+1路径保护。在每一个源节点和目的节点之间,都存在两条可达的路径。其中主要路径是网络根据某种方法计算的最优路径,保护路径是这种方法下的次优路径。源节点在发送每一个数据包之前,都会对此数据包进行复制,得到两个此数据包的副本,这两个副本分别通过主要路径和保护路径同时传输,一般地,两个副本中的任意一个到达目的节点则该数据包传输成功。当网络中出现1条故障链路时,此方法可以保障网络中业务的正常传输。网络编码可以减少保护机制产生的冗余数据包,主要的基于网络编码技术的保护机制可以分为3种,以下逐一分析。(1)相同源节点和相同目的节点的节点对进行编码。如图1所示,节点A和节点B之间存在3条路径010、011和012。节点A中存在2个缓存器,分别用来存储沿路径010和011进行传输但还未进行编码的数据包,初始时缓存器为空。数据包1到达源节点A时,将检查011路径的缓存器,如果为空,数据包1将在010路径的缓存器中存储一个副本,之后沿010路径向目的节点B传输。数据包2到达节点A时,将检查010路径的缓存器,此时缓存器中存在数据包1的副本,数据包2沿路径011向目的节点B传输,同时节点A将数据包1和数据包2进行网络编码,得到数据包1+2,数据包1+2将沿012路径向目的节点B传输。之后到达的数据包将按此规律交替使用路径010和011进行传输,经过网络编码的数据包将沿路径012进行传输。如果路径010或者011发生链路故障,节点B将收到一个正常的数据包和一个经过网络编码的数据包,则节点B可以通过解码得到未收到的数据包。如果路径012发生链路故障,节点B可以正常收到所有数据包。(2)不同源节点和相同目的节点的节点对进行编码。如图2所示,节点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中的任意两个,可以正常工作。(3)不同源节点和不同目的节点的节点对进行编码。如图3所示,节点A和节点B为源节点,节点C和节点D为目的节点,节点R1和节点R2为中继节点。R2与节点C和节点D距离接近,可认为R2到C的路径015和R2到D的路径016无故障传输。当数据包1到达节点A时,节点A沿路径010将此数据包传输向中继节点R2,同时沿路径012将数据包1的副本发送给中继节点R1。中继节点R1中分别建立A-R2节点对的缓存空间和B-R2节点对的缓存空间。当数据包1的副本到达节点R1时,节点R1将检查B-R2节点对的缓存空间,此时为空,因此节点R1将数据包1的副本存储在A-R2节点对的缓存空间中。当数据包2到达节点B时,节点B沿路径011将此数据包传输向中继节点R2,同时沿路径013将数据包2的副本发送给中继节点R1。当数据包2的副本到达节点R1时,节点R1将检查A-R2节点对的缓存空间,此时缓存空间中有数据包1的副本,节点R1从缓存空间中读取数据包1的副本,与数据包2的副本进行网络编码,得到数据包1+2,并将此数据包沿路径014传输向中继节点R2。中继节点接收到数据包1、数据包2、数据包1+2中的任意两个,即可正常解码得到数据包1和数据包2,之后数据包1沿路径015传输向其目的节点C,数据包2沿路径016传输向其目的节点D。网络编码技术可以减少网络中的冗余数据,例如在方法(1)中,网络编码可以减少一半的保护数据包。但是由于数据包的副本需要在缓存器中等待其对应路径上的新数据包进行编码,保护数据包的端到端时延会增加。其次,在方法(2)和(3)中,如果进行编码的两条路径中的流量相差较大,其中流量较大的路径中的数据包会在缓存器中积累,最终造成缓存溢出。技术实现要素:本发明旨在提供一种光突发网络和光分组网络中的单链路故障保护方法,在网络链路出现单链路故障的情况下可以保证网络中数据的正常传输,同时减少网络中由于保护机制产生的冗余数据包,减少数据包端到端时延及节点缓存空间,降低网络中堵塞情况发生的概率。尤其适用于网络中节点对流量不平均的情况,对网络中的多种流量情况适应性较强。本发明的技术方案如下:一种基于网络编码和1+1路径保护的光网络单链路故障保护方法,采用1+1路径保护和网络编码相结合的方法,由中继节点担任网络编码的任务;当某个节点对的缓存器发生溢出现象时,直接将缓存最久的数据包沿保护路径传输,此时使用的是1+1路径保护方法;在数据包的包头位置设置一个标识位表示数据包是不是经过网络编码,如果此标识位为1,则说明这个数据包经过了网络编码,如果为0表示未经过网络编码,目的节点接收到沿保护路径传输的数据包,读取包头信息,判断此数据包类型是否经过网络编码,并进行相应处理;对于不同源节点相同目的节点对进行编码的保护网络,包括以下步骤:(1)当数据包到达源节点时,源节点复制数据包,之后将数据通过源-目的节点对的路径将数据包向目的节点发送,并将数据包的副本发送向中继节点;(2)当数据包的副本到达中继节点时,(a)如果对应编码的节点对无缓存的副本,而数据包所属的源-目的节点对的缓存器还有位置,则数据包的副本被存储在缓存器中;(b))如果对应编码的节点对无缓存的副本,而缓存器已经全满,则中继节点读取缓存最久的数据包副本,不经过网络编码直接将此数据包副本传输给目的节点,并在包头位置将是否经过网络编码标识位设置为0;(c)如果对应编码的节点对有缓存中的副本,则中继节点读取缓存最久的数据包副本,和新到达的数据包副本进行网络编码,将得到的数据包的包头中的是否经过网络编码标识位设置为1,并将此数据包传输向目的节点;(3)目的节点接收到中继节点发送的数据包,读取包头,(a)如果包头中是否经过网络编码标识位为0,则按照1+1路径保护的规则,此数据包和源节点发送的数据包中的任意一个成功到达目的节点则数据包传输成功;(b)如果包头中是否经过网络编码标识位为1,则按照网络编码的方式处理,两个原始的数据包和经过网络编码的数据包中的任意2个到达目的节点则两个数据包传输成功;对于不同源节点不同目的节点的节点对进行编码的保护网络,包括以下步骤:(1)在靠近2个源节点的位置有一个中继节点,称为前中继节点;在靠近2个目的节点的位置有1个中继节点,称为后中继节点;(2)当数据包到达源节点时,源节点复制数据包,之后将数据通过源-后中继节点对的路径将数据包向后中继节点发送,并将数据包的副本发送向前中继节点;(3)当数据包的副本到达前中继节点时,(a)如果对应编码的节点对无缓存的副本,而数据包所属的源-后中继节点对的缓存器还有位置,则数据包的副本被存储在缓存器中;(b))如果对应编码的节点无缓存的副本,而缓存器已经全满,则前中继节点读取缓存最久的数据包副本,不经过网络编码直接将此数据包副本传输给后中继节点,并在包头位置将是否经过网络编码标识位设置为0;(c)如果对应编码的节点对有缓存中的副本,则前中继节点读取缓存最久的数据包副本,和新到达的数据包副本进行网络编码,将得到的数据包的包头中的是否经过网络编码标识位设置为1,并将此数据包传输向后中继节点;(4)后中继节点接收到中继节点发送的数据包,读取包头,(a)如果包头中是否经过网络编码标识位为0,则按照1+1路径保护的规则,此数据包和源节点发送的数据包中的任意一个成功到达后中继节点则数据包传输成功,将此传输成功的数据包向对应的目的节点传输;(b)如果包头中是否经过网络编码标识位为1,则两个原始的数据包和经过网络编码的数据包中的任意2个到达目的节点则两个数据包传输成功,将两个数据包向对应的目的节点传输。本发明的有益效果如下:(1)在单链路故障的情况下可以保证网络的正常传输;(2)减少中继节点所需缓存空间的大小;(3)减少数据包进行网络编码前的等待时间,从而减少确保数据包成功传输整体所需的处理时间(从数据包到达源节点到目的节点确保数据包成功传输所用的时间)。(4)在节点对的流量不对称的情况下保证中继节点的缓存器不会发生溢出现象从而在中继节点产生不必要的丢包。附图说明图1相同源节点相同目的节点的节点对网络编码示意图图2不同源节点相同目的节点的节点对网络编码示意图图3不同源节点相同目的节点的节点对网络编码示意图图4本发明在不同源节点相同目的节点对进行编码的保护网络中的实施方案,(a)(b)(c)分别为不同的节点对图5本发明在不同源节点不同目的节点对进行编码的保护网络中的实施方案,(a)(b)(c)分别为不同的节点对具体实施方式下面结合附图对本发明的技术方案进行详细说明:(1)不同源节点相同目的节点对进行编码的保护网络如图4所示的光核心网络中,节点A、B、C、R为6个不同的核心节点,这些节点具有源节点、目的节点和中继节点的功能。R作为节点对A-C、B-C的中继节点,如图4所示,R中存在节点对A-C、B-C相对应的缓存空间,每个空间最多可以缓存5个数据包。中继节点需要选择与节点A和节点B都是邻居的节点。单向链路010连接核心节点A和C,箭头表示其中数据流方向为从A到C。链路011-014均为单向链路,其中数据流方向如箭头所示。数据包1为新到达节点A的数据包,其目的节点为节点C。节点A将数据包1进行复制,读取数据包1的包头,确定目的节点C,通过转发表确定下行链路010,查询链路010中是否有空闲信道。如果链路010中有空闲信道,则随机选择一条空闲信道并将数据包1沿此信道向目的节点C传输。如果链路010故障,则无空闲信道。如果链路010中没有空闲信道,节点A丢弃数据包1。之后节点A通过转发表确定数据包1的副本的下行链路为链路012,查询链路012中是否有空闲信道。如果链路012中有空闲信道,则随机选择一条空闲信道并将数据包1的副本沿此信道向中继节点R传输。如果链路012故障,则无空闲信道。如果链路012中没有空闲信道,节点A丢弃数据包1的副本。节点R接收到数据包1的副本时,将首先检查节点对B-C相对应的缓存空间。如果此缓存空间中有正在缓存的数据包副本,如图4(b)中所示,则节点R读取节点对B-C缓存空间1中的数据包副本,并将此数据包副本中包含的报文和数据包1的副本中包含的报文进行网络编码。最简单的网络编码方式为将两个数据对应比特进行相加,如表1所示。之后节点R为新的到的数据添加IP包头,形成新的数据包,在IP包头位置中源IP地址设置为节点A的IP地址,在option中增加是否经过网络编码标识位,并设置为1,并记录两个进行编码的报文的序号(sequencenumber)。之后节点R准备传输新得到的数据包。节点R通过转发表确定下行链路014,查询链路014中是否有空闲信道。如果链路014中有空闲信道,则随机选择一条空闲信道并将新的数据包沿此信道向目的节点C传输。如果链路014中没有空闲信道(故障或者全部使用),节点R丢弃新的数据包。表1简单的网络编码规则,将两个数据对应的比特进行相加数据1数据2新的到的数据000011101110如果节点对B-C相对应的缓存空间中并没有正在缓存的数据包副本,节点对A-C相对应的缓存空间中还有位置,如图4(a)中所示,则节点R把数据包1的副本保存在节点对A-C相对应的缓存空间2。如果节点对B-C相对应的缓存空间中并没有正在缓存的数据包副本,节点对A-C相对应的缓存空间全部被使用,如图4(c)中所示,则节点R读取节点对A-C相对应的缓存空间中缓存最久的数据包副本,并把数据包1的副本保存在空出的缓存空间中。读取出的数据包副本IP包头位置中增加是否经过网络编码标识位,并设置为0,之后节点R准备传输这个数据包副本。节点R通过转发表确定下行链路014,查询链路014中是否有空闲信道。如果链路014中有空闲信道,则随机选择一条空闲信道并将这个数据包副本沿此信道向目的节点C传输。如果链路014中没有空闲信道(故障或者全部使用),节点R丢弃这个数据包副本。在目的节点C中,如果C通过链路010接收到数据包1,则数据包1传输成功。如果C没有从链路010中接收到数据包1,但通过链路014中接收到数据包1的副本,其中IP包头位置是否经过网络编码标识位为0,则数据包1同样传输成功。如果C没有从链路010中接收到数据包1,但通过链路014中接收到数据包1经过网络编码之后的数据包,并通过链路011接收到与数据包1进行网络编码的另一个数据包,则通过解码可以得到数据包1,此时数据包1同样传输成功。(2)不同源节点不同目的节点对进行编码的保护网络如图5所示的光核心网络中,节点A、B、C、R为6个不同的核心节点,这些节点具有源节点、目的节点和中继节点的功能。R1和R2作为节点对A-C、B-D的中继节点,如图4所示,R1中存在节点对A-C、B-D相对应的缓存空间,每个空间最多可以缓存5个数据包。中继节点R1需要选择与节点A和节点B都是邻居的节点,中继节点R2需要选择与节点C和节点D都是邻居的节点,同时假设节点R2到C和D的链路不会出现故障。单向链路010连接核心节点A和R2,箭头表示其中数据流方向为从A到C。链路011-014均为单向链路,其中数据流方向如箭头所示。数据包1为新到达节点A的数据包,其目的节点为节点C。节点A将数据包1进行复制,读取数据包1的包头,确定目的节点C,通过转发表确定下行链路010,查询链路010中是否有空闲信道。如果链路010中有空闲信道,则随机选择一条空闲信道并将数据包1沿此信道向中继节点R2传输。如果链路010故障,则无空闲信道。如果链路010中没有空闲信道,节点A丢弃数据包1。之后节点A通过转发表确定数据包1的副本的下行链路为链路012,查询链路012中是否有空闲信道。如果链路012中有空闲信道,则随机选择一条空闲信道并将数据包1的副本沿此信道向中继节点R1传输。如果链路012故障,则无空闲信道。如果链路012中没有空闲信道,节点A丢弃数据包1的副本。节点R1接收到数据包1的副本时,将首先检查节点对B-D相对应的缓存空间。如果此缓存空间中有正在缓存的数据包副本,如图5(b)中所示,则节点R1读取节点对B-D缓存空间1中的数据包副本,并将此数据包副本中包含的报文和数据包1的副本中包含的报文进行网络编码。最简单的网络编码方式为将两个数据对应比特进行相加,如表1所示。之后节点R1为新的到的数据添加IP包头,形成新的数据包,在IP包头位置中源IP地址设置为节点A的IP地址,在option中增加是否经过网络编码标识位,并设置为1,同时记录两个进行编码的报文的序号(sequencenumber)。之后节点R1准备传输新得到的数据包。节点R1通过转发表确定下行链路014,查询链路014中是否有空闲信道。如果链路014中有空闲信道,则随机选择一条空闲信道并将新的数据包沿此信道向中继节点R2传输。如果链路014中没有空闲信道(故障或者全部使用),节点R1丢弃新的数据包。如果节点对B-D相对应的缓存空间中并没有正在缓存的数据包副本,节点对A-C相对应的缓存空间中还有位置,如图5(a)中所示,则节点R1把数据包1的副本保存在节点对A-C相对应的缓存空间2。如果节点对B-D相对应的缓存空间中并没有正在缓存的数据包副本,节点对A-C相对应的缓存空间全部被使用,如图5(c)中所示,则节点R1读取节点对A-C相对应的缓存空间中缓存最久的数据包副本,并把数据包1的副本保存在空出的缓存空间中。读取出的数据包副本IP包头位置中增加是否经过网络编码标识位,并设置为0,之后节点R准备传输这个数据包副本。节点R1通过转发表确定下行链路014,查询链路014中是否有空闲信道。如果链路014中有空闲信道,则随机选择一条空闲信道并将这个数据包副本沿此信道向中继节点R2传输。如果链路014中没有空闲信道(故障或者全部使用),节点R1丢弃这个数据包副本。在中继节点R2中,如果C通过链路010接收到数据包1,则数据包1成功传输到R2。如果C没有从链路010中接收到数据包1,但通过链路014中接收到数据包1的副本,其中IP包头位置是否经过网络编码标识位为0,则数据包1同样成功传输到R2。如果R2没有从链路010中接收到数据包1,但通过链路014中接收到数据包1经过网络编码之后的数据包,并通过链路011接收到与数据包1进行网络编码的另一个数据包,则通过解码可以得到数据包1,此时数据包1同样成功传输到R2。R2成功得到数据包1后,通过转发表确定下行链路015,查询链路015中是否有空闲信道。如果链路015中有空闲信道,则随机选择一条空闲信道并将这个数据包副本沿此信道向目的节点传输。如果链路015中没有空闲信道(故障或者全部使用),节点R2丢弃这个数据包副本。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1