基于虚拟端口的PW切换方法及装置与流程

文档序号:18465757发布日期:2019-08-17 02:26阅读:463来源:国知局
基于虚拟端口的PW切换方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种基于虚拟端口的pw切换方法及装置。



背景技术:

在运营商网络中,需要通过虚链路pwe3(pseudo-wireemulationedgetoedge)去承载不同类型的客户端业务。用户侧的ce(customeredge)节点,通过接入链路ac(attachmentcircuit),将用户数据接入到运营商的接入侧边缘节点pe(provideredge)上,再由pe节点将用户数据按照不同类型及不同服务质量需求,分别封装到不同的pwe3伪线上,再将这些pwe3伪线通过lsp(labelswitchedpath)标签,封装入虚拟公有隧道中,进行转发,从而形成典型的vpws(virtualprivatewireservice)网络。

在公有隧道中,运营商定义了pw冗余去对每条pw伪线进行保护。即为每条pw线路都配备一条备用pw线路,当主用pw线路出现故障时,其上承载的业务需要快速切换到备用pw线路上。目前,营运商的基本要求是切换时间不超过50ms。当隧道承载的pw较多时(如1000条以上),此时,传统做法是逐条串行切换,这样,平均每条的切换时间必须小于50ms/1000,约为50us。这样,就对pe节点的pw倒换装置带来了很大压力,对中央控制单元(centralprocessingunit,cpu)的性能要求极高。另一种传统做法是利用数据转发单元的下一跳保护组功能完成批量切换,但大部分中低端数据转发单元不具备下一跳保护组功能。



技术实现要素:

本发明实施例提供一种基于虚拟端口的pw切换方法及装置,利用pwe3伪线的自身虚拟端口特性,结合cpu的dma直接内存访问特性,可以摒弃逐条串行切换方式,从而可以释放对cpu的性能压力,由于不依赖数据转发单元的下一跳保护组功能,可以达到批量快速切换pw的效果。

本发明实施例第一方面提供了一种基于虚拟端口的pw切换方法,可包括:

若监测时间内未接收到对端pe发送的pw探测报文时,输出中断信息;

根据中断信息调用中断处理函数获取本端pe的pw状态位图;

结合pw状态位图和预设pw虚拟端口组,映射生成待切换虚拟端口组;

基于dma装置将待切换虚拟端口组下发至本端pe的数据转发单元。

进一步的,在结合pw状态位图和预设pw虚拟端口组,映射生成待切换虚拟端口组时,上述方法还包括:

根据pw状态位图确定预设pw虚拟端口组中的故障pw虚拟端口;

将故障pw虚拟端口中的源vport由指向主宿vport,变更为指向备宿vport;

将变更vport指向的虚拟端口组确定为待切换虚拟端口组。

进一步的,上述变更vport指向的源vport、主宿vport和备宿vport为一组主备pw虚拟体。

进一步的,上述主备pw虚拟体与本端pe的数据转发单元的vport组寄存器一一对应。

进一步的,上述方法还包括:

当源vport通过硬件端口接收到用户数据后,基于源vport的寄存器配置本端pe的数据转发单元的vport组寄存器的宿vport索引,以使本端pe的数据转发单元基于宿vport索引转发用户数据。

进一步的,在基于dma装置将待切换虚拟端口组下发至本端pe的数据转发单元时,上述方法还包括:

基于dma装置将待切换虚拟端口组由内存空间下发至本端pe的数据转发单元的寄存器空间。

进一步的,在基于dma装置将待切换虚拟端口组对应下发至硬件层面的vport组寄存器空间时,上述方法还包括:

将待切换虚拟端口组的首地址列表和长度配置输出至dma装置的控制器,以使dma装置根据首地址列表和长度配置将待切换虚拟端口组由内存空间下发至本端pe的数据转发单元的寄存器空间。

本发明实施例第二方面提供了一种基于虚拟端口的pw切换装置,可包括:

pw路径监测单元,用于若监测时间内未接收到本端pe的数据转发单元发送的pw探测报文时,输出中断信息;

位图获取单元,用于根据中断信息调用中断处理函数获取本端pe的pw状态位图;

端口组映射单元,用于结合pw状态位图和预设pw虚拟端口组,映射生成待切换虚拟端口组;

端口组下发单元,用于基于dma装置将待切换虚拟端口组下发至本端pe的数据转发单元。

进一步的,上述端口组映射单元包括:

故障端口确定子单元,用于根据pw状态位图确定预设pw虚拟端口组中的故障pw虚拟端口;

端口指向变更子单元,用于将故障pw虚拟端口中的源vport由指向主宿vport,变更为指向备宿vport;

端口组确定子单元,用于将变更vport指向的虚拟端口组确定为待切换虚拟端口组。

进一步的,上述变更vport指向的源vport、主宿vport和备宿vport为一组主备pw虚拟体。

进一步的,上述主备pw虚拟体与本端pe的数据转发单元的vport组寄存器一一对应。

进一步的,上述装置还包括:

索引配置单元,用于当源vport通过硬件端口接收到用户数据后,基于源vport的寄存器配置本端pe的数据转发单元的vport组寄存器的宿vport索引,以使本端pe的数据转发单元基于宿vport索引转发用户数据。

进一步的,上述端口组下发单元,具体用于基于dma装置将待切换虚拟端口组由内存空间下发至本端pe的数据转发单元的寄存器空间。

进一步的,上述端口组下发单元,还用于将待切换虚拟端口组的首地址列表和长度配置输出至dma装置的控制器,以使dma装置根据首地址列表和长度配置将待切换虚拟端口组由内存空间下发至本端pe的数据转发单元的寄存器空间。

在本发明实施例中,通过利用pwe3伪线的自身虚拟端口特性,结合中央处理单元的dma,摒弃了逐条串行切换方式,从而释放了对倒换装置及cpu的性能压力。并且不依赖数据转发单元的下一跳保护组功能,达到批量快速切换pw的效果,使得在大批量切换pw场景时,切换时间不超过50ms。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1是本发明实施例提供的一种基于虚拟端口的pw切换方法的流程示意图;

图2是本发明实施例提供的另一种基于虚拟端口的pw切换方法的流程示意图;

图3是本发明实施例提供的时间定义效果示意图;

图4是本发明实施例提供的一种状态位图;

图5是本发明实施例提供的虚拟端口组映射结构示意图;

图6是本发明实施例提供的pw伪线端口的结构示意图;

图7是本发明实施例提供的虚拟端口组下发方式的结构示意图;

图8是本发明实施例提供的基于虚拟端口的pw切换装置的结构示意图;

图9是本发明实施例提供的端口组映射单元的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

下面将结合附图1-附图7,对本发明实施例提供的基于虚拟端口的pw切换方法进行详细介绍。

需要说明的是,本发明实施例中的基于虚拟端口的pw切换装置可以是运营商接入侧的本端pe即本端转发装置。

请参见图1,为本发明实施例提供了一种基于虚拟端口的pw切换方法的流程示意图。如图1所示,本发明实施例的所述方法可以包括以下步骤s101-步骤s104。

s101,若监测时间内未接收到对端pe发送的pw探测报文时,输出中断信息。

需要说明的是,上述pw切换装置的pw路径监测单元可以接收本端pe的数据转发单元的pw路径发生单元发出的周期性探测报文,通常所说的周期(定义为t周)可配置,典型值为3.3毫秒。

具体的,当若监测时间内未接收到pw探测报文,上述pw切换装置可以生成中断信息,并输出该信息至pw切换装置内部的cpu。可以理解的是,上述监测时间可以设为t0,优选的t0=3*t周。

s102,根据上述中断信息调用中断处理函数获取本端pe的pw状态位图。

具体的,上述cpu可以在接收到中断信息后,调用中断处理函数获取上述pw切换装置即本端pe的pw状态位图,可选的,该pw状态位图可以是中断处理函数以位图形式从pw路径监测单元中批量取出的pw故障位图组。

s103,结合pw状态位图和预设pw虚拟端口组,映射生成待切换虚拟端口组。

具体的,上述pw切换装置可以结合pw状态位图和预设pw虚拟端口组,映射生成待切换虚拟端口组,可以理解的是,上述预设pw虚拟端口组可以是预先配置的pw虚拟端口组列表。

在可选实施例中,上述pw切换装置可以根据pw状态位图确定预设pw虚拟端口组中的故障pw虚拟端口,该故障pw虚拟端口可以是未接收到探测报文的端口。进一步的,上述pw切换装置可以将故障pw虚拟端口中的源虚拟端口(virtualport,vport)由初始的指向主宿vport,变更为指向备宿vport,进一步的,可以将需要变更vport指向的虚拟端口组确定为待切换虚拟端口组。

s104,基于dma装置将待切换虚拟端口组下发至本端pe的数据转发单元。

具体的,上述pw切换装置可以基于直接内存访问通道(directmemoryaccess,dma)将待切换虚拟端口组下发至本端pe的数据转发单元,进一步的,该数据转发单元可以基于待切换虚拟端口组进行数据转发切换。

在本发明实施例中,通过利用数据转发单元的pwe3伪线的自身虚拟端口特性,结合中央处理单元的dma,摒弃了逐条串行切换方式,从而释放了对倒换装置及cpu的性能压力。并且不依赖数据转发单元的下一跳保护组功能,达到批量快速切换pw的效果,使得在大批量切换pw场景时,切换时间不超过50ms。

在本发明实施例的一种具体实现方式中,上述基于虚拟端口的pw切换方法的实现过程如图2所示:

具体的,pw切换装置可以包含pw探测报文监测单元(可以简称监测单元)。该单元需要周期性接收到网络对端的pw探测报文发生单元,周期性的发出的探测报文。通常该周期t周为可配置周期,典型值为3.3毫秒。当pw探测报文监测单元超过t0时间未接收到pw探测报文时(t0=3*t周),可以产生中断信息提交给装置的cpu,同时生成pw故障位图。cpu在接收到中断信号后,会立即跳出当前任务轮询,优先处理中断信号,进入中断信号处理函数中。中断处理函数可以以位图形式从监测单元将pw故障位图组批量取出。结合cpu预先配置的pw虚拟端口组列表,映射生成待切换虚端口组。进一步的,cpu生成待切换虚端口组后,通过cpu内嵌的dma装置,将待切换虚端口组下发到本端pe的数据转发单元。数据转发单元接收到更新的虚端口组转发配置后,完成数据转发切换。

可选的,上述pw切换装置可以定义监测单元监测到的超时时间为t0,定义监测单元判定探测报文接收超时到提交中断信号到cpu为t1,定义从cpu接收到中断信号到获取到监测单元pw状态位图组经过的时间为t2,定义cpu将获取到pw故障位图组到映射更新待切换虚端口组经过的时间为t3,定义从cpu生成待切换虚端口组到以dma方式下发到数据转发单元时间为t4。整体流程如图3所示。

具体的,针对t1及t2时间进行详述。如图4所示,监测单元里,可同时监测多条pw联通状态,监测单元为每条pw都开辟了1比特单元实时反映pw的联通状态,当持续接收到探测报文时(每3*t周时间内),状态比特位置为0,当某条pw通道超过3*t周时间没有接收到探测报文,表示对应pw通道发生故障,监测单元可以把对应的pw状态比特位置1。多条pw的状态比特位按字节顺序排列(8个状态比特位构成一个字节)。共同构成了pw状态比特位图。假设当前监测单元同时在监测n条pw通道,形成n比特pw状态位图。在3个监测周期3*t周时间里,有m条(m<=n)监测通道没有收到对端发送的pw探测报文,此时,n比特状态位图中对应的m个比特位会被监测单元置1,同时,由于产生了pw故障,监测单元会向cpu发送中断信号。cpu在接收到中断信号后,会立即调用中断处理函数,通过localbus并行总线可快速读取监测单元里的n比特状态位图。

需要说明的是,通过采用位图方式收集pw故障信息,节约了空间,缩减了信息容量,利于cpu快速获取所有pw故障信息,从而缩减了t2时间。同时,cpu和监测单元采用localbus并行总线连接,加快了cpu读取位图时间,进一步缩减了t2时间。进一步的,采用中断方式通知cpu,使cpu迅速响应,立即反应进入中断函数处理流程,也缩减了t2时间。监测单元采用逻辑模块阵列通过硬件语言实现,其速度远远高于软件语言,极大提升了t1时间。

具体的,针对t3时间进行详述。如图5所示,cpu在功能初始化时,就会在软件层面配置好n组虚拟端口vport组,这n组虚拟端口vport组和本端pe的硬件层面的数据转发单元的vport组寄存器空间一一对应。每组vport组中,包含一个源vport和两个宿vport。两个宿vport分别为一主一备,默认情况下,源vport指向主宿vport,当主pw发生故障时,源vport就需根据比特位图指向备宿vport。这三个vport就在软件层面构成一组主备pw虚拟体。(和后述的数据转发单元的pw实体对应)。这n组vport组和n比特状态位图一一对应。当cpu获取到n比特pw状态位图后(其中有m条表示pw故障),可以根据n比特状态位图对n组虚拟端口vport组进行更新,n比特状态位图中,若某比特位被置1(表示主pw故障),软件则将对应的虚拟端口vport组中的源vport由原有的指向主宿vport转而指向备宿vport。待n组虚拟端口vport组完成更新后,其中的m组虚拟端口vport组的源vport就指向了备宿vport,这m组虚拟端口vport组和之前监测单元监测到的故障pw一一对应,形成待切换虚拟端口vport组列表。

需要说明的是,通过将硬件层面的数据转发单元的vport组寄存器空间在软件层面抽象成虚拟端口vport组,在软件空间就一次性完成n比特pw故障状态位图到虚拟端口vport组的映射,使cpu在软件层面就生成包含所有切换信息的虚拟端口vport组,之后再一次性下发到硬件层面的数据转发单元。这种软硬件处理分离的方式最大限度地避免了cpu和数据转发单元进行多次硬件交互,从而极大缩减了t3时间。

可以理解的是,上述装置可以利用数据转发单元的pw虚拟端口结构完成pw切换。数据转发单元中的一条pw伪线由源vport和宿vport一对虚端口构成,分别形成pw伪线的两端,如图6所示。当源vport通过硬件端口接收到来自用户侧接入链路(attachmentcircuit,ac)的数据后,会通过该源vport的寄存器配置,找到另一端的宿vport的索引,从而将数据转发到对应的宿vport,再由宿vport递交给数据转发单元的下一跳模块,完成报文的封装及出端口查找等处理。该装置利用此特性,在初始配置时,就为单个源vport配备两个宿vport,形成主备结构。当需要切换时,直接配置源vport寄存器的索引域即完成切换。

需要说明的是,上述装置通过利用数据转发单元自身的pw虚端口结构完成了pw切换,不再依赖于数据转发单元是否另外再包含下一跳保护组功能。

具体的,针对t4时间进行详述。如图7所示,cpu在t3时间生成后,通过cpu自带的直接内存访问通道dma一次性下发软件层面的虚拟端口vport组到硬件层面的vport组寄存器空间,而不占用cpu软件处理时间。可选的,cpu可以将内存中的虚拟端口vport组列表的首地址及长度配置给cpu的dma控制器,进一步的,可以开启该通道的dma传输。开启后,根据dma特性,cpu可处理其他任务。而dma通道,会自动完成虚拟端口vport组列表由内存空间到数据转发单元的寄存器空间的直接快速传输。cpu和数据转发单元由高速串行计算机扩展总线(peripheralcomponentinterconnectexpress,pcie)连接,由pcie总线完成cpu对数据转发单元的访问及配置。dma通道直接连接了cpu的内存控制器及pcie控制器,内存中的虚拟端口vport组列表通过dma通道,经由内存控制器传输到pcie控制器,进而下发到数据转发单元的vport组寄存器空间。

需要说明的是,通过利用cpu的dma直接内存访问特性,完全交由硬件完成n组虚拟端口vport组由cpu内存空间到数据转发单元的寄存器空间的传输,即节省了cpu核心资源,开启dma后,cpu还可继续处理其他任务;同时由于使用硬件dma通道批量传输,相较传统的逐条数据转发单元寄存器下发,极大地缩减了t4时间。

下面将结合附图8和附图9,对本发明实施例提供的基于虚拟端口的pw切换装置进行详细介绍。需要说明的是,图8所示的装置,用于执行本发明图1-图7所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1-图7所示的实施例。

请参见图8,为本发明实施例提供了一种基于虚拟端口的pw切换装置的结构示意图。如图8所示,本发明实施例的所述基于虚拟端口的pw切换装置10可以包括:pw路径监测单元101、位图获取单元102、端口组映射单元103、端口组下发单元104和索引配置单元105。其中,端口组映射单元103如图9所示,可以包括故障端口确定子单元1031、端口指向变更子单元1032和端口组确定子单元1033。

pw路径监测单元101,用于若监测时间内未接收到对端pe发送的pw探测报文时,输出中断信息。

位图获取单元102,用于根据上述中断信息调用中断处理函数获取本端pe的pw状态位图。

端口组映射单元103,用于结合上述pw状态位图和预设pw虚拟端口组,映射生成待切换虚拟端口组。

端口组下发单元104,用于基于dma装置将上述待切换虚拟端口组下发至本端pe的数据转发单元的数据转发单元。

可以理解的是,上述端口组映射单元103中的故障端口确定子单元1031,用于根据pw状态位图确定预设pw虚拟端口组中的故障pw虚拟端口。

进一步的,端口指向变更子单元1032,用于将故障pw虚拟端口中的源vport由指向主宿vport,变更为指向备宿vport。进一步的,端口组确定子单元1033,用于将变更vport指向的虚拟端口组确定为待切换虚拟端口组。

可以理解的是,上述变更vport指向的源vport、主宿vport和备宿vport可以为一组主备pw虚拟体。

可以理解的是,上述主备pw虚拟体可以与本端pe的数据转发单元的vport组寄存器一一对应。

索引配置单元105,用于当源vport通过硬件端口接收到用户数据后,基于源vport的寄存器配置本端pe的数据转发单元的vport组寄存器的宿vport索引,进一步的,本端pe的数据转发单元可以基于上述宿vport索引转发用户数据。

可选的,上述端口组下发单元104,还用于基于dma装置将待切换虚拟端口组由内存空间下发至本端pe的数据转发单元的寄存器空间。

可选的,端口组下发单元104,还用于将待切换虚拟端口组的首地址列表和长度配置输出至dma装置的控制器,进一步的,dma装置可以根据上述首地址列表和长度配置将待切换虚拟端口组由内存空间下发至本端pe的数据转发单元的寄存器空间。

需要说明的是,上述pw切换装置中个单元的执行过程可以参将上述方法实施例中的具体描述,此处不再赘述。

在本发明实施例中,通过利用pwe3伪线的自身虚拟端口特性,结合中央处理单元的dma,摒弃了逐条串行切换方式,从而释放了对倒换装置及cpu的性能压力。并且不依赖数据转发单元的下一跳保护组功能,达到批量快速切换pw的效果,使得在大批量切换pw场景时,切换时间不超过50ms。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1