技术领域
本发明涉及通信技术领域,特别涉及一种保护倒换方法、网络设备及系统。
背景技术
灵活以太网(Flexible Ethernet,FlexE)是一种基于以太网的改进型网络。
请参考图1,其示例性示出了一种FlexE的网络架构。第一网络设备11和第二网络设备12之间建立有多条链路,这些链路组成一个FlexE链路组,这些链路用于承载至少一个客户业务。由于一个客户业务可通过多条链路传输,因此具备更高的灵活性。
在目前的FlexE标准中,并没有定义相关的保护倒换机制。一个FlexE链路组中如果有一条链路出现故障,则整个FlexE链路组停止工作,这会造成大面积的业务中断。
现有的以太网中的保护倒换机制如下:预先配置一条专用的保护链路,该保护链路用于当其它链路出现故障时,将在出现故障的链路上传输的业务数据切换到保护链路上传输,以避免业务中断。
如果将现有技术中以太网的保护倒换机制应用于FlexE中,在FlexE链路组中指定一条链路作为专用的保护链路,当FlexE链路组中除保护链路之外的其它链路出现故障时,将在出现故障的链路上传输的客户业务切换到保护链路上传输,虽然能够避免因一条链路出现故障而导致整个FlexE链路组停止工作的问题,但是由于需要指定一条专用的保护链路,该保护链路会占用一定的带宽资源,当没有链路出现故障时这条保护链路上并没有客户业务需要传输,其处于空闲状态,造成带宽资源浪费。
发明内容
本发明实施例提供了一种保护倒换方法、网络设备和系统,用以解决FlexE中无法进行业务保护倒换的问题。
一方面,本发明实施例提供一种保护倒换方法,该方法包括:若FlexE链路组中存在n条承载了客户业务的链路不可用,则第一网络设备从FlexE链路组中除上述n条链路之外的其它链路中选择至少一条链路作为保护链路;其中,保护链路提供的带宽大于或等于客户业务的带宽,FlexE链路组包括逻辑上捆绑的多条链路,n为正整数;第一网络设备通过保护链路向第二网络设备发送协商请求;第二网络设备在接收到协商请求之后,通过保护链路向第一网络设备发送协商响应;第一网络设备在接收到协商响应之后,将在n条链路上传输的客户业务切换到保护链路上传输。
本发明实施例提供的方案中,当FlexE链路组中存在n条链路不可用时,通过从FlexE链路组中除上述n条链路之外的其它链路中选择至少一条链路作为保护链路,将在上述n条链路上传输的客户业务的数据切换到保护链路上传输,一方面可以避免因一条链路出现故障而导致整个FlexE链路组停止工作的问题,满足了FlexE对保护倒换的应用需求;另一方面由于无需在FlexE链路组中预留专用链路作为保护链路,采用按需选择保护链路的方式能够有效解决资源浪费的问题,有助于节省带宽资源。
在一个可能的设计中,第一网络设备选择至少一条链路作为保护链路之后,还包括:若n条链路上存在已分配给客户业务的p个第一时隙,则第一网络设备在保护链路的可用时隙中选择p个第二时隙分配给客户业务,该p个第二时隙用于传输上述客户业务,p为正整数。相应地,协商请求中携带切换到保护链路的客户业务的标识以及第二时隙的标识。
通过上述方式,实现了FlexE链路组中的时隙管理与切换。
在另一个可能的设计中,该方法还包括:第一网络设备确定变更FlexE链路组中的链路,变更FlexE链路组中的链路包括删除和/或增加FlexE链路组中的链路;第一网络设备通过变更后的FlexE链路组中的每一条链路,向第二网络设备发送变更请求;第二网络设备在接收到变更请求之后,通过变更后的FlexE链路组中的每一条链路,向第一网络设备发送变更响应;当第一网络设备接收到由第二网络设备通过变更后的FlexE链路组中的每一条链路发送的变更响应时,第一网络设备确定FlexE链路组中的链路变更成功。
通过上述方式,实现了对FlexE链路组中的链路进行变更,包括删除和增加FlexE链路组中的链路,无需网管设备或管理员的介入,实现自动化地进行链路变更。
在又一个可能的设计中,第二网络设备接收变更请求之后,还包括:第二网络设备检测变更请求是否符合预设条件;若变更请求符合预设条件,则第二网络设备执行上述通过变更后的FlexE链路组中的每一条链路,向第一网络设备发送变更响应的步骤。
通过上述方式,对变更请求进行校验,确保链路变更的准确性。
在又一个可能的设计中,变更请求为携带有请求标识的FlexE信息帧,变更响应为携带有响应标识的FlexE信息帧。
通过上述方式,对FlexE信息帧中的字段进行扩展,通过扩展的字段来携带请求标识以指明变更请求,或通过扩展的字段来携带响应标识以指明变更响应。
另一方面,本发明实施例提供的一种链路管理方法,该方法包括:第一网络设备确定变更FlexE链路组中的链路,变更FlexE链路组中的链路包括删除和/或增加FlexE链路组中的链路;第一网络设备通过变更后的FlexE链路组中的每一条链路,向第二网络设备发送变更请求;第二网络设备在接收到变更请求之后,通过变更后的FlexE链路组中的每一条链路,向第一网络设备发送变更响应;当第一网络设备接收到由第二网络设备通过变更后的FlexE链路组中的每一条链路发送的变更响应时,第一网络设备确定FlexE链路组中的链路变更成功。
本发明实施例提供的方案中,实现了对FlexE链路组中的链路进行变更,包括删除和增加FlexE链路组中的链路,无需网管设备或管理员的介入,实现自动化地进行链路变更。
再一方面,本发明实施例提供一种网络设备,该网络设备具有实现上述方法示例中第一网络设备侧或第二网络设备侧行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
在一个可能的设计中,网络设备的结构中包括处理器和通信接口,所述处理器被配置为支持网络设备执行上述方法中相应的功能。所述通信接口用于支持网络设备与其他网络设备之间的通信。进一步的,网络设备还可以包括存储器,所述存储器用于与处理器耦合,其保存网络设备必要的程序指令和数据。
又一方面,本发明实施例提供一种保护倒换系统,该系统包括上述方面所述的第一网络设备和第二网络设备。
又一方面,本发明实施例提供一种计算机存储介质,用于储存为上述第一网络设备和/或第二网络设备所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
附图说明
图1是示例性示出的一种FlexE的网络架构;
图2是示例性示出的一种保护倒换的示意图;
图3是本发明一个实施例提供的保护倒换方法的流程图;
图4是示例性示出的一种FlexE链路组中时隙管理与切换的示意图;
图5是示例性示出的一种FlexE链路组中时隙管理与切换的时序图;
图6是本发明一个实施例提供的链路管理方法的流程图;
图7是示例性示出的一种删除FlexE链路组中的链路的示意图;
图8是示例性示出的一种删除FlexE链路组中的故障链路的时序图;
图9是示例性示出的一种链路管理流程和保护倒换流程的示意图;
图10A是本发明实施例提供的一种网络设备的示意性框图;
图10B是本发明实施例提供的一种网络设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例描述的网络架构以及业务场景是为了更加清楚地说明本发明实施例的技术方案,并不构成对本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
本发明实施例提供的技术方案可适用于图1所示的一种FlexE的网络架构中。该网络架构包括:第一网络设备11和第二网络设备12。
网络设备(例如第一网络设备11、第二网络设备12等)可以是具备数据收发功能的设备,例如路由器、交换机等。
第一网络设备11和第二网络设备12之间具有至少一个FlexE链路组,每一个FlexE链路组包括逻辑上捆绑的多条链路。所谓的逻辑上捆绑,可以不存在物理连接关系,因此,FlexE链路组中的多条链路在物理上可以是独立的。本发明实施例中涉及的链路可以是以太网物理链路,例如光纤。在本发明实施例中,对每一条链路提供的带宽不作限定,示例性地,每一条链路提供的带宽为100G。FlexE的网络设备可以通过链路的编号来标识一个FlexE链路组中包含哪些链路,来实现多条链路的逻辑捆绑。例如,每一条链路的编号可用1-254之间的一个数字来标识,0和255为保留数字。一个链路的编号可对应网络设备上的一个端口。第一网络设备11和第二网络设备12两端需采用相同的编号来标识同一条链路。一个FlexE链路组中包括的各条链路的编号不必是连续的。在通常情况下,两个网络设备之间具有一个FlexE链路组,但本发明实施例并不限定两个网络设备之间也可以具有多个FlexE链路组。一条链路可用于承载至少一个客户业务,一个客户业务可在至少一条链路上传输。在FlexE标准中,客户业务可以称为Client。
在一个示例中,如图2所示,假设第一网络设备和第二网络设备之间具有4条链路,分别为链路1、链路2、链路3和链路4,这4条链路在逻辑上捆绑形成一个FlexE链路组。假设该FlexE链路组中每条链路的带宽均为100G,则可以按照5G的时隙粒度,将带宽为400G的FlexE链路组划分为80个5G的时隙。可选地,还可以按照其他的时隙粒度进行划分,本发明不作限定。某一个客户业务的带宽为20G,该20G带宽被划分成4个5G带宽并通过4个时隙传输,其中2个时隙分配在链路1上,另外2个时隙分配在链路4上。采用本发明实施例提供的技术方案,假设当链路4因出现故障而不可用时,由于链路4上有2个时隙承载有客户业务,可以从其它未出现故障的链路中选择时隙来替换这2个时隙,例如分别用链路2上的一个时隙和链路3上的一个时隙替换这2个时隙,从而实现保护倒换。如果链路4上承载多个客户业务,则需为该多个客户业务中的每一个客户业务提供上述保护倒换。
下面将基于上面所述的本发明实施例涉及的共性方面,对本发明实施例进一步详细说明。
请参考图3,其示出了本发明一个实施例提供的保护倒换方法的流程图。该方法可以包括如下几个步骤。
步骤301,若FlexE链路组中存在n条承载了客户业务的链路不可用,则第一网络设备从FlexE链路组中除上述n条链路之外的其它链路中选择至少一条链路作为保护链路,n为正整数。
在本发明实施例中,当n条承载了客户业务的链路不可用时,需要将该n条链路中承载的客户业务切换到保护链路中。n条链路中可以承载一个客户业务,也可以承载多个客户业务。当n条不可用链路承载了多个客户业务时,可以将多个客户业务全部切换到保护链路中。可以不需要预先指定的一条专用的链路作为保护链路,而是从FlexE链路组的可用链路中选取至少一条链路作为保护链路。其中,可用链路可以是处于正常工作状态的链路,或者是没有发生故障的链路。所选择的保护链路提供的带宽大于或等于上述不可用的n条链路所承载的客户业务的带宽。其中,所选择的保护链路提供的带宽是指所选择的保护链路的可用带宽,可用带宽可以是没有发生故障且可以被待切换的客户业务使用的带宽。
FlexE链路组包括逻辑上捆绑的多条链路。在一个示例中,假设FlexE链路组包括逻辑上捆绑的m条链路,m为大于1的整数。当该FlexE链路组中存在n条承载了客户业务的链路不可用时,第一网络设备从该FlexE链路组中除上述n条链路之外的其它m-n条链路中选择至少一条链路作为保护链路。第一网络设备在选择保护链路时,除需要确保所选择的链路处于可用状态之外,还需确保所选择的链路上能够提供足够的带宽来承载客户业务。
结合参考图2,FlexE链路组包括4条链路,这4条链路分别为链路1、链路2、链路3和链路4。假设当链路4因出现故障而不可用时,第一网络设备可以从链路1、链路2和链路3中选择至少一条链路作为保护链路。
另外,导致链路不可用的情况可以是该链路出现故障。当然,本发明实施例并不限定其它可能情况导致链路不可用,例如在测试或维护过程中,链路被配置为由可用状态切换至不可用状态。
可选地,若上述不可用的n条链路上存在已分配给客户业务的p个第一时隙,则需要进行时隙切换,在保护链路的可用时隙中选择q个第二时隙分配给客户业务,该q个第二时隙用于传输上述客户业务,p、q为正整数。其中,q个第二时隙所能承载的客户业务的带宽大于或等于p个第一时隙所能承载的客户业务的带宽。
在通常情况下,对于同一个FlexE链路组来说,其包括的每一条链路上的每一个时隙所能承载的客户业务的带宽可以相同,例如均为5G。因此,若上述不可用的n条链路上存在已分配给客户业务的p个第一时隙,则需要进行时隙切换,在保护链路的可用时隙中选择p个第二时隙分配给客户业务,该p个第二时隙用于传输上述客户业务,p为正整数。结合参考图2,假设上述不可用的链路4上存在已分配给客户业务的2个时隙,则在保护链路的可用时隙中选择2个时隙分配给客户业务。该例子中,p等于q。
在本发明实施例中,对于一个客户业务来说,如果该客户业务占用的全部时隙被分配在上述不可用的n条链路上,则第一网络设备将该客户业务的全部时隙切换至保护链路上;如果该客户业务占用的部分时隙被分配在上述不可用的n条链路上,则第一网络设备仅需将该客户业务的这一部分时隙切换至保护链路上,该客户业务的被分配在可用链路上的那部分时隙不需要进行切换。
在一个例子中,对于一个客户业务来说,假设该客户业务占用a个时隙,这a个时隙被分配在FlexE链路组中的i条链路上,当FlexE链路组中存在n条链路不可用时,在这n条不可用的链路中,该客户业务占用j条链路,如果该客户业务在这j条链路上占用的时隙数量为b,则第一网络设备在选择的保护链路的可用时隙中选择b个时隙分配给该业务,这b个时隙可以在同一条保护链路上,也可以在多条不同的保护链路上;其中,a≥b≥1,i≥j≥1,a、b、i、j均为整数。
步骤302,第一网络设备通过保护链路向第二网络设备发送协商请求。
协商请求用于请求协商将在上述n条链路上传输的客户业务切换到保护链路上传输。协商请求中携带切换到保护链路的客户业务的标识以及上述第二时隙的标识。客户业务的标识用于区分不同的客户业务,不同的客户业务其标识也不相同。在FlexE标准中,客户业务的标识称为Client ID(客户标识)。时隙的标识用于区分不同的时隙,不同的时隙其标识也不相同。为了在协商请求中指明将哪个第二时隙分配给哪个客户业务,可以在第二时隙对应的表述字段中填写该第二时隙分配给的客户业务的标识。
可选地,第一网络设备通过每一条保护链路向第二网络设备发送协商请求。以目标保护链路为例,通过目标保护链路发送的协商请求中携带切换到目标保护链路的各个客户业务的标识,以及在目标保护链路的可用时隙中选择分配给各个客户业务的第二时隙的标识。例如,假设切换到目标保护链路的客户业务为Client 1,在目标保护链路的可用时隙中选择分配给Client 1的第二时隙的标识为slot x,则通过目标保护链路发送的协商请求中携带Client 1和slot x,例如在slot x对应的表述字段中指明Client 1,以指明将slotx分配给Client 1。又例如,假设切换到目标保护链路的客户业务包括Client 1和Client2,在目标保护链路的可用时隙中选择分配给Client 1的第二时隙的标识为slot x,在目标保护链路的可用时隙中选择分配给Client 2的第二时隙的标识为slot y,则通过目标保护链路发送的协商请求中携带Client 1和slot x之间的对应关系以及Client 2和slot y之间的对应关系,例如在slot x对应的表述字段中填写Client 1,以指明将slot x分配给Client 1,在slot y对应的表述字段中填写Client 2,以指明将slot y分配给Client 2。
步骤303,第二网络设备通过保护链路向第一网络设备发送协商响应。
协商响应用于指示第二网络设备同意协商请求。
可选地,当第一网络设备通过每一条保护链路向第二网络设备发送协商请求时,对于目标保护链路,若第二网络设备同意由第一网络设备通过该目标保护链路发送的协商请求,则第二网络设备通过该目标保护链路向第一网络设备发送协商响应,该协商响应用于指示第二网络设备同意由第一网络设备通过该目标保护链路发送的协商请求。
步骤304,第一网络设备将在n条链路上传输的客户业务切换到保护链路上传输。
若n条链路上存在已分配给客户业务的p个第一时隙,则第一网络设备在保护链路的可用时隙中选择p个第二时隙分配给上述客户业务,而后通过p个第二时隙传输上述客户业务。以目标保护链路为例,第一网路设备在目标保护链路的可用时隙中选择分配给各个客户业务的第二时隙,而后通过第二时隙传输相应的客户业务。
可选地,第一网络设备在每一条发出协商请求的保护链路上均接收到协商响应时,确定协商成功。否则,若任意一条发出协商请求的保护链路上未接收到协商响应,则第一网络设备确定协商失败。在确定协商失败的情况下,第一网路设备可再次从上述步骤301开始执行,重新发起协商流程。
可选地,对于每一条保护链路,第一网络设备在接收到由第二网络设备通过该保护链路发送的协商响应之前,通过该保护链路重复多次地向第二网络设备发送协商请求,以确保第二网络设备成功接收到协商请求。
本发明实施例提供的方案中,当FlexE链路组中存在n条链路不可用时,通过从FlexE链路组中除上述n条链路之外的其它链路中选择至少一条链路作为保护链路,将在上述n条链路上传输的客户业务的数据切换到保护链路上传输,一方面可以避免因一条链路出现故障而导致整个FlexE链路组停止工作的问题,满足了FlexE对保护倒换的应用需求;另一方面由于无需在FlexE链路组中预留专用链路作为保护链路,采用按需选择保护链路的方式能够有效解决资源浪费的问题,有助于节省带宽资源。
在一个示例中,结合参考图4,其示例性示出了一种FlexE链路组中时隙管理与切换的示意图。假设第一网络设备和第二网络设备之间具有4条链路,分别为链路1、链路2、链路3和链路4,这4条链路在逻辑上捆绑形成一个FlexE链路组。
在正常运行状态时,链路1上有两个时隙(记为slot 1/2)分配给某一客户业务(记为Client 1),链路4上有两个时隙(记为slot 1/2)分配给Client 1,链路2和链路3上并未有分配给Client 1的时隙。
第一网络设备在检测到链路4因出现故障而不可用时,第一网络设备从链路1、链路2和链路3中选择至少一条链路作为保护链路。例如,第一网络设备选择链路2和链路3作为保护链路。
第一网络设备通过链路2向第二网络设备发送协商请求(Calendar Request,CR),该协商请求用于请求协商在链路2上为Client 1分配一个时隙(记为slot x),该协商请求中携带Client 1和slot x之间的对应关系,例如在slot x对应的表述字段中填写Client1,以指明将slotx分配给Client 1。
第二网络设备接收到由第一网络设备通过链路2发送的协商请求之后,若同意该协商请求,则第二网络设备通过链路2向第一网络设备发送协商响应(CalendarAcknowledge,CA)。协商响应中可以携带上述Client 1和slot x之间的对应关系,例如在slot x对应的表述字段中填写Client 1,以指明确认将slot x分配给Client 1;或者,协商响应中也可以携带用于指示同意上述协商请求的指示信息,如一个指示符。
第一网络设备通过链路3向第二网络设备发送协商请求,该协商请求用于请求协商在链路3上为Client 1分配一个时隙(记为slot y),该协商请求中携带Client 1和sloty之间的对应关系,例如在slot y对应的表述字段中填写Client 1,以指明将slot y分配给Client 1。
第二网络设备接收到由第一网络设备通过链路3发送的协商请求之后,若同意该协商请求,则第二网络设备通过链路3向第一网络设备发送协商响应。协商响应中可以携带上述Client 1和slot y之间的对应关系,例如在slot y对应的表述字段中填写Client 1,以指明确认将slot y分配给Client 1;或者,协商响应中也可以携带用于指示同意上述协商请求的指示信息,如一个指示符。
第一网络设备通过链路2上的slot x和链路3上的slot y传输Client 1。
在基于图3所示实施例的基础上,如图5所示,其示例性示出了一种FlexE链路组中时隙管理与切换的时序图。
在51部分,链路启动;
在52部分,邻居发现与FlexE链路组建立;
邻居发现过程用于寻找另一网络设备,从而与之建立FlexE链路组。邻居发现可以由如下几种可能的实施方式:
1、使用现有的电气和电子工程师协会(Institute of Electrical andElectronics Engineers,IEEE)协议,例如链路层发现协议(Link Layer DiscoveryProtocol,LLDP),或者在现有的协议基础上进行扩展;
2、使用上述第1种可能的实施方式所述的协议,但该协议运行在FlexE的Overhead或管理通道内;
3、基于FlexE的管理通道定义新的邻居发现协议。
上述第2种和第3种可能的实施方式,更加适合于一些只存在FlexE功能而不存在上层协议功能的网络设备,例如网络设备中不存在介质访问控制(Media Access Control,MAC)层或因特网协议(Internet Protocol,IP)层,只有FlexE的转发功能。
FlexE链路组的建立过程可以由如下几种可能的实施方式:
1、网管配置或者命令行的方式手动建立;
2、在现有的IEEE协议基础上进行扩展,例如扩展链路汇聚控制协议(LinkAggregationControl Protocol,LACP);
3、使用上述第2种可能的实施方式所述的协议,但该协议运行在FlexE的Overhead或管理通道内;
4、基于FlexE的Overhead或管理通道定义新的协议以实现FlexE链路组的自动化管理和配置;
上述第3种和第4种可能的实施方式,更加适用于一些只存在FlexE功能而不存在上层协议功能的网络设备,例如网络设备中不存在MAC层或IP层,只有FlexE的转发功能。
可选地,在建立FlexE链路组的过程中,两端设备可协商确定主动(active)端和被动(passive)端,协商请求由主动端发起,这样能够避免两端设备同时发起协商请求而导致选择的保护链路和/或时隙不同,有助于简化协商流程。
在53部分,建立客户业务,并为客户业务分配时隙;
在54部分,业务正常运行;
在55部分,检测到FlexE链路组中存在承载了客户业务的链路不可用;
在56部分,从其它可用的链路中选择保护链路,并寻找可用时隙;
在57部分,若未找到可用时隙,则向网管设备上报用于指示未找到可用时隙的告警信息,业务中断;
在58部分,若找到可用时隙,则通过保护链路发起协商流程;
如果所有保护链路上均协商成功,则业务正常运行;如果存在任意一条保护链路上协商失败,则再次从上述56部分开始执行。
请参考图6,其示出了本发明一个实施例提供的链路管理方法的流程图。该方法可以包括如下几个步骤。
步骤601,第一网络设备确定变更FlexE链路组中的链路。
变更FlexE链路组中的链路包括删除和/或增加FlexE链路组中的链路。
在本发明实施例中,对第一网络设备确定删除FlexE链路组中的链路的条件不作限定。例如,当FlexE链路组中的目标链路不可用(如发生故障)时,第一网络设备确定删除该目标链路。
在本发明实施例中,对第一网络设备确定增加FlexE链路组中的链路的条件不作限定。例如,当FlexE链路组中的可用链路不足时,第一网络设备确定增加FlexE链路组中的链路。
在一个示例中,结合参考图7,其示例性示出了一种删除FlexE链路组中的链路的示意图。假设第一网络设备和第二网络设备之间具有4条链路,分别为链路1、链路2、链路3和链路4,这4条链路在逻辑上捆绑形成一个FlexE链路组。两端设备在链路上传输的报文可称为FlexE信息帧,FlexE信息帧可以是FlexE开销帧或FlexE管理帧。在FlexE标准中称为FlexEOverhead Frame和FlexE Multiframe。在FlexE信息帧的报文头中,采用phy-map信息指示FlexE链路组所包括的链路,例如phy-map信息中携带FlexE链路组中包括的所有链路的标识。phy-map信息会在FlexE链路组中包括的所有链路上双向发送。phy-map信息联合其它一些信息(例如calendar信息等)能够指明哪个/哪些时隙服务于一个客户业务,协助进行业务数据的编解码和传输。其中,calendar信息可称为时隙分配表,用于指示时隙与客户业务之间的分配关系。phy-map信息联合其它一些信息(例如phy-number信息等)能够提供校验功能,确保FlexE链路组的两端设备在FlexE链路组的组成上配置一致。其中,phy-number信息为FlexE链路组的标识。
如图7所示,当FlexE链路组中包括4条链路时,在每一条链路上传输的phy-map信息中携带这4条链路的标识,记为phy-map=1/2/3/4。当链路4因出现故障而不可用时,第一网络设备确定将该链路4从FlexE链路组中删除。
步骤602,第一网络设备通过变更后的FlexE链路组中的每一条链路,向第二网络设备发送变更请求。
变更请求用于请求第二网络设备变更FlexE链路组中的链路。可选地,变更请求中携带变更后的FlexE链路组中的每一条链路的标识。
仍然以上述示例为例,第一网络设备在确定删除链路4之后,通过链路1、链路2和链路3分别向第二网络设备发送变更请求,变更请求中携带链路1、链路2和链路3的标识。
步骤603,第二网络设备通过变更后的FlexE链路组中的每一条链路,向第一网络设备发送变更响应。
第二网络设备接收到变更请求之后,若同意该变更请求,则向第一网络设备发送变更响应。变更响应用于指示第二网络设备同意变更请求。
可选地,第二网络设备在向第一网络设备发送变更响应之前,对变更请求进行校验,若校验通过则执行上述步骤603。在一种可能的实施方式中,第二网络设备检测变更请求是否符合预设条件;若变更请求符合预设条件,则第二网络设备执行上述步骤603。其中,预设条件包括以下至少一项:各个变更请求所指示的变更后的FlexE链路组中包括的链路相同、各个变更请求所指示的变更后的FlexE链路组中包括的链路数量与第二网络设备确定的变更后的FlexE链路组中包括的链路数量相同、对于变更后的FlexE链路组中的每一条链路,在第一网络设备和第二网络设备中具有相同的标识。
另外,为了避免第二网络设备对变更请求的校验出现错误,第一网络设备通过各条链路发送的变更请求需要确保在一个较短的时间间隔内到达第二网络设备,例如第一网络设备通过各条链路同时发送变更请求。
步骤604,当第一网络设备接收到由第二网络设备通过变更后的FlexE链路组中的每一条链路发送的变更响应时,第一网络设备确定FlexE链路组中的链路变更成功。
第一网络设备在确定FlexE链路组中的链路变更成功之后,便可采用变更后的FlexE链路组承载客户业务。
如果第一网络设备在变更后的FlexE链路组中的部分或全部链路上未接收到变更响应,则第一网络设备确定FlexE链路组中的链路变更失败。在确定变更失败的情况下,第一网络设备可向网管设备发送用于指示变更失败的告警信息。
可选地,变更请求为携带有请求标识的FlexE信息帧,变更响应为携带有响应标识的FlexE信息帧。在一种可能的实施方式中,可扩展FlexE信息帧中的字段,通过扩展的字段来携带请求标识或响应标识。例如,在现有FlexE Overhead的基础上增加PCR(phy-mapchange request)字段和PCA(phy-map change acknowledge)字段。RCR字段的值可以是0或1。例如,当RCR字段的值为0时表示未携带请求标识,当RCR字段的值为1时表示携带请求标识。PCA字段的值可以是0或1。例如,当RCA字段的值为0时表示未携带响应标识,当RCA字段的值为1时表示携带响应标识。
可选地,对于变更后的FlexE链路组中的每一条链路,第一网络设备在接收到由第二网络设备通过该链路发送的变更响应之前,通过该链路重复多次地向第二网络设备发送变更请求,以确保第二网络设备成功接收到变更请求。
需要说明的是,如果从FlexE链路组中删除的链路是单向故障链路或非故障链路,则两端设备应当停止在该删除的链路上发送FlexE的Overhead,或者将Overhead的相关参数进行修改,例如将该删除的链路对应的FlexE链路组的标识设置为无效标识或者为该删除的链路重新分配一个FlexE链路组的标识,避免其使用原来的FlexE链路组的标识而导致与变更后的FlexE链路组造成混淆。
下面,结合参考图7,以删除FlexE链路组中的链路为例,对第一网络设备和第二网络设备之间的协商过程进行介绍说明。
在正常运行状态下,第一网络设备和第二网络设备已经就FlexE链路组中包括的链路达成共识,两端设备向对端发送的FlexE信息帧中携带如下信息:phy-map=1/2/3/4,PCR=0,PCA=0。
第一网络设备在检测到链路4因出现故障而不可用时,第一网络设备确定将该链路4从FlexE链路组中删除,第一网络设备通过链路1、链路2和链路3分别向第二网络设备发送变更请求,变更请求中携带如下信息:phy-map=1/2/3,PCR=1,PCA=0。
第二网络设备接收到由第一网络设备通过链路1、链路2和链路3发送的变更请求之后,对变更请求进行校验(例如校验各个变更请求中包含的phy-map信息是否一致),在校验通过的情况下,第二网络设备通过链路1、链路2和链路3分别向第一网络设备发送变更响应,变更响应中携带如下信息:phy-map=1/2/3,PCR=0,PCA=1。
第一网络设备接收到由第二网络设备通过链路1、链路2和链路3发送的变更响应之后,确定FlexE链路组中的链路4删除成功。之后,两端设备向对端发送的FlexE信息帧中携带如下信息:phy-map=1/2/3,PCR=0,PCA=0。
在图7所示示例中,仅以通过一次协商从FlexE链路组中删除一条链路为例,在实际应用中,也可通过一次协商从FlexE链路组中删除多条链路。另外,在图7所示示例中,仅以从FlexE链路组中删除链路的协商流程为例,增加FlexE链路组中的链路的协商流程与从FlexE链路组中删除链路的协商流程相类似,本发明实施例对此不再赘述。
另外,上述协商流程同样适用于Flex链路组的初始建立过程。在邻居发现之后,两端设备协商出Flex链路组的标识,供两者之间的所有链路使用。在一种可能的实施方式中,两端设备中的一端生成Flex链路组的标识,并将该Flex链路组的标识通知给另一端。在另一种可能的实施方式中,两端设备各自按照预设算法生成一个相同的Flex链路组的标识,例如预设算法为使用两端设备的MAC地址或其它参数作为输入进行哈希运算。在协商确定Flex链路组的标识之后,即可认为Flex链路组已经建立,此时Flex链路组中包括的链路数量为0。之后,两端设备可通过上文介绍的协商流程增加FlexE链路组中的链路。
本发明实施例提供的方案中,实现了对FlexE链路组中的链路进行变更,包括删除和增加FlexE链路组中的链路,无需网管设备或管理员的介入,实现自动化地进行链路变更。
在图6所示实施例的基础上,如图8所示,其示例性示出了一种删除FlexE链路组中的故障链路的时序图。
在81部分,链路启动;
在82部分,邻居发现与FlexE链路组建立;
邻居发现过程与FlexE链路组建立过程可参见上文介绍说明,此处不再赘述。
在83部分,在FlexE链路组中添加链路;
在84部分,链路处于空闲状态;
在85部分,在链路上分配用于承载客户业务的时隙;
在86部分,业务正常运行;
在87部分,链路故障;
在88部分,将链路从FlexE链路组中删除;
在89部分,链路故障恢复。
链路故障恢复之后,可将该链路再次添加至FlexE链路组中。
需要说明的是,上述图3所示实施例介绍了保护倒换流程,图6所示实施例介绍了链路管理流程,这两个流程可各自独立执行,本发明实施例并不限定上述两个流程的执行时机和执行先后顺序。
请参考图9,其示例性示出了一种链路管理流程和保护倒换流程的示意图。
在正常运行状态下,FlexE链路组中包括4条链路,分别为链路1、链路2、链路3和链路4。客户业务Clint 1正常运行,其占用链路1的两个时隙(分别为slot 0和slot 1)和链路4的两个时隙(分别为slot 5和slot 6)。
第一网络设备在检测到链路4因出现故障而不可用时,第一网络设备确定将该链路4从FlexE链路组中删除,第一网络设备通过链路1、链路2和链路3分别向第二网络设备发送变更请求,变更请求中携带如下信息:phy-map=1/2/3,PCR=1,PCA=0。
第二网络设备接收到由第一网络设备通过链路1、链路2和链路3发送的变更请求之后,对变更请求进行校验(例如校验各个变更请求中包含的phy-map信息是否一致),在校验通过的情况下,第二网络设备通过链路1、链路2和链路3分别向第一网络设备发送变更响应,变更响应中携带如下信息:phy-map=1/2/3,PCR=0,PCA=1。
第一网络设备接收到由第二网络设备通过链路1、链路2和链路3发送的变更响应之后,确定FlexE链路组中的链路4删除成功。
第一网络设备从链路1、链路2和链路3中选择至少一条链路作为保护链路。例如,第一网络设备选择链路2和链路3作为保护链路。
第一网络设备通过链路2向第二网络设备发送协商请求,该协商请求用于请求协商在链路2上为Client 1分配一个时隙(记为slot x),该协商请求中携带Client 1和slotx之间的对应关系,例如在slot x对应的表述字段中填写Client 1,以指明将slot x分配给Client 1。
第二网络设备接收到由第一网络设备通过链路2发送的协商请求之后,若同意该协商请求,则第二网络设备通过链路2向第一网络设备发送协商响应。
第一网络设备通过链路3向第二网络设备发送协商请求,该协商请求用于请求协商在链路3上为Client 1分配一个时隙(记为slot y),该协商请求中携带Client 1和sloty之间的对应关系,例如在slot y对应的表述字段中填写Client 1,以指明将slot y分配给Client 1。
第二网络设备接收到由第一网络设备通过链路3发送的协商请求之后,若同意该协商请求,则第二网络设备通过链路3向第一网络设备发送协商响应。
第一网络设备通过链路2上的slot x和链路3上的slot y传输Client 1,Client 1恢复正常运行状态。
上述主要从第一网络设备和第二网络设备交互的角度对本发明实施例提供的方案进行了介绍。可以理解的是,网络设备(例如第一网络设备、第二网络设备)为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本发明中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的技术方案的范围。
本发明实施例可以根据上述方法示例对网络设备(例如第一网络设备、第二网络设备)进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,图10A示出了上述实施例中所涉及的网络设备的一种可能的结构示意图。网络设备1000包括:处理单元1002和通信单元1003。处理单元1002用于对网络设备1000的动作进行控制管理,例如,处理单元1002用于支持网络设备1000执行图3中的步骤301、302和304,图6中的步骤601、602和604,图3中的步骤303,图6中的步骤603,和/或用于执行本文所描述的技术的其它步骤。通信单元1003用于支持网络设备1000与其它网络设备的通信。网络设备1000还可以包括存储单元1001,用于存储网络设备1000的程序代码和数据。
其中,处理单元1002可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元1003可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口,例如第一网络设备与第二网络设备之间的接口。存储单元1001可以是存储器。
当处理单元1002为处理器,通信单元1003为通信接口,存储单元1001为存储器时,本发明实施例所涉及的网络设备可以为图10B所示的网络设备。
参阅图10B所示,该网络设备1010包括:处理器1012、通信接口1013、存储器1011。可选地,网络设备1010还可以包括总线1014。其中,通信接口1013、处理器1012以及存储器1011可以通过总线1014相互连接;总线1014可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。所述总线1014可以分为地址总线、数据总线、控制总线等。为便于表示,图10B中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述图10A或图10B所示的网络设备可以是第一网络设备或第二网络设备。
结合本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明实施例的保护范围,凡在本发明实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明实施例的保护范围之内。
机译: 以太网环保护倒换方法,网络设备及系统
机译: 保护组覆盖的实现方法,以太网保护倒换的方法和系统
机译: 分布式保护组的保护倒换方法及系统提供