CN105099919B - 报文处理方法及装置 - Google Patents
报文处理方法及装置 Download PDFInfo
- Publication number
- CN105099919B CN105099919B CN201410206623.4A CN201410206623A CN105099919B CN 105099919 B CN105099919 B CN 105099919B CN 201410206623 A CN201410206623 A CN 201410206623A CN 105099919 B CN105099919 B CN 105099919B
- Authority
- CN
- China
- Prior art keywords
- message
- parameter
- path
- nodes
- process device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种报文处理方法及装置,解决SF节点无法对包括业务头的报文进行处理的问题。方法包括:报文处理装置接收来自业务转发实体SFE的第一报文,所述第一报文包括第二报文和封装在所述第二报文上的业务头,所述第一报文中的所述业务头包括业务链的路径标识ID;所述报文处理装置获取所述第二报文和所述路径ID;所述报文处理装置通过根据所述路径ID对所述第二报文进行处理,获取第三报文,其中,对所述第二报文进行的处理包括:将第一参数添加至所述第二报文内,所述第一参数为根据所述路径ID确定的参数;所述报文处理装置向业务功能SF节点发送所述第三报文。
Description
技术领域
本发明涉及通信技术,尤其涉及报文处理方法及装置。
背景技术
通常的网络设备除了提供基本的交换、路由等转发功能外,还可提供增值业务(英文全称为Value-Added Service,英文缩写为VAS),例如:网络地址转换(英文全称为Network Address Translation,英文缩写为NAT)、防火墙等业务。
提供增值业务的网络中,业务链(英文名称为service chain)包括业务分类器(英文名称为service classifier)和N个业务转发实体(英文全称为service forwardingentity,英文缩写为SFE)。service chain包括的SFE依次连接。SFE上可连接一个或多个业务功能(英文全称为service function,英文缩写为SF)节点。SF节点用以对接收到的报文进行业务处理,例如:SF节点具有NAT功能、防火墙等功能。
业务链上的service classifier根据接收到的报文对应的业务类型,为接收到的报文添加业务头。该业务头包括业务类型对应的业务链的路径标识(英文全称为Identifier,英文缩写为ID)。service classifier向连接service classifier的SFE发送包括该业务头的报文。SFE向连接SFE的SF节点发送包括该业务头的报文。SF节点无法识别包括业务头的报文,进而无法对包括业务头的报文进行业务处理。
发明内容
有鉴于此,本发明实施例提供一种报文处理方法及装置,解决SF节点无法对包括业务头的报文进行处理的问题。
本发明实施例提供的技术方案如下。
第一方面,提供了一种报文处理方法,包括:
报文处理装置接收来自SFE的第一报文,所述第一报文包括第二报文和封装在所述第二报文上的业务头,所述第一报文中的所述业务头包括业务链的路径ID;
所述报文处理装置获取所述第二报文和所述路径ID;
所述报文处理装置通过根据所述路径ID对所述第二报文进行处理,获取第三报文,其中,对所述第二报文进行的处理包括:将第一参数添加至所述第二报文内,所述第一参数为根据所述路径ID确定的参数;
所述报文处理装置向SF节点发送所述第三报文。
在上述第一方面的第一种可能的实现方式中,还包括:
所述报文处理装置接收来自所述SF节点的第四报文,所述第四报文包括所述第一参数;
所述报文处理装置根据所述第四报文中包括的所述第一参数,获取所述路径ID;
所述报文处理装置通过根据所述报文处理装置在接收到所述第四报文后获取的所述路径ID对所述第四报文进行处理,获取第五报文,其中,所述对所述第四报文的处理包括:根据所述路径ID确定所述业务头,用所述业务头对所述第四报文进行封装;
所述报文处理装置向所述SFE发送所述第五报文。
结合上述第一方面的第一种可能的实现方式,还提供了第一方面的第二种可能的实现方式,包括:
所述报文处理装置根据接收所述第一报文的接口的标识,确定根据转发表项转发所述第三报文,所述转发表项包括所述接收所述第一报文的接口的标识和第一接口的标识;
所述报文处理装置通过所述第一接口,向所述SF节点发送所述第三报文。
结合上述第一方面的第二种可能的实现方式,还提供了第一方面的第三种可能的实现方式,所述转发表项还包括所述路径ID;
所述报文处理装置根据接收所述第一报文的接口的标识,确定根据转发表项转发所述第三报文,包括:
所述报文处理装置根据所述路径ID和所述接收所述第一报文的接口的标识,确定根据所述转发表项转发所述第三报文。
结合上述第一方面的第二种可能的实现方式,还提供了第一方面的第四种可能的实现方式,所述转发表项还包括第二参数,所述第二参数用以标识所述SF节点或所述SF节点在所述业务链上的上一跳SF节点;
当所述第一报文中的业务头包括所述第二参数,所述报文处理装置根据接收所述第一报文的接口的标识,确定根据转发表项转发所述第三报文,包括:
所述报文处理装置根据所述第一报文中携带的所述第二参数和所述接收所述第一报文的接口的标识,确定根据所述转发表项转发所述第三报文。
结合上述第一方面的第四种可能的实现方式,还提供了第一方面的第五种可能的实现方式,包括:
所述报文处理装置将所述第二参数添加至所述业务头。
结合上述第一方面或第一方面的任意一种可能的实现方式,还提供了第一方面的第六种可能的实现方式,所述第一报文中的业务头还包括第三参数,所述第三参数用以标识所述第一报文为操作、管理和维护(英文全称为operation,administration andmaintenance,英文缩写为OAM)报文;
所述报文处理装置向SF节点发送所述第三报文之前,还包括:
当所述报文处理装置确定所述第一报文包括所述第三参数,且转发策略是将来自所述SFE的OAM报文发送至所述SF节点时,向所述SF节点发送所述第三报文。
结合上述第一方面或第一方面的任意一种可能的实现方式,还提供了第一方面的第七种可能的实现方式,所述第一参数为所述路径ID,或者所述第一参数为根据算法对所述路径ID进行处理后获得的数据。
第二方面,提供了一种报文处理装置,包括:
第一接收单元,用于接收来自SFE的第一报文,所述第一报文为在第二报文上封装业务头后获取的报文,所述第一报文中的所述业务头包括业务链的路径ID;
解封装单元,用于获取所述第二报文和所述路径ID;
第一获取单元,用于通过根据所述路径ID对所述第二报文进行处理,获取第三报文,其中,所述第一获取单元对所述第二报文进行的处理包括:所述第一获取单元将第一参数添加至所述第二报文内,所述第一参数为根据所述路径ID确定的参数;
第一转发单元,用于向SF节点发送所述第三报文。
在上述第二方面的第一种可能的实现方式中,还包括:
第二接收单元,用于接收来自所述SF节点的第四报文,所述第四报文包括所述第一参数;
第二获取单元,用于根据所述第四报文包括的所述第一参数,获取所述路径ID;
封装单元,用于通过根据所述报文处理装置在接收到所述第四报文后获取的所述路径ID对所述第四报文进行处理,获取第五报文,其中,所述封装单元对所述第四报文的处理包括:所述封装单元根据所述路径ID确定所述业务头,用所述业务头对所述第四报文进行封装;
第二转发单元,用于向所述SFE发送所述第五报文。
结合上述第二方面或第二方面的第一种可能的实现方式,还提供了第二方面的第二种可能的实现方式,所述第一转发单元具体用于根据所述第一接收单元接收所述第一报文的接口的标识,确定转发表项转发所述第三报文,所述转发表项包括所述接收所述第一报文的接口的标识和第一接口的标识;
所述第一转发单元具体用于通过所述第一接口,向所述SF节点发送所述第三报文。
结合上述第二方面的第二种可能的实现方式,还提供了第二方面的第三种可能的实现方式,所述转发表项还包括所述路径ID;
所述第一转发单元具体用于根据所述路径ID和所述第一接收单元接收所述第一报文的接口的标识,确定根据所述转发表项转发所述第三报文。
结合上述第二方面的第二种可能的实现方式,还提供了第二方面的第四种可能的实现方式,所述转发表项还包括第二参数,所述第二参数用以标识所述SF节点或所述SF节点在所述业务链上的上一跳SF节点;
当所述第一报文的业务头包括所述第二参数,所述第一转发单元具体用于根据所述第一报文中携带的所述第二参数和所述第一接收单元接收所述第一报文的接口的标识,确定根据所述转发表项转发所述第三报文。
结合上述第二方面的第四种可能的实现方式,还提供了第二方面的第五种可能的实现方式,所述封装单元具体用于将所述第二参数添加至所述业务头。
结合上述第二方面或第二方面的任意一种可能的实现方式,还提供了第二方面的第六种可能的实现方式,所述第一报文中的业务头还包括第三参数,所述第三参数用以标识第一报文为OAM报文;
所述报文处理装置还包括:
控制单元,用于确定所述第一报文包括所述第三参数,且转发策略是将来自所述SFE的OAM报文发送至所述SF节点时,控制所述第一转发单元向所述SF节点发送所述第三报文。
结合上述第二方面或第二方面的任意一种可能的实现方式,还提供了第二方面的第七种可能的实现方式,所述第一参数为所述路径ID,或者所述第一参数为根据算法对所述路径ID进行处理后获得的数据。
通过上述方案,本发明的报文处理装置剥除第一报文的业务头,获取第二报文。报文处理装置可从第一报文的业务头中获取路径ID。报文处理装置将与路径ID对应的第一参数添加至第二报文中,获取第三报文。报文处理装置发送第三报文至SF节点。这样,SF接收的第三报文不包括业务头,解决了SF节点无法对包括业务头的报文进行处理的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其它的附图。
图1为一种网络场景示意图。
图2为本发明实施例提供的一种网络场景示意图。
图3为本发明实施例提供的报文处理装置的示意图。
图4为本发明实施例提供的报文处理装置的示意图。
图5为本发明实施例提供的报文处理方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
图1为一种网络场景示意图。图1所示的网络包括service classifier101、SFE102和SF节点103。SF节点可具有NAT、防火墙等业务功能中的至少一种功能。图1所示的网络中的一条service chain包括service classifier101、SFE102和SF节点103。该条servicechain上,service classifier101在接收到的报文1001上封装业务头,获取报文1011。报文1011的所述业务头包括service chain的路径ID和预设ID。预设ID用以标识SF节点103在service chain上的上一跳SF节点。SFE102接收来自service classifier101的报文1011。SFE102根据报文1011的业务头包括的路径ID和预设ID,确定转发表项。该转发表项包括路径ID、预设ID和出端口。该出端口连接SF节点103。SFE102通过该出端口,发送报文1011至SF节点103。由于SF节点103无法识别报文1011的业务头,SF节点103无法对报文1011包括的报文1001进行业务处理。
针对上述问题,提出了SF节点无法对包括业务头的报文进行处理的解决方法。该方法是在SF节点和SFE之间增加报文处理装置。报文处理装置对接收的报文1011包括的业务头进行处理,使得SF节点103接收到的报文1002不包括业务头。该方法可包括:报文处理装置剥除来自SFE102的报文1011的业务头,获取报文1001。报文处理装置根据报文1011的业务头包括的路径ID,获取与路径ID对应的第一参数。报文处理装置将第一参数添加至报文1001内,获取报文1002。报文处理装置将报文1002发送至SF节点。由于报文1002不包括业务头,SF节点103能够对报文1002进行业务处理。该解决方法可通过以下几种实施例实现。
图2为本发明实施例提供的一种网络场景示意图。图2所示的网络包括serviceclassifier101、SFE102、SF节点103和报文处理装置104。图2所示的网络中的servicechain包括service classifier101、SFE102、报文处理装置104和SF节点103。所述servicechain上,service classifier101与SFE102通信;SFE102与报文处理装置104通信;报文处理装置104与SF节点103通信。若SF节点103是所述service chain上的第一个SF节点,则SF节点103在所述service chain上的上一跳SF节点不存在。若SF节点103并非所述servicechain上的第一个SF节点,所述service chain还可包括与报文处理装置104通信的SF节点105。SF节点105是SF节点103在所述service chain上的上一跳SF节点。SFE102可将报文1010通过报文处理装置104发送至SF节点105,接收SF节点105通过报文处理装置104发送的报文1011。SFE102再将报文1011通过报文处理装置104发送至SF节点103,使得报文1010在所述service chain上依照SF节点的顺序进行处理。本发明实施例中所述service chain也可以是业务功能链(英文全称为service function chain)。
图3为本发明实施例提供的一种报文处理装置的示意图。图3所示的报文处理装置可为图2所示网络中的报文处理装置104。图3所示的报文处理装置可部署于service chain上SFE102和SF节点103之间。或者,图3所示的报文处理装置可与SFE102部署于同一设备上。又或者,图3所示的报文处理装置可与SF节点103部署于同一设备上。
图3所示的报文处理装置可以包括:处理器1040、存储器1041和通信接口1042。处理器1040、存储器1041和通信接口1042通过通信总线1043连接。存储器1041用于存储程序,还可以存储映射关系。映射关系为路径ID和第一参数的映射关系。
处理器1040根据从存储器1041中读取的程序所包括的可执行指令,执行如下操作。
处理器1040通过通信接口1042,接收来自SFE102的报文1011。报文1011是在报文1001上封装业务头后获取的报文。报文1011的业务头包括service chain的路径ID。
处理器1040从报文1011剥除业务头,获取报文1001和路径ID。
处理器1040根据路径ID和报文1001,获取报文1002。报文1002是将存储器1041中保存的与路径ID对应的第一参数添加至报文1001内而获取的报文1002。
处理器1040通过通信接口1042,向SF节点103发送报文1002。
可选地,存储器1041中还可保存第一转发表项。存储器104中保存的第一转发表项包括接收报文1011的接口的ID和第一接口的ID。第一接口连接SFE节点103。处理器1040可根据接收报文1011的接口的ID,确定根据第一转发表项发送报文1002。处理器1040可根据第一接口的ID,通过通信接口1042发送报文1002至SF节点103。其中,接收报文1011的接口连接SFE102。
可选地,报文1003包括第一参数。处理器1040通过通信接口1042接收来自SF节点103的报文1003。处理器1040根据报文1003中包括的第一参数,从存储器1041获取与第一参数对应的路径ID。处理器1040根据路径ID和通过通信接口1042接收到的报文1003,获取报文1013。其中,报文1013是在报文1003上封装业务头后获取的报文。报文1013的业务头包括路径ID。处理器1040通过通信接口1042,向SFE102发送报文1013。
可选地,存储器1041中还可保存第二转发表项。存储器104中保存的第二转发表项包括接收报文1003的接口的ID和第二接口的ID。第二接口连接SFE102。处理器1040可根据接收报文1003的接口的ID,确定根据第二转发表项发送报文1003。处理器1040可根据第二接口的ID,通过通信接口1042发送报文1003至SFE102。其中,接收报文1003的接口与SF节点103连接。
进一步的,处理器1040根据存储器1041中的可执行指令和映射关系,与通信接口1042配合,使图3所示的报文处理装置执行了如图5所示的实施例中的报文处理装置所执行的全部操作。也可以认为,如图3所示的报文处理装置就是如图5所示的实施例中的报文处理装置。
图4为本发明实施例提供的一种报文处理装置的示意图。图4所示的报文处理装置包括:第一接收单元1044、解封装单元1045、第一获取单元1046和第一转发单元1047。可选地,图4对应的实施例提供的报文处理装置还包括:第二接收单元1048、第二获取单元1049、封装单元1050和第二转发单元1051。可选地,图4对应的实施例提供的报文处理装置还包括存储单元1052。存储单元1052可用以保存图3中的存储器1041所保存的映射关系。可选地,图4对应的实施例提供的报文处理装置还包括控制单元1053。
图3所示的报文处理装置和图4所示的报文处理装置可以是同一个装置,例如均为图2所示网络中的报文处理装置104。可以认为,图3从物理的角度显示了一个报文处理装置包括的内容,而图4则从逻辑的角度显示了一个报文处理装置包括的内容。可选地,图4中的第一接收单元1044、第一转发单元1047、第二接收单元1048和第二转发单元1051可以由图3中的通信接口1042来实现,通信接口1042可以包括至少一个物理接口;图4中的解封装单元1045、第一获取单元1046和封装单元1050可以由图3中的处理器1040根据存储器1041存储的可执行指令或者根据存储器1041存储的可执行指令和映射关系来实现,处理器1040可以包括至少一个物理处理器。
图5为本发明实施例提供的一种报文处理方法流程图。下面结合图2至图4,对本发明实施例提供的报文处理方法进行详细说明。
501,SFE102发送报文1011至报文处理装置104。
图2所示的网络场景中,SFE102可接收service classifier101发送的报文1010。报文1010可由service classifier101生成。例如:service classifier101接收报文1001。service classifier101根据报文1001所对应的业务类型,确定业务类型对应的servicechain的路径ID。service classifier101在报文1001上封装业务头,获取报文1010。报文1010的业务头包括所述service chain的路径ID。
可选地,当service classifier101和SFE102之间还存在SFE102在所述servicechain上的上一跳SFE时,SFE102接收的报文1010则来自于SFE102在所述service chain上的所述上一跳SFE。
可选地,报文1010的业务头中还可包括协议类型、元数据(英文名称为metadata)中的至少一个。metadata可包括向service classifier101发送报文1001的用户的ID。
SFE102可根据报文1010的业务头中的路径ID,确定转发表项。该转发表项包括路径ID和接口的ID。SFE102可根据接口的ID,发送报文1011至报文处理装置104。其中,该接口可以是SFE102连接报文处理装置104的接口。或者,该接口可以是SFE102连接SF节点103的接口。由于报文处理装置104介于SFE102和SF节点之间,因此在无需对SFE102中的转发表项进行更新或升级的情况下,就可以实现SFE102发送报文1011至报文处理装置104。
SFE102接收的报文1010与SFE102发送至报文处理装置104的报文1011可以相同,也可与SFE102发送至报文处理装置104的报文1011不同。
502,报文处理装置104获取报文1001和service chain的路径ID。
举例来说,第一接收单元1044接收来自SFE102的报文1011。解封装单元1045剥除报文1011的业务头,获取报文1001,并从所述业务头中获取所述service chain的路径ID。
SFE102向SF节点103发送的报文可以为包括所述业务头的报文,解封装单元1045可直接从第一接收单元1044接收到的报文1011中获取报文1001和业务头包括的servicechain的路径ID。
若报文1011的业务头中还包括协议类型,解封装单元1045还可以将业务头中包含的协议类型写入存储单元1052。存储单元1052中保存的协议类型与路径ID存在对应关系。若报文1011的业务头中还包括metadata,解封装单元1045还可以将业务头中包含的metadata写入存储单元1052。存储单元1052中保存的metadata与路径ID存在对应关系。报文1011的业务头可以包括协议类型和metadata中的任意一个或者全部。
503,报文处理装置104通过根据路径ID确定的第一参数对报文1001进行处理,获取报文1002。其中所述处理包括将所述第一参数添加至报文1001内。
第一参数可以是路径ID本身,或者,第一参数可以是根据算法,对路径ID进行处理后获取的数据。所述算法可以是哈希算法或压缩算法。压缩算法用以将大于N位的数据映射成N位数据。N是至少一个字节包含的数据位。
第一获取单元1046可以通过将根据路径ID确定的第一参数添加至报文1001内来获取报文1002。将根据路径ID确定的第一参数添加至报文1001内是指将所述第一参数添加至报文1001的内部,而不是指为报文1001增加一个外层报文头,并将所述第一参数添加至新增的外层报文头中。可选地,第一获取单元1046可从存储单元1052保存的路径ID和第一参数的映射关系中,获取路径ID对应的第一参数。
可选地,第一获取单元1046可将第一参数添加至报文1001中的预设字段。预设字段是SF节点103在对报文1002进行业务处理时不会被修改的字段中的至少一个字段。其中,预设字段的个数可根据第一参数所占的字节数确定。若第一参数是路径ID,且路径ID是8位,第一获取单元1046可从报文1001中选择一个字段保存路径ID。若第一参数是路径ID,且路径ID大于8位,第一获取单元1046可从报文1001中选择多个字段来保存路径ID。若第一参数是根据算法对路径ID进行处理而获取的数据,第一获取单元1046可按照上述在报文1001中保存路径ID的方法,在报文1001中选择一个或多个字段保存第一参数。报文1001中被选择的一个或多个字段是SF节点103对报文1002进行业务处理过程中不会被修改的字段。
举例来说,预设字段可以是虚拟局域网(英文全称为Virtual Local AreaNetwork,英文缩写为VLAN)字段。若报文1001为IPv4报文,则预设字段还可以是IPv4报文的服务类型(英文全称为type of service,英文缩写为TOS)字段和生存时间(英文全称为time to live,英文缩写为TTL)字段中的一个或多个字段。若报文1001为IPv6报文,则预设字段还可以是IPv6报文的流类型(英文名称为traffic class)字段、跳数限制(英文名称为hop limit)字段和流标记(英文名称为Flow Label)字段中的一个或多个字段。以SF节点103处理报文1002报文时会修改Time-To-Live字段为例,第一获取单元1046预存有SF节点103的配置信息。SF节点103的配置信息为SF节点103进行业务处理时可修改Time-To-Live字段。第一获取单元1046根据SF节点103的配置信息,将第一参数添加至Type-of-Service字段,使得SF节点103在处理报文1002的过程中保留路径ID对应的第一参数。
以路径ID为24位数据为例,第一获取单元1046可将24位的路径ID映射成8位的第一参数保存于报文1001的一个字段中。可选地,若存储单元1052保存的映射关系中未包括路径ID对应的第一参数,第一获取单元1046可从8位数据的数值范围内,选择一个未被使用的数值作为第一参数。第一获取单元1046可将与路径ID对应的第一参数存储至存储单元1052。
需要指出的是,第一获取单元1046也可以将第一参数添加至报文1001中的非预设字段中,而不是必须将第一参数添加至所述预设字段中,其中非预设字段是指SF节点103在对报文1002进行业务处理时会被修改的字段。当第一参数被添加至报文1001中的所述非预设字段中时,SF节点103在对报文1002进行业务处理的过程中,可以先读出第一参数,再对所述非预设字段进行修改,并且将所述第一参数添加回修改后的所述非预设字段或者报文1001的另一个非预设字段。只要报文处理装置104获知添加在非预设字段中的第一参数的规则,就可以保证SF节点103添加在非预设字段中的第一参数仍然可以被SFE102识别。
若报文1002中的个别字段被修改或删除,或者为报文1002增加一个或几个字段,但并没有改变报文1002的主要功能和属性,那么这种被修改的报文1002在本实施例中仍被认为是通过第一参数对报文1001处理后获取的报文1002。
504,报文处理装置104发送报文1002至SF节点103。
举例来说,可以由第一转发单元1047发送报文1002至SF节点103。
第一转发单元1047可以根据第一转发表项转发报文1002。第一转发表项可以包括接收报文1011的接口的ID和第一接口的ID,其中接收报文1011的接口连接SFE102,第一接口连接SF节点103。第一转发单元1047具体根据接收报文1011的接口的ID,确定根据第一转发表项发送报文1002。
可选地,第一转发表项除了包括接收报文1011的接口的ID和第一接口的ID之外,还可以包括路径ID。在这种情况下,第一转发单元1047具体根据接收报文1011的接口的ID和接收报文1011的接口的ID,确定根据第一转发表项发送报文1002。
可选地,第一转发表项除了包括接收报文1011的接口的ID和第一接口的ID之外,还可以包括第一参数。在这种情况下,第一转发单元1047具体根据第一参数和接收报文1011的接口的ID,确定根据第一转发表项发送报文1002。
在确定根据第一转发表项发送报文1002后,第一转发单元1047根据第一接口,发送报文1002至SF节点103。
502至504的方法为报文处理装置104对发送至SF节点103的报文1011进行处理的方法。报文处理装置104将对报文1011进行上述处理后,剥掉了所述业务头,获取到报文1002。SF节点103可以对未封装有所述业务头的报文1002进行识别和处理。
下述505至507为报文处理装置104对SF节点103发送至SFE102的报文1003进行处理的方法。报文1003为SF节点103对报文1002进行业务处理后获得的报文。报文1003保存路径ID的字段与报文1002保存路径ID的字段相同。下述505至507为可选地步骤。
505,SF节点103发送报文1003至报文处理装置104。
SF节点103可通过接收报文1002的接口,发送报文1003至报文处理装置104。或者,SF节点103上保存有转发表项。该转发表项包括第一参数和连接报文处理装置104的接口的ID。SF节点103根据报文1002中的第一参数,获取转发表项包括的连接报文处理装置104的接口的ID。SF节点103根据连接报文处理装置104的接口的ID,发送报文1003至报文处理装置104。
506,报文处理装置104通过根据路径ID对报文1003进行处理,获取报文1013。其中所述处理包括使用与路径ID对应的所述业务头对报文1003进行封装。
举例来说,第二接收单元1048接收来自SF节点103的报文1003。报文1003包括第一参数。第二获取单元1049根据接收到的报文1003包括的第一参数,获取与第一参数对应的路径ID。封装单元1050在报文1003上封装所述业务头,获取报文1013。报文1013的所述业务头包括路径ID。可选地,第二获取单元1049可从存储单元1052中获取第一参数对应的路径ID。
第二获取单元1049获取的报文1013的业务头与报文1011的业务头相同。例如:若502中报文1011的业务头携带协议类型,则第二获取单元1049可根据路径ID,从存储单元1052中获取与路径ID对应的协议类型,并将协议类型添加至报文1013的业务头。若502中报文1011的业务头携带协议类型和metadata,则第二获取单元1049可根据路径ID,从存储单元1052中获取与路径ID对应的协议类型和metadata,并将协议类型和metadata添加至报文1013的业务头。
若报文1003中的个别字段被修改或删除,或者为报文1003增加一个或几个字段,但并没有改变报文1003的主要功能和属性,那么这种被修改的报文1003在本实施例中仍被认为是所述报文1003。
507,报文处理装置104发送报文1013至SFE102。
第二转发单元1051向SFE102发送报文1013。
举例来说,第二转发单元1051可以根据第二转发表项转发报文1013。第二转发表项包括接收报文1003的接口的ID和第二接口的ID。第二转发单元1051可根据接收报文1003的接口的ID,确定根据第二转发表项发送报文1013至SFE102。第二转发单元1051可具体根据第二接口,向SFE102发送报文1013。第二接口连接SFE102。可选地,第二表项可保存于存储单元1052。
可选地,接收报文1003的接口连接SF节点103。第二转发单元1049可根据接收报文1003的接口的ID,确定报文1003来自于SF节点103。第二转发单元1049可通过接收报文1011的接口,发送报文1013至SFE102,以减少转发表项的查找。
由于报文1013来自于SF节点103,而SF节点103是附着于SFE102的,因此报文处理装置104可以将任意确定为来自SF节点103的报文转发至SFE102。
为了实现准确地转发报文,service classifier101在生成报文1011的过程中,可在报文1011的业务头中添加第二参数。第二参数用以标识service chain上的SF节点103或service chain上SF节点103的上一跳SF节点。本发明实施例中提及的第二参数可以是字符、字符串、名称或索引(英文名称为index)等信息。
502和503之间还可包括:第一获取单元1046还将报文1011的业务头包括的第二参数保存于存储单元1052。存储单元1052中的第二参数与路径ID对应。
第一转发表项还包括第二参数。504中的第一转发单元1047具体根据第二参数和接收报文1011的接口的ID,确定根据第一转发表项发送报文1002。
505和506之间还可包括:第二获取单元1049还根据获取的路径ID,从存储单元1052中获取路径ID对应的第二参数。封装单元1050还将第二参数添加至报文1013的业务头中。
上述实施例中,若报文处理装置104连接有与SF节点103相似的一个或多个SF节点,报文处理装置104可根据第二参数确定接收报文1002的SF节点103,有助于提高转发的准确性。
当报文处理装置104连接有另一条service chain上的SF节点,所述另一条service chain上的SF节点在所述另一条service chain上的上一跳SF节点为SF节点105,且第二参数用以标识SF节点105时,报文处理装置104可根据路径ID来确定转发表项。
502和503之间还可包括:第一获取单元1046将报文1011的业务头包括的路径ID和第二参数保存于存储单元1052。
举例来说,若第一转发表项还包括路径ID和第二参数。504中的第一转发单元1047可根据第二参数、路径ID和接收报文1011的接口的ID,确定根据第一转发表项发送报文1002。若第一转发表项还包括第一参数和第二参数。504中的第一转发单元1047可根据第二参数、第一参数和接收报文1011的接口的ID,确定根据第一转发表项发送报文1002。
505和506之间还可包括:第二获取单元1049还根据获取的路径ID,从存储单元1052中获取路径ID对应的第二参数。封装单元1050还将第二参数添加至报文1013的业务头中。
可选地,本发明上述实施例提及的报文1011的业务头还可包括第三参数。第三参数用以标识报文1011为OAM报文。504之前还包括:当报文处理装置104确定报文1011包括第三参数,且转发策略是将来自SFE102的OAM报文发送至SF节点103时,向SF节点103发送报文1002。具体地,报文处理装置104包括的控制单元1053确定解封装单元1045从报文1011剥除的业务头包括第三参数,且转发策略是将来自SFE102的OAM报文发送至SF节点103时,控制第一转发单元1047向SF节点103发送报文1002。
本发明上述实施例中提及的接口可以是物理接口、逻辑接口或隧道的接口。若本发明的上述实施例中提及的接口为隧道的接口,报文处理装置104需分别与SFE102和SF节点103建立隧道。本发明上述实施例中提及接口的ID属于接口的标识,本发明实施例中的接口的标识还可以是其他形式表示的标识信息。
上述通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。当使用软件实现时,可以将实现上述功能的代码存储在计算机可读介质中。计算机可读介质包括计算机存储介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以是随机存取存储器(英文全称为random access memory,英文缩写为RAM)、只读存储器(英文全称为read-onlymemory,英文缩写为ROM)、电可擦可编程只读存储器(英文全称为electrically erasableprogrammable read-only memory,英文缩写为EEPROM)、只读光盘(英文全称为compactdisc read-only memory,英文缩写为CD-ROM)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的程序代码并能够由计算机存取的任何其他介质。计算机可读介质可以是压缩光碟(英文全称为compact disk,英文缩写为CD)、激光碟、数字视频光碟(英文全称为digital video disc,英文缩写为DVD)、软盘或者蓝光碟。
最后应说明的是:以上实施例仅用以示例性说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明及本发明带来的有益效果进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求的范围。
Claims (16)
1.一种报文处理方法,其特征在于,所述方法包括:
报文处理装置接收来自业务转发实体SFE的第一报文,所述第一报文包括第二报文和封装在所述第二报文上的业务头,所述第一报文中的所述业务头包括业务链的路径标识ID;
所述报文处理装置获取所述第二报文和所述路径ID;
所述报文处理装置通过根据所述路径ID对所述第二报文进行处理,获取第三报文,其中,对所述第二报文进行的处理包括:将第一参数添加至所述第二报文内,所述第一参数为根据所述路径ID确定的参数;
所述报文处理装置向业务功能SF节点发送所述第三报文。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述报文处理装置接收来自所述SF节点的第四报文,所述第四报文包括所述第一参数;
所述报文处理装置根据所述第四报文中包括的所述第一参数,获取所述路径ID;
所述报文处理装置通过根据所述报文处理装置在接收到所述第四报文后获取的所述路径ID对所述第四报文进行处理,获取第五报文,其中,所述对所述第四报文的处理包括:根据所述路径ID确定所述业务头,用所述业务头对所述第四报文进行封装;
所述报文处理装置向所述SFE发送所述第五报文。
3.如权利要求2所述的方法,其特征在于,所述报文处理装置向业务功能SF节点发送所述第三报文包括:
所述报文处理装置根据接收所述第一报文的接口的标识,确定根据转发表项转发所述第三报文,所述转发表项包括所述接收所述第一报文的接口的标识和第一接口的标识;
所述报文处理装置通过所述第一接口,向所述SF节点发送所述第三报文。
4.如权利要求3所述的方法,其特征在于,所述转发表项还包括所述路径ID;
所述报文处理装置根据接收所述第一报文的接口的标识,确定根据转发表项转发所述第三报文,包括:
所述报文处理装置根据所述路径ID和所述接收所述第一报文的接口的标识,确定根据所述转发表项转发所述第三报文。
5.如权利要求3所述的方法,其特征在于,所述转发表项还包括第二参数,所述第二参数用以标识所述SF节点或所述SF节点在所述业务链上的上一跳SF节点;
当所述第一报文中的业务头包括所述第二参数,所述报文处理装置根据接收所述第一报文的接口的标识,确定根据转发表项转发所述第三报文,包括:
所述报文处理装置根据所述第一报文中携带的所述第二参数和所述接收所述第一报文的接口的标识,确定根据所述转发表项转发所述第三报文。
6.如权利要求5所述的方法,其特征在于,所述用所述业务头对所述第四报文进行封装包括:
所述报文处理装置将所述第二参数添加至所述业务头。
7.如权利要求1至6任一所述的方法,其特征在于,所述第一报文中的业务头还包括第三参数,所述第三参数用以标识所述第一报文为操作、管理和维护OAM报文;
所述报文处理装置向业务功能SF节点发送所述第三报文之前,所述方法还包括:
当所述报文处理装置确定所述第一报文包括所述第三参数,且转发策略是将来自所述SFE的OAM报文发送至所述SF节点时,向所述SF节点发送所述第三报文。
8.如权利要求1至6任一所述的方法,其特征在于,所述第一参数为所述路径ID,或者所述第一参数为根据算法对所述路径ID进行处理后获得的数据。
9.一种报文处理装置,其特征在于,所述报文处理装置包括:
第一接收单元,用于接收来自业务转发实体SFE的第一报文,所述第一报文为在第二报文上封装业务头后获取的报文,所述第一报文中的所述业务头包括业务链的路径标识ID;
解封装单元,用于获取所述第二报文和所述路径ID;
第一获取单元,用于通过根据所述路径ID对所述第二报文进行处理,获取第三报文,其中,所述第一获取单元对所述第二报文进行的处理包括:所述第一获取单元将第一参数添加至所述第二报文内,所述第一参数为根据所述路径ID确定的参数;
第一转发单元,用于向业务功能SF节点发送所述第三报文。
10.如权利要求9所述的装置,其特征在于,所述装置还包括:
第二接收单元,用于接收来自所述SF节点的第四报文,所述第四报文包括所述第一参数;
第二获取单元,用于根据所述第四报文包括的所述第一参数,获取所述路径ID;
封装单元,用于通过根据所述报文处理装置在接收到所述第四报文后获取的所述路径ID对所述第四报文进行处理,获取第五报文,其中,所述封装单元对所述第四报文的处理包括:所述封装单元根据所述路径ID确定所述业务头,用所述业务头对所述第四报文进行封装;
第二转发单元,用于向所述SFE发送所述第五报文。
11.如权利要求10所述的装置,其特征在于,
所述第一转发单元具体用于根据所述第一接收单元接收所述第一报文的接口的标识,确定转发表项转发所述第三报文,所述转发表项包括所述接收所述第一报文的接口的标识和第一接口的标识;
所述第一转发单元具体用于通过所述第一接口,向所述SF节点发送所述第三报文。
12.如权利要求11所述的装置,其特征在于,所述转发表项还包括所述路径ID;
所述第一转发单元具体用于根据所述路径ID和所述第一接收单元接收所述第一报文的接口的标识,确定根据所述转发表项转发所述第三报文。
13.如权利要求11所述的装置,其特征在于,所述转发表项还包括第二参数,所述第二参数用以标识所述SF节点或所述SF节点在所述业务链上的上一跳SF节点;
当所述第一报文的业务头包括所述第二参数,所述第一转发单元具体用于根据所述第一报文中携带的所述第二参数和所述第一接收单元接收所述第一报文的接口的标识,确定根据所述转发表项转发所述第三报文。
14.如权利要求13所述的装置,其特征在于,
所述封装单元具体用于将所述第二参数添加至所述业务头。
15.如权利要求9至14任一所述的装置,其特征在于,所述第一报文中的业务头还包括第三参数,所述第三参数用以标识第一报文为操作、管理和维护OAM报文;
所述报文处理装置还包括:
控制单元,用于确定所述第一报文包括所述第三参数,且转发策略是将来自所述SFE的OAM报文发送至所述SF节点时,控制所述第一转发单元向所述SF节点发送所述第三报文。
16.如权利要求9至14任一所述的装置,其特征在于,所述第一参数为所述路径ID,或者所述第一参数为根据算法对所述路径ID进行处理后获得的数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410206623.4A CN105099919B (zh) | 2014-05-15 | 2014-05-15 | 报文处理方法及装置 |
PCT/CN2015/078508 WO2015172675A1 (zh) | 2014-05-15 | 2015-05-08 | 报文处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410206623.4A CN105099919B (zh) | 2014-05-15 | 2014-05-15 | 报文处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105099919A CN105099919A (zh) | 2015-11-25 |
CN105099919B true CN105099919B (zh) | 2018-07-31 |
Family
ID=54479323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410206623.4A Active CN105099919B (zh) | 2014-05-15 | 2014-05-15 | 报文处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105099919B (zh) |
WO (1) | WO2015172675A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108353352B (zh) * | 2015-12-16 | 2020-06-16 | 华为技术有限公司 | 一种网元选择方法及网元选择器 |
CN113055289B (zh) | 2016-07-01 | 2023-12-08 | 华为技术有限公司 | 基于业务功能链sfc的报文转发方法、装置和*** |
CN107579838A (zh) * | 2016-07-05 | 2018-01-12 | 中兴通讯股份有限公司 | 数据处理方法及装置 |
CN107786437B (zh) * | 2016-08-24 | 2020-12-15 | 华为技术有限公司 | 报文转发方法及装置 |
CN108574638B (zh) * | 2017-03-14 | 2020-10-16 | 华为技术有限公司 | 一种数据报文的转发方法和设备 |
CN107786462B (zh) * | 2017-10-30 | 2020-05-12 | 新华三技术有限公司 | 报文转发方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101772918A (zh) * | 2007-08-03 | 2010-07-07 | 思科技术公司 | 服务链的操作、管理和维护(oam) |
CN103152270A (zh) * | 2013-03-11 | 2013-06-12 | 华为技术有限公司 | 转发报文的方法及路由器 |
CN103259728A (zh) * | 2013-05-24 | 2013-08-21 | 华为技术有限公司 | 一种ofs带内通信方法及ofs |
CN103269280A (zh) * | 2013-04-23 | 2013-08-28 | 华为技术有限公司 | 网络中开展业务的方法、装置及*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7860100B2 (en) * | 2008-10-01 | 2010-12-28 | Cisco Technology, Inc. | Service path selection in a service network |
US8929399B2 (en) * | 2011-12-29 | 2015-01-06 | Qualcomm Incorporated | Selectively multiplexing communication streams |
CN104283891B (zh) * | 2014-10-27 | 2017-12-08 | 新华三技术有限公司 | 将业务功能节点接入业务链网络的方法和装置 |
-
2014
- 2014-05-15 CN CN201410206623.4A patent/CN105099919B/zh active Active
-
2015
- 2015-05-08 WO PCT/CN2015/078508 patent/WO2015172675A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101772918A (zh) * | 2007-08-03 | 2010-07-07 | 思科技术公司 | 服务链的操作、管理和维护(oam) |
CN103152270A (zh) * | 2013-03-11 | 2013-06-12 | 华为技术有限公司 | 转发报文的方法及路由器 |
CN103269280A (zh) * | 2013-04-23 | 2013-08-28 | 华为技术有限公司 | 网络中开展业务的方法、装置及*** |
CN103259728A (zh) * | 2013-05-24 | 2013-08-21 | 华为技术有限公司 | 一种ofs带内通信方法及ofs |
Also Published As
Publication number | Publication date |
---|---|
WO2015172675A1 (zh) | 2015-11-19 |
CN105099919A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105099919B (zh) | 报文处理方法及装置 | |
US20210273866A1 (en) | Service Chain Fault Detection Method and Apparatus | |
CN108737269B (zh) | 一种封装方法、装置和节点 | |
CN103259726B (zh) | 存储和发送mac地址表项的方法、设备及*** | |
CN102136989B (zh) | 报文传输的方法、***和设备 | |
WO2018054397A1 (zh) | 业务功能链检测路径的方法和装置 | |
US7768918B2 (en) | Method for expanding the service VLAN space of a provider network | |
CN107211048A (zh) | 使用源路由的业务链接 | |
WO2016000513A1 (zh) | 更新业务流报文的处理方式的方法及装置 | |
CN105282024A (zh) | 通过IP封装的CCNx消息分段的切入转发 | |
WO2021213507A1 (zh) | 数据包处理的方法及设备 | |
EP3955541B1 (en) | Message processing method | |
CN105991435B (zh) | 用于获取端口路径的方法及装置 | |
US10110487B1 (en) | Signaling priority information for encapsulated packets | |
CN109450875A (zh) | Mac层封装方法及装置 | |
CN109756521B (zh) | 一种nsh报文处理方法、装置及*** | |
WO2021088629A1 (zh) | DetNet数据包处理方法及装置 | |
CN110545229B (zh) | 一种vxlan轴心组网模式下的报文发送方法、装置 | |
WO2021088813A1 (zh) | 报文封装方法及装置、报文解封装方法及装置 | |
CN108600099A (zh) | 一种报文转发方法、装置及Leaf设备 | |
CN107948077A (zh) | 一种数据报文的转发方法及装置 | |
CN105207858B (zh) | 接入装置及其执行的将用户设备接入网络的方法 | |
CN112511424A (zh) | 转发和转发报文的方法、头节点、转发节点、存储介质 | |
US9729431B1 (en) | Using standard fields to carry meta-information | |
US10256992B2 (en) | Tunnel encapsulation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |