An embodiment of the present invention provides a method for processing messages in a Software Defined Network, which is executed by a transponder. The method includes: receiving an input message; determining the flow to which the input message belongs according to the input message; and determining the flow to which the input message belongs according to the first correspondence between the flow and the set of context identifiers. The corresponding set of context identifiers; the set of context identifiers corresponding to each stream in the first corresponding relationship includes at least one context identifier; the context corresponding to the set of context identifiers is determined according to the second corresponding relationship between the context identifiers and the context; and the input message is processed according to the context corresponding to the set of context identifiers. The streams in the embodiments of the present invention are not directly related to the context, and when multiple streams share the same context, the context does not need to be saved multiple times. Under the same hardware conditions as the prior art, the embodiments of the present invention will greatly improve the storage and processing capabilities of the transponder.
【技术实现步骤摘要】
一种处理报文的方法和转发器
本专利技术实施例涉及通信
,并且更具体地,涉及一种处理报文的方法和转发器。
技术介绍
软件定义网络(英文全称:SoftwareDefinedNetwork,英文简称:SDN)是想把传统封闭的网络转变成一个开放式的环境,就像电脑一样也可以实现编程。OpenFlow技术是实现SDN的一种方式。OpenFlow技术最早由斯坦福大学提出,旨在基于现有传输控制协议(英文全称:TransmissionControlProtocol,英文简称:TCP)/网际协议(英文全称:InternetProtocol,英文简称:IP)技术条件,以创新的网络互联理念解决当前网络面对新业务产生的种种瓶颈。OpenFlow将原来完全由单一网元实现的报文转发处理过程转化为由OpenFlow转发器和控制器来共同完成,从而实现了数据转发和业务控制的分离。控制器通过OpenFlow协议这个标准接口对OpenFlow转发器中的流表进行控制,从而实现对整个网络进行集中控制。OpenFlow转发器中最重要的组成部分之一就是流表,流表由很多个流表项组成,每个流表项就是一个报文处理规则。转发器收到一个报文后可以通过查询流表项来获得需执行的动作。转发器可以包括多个流表,控制器为转发器的一个或多个流表下发针对某业务流的流表项。每个OpenFlow流表项由流的信息(如,流匹配域(flowmatchfield))、计数器和动作(Action)组成,具体参见如下表1所示:表1流匹配域计数器动作其中,表1中流匹配域是由多个域组成的匹配信息,是流表项的标识,可以用来定义流。表2所示的为 ...
【技术保护点】
1.一种在软件定义网络(Software‑Defined Network)中处理报文的方法,其特征在于,所述方法由转发器执行,所述方法包括:接收输入报文;根据所述输入报文确定所述输入报文所属的流;根据流与上下文标识集合之间的第一对应关系确定所述输入报文所属的流对应的上下文标识集合;所述第一对应关系中每个流对应的上下文标识集合包括至少一个上下文标识;根据上下文标识与上下文之间的第二对应关系确定与所述上下文标识集合相对应的上下文;根据所述上下文标识集合对应的上下文对所述输入报文进行处理。
【技术特征摘要】
1.一种在软件定义网络(Software-DefinedNetwork)中处理报文的方法,其特征在于,所述方法由转发器执行,所述方法包括:接收输入报文;根据所述输入报文确定所述输入报文所属的流;根据流与上下文标识集合之间的第一对应关系确定所述输入报文所属的流对应的上下文标识集合;所述第一对应关系中每个流对应的上下文标识集合包括至少一个上下文标识;根据上下文标识与上下文之间的第二对应关系确定与所述上下文标识集合相对应的上下文;根据所述上下文标识集合对应的上下文对所述输入报文进行处理。2.根据权利要求1所述的方法,其特征在于,所述根据所述输入报文确定所述输入报文所属的流包括:根据所述输入报文的报文头或内容确定所述输入报文所属的流。3.根据权利要求1或2所述的方法,其特征在于,根据所述第一对应关系确定所述输入报文所属的流对应的上下文标识集合之前,所述方法进一步包括:判断所述第一对应关系中有没有与所述输入报文所属的流相对应的上下文标识集合;如果有,则执行所述根据所述第一对应关系确定所述输入报文所属的流对应的上下文标识集合的步骤;如果没有,则执行如下步骤:发送流规则请求消息给控制器,所述流规则请求消息中包括所述输入报文的报文头或内容;接收所述控制器发送的流规则安装消息,所述流规则安装消息中包括所述输入报文的流对应的上下文标识集合;在所述第一对应关系中添加所述输入报文的所属的流的信息,以及与所述输入报文的流相对应的上下文标识集合。4.根据权利要求3所述的方法,其特征在于,所述控制器发送的流规则安装消息中进一步包括与所述上下文标识集合相对应的上下文;所述转发器收到所述流规则安装消息后,如果发现所述第二对应关系中没有保存所述上下文标识集合中的部分或全部上下文标识、以及与所述上下文标识集合中部分或全部上下文标识相对应的上下文,则在所述第二对应关系中,添加所述上下文标识集合中的部分或全部上下文标识、以及与所述上下文标识集合中部分或全部上下文标识相对应的上下文。5.根据权利要求1或2所述的方法,其特征在于,根据上下文标识与上下文之间的第二对应关系确定与所述上下文标识集合相对应的上下文之前,所述方法进一步包括:判断所述第二对应关系中有没有与所述上下文标识集合相对应的上下文;如果有,则执行所述根据所述第二对应关系确定所述上下文标识集合对应的上下文的步骤;如果所述上下文集合中的部分或全部上下文标识没有对应的上下文,则执行如下步骤:发送上下文请求消息给所述控制器,所述上下文请求消息中包括所述上下文标识集合中的所述部分或全部上下文标识;接收所述控制器发送的上下文安装消息,所述上下文安装消息中包括所述上下文标识集合中的部分或全部上下文标识、以及与所述上下文标识集合中的部分或全部上下文标识相对应的上下文;在所述第二对应关系中,添加所述上下文标识集合中的部分或全部上下文标识、以及与所述上下文标识集合中的部分或全部上下文标识相对应的上下文。6.根据权利要求1-5任意一项所述的方法,其特征在于,当所述上下文标识集合中包括多个上下文标识时,所述根据与所述上下文标识集合对应的上下文对所述输入报文进行处理时按照预设的上下文顺序进行。7.根据权利要求6所述的方法,其特征在于,如果所述预设的上下文顺序中包括至少两个上下文的顺序相同的情况,则所述转发器同时根据所述至少两个上下文对所述输入报文进行处理。8.根据权利要求1-7任意一项所述的方法,其特征在于,所述方法还包括:接收控制器发送的流删除消息,所述流删除消息中包括待删除流的信息;从所述第一对应关系中删除所述待删除的流的信息、以及与所述待删除的流对应的上下文标识集合。9.根据权利要求8所述的方法,其特征在于,如果所述被删除的流对应的部分或全部上下文标识没有对应其它流,则所述方法还包括:从所述第二对应关系中删除所述被删除的流对应的部分或全部上下文标识、以及与所述被删除的流对应的部分或全部上下文标识相对应的上下文。10.根据权利要求1-7任意一项所述的方法,其特征在于,所述方法还包括:接收控制器发送的上下文删除消息,所述上下文删除消息中包括至少一个待删除的上下标识;从所述第二对应关系中,删除所述至少一个待删除的上下文标识、以及与所述至少一个待删除的上下文标识相对应的上下文。11.根据权利要求10所述的方法,其特征在于,所述删除所述至少一个待删除的上下文标识相对应的上下文之后还包括:在所述第一对应关系中,删除与所述已经删除的上下文对应的上下文标识。12.根据权利要求11所述的方法,其特征在于,在所述第一对应关系中删除与所述已经删除的上下文对应的上下文标识之后还包括:在所述第一对应关系中,删除与所述已经删除的上下文标识相对应的流的信息。13.根据权利要求1-12任意一项所述的方法,其特征在于,所述方法还包括:对所述输入报文进行处理后得到上下文处理结果。14.根据权利要求13所述的方法,其特征在于,所述方法还包括:将所述上下文处理结果发送给控制器。15.根据权利要求14所述的方法,其特征在于,所述方法还包括:接收所述控制器为所述输入报文新确定的流和新确定的上下文标识集合,以便根据所述新确定的上下文标识集合对应的上下文对所述输入报文进行进一步的处理。16.根据权利要求13所述的方法,其特征在于,如果所述上下文处理结果为一个新生成的报文,则所述方法还包括:根据新生成的报文确定所述新生成的报文所属的流;根据所述第一对应关系确定与所述新生成的报文所属的流相对应的新的上下文标识集合;根据所述第二对应关系确定与所述新的上下文标识集合相对应的上下文;根据所述新的上下文标识集合对应的上下文对所述新生成的报文进行处理。17.根据权利要求1-16任意一项所述的方法,其特征在于,所述方法还包括:所述输入报文的流对应的上下文标识集合中的部分或全部上下文标识还对应其它流。18.根据权利要求1-16任意一项所述的方法,其特征在于,所述上下文标识还用于指示每个上下文的上下文类型,所述上下文类型中不包括动作类型。19.一种在在软件定义网络(Software-DefinedNetwork)中使用的转发器,其特征在于,所述转发器包括一个接口,一个处理器和一个存储器:所述存储器,用于存储流与与上下文标识集合之间的第一对应关系,以及上下文标识与上下文之间的第二对应关系;所述第一对应关系中每个流对应的上下文标识集合包括至少一个上下文标识;所述接口,用于接收输入报文;所述处理器,用于根据所述输入报文确定所述输入报文所属的流;根据所述存储器存储的第一对应关系确定所述输入报文所属的流对应的上下文标识集合;根据所述存储器存储的第二对应关系确定与所述上下文标识集合相对应的上下文;并根据所述上下文标识集合对应的上下文对所述输入报文进行处理。20.根据权利要求19所述的转发器,其特征在于,所述处理器用于根据所述输入报文确定所述输入报文所属的流具体为:所述处理器用于根据所述输入报文的报文头或内容确定所述输入报文对应的流。21.根据权利要求19或20所述的转发器,其特征在于,所述接口包括一个接收器和一个发送器;所述接口,用于接收输入报文具体为:所述接口中的接收器用于接收所述输入报文。22.根据权利要求21所述的转发器,其特征在于,所述处理器还用于:根据所述存储器存储的所述第一对应关系确定所述输入报文所属的流对应的上下文标识集合之前,判断所述第一对应关系中有没有与所述输入报文所属的流相对应的上下文标识集合;如果有,则根据所述第一对应关系确定所述输入报文所属的流对应的上下文标识集合;如果没有,则通知所述发送器;所述发送器用于在收到所述处理器的通知后发送流规则请求消息给控制器,所述流规则请求消息中包括所述输入报文的报文头或内容;所述接收器,还用于接收所述控制器发送的流规则安装消息,所述流规则安装消息中包括所述输入报文的流对应的上下文标识集合;所述处理器,还用于在所述第一对应关系中添加所述输入报文的所属的流的信息,以及与所述输入报文的流相对应的上下文标识集合。23.根据权利要求21所述的转发器,其特征在于,所述处理器,还用于根据所述存储器存储的第二对应关系确定与所述输入报文所属的流对应的上下文标识集合相对应的上下文之前,判断第二对应关系中有没有与输入报文所属的流对应的上下文标识集合相对应的上下文;如果有,则根据所述存储器存储的第二对应关系确定与所述上下文标识集合相对应的上下文;如果所述上下文标识集合中的部分或全部上下文标识没有对应的上下文,则通知所述发送器;所述发送器用于发送上下文请求消息给所述控制器,所述上下文请求消息中包括所述输入报文所属的流对应的上下文标识集合中的部分或全部上下文标识;所述接收器,还用于接收所述控制器发送的上下文安装消息,所述上下文安装消息中包括所述上下文标识集合中的所述部分或全部上下文标识、以及与上下文标识集合中的所述部分或全部上下文标识相对应的上下文;所述处理器还用于,在所述第二对应关系中,添加所述上下文标识集合中的所述部分或全部上下文标识、以及与上下文标识集合中的所述部分或全部上下文标识相对应的上下文。24.根据权利要求19或20所述的转发器,其特征在于,如果所述输入报文所属的流有多个,所述处理器用于根据流与上下文标识之间的第一对应关系确定所述输入报文所属的流对应的上下文标识集合具体为:所述处理器用于根据所述第一对应关系依次获取所述输入报文所属的每个流对应的上下文标识集合。25.根据权利要求19或20所述的转发器,其特征在于,当所述上下文标识集合中包括多个上下文标识时,则所述处理器用于根据所述上下文标识集合相对应的上下文对所述输入报文进行处理时按照预设的上下文顺序进行。26.根据权利要求25所述的转发器,其特征在于,如果所述预设的上下文顺序中包括至少两个上下文的顺序相同的情况,则所述处理器还用于同时根据所述至少两个上下文对所述输入报文进行处理。27.根据权利要求19-26任意一项所述的转发器,其特征在于,所述接收器,还用于接收控制器发送的流删除消息,所述流删除消息中包括待删除的流的信息;所述处理器,还用于从所述第一对应关系中删除所述待删除的流的信息、以及与所述待删除的流...
【专利技术属性】
技术研发人员:谭仕勇,倪慧,蔡慧,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。