专利名称:Mpls-tp网络中oam报文和数据报文统一转发路径的方法及装置的制作方法
技术领域:
本发明涉及网络通讯技术领域,尤其涉及一种MPLS-TP网络中OAM报文和数据报文统一转发路径的方法及装置。
背景技术:
MPLS-TP(Multi-Protocol Label Switching Transport Profile,多协议标签交换传输架构)是在MPLS基础上扩展而产生的一种面向连接的分组传送网络(PacketTransport Network, PTN)技术。0AM(Operations, Administration and Management,操作管理与维护)技术作为MPLS-TP网络中一个关键技术,承担了错误侦错、错误定位、错误上报的功能,及时告知系统进行数据通道的切换。但是,作为PTN设备核心的包处理芯片,对于MPLS-TP OAM报文和数据报文能否使用统一转发路径尚未有具体实现的方法。·因此,有必要提供一种MPLS-TP网络中OAM报文和数据报文统一转发路径的方法及装置以克服上述问题。
发明内容
本发明的目的在于提供一种MPLS-TP网络中OAM报文和数据报文统一转发路径的方法。本发明的另一目的在于一种MPLS-TP网络中OAM报文和数据报文统一转发路径的装置,所述装置应用所述MPLS-TP网络中OAM报文和数据报文统一转发路径的方法。相应地,本发明的一种MPLS-TP网络中OAM报文和数据报文统一转发路径的方法,包括如下步骤
S10,对输入的数据报文进行解析、查找、判断进行何种处理方式;
S20,根据侦测到的数据报文对MPLS-TP OAM报文进行相应的封装,并对该OAM报文标记需要与该数据报文相同的处理方式;
S30,对经过SlO及S20处理的数据报文及OAM报文进行队列处理;
S40,根据经过SlO及S20处理的数据报文及OAM报文需求进行相应编辑。作为本发明的进一步改进,所述S10、S20及S40中的数据报文处理方式均是基于MPLS数据处理方式进行的。作为本发明的进一步改进,所述SlO具体包括以下步骤
S101,输入从以太网口接收到的数据报文;
S102,对收到的数据报文进行解析出所有MPLS标签栈的内容;
S103,储存解析出的所有MPLS标签栈数据;
S104,对解析出的各MPLS标签进行查找,找到相应的处理操作,包括POP,SWAP和PUSH ;
S105,根据S104的查找结果,判断该MPLS标签是否需要Ρ0Ρ,若是,则跳过该MPLS标签的处理,对下一个MPLS标签进行处理;
S106,若否,则判断该MPLS标签是否需要SWAP;
S107,若需要进行SWAP操作,标记该MPLS标签需要进行SWAP;
S108,若该MPLS label的操作不需要SWAP,则标记该MPLS标签需要进行I3USH的操作。作为本发明的进一步改进,所述OAM报文包括CCM报文,并且所述S20具体包括以下步骤
S201,发送CCM定时器;
S202,根据侦测到的数据报文判断是否需要发送CCM报文;
S203,若需要发送CCM报文,则对CCM的PDU进行组装;
S204,按照CCM报文封装方式,添加ACH部分;
S205,根据该CCM报文所对应的是哪种OAM类型,判断是否需要添加GAL,若是PW 0ΑΜ,则不需要添加GAL,
S206,若是其他类型,则对CCM报文添加GAL ;
S207,标记该CCM报文需要进行与对应的数据报文相同的MPLS处理方式。作为本发明的进一步改进,所述S40具体包括以下步骤
S401,接收经SlO及S20处理的结果数据,即是需要进行SWAP或者PUSH,以及相应的编辑表项的索引;
S402,按照S401中的编辑表项索引找到编辑操作数据,以用作后续对数据报文及CCM报文的编辑操作;
S403,接收S402中的编辑操作数据,并按照该编辑操作数据判断该数据报文是否需要进行SWAP的报文编辑;
S404,若该数据报文是需要进行SWAP操作的,则进行SWAP的报文编辑;
S405,若该数据报文不需要SWAP操作,则判断该数据报文及CCM报文是否需要I3USHlabel,若否,则结束出方向MPLS的处理;
S406,进行S404步骤SWAP的报文编辑后,判断该数据报文是否需要继续I3USH label ;S407,若是,进行PUSH的报文编辑;另外,经过S405判断后需进行I3USH的,同时进行PUSH的报文编辑;
S408,判断是否需要继续进行PUSH label,若需要,则循环到S407 ;
S409,经过上述对数据报文及CCM报文的MPLS部分处理结束后,发送该数据报文及CCM报文以进行二层部分编辑。作为本发明的进一步改进,一种MPLS-TP网络中OAM报文和数据报文统一转发路径的装置,包括
入方向处理模块,用于对输入的数据报文进行解析、查找、判断需要进行何种处理方
式;
OAM引擎,用于根据侦测到的数据报文对MPLS-TP OAM报文进行相应的封装,并对该OAM报文标记需要与该数据报文相同的处理方式;
队列处理模块,用于对经过入方向处理模块及OAM引擎处理的数据报文及OAM报文进行队列处理;
出方向处理模块,用于根据经过入方向处理模块及OAM引擎处理的数据报文及OAM报文需求进行相应编辑。作为本发明的进一步改进,所述入方向处理模块、OAM引擎及出方向处理模块均采用MPLS的数据处理方式。作为本发明的进一步改进,所述入方向处理模块具体用于
输入从以太网口收到的数据报文;
对所述数据报文解析出所有MPLS标签栈的内容; 储存解析出的所有MPLS标签栈数据;
对解析出的各MPLS标签进行查找,找到相应的处理操作,包括POP,SWAP和PUSH ;根据上述查找结果,判断该MPLS标签是否需要Ρ0Ρ,若是,则跳过该MPLS label的处理,对下一个MPLS标签进行处理;
在判断为否时,判断该MPLS标签是否需要SWAP;
在需要进行SWAP操作时,标记该MPLS标签需要进行SWAP;
在判断为不需要SWAP时,标记该MPLS标签需要进行I3USH的操作。作为本发明的进一步改进,所述OAM报文包括CCM报文,所述OAM引擎具体用于 发送CCM定时器;
根据侦测到的数据报文判断是否需要发送CCM报文;
若需要发送CCM报文,则对CCM的PDU进行组装;
按照CCM报文封装方式,添加ACH部分;
根据该CCM报文所对应的是哪种OAM类型,判断是否需要添加GAL,若是PW 0ΑΜ,则不需要添加GAL,
若是其他类型,则对CCM报文添加GAL ;
根据侦测到的数据报文的MPLS处理方式对应标记该CCM报文需要进行的MPLS处理方式。作为本发明的进一步改进,所述出方向处理模块具体用于
接收经入方向处理模块及OAM引擎处理的结果数据,即是需要进行SWAP或者PUSH,以及相应的编辑表项的索引;
按照上述编辑表项索引找到编辑操作数据,以用作后续对数据报文及CCM报文的编辑操作;
若数据报文及CCM报文需要进行SWAP操作,则按照查找到的编辑操作数据进行SWAP的操作;
若该数据报文及CCM报文是需要进行SWAP操作的,则进行SWAP的报文编辑;
若不需要SWAP操作,判断是否需要PUSH label,若否,结束出方向MPLS的处理;
进行SWAP操作后,判断是否需要继续I3USH label ;
若是,进行PUSH的报文编辑;另外,经过上述“若不需要SWAP操作,判断是否需要TOSHlabel”后需进行PUSH的,同时进行I3USH的报文编辑;
判断是否需要继续进行PUSH label,若需要,返回进行PUSH的报文编辑;
经过上述对数据报文及CCM报文的MPLS部分处理结束后,发送该数据报文及CCM报文以进行二层部分编辑。本发明的有益效果是实现MPLS-TP网络中OAM和数据统一转换路径的方法及装置通过在S20及OAM引擎中对OAM报文进行标记与对应的数据报文相同的处理方式,以达到OAM报文对数据报文的真正的侦测和管理;另外,OAM报文与数据报文经处理后使用统一的S40步骤及出方向处理模块进行相同的编辑操作,进而可节约包处理芯片(ASIC)的资源,降低成本,提高芯片的使用效率。
图I是本发明一实施方式MPLS-TP网络中OAM报文和数据报文统一转发路径的方法的流程 图2是图I中SlO的具体处理流程 图3是图I中S20的具体处理流程图; 图4是图I中S40的具体处理流程 图5是本发明一实施方式MPLS-TP网络中OAM报文和数据报文统一转发路径的装置的模块图。
具体实施例方式以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。本发明一实施方式MPLS-TP网络中OAM报文和数据报文统一转发路径的方法及装置主要是基于MPLS数据处理方式,兼容MPLS-TP OAM报文发送,以实现MPLS-TP OAM报文和数据模块统一转发路径。MPLS的数据报文中MPLS label (MPLS标签)部分一般有三种操作,PUSH(压入),POP (弹出),SWAP (交换)。I3USH用于对报文的MPLS label的压入操作,即在原有报文三层Payload或者原有MPLS Label Stack(MPLS标签压入)之前再压入一个或多个MPLS label。POP用于对报文的MPLS label的剥离操作。SWAP用于在LSP中的中间设备,做MPLS label的交换操作。在实际应用中,对于MPLS Label Stack的操作可能是以上几项操作的结合,例如,根据外层label (标签)进行SWAP后,PUSH —层新的label,并转发;Ρ0Ρ外层label,根据内层label进行SWAP操作,并转发。OAM的功能是对相应数据通道进行监视、检测,因而要求和数据通道使用统一的路径。在基于Y. 1731《基于以太网络的OAM功能和机制》的MPLS-TP OAM中,就是需要和数据通道使用相同的 MPLS Label Stack,并且在该 MPLS-TP OAM 中,MPLS-TP OAM CCM(MPLS_TPOAM Continuity Check Message, MPLS-TP OAM连续性检测消息)报文的发送是其中的重要功能,本发明一实施方式中主要以MPLS-TP OAM报文中的CCM报文发送为例说明MPLS-TPOAM报文和数据报文统一转发路径的方法及装置。MPLS-TP OAM中主要有四种对CCM报文的封装方式
1.Section OAM(段0ΑΜ),用于检测邻接设备链路的0ΑΜ,封装方式为GAL(GenericAssociated Channel Label,通用联合通道标签)+ACH(Associated Channel,联合通it) +CCM PDU (CCM Protocol Data Unit 协议数据单元);
2.LSP 0AM(Label Switching Path 0AM,标签交换通道 0AM),用于检测整体 LSP (标签交换通道),封装方式为LSP label+GAL+ACH+CCM PDU ;
3.TCM OAM(Tandem Connecting Monitor 0AM,串联连接监视 0AM),封装方式和 LSPOAM相同,但是属于LSP中的某一部分的OAM的层次,为TCM label+GAL+ACH+CCM PDU ;
4.Pff OAM(Pseudo Wire 0ΑΜ,伪线 0AM),封装方式为 LSP label+PW label+ACH+CCM
PDU。请参照图I所示,本发明一实施方式MPLS-TP网络中OAM报文和数据报文统一转发路径的方法主要包括如下步骤
S10,对入数据报文进行处理,解析数据报文、查找、判断进行何种处理;本发明一实施方式中在MPLS部分主要是解析、查找并判断该数据报文需要进行何种MPLS处理并进行标记;· S20,根据侦测到的数据报文对MPLS-TP OAM报文进行相应的封装,并对该OAM报文标记需要进行与该数据报文相同的处理方式;
S30,对经过SlO及S20处理的数据报文及OAM报文进行队列处理;
S40,根据经过SlO及S20处理的数据报文及OAM报文需求进行相应编辑,本发明一实施方式中基于的MPLS部分主要是根据输入方向SlO的查找及处理结果及S20的处理结果,对数据报文及CCM报文进行相应编辑。本发明一实施方式中经S20处理的OAM报文主要以CCM报文为例。请参照图2所示,上述SlO步骤关于MPLS部分处理的流程具体包括
S101,输入从以太网口收到的数据报文;
S102,对接收到的数据报文进行解析,对于MPLS而言,解析出所有MPLS标签栈的内
容;
S103,储存解析出的所有MPLS标签栈数据;
S104,对解析出的各MPLS标签进行查找,找到相应的处理操作,包括POP,SWAP和PUSH ;
S105,根据S104的查找结果,判断该MPLS标签是否需要Ρ0Ρ,若是,则跳过该MPLS标签的处理,对下一个MPLS label进行处理;
S106,若否,则判断该MPLS label是否需要SWAP;
S107,若需要进行SWAP操作,标记该MPLS label需要进行SWAP;
S108,若该MPLS label的操作不需要SWAP,则标记该MPLS标签需要进行I3USH的操作。由以上可见,经过SlO步骤便可以解析出输入的数据报文可以进行的POP操作,并可以通过查找相应label处理工作指定该数据报文是否需要SWAP或PUSH的操作。请参照图3所示,上述S20步骤具体包括
S20L0AM发送CCM定时器,该定时器为按照协议关于发送CCM报文时间间隔标准的定时器;
S202,根据侦测到的数据报文判断是否需要发送与之对应的CCM报文;
S203,若需要发送CCM报文,则对CCM报文的PDU进行组装,包括Opcode, SequenceNumber, MEP ID, MEG ID 等等 CCM PDU 相关字段;
5204,按照对前述提到的CCM报文封装方式,添加ACH部分;
5205,判断是否需要添加GAL,主要是根据该CCM报文所对应的是哪种OAM类型,若是Pff OAM,则不需要添加GAL,
S206,若是其他类型,则对CCM报文添加GAL ;
S207,标记该CCM报文需要进行与对应的数据报文相同的MPLS处理方式;即在经过上述流程后,发出的CCM报文为GAL+ACH+CCM PDU,仍缺少MPLS label部分的报文编辑,则该S207步骤主要为根据侦测到的数据报文的MPLS处理方式对应标记该CCM报文以对应进行S40步骤的报文编辑操作。由以上可得,按照上述各步骤,可以灵活的对数据报文的MPLS标签栈进行编辑操作,进而达到CCM和数据报文使用统一的处理路径,即也可达到OAM层面和数据层面的统一转发路径。请参照图4所示,上述S40步骤关于MPLS部分处理的流程具体包括 S401,接收已处理结果,即接收经SlO及S20处理的结果数据,即是需要进行SWAP或者PUSH,以及相应的编辑表项的索引;
S402,按照S401中的编辑表项索引找到编辑操作数据,以用作后续对数据报文及CCM报文的编辑操作;
S403,接收S402中的编辑操作数据,并按照该编辑操作数据判断该数据报文是否需要进行SWAP的报文编辑;
S404,若该数据报文是需要进行SWAP操作的,则进行SWAP的报文编辑;
S405,若该数据报文不需要SWAP操作,则判断该数据报文及CCM报文是否需要I3USHlabel,若否,则结束出方向MPLS的处理;
S406,进行S404步骤SWAP的报文编辑后,判断该数据报文是否需要继续I3USH label ;S407,若是,进行PUSH的报文编辑;另外经过S405判断后需要进行I3USH的,同时进行PUSH的报文编辑;
S408,判断是否需要进行PUSH label,若需要,则循环到S407步骤继续进行I3USH的报文编辑;
S409,经过上述对数据报文及CCM报文的MPLS部分处理结束后,发送该数据报文及CCM报文以进行二层部分编辑,此处不做详述。由以上可见,S40输出方向处理可以灵活的对数据报文及CCM报文进行SWAP和PUSH的报文编辑操作。以下对一些MPLS操作处理情景举例说明
I.LSP的头结点,其目的是在原数据报文上Push—个MPLS label,进行MPLS域的传输。其对数据报文的操作为在输入方向处理步骤SlO判断为需要Push MPLS label,在输出方向处理步骤S40经过S403,S405, S407,完成对数据报文Push MPLS label的操作。对于OAM引擎的CCM报文发送而言,该OAM为侦测该LSP的,在OAM引擎发送CCM报文的处理中,对CCM报文进行GAL,ACH和CCM PDU的组包处理后,指定使用和数据报文相同的输出方向MPLS编辑操作,在输出方向处理步骤S40中经过S403,S405和S407,完成LSP label的Push操作,完成CCM MPLS部分的编辑处理。2. PW的头结点,其目的是在原数据报文上Push—个PW label和一个LSPlabel,使得数据报文进行VPN(Virtual Private Network,虚拟专用网络)业务的传输。其对数据报文的操作为在输入方向处理SlO判断为需要Push MPLS label,在输出方向处理上S40反复经过S403, S405, S407, S408,完成对数据报文Push Pff label和LSP label共两个MPLS Label的操作。对于OAM引擎的CCM报文发送而言,该OAM为侦测该PW的,在OAM引擎发送CCM报文的处理中,对CCM报文进行ACH和CCM PDU的组包处理后(注意,由于是PW的0ΑΜ,不进行GAL的添加),指定使用和数据报文相同的输出方向MPLS编辑操作,在输出方向处理S40中经过 S403,S405, S407, S408 完成 PW label 和 LSP label 的 Push 操作,完成 PW OAM 的CCM MPLS部分的编辑处理。3. Section OAM的情况比较特殊,该OAM的功能是检测邻接链路的状态,和数据转发无关,对于Section OAM而言,OAM引擎完成GAL + ACH + CCM PDU的编辑后,不需要在输出方向MPLS处理步骤S40中进行其他报文编辑,直接进入出方向的二层报文头编辑即可。
4. TCM OAM的情况。TCM的目的是为了检测LSP中的某一段的连接情况,在TCM的头结点,需要发送类似上述I中提到的TCM label + GAL + ACH + CCM PDU的CCM报文,即在输出方向处理S40中进行TCM label的添加。而对于数据报文而言,原有数据报文已在一条LSP上进行传输,在TCM头结点,按照协议要求,需要进行原有LSP label的SWAP操作,再进行TCM label的PUSH操作。因此对于数据报文而言,在输入方向处理SlO中确定为需要先进行SWAP操作,在输出方向处理S40中,经过S404,S406, S407的操作后,完成整个MPLS的报文的编辑操作。两者所不同的是数据报文的编辑需要先经过SWAP,而PUSH的操作时相同的,这一点可以通过S20中OAM发送CCM报文时的S207和输入方向处理SlO中的S107中进行标识。在输出方向时使用相同的编辑处理,根据标识不同,决定是否需要先SWAP。请参照图5所示为用以实施本发明一实施方式实现MPLS-TP的OAM与数据统一转发路径的方法的装置模块图,本发明一实施方式实现MPLS-TP的OAM与数据统一转发路径的装置包括
入方向处理模块,用于对输入的数据报文进行处理,解析数据报文、查找、判断该数据报文需要进行何种处理;本发明一实施方式中在MPLS部分主要是用于解析报文、查找并判断需要进行何种MPLS处理;
OAM引擎,用于根据侦测到的数据报文对MPLS-TP OAM报文进行相应的封装,并对该OAM报文标记需要与该数据报文相同的处理方式,并发送该OAM报文,本发明一实施方式中该OAM报文以CCM报文举例说明;
队列处理模块,用于对经过入方向处理模块及OAM引擎处理的数据报文及OAM报文进行队列处理;
出方向处理模块,用于根据经过入方向处理模块及OAM引擎处理的数据报文及OAM报文需求进行编辑。本发明一实施方式中基于的MPLS部分主要是用于根据入方向处理模块的查找及处理结果及OAM引擎的处理结果,对数据报文及CCM报文进行相应MPLS部分的编辑操作。上述入方向处理模块具体用于
输入从以太网口收到的数据报文;
对收到的数据报文进行解析,对于MPLS而言,用于解析出所有MPLS标签栈的内容;储存解析出的所有MPLS标签栈数据;
对解析出的各MPLS标签进行查找,找到相应的处理操作,包括POP,SWAP和PUSH ;根据查找结果,判断该MPLS标签是否需要POP,若是,则跳过该MPLS标签的处理,对下一个MPLS label进行处理;
在判断为否时,判断该MPLS label是否需要SWAP;
在需要进行SWAP操作时,标记该MPLS label需要进行SWAP;
在判断不需要SWAP时,标记该MPLS标签需要进行I3USH的操作。由以上可见,经过入方向处理模块可以解析出入数据报文可以进行的POP操作,并可以通过查找相应label处理工作指定该数据报文是否需要SWAP或PUSH的操作。另外,所述OAM引擎具体用于
发送CCM定时器,该定时器为按照协议关于发送CCM报文时间间隔标准的定时器; 根据侦测到的数据报文判断是否需要发送CCM报文;
在需要发送CCM报文时对CCM报文的PDU进行组装,包括Opcode, Sequence Number,MEP ID, MEG ID等等CCM PDU相关字段; 按照对前述提到的CCM报文封装方式,添加ACH部分;
判断是否需要添加GAL,主要是根据该CCM报文所对应的是哪种OAM类型,若是PW 0ΑΜ,则不需要添加GAL,
在判断OAM是其他类型时对CCM报文添加GAL ;
标记该CCM报文需要进行与对应的数据报文相同的MPLS处理;即在经过上述流程后,发出的CCM报文为GAL+ACH+CCM PDU,仍缺少MPLS label部分的报文编辑,则该处主要用于标记该CCM报文以在出方向处理模块(S40)中进行报文编辑操作。上述出方向处理模块具体用于
接收已处理结果,即用于接收在入方向处理模块中经过MPLS处理及在OAM引擎中处理后的结果数据,即是需要进行SWAP或者PUSH,以及相应的编辑表项的索引;
按照上述编辑表项索引找到编辑操作数据,以用作后续对数据报文及CCM报文的编辑操作;
接收S402中的编辑操作数据,并按照该编辑操作数据判断该数据报文是否需要进行SWAP的报文编辑;
若该数据报文是需要进行SWAP操作的,则进行SWAP的报文编辑;
若该数据报文不需要SWAP操作,则判断该数据报文及CCM报文是否需要TOSH label,若否,则结束出方向MPLS的处理;
进行S404步骤SWAP的报文编辑后,判断该数据报文是否需要继续TOSH label ;
在判断需要PUSH label时进行TOSH的报文编辑;另外,经过上述“若该数据报文不需要SWAP操作,则判断该数据报文及CCM报文是否需要TOSH label ”后需要进行PUSH的,同时进行I3USH的报文编辑;
判断是否需要继续进行PUSH label,若需要,则再返回进行PUSH的报文编辑;
经过上述对数据报文及CCM报文的MPLS部分处理结束后,发送该数据报文及CCM报文以进行二层部分编辑,此处不做详述。由以上可见,所述出方向处理模块可以灵活的对数据报文及CCM报文进行SWAP和PUSH的操作。由以上可得,本发明MPLS-TP OAM和数据统一转换路径的方法及装置通过在S20及OAM引擎中对OAM报文进行标记与对应的数据报文相同的处理方式,以达到OAM报文对数据报文的真正的侦测和管理;另外,OAM报文与数据报文使用统一的S40步骤及出方向处理模块进行相同的编辑操作,进而可节约包处理芯片(ASIC)的资源,降低成本,提高芯片的使用效率。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。本申请可用于众多通用或专用的计算系统环境或配置,或通信设备中。例如个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
权利要求
1.一种MPLS-TP网络中OAM报文和数据报文统一转发路径的方法,其特征在于,包括以下步骤 S10,对输入的数据报文进行解析、查找,判断需要进行何种处理方式; S20,根据侦测到的数据报文对MPLS-TP OAM报文进行相应的封装,并对该OAM报文标记需要与该数据报文相同的处理方式; S30,对经过SlO及S20处理的数据报文及OAM报文进行队列处理; S40,根据经过SlO及S20处理的数据报文及OAM报文需求进行相应编辑。
2.根据权利要求I所述的MPLS-TP网络中OAM报文和数据报文统一转发路径的方法,其特征在于,所述S10、S20及S40中的数据报文处理方式均是基于MPLS数据处理方式进行的。
3.根据权利要求2所述的MPLS-TP网络中OAM报文和数据报文统一转发路径的方法,其特征在于,所述SlO具体包括以下步骤 S101,输入从以太网口接收到的数据报文; S102,对收到的数据报文进行解析出所有MPLS标签栈的内容; S103,储存解析出的所有MPLS标签栈数据; S104,对解析出的各MPLS标签进行查找,找到相应的处理操作,包括POP,SWAP和PUSH ; S105,根据S104的查找结果,判断该MPLS标签是否需要Ρ0Ρ,若是,则跳过该MPLS标签的处理,对下一个MPLS标签进行处理; S106,若否,则判断该MPLS标签是否需要SWAP; S107,若需要进行SWAP操作,标记该MPLS标签需要进行SWAP; S108,若该MPLS标签的操作不需要SWAP,则标记该MPLS标签需要进行I3USH的操作。
4.根据权利要求3所述的MPLS-TP网络中OAM报文和数据报文统一转发路径的方法,其特征在于,所述OAM报文包括CCM报文,并且所述S20具体包括以下步骤 S201,发送CCM定时器; S202,根据侦测到的数据报文判断是否需要发送CCM报文; S203,若需要发送CCM报文,则对CCM的PDU进行组装; S204,按照CCM报文封装方式,添加ACH部分; S205,根据该CCM报文所对应的是哪种OAM类型,判断是否需要添加GAL,若是PW 0ΑΜ,则不需要添加GAL, S206,若是其他类型,则对CCM报文添加GAL ; S207,标记该CCM报文需要进行与对应的数据报文相同的MPLS处理方式。
5.根据权利要求4所述的MPLS-TP网络中OAM报文和数据报文统一转发路径的方法,其特征在于,所述S40具体包括以下步骤 S401,接收经SlO及S20处理的结果数据,即是需要进行SWAP或者PUSH,以及相应的编辑表项的索引; S402,按照S401中的编辑表项索引找到编辑操作数据,以用作后续对数据报文及CCM报文的编辑操作; S403,接收S402中的编辑操作数据,并按照该编辑操作数据判断该数据报文是否需要进行SWAP的报文编辑; S404,若是,则进行SWAP的报文编辑; S405,若该数据报文不需要SWAP操作,则判断该数据报文及CCM报文是否需要I3USHlabel,若否,则结束出方向MPLS的处理; S406,进行S404步骤SWAP的报文编辑后,判断该数据报文是否需要继续I3USH label ;S407,若是,进行PUSH的报文编辑;另外,经过S405判断后需进行I3USH的,则进行I3USH的报文编辑; S408,判断是否需要继续进行PUSH label,若需要,则循环到S407 ; S409,经过上述对数据报文及CCM报文的MPLS部分处理结束后,发送该数据报文及CCM报文以进行二层部分编辑。
6.一种MPLS-TP网络中OAM报文和数据报文统一转发路径的装置,其特征在于,包括 入方向处理模块,用于对输入的数据报文进行解析、查找、判断需要进行何种处理方式; OAM引擎,用于根据侦测到的数据报文对MPLS-TP OAM报文进行相应的封装,并对该OAM报文标记需要与该数据报文相同的处理方式; 队列处理模块,用于对经过入方向处理模块及OAM引擎处理的数据报文及OAM报文进行队列处理; 出方向处理模块,用于根据经过入方向处理模块及OAM引擎处理的数据报文及OAM报文需求进行相应编辑。
7.根据权利要求6所述的MPLS-TP网络中OAM报文和数据报文统一转发路径的装置,其特征在于,所述入方向处理模块、OAM引擎及出方向处理模块均采用MPLS的数据处理方式。
8.根据权利要求7所述的MPLS-TP网络中OAM报文和数据报文统一转发路径的装置,其特征在于,所述入方向处理模块具体用于 输入从以太网口收到的数据报文; 对所述数据报文解析出所有MPLS标签栈的内容; 储存解析出的所有MPLS标签栈数据; 对解析出的各MPLS标签进行查找,找到相应的处理操作,包括POP,SWAP和PUSH ;根据上述查找结果,判断该MPLS标签是否需要Ρ0Ρ,若是,则跳过该MPLS标签的处理,对下一个MPLS标签进行处理; 在判断为否时,判断该MPLS标签是否需要SWAP; 在需要进行SWAP操作时,标记该MPLS标签需要进行SWAP; 在判断不需要SWAP时,标记该MPLS标签需要进行I3USH的操作。
9.根据权利要求8所述的MPLS-TP网络中OAM报文和数据报文统一转发路径的装置,其特征在于,所述OAM报文包括CCM报文,所述OAM引擎具体用于 发送CCM定时器; 根据侦测到的数据报文判断是否需要发送CCM报文; 若需要发送CCM报文,则对CCM报文的PDU进行组装; 按照CCM报文封装方式,添加ACH部分;根据该CCM报文所对应的是哪种OAM类型,判断是否需要添加GAL,若是PW 0ΑΜ,则不需要添加GAL, 若是其他类型,对CCM报文添加GAL ; 标记该CCM报文需要进行与对应的数据报文相同的MPLS处理方式。
10.根据权利要求9所述的MPLS-TP网络中OAM报文和数据报文统一转发路径的装置,其特征在于,所述出方向处理模块具体用于 接收经入方向处理模块及OAM引擎处理的结果数据,即是需要进行SWAP或者PUSH,以及相应的编辑表项的索引; 按照上述编辑表项索引找到编辑操作数据,以用作后续对数据报文及CCM报文的编辑操作; 接收S402中的编辑操作数据,并按照该编辑操作数据判断该数据报文是否需要进行SWAP的报文编辑; 若该数据报文是需要进行SWAP操作的,则进行SWAP的报文编辑; 若该数据报文不需要SWAP操作,则判断该数据报文及CCM报文是否需要TOSH label,若否,则结束出方向MPLS的处理; 进行S404步骤SWAP的报文编辑后,判断该数据报文是否需要继续TOSH label ; 若是,进行PUSH的报文编辑;另外,经过上述“若该数据报文不需要SWAP操作,则判断该数据报文及CCM报文是否需要I3USH label”后需要进行I3USH的,同时进行I3USH的报文编辑; 判断是否需要继续进行PUSH label,若需要,返回进行PUSH的报文编辑; 经过上述对数据报文及CCM报文的MPLS部分处理结束后,发送该数据报文及CCM报文以进行二层部分编辑。
全文摘要
本发明提供一种MPLS-TP网络中OAM报文和数据报文统一转发路径的方法及装置,其中方法包括以下步骤对输入的数据报文进行解析、查找、判断进行何种处理方式;根据侦测到的数据报文对MPLS-TPOAM报文进行相应的封装,并对该OAM报文标记需要与该数据报文相同的处理方式;对经过上述处理的数据报文及OAM报文进行队列处理;对经过上述处理的数据报文及OAM报文进行相应编辑。从而使得OAM报文与数据报文经处理后使用统一路径进行相同的编辑操作,进而可节约包处理芯片(ASIC)的资源,降低成本,提高芯片的使用效率。
文档编号H04L12/751GK102957613SQ20111025042
公开日2013年3月6日 申请日期2011年8月29日 优先权日2011年8月29日
发明者何志川, 廖继平, 单哲, 杨曙军 申请人:盛科网络(苏州)有限公司