CN104541481A - 一种处理用户报文的方法及转发面设备 - Google Patents
一种处理用户报文的方法及转发面设备 Download PDFInfo
- Publication number
- CN104541481A CN104541481A CN201380002701.2A CN201380002701A CN104541481A CN 104541481 A CN104541481 A CN 104541481A CN 201380002701 A CN201380002701 A CN 201380002701A CN 104541481 A CN104541481 A CN 104541481A
- Authority
- CN
- China
- Prior art keywords
- flow table
- message
- table item
- user
- forwarding surface
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/021—Ensuring consistency of routing table updates, e.g. by using epoch numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种处理用户报文的方法及转发面设备,方法包括转发面设备接收来自控制面设备的流表项安装消息,其中,流表项安装消息的数量为一条,并且流表项安装消息携带处理用户报文所需的所有流表项以及所有流表项中各个流表项所在流表的流表标识;转发面设备将各个流表项写入流表标识对应的流表中;在各个流表项写入流表标识对应的流表后,转发面设备对接收到的用户报文执行匹配与处理流程。通过上述方式,本发明能够有效地避免因网络时延,造成转发面设备处理用户报文出错的情况。
Description
【技术领域】
本发明涉及通信技术领域,特别是涉及一种处理用户报文的方法及转发面设备。
【背景技术】
电信网络中包含众多网络设备,例如:路由器、网关、交换机和防火墙等等。每一网络设备均由报文转发模块和协议控制模块组成,报文转发模块用于转发报文,协议控制模块用于根据协议对报文进行处理,以实现报文从不同网络设备中传输,进而实现网络的互联。由于网络设备分布在不同地方,这种将控制功能和转发功能集中于网络设备的方式,会使得网络的管理非常复杂,例如:需要升级网络时,则需要到不同地方将网络中每一个网络设备进行升级,非常不便利,而且耗时。
为了解决网络的管理复杂性,出现SDN(Software Defined
Network,软件定义网络)网络。SDN网络是指将网络设备中的控制模块和转发模块进行解耦,并将控制模块进行集中部署,在控制模块侧即能实现对网络的维护和管理,简单而方便。
在SDN网络中,转发功能部署在转发面设备,控制功能部署在控制面设备。控制面设备根据用户报文的内容确定处理用户报文所需的流表项,并通过流表项安装消息将流表项发送到转发面设备。转发面设备将流表项安装到自身的流表中,并根据流表项处理用户报文。在SDN网络协议,比如:Openflow协议,一流表项安装消息仅携带一流表项,若转发面设备处理用户报文的方式为多流匹配时,则控制面设备需要将处理用户报文所需的流表项通过多个流表项安装消息发送到转发面设备,转发面设备分别流表项写入对应的流表中。
本申请的发明人在长期研究中发现:转发面设备将流表项写入流表与转发面设备处理用户报文为两组独立过程,而因网络延时的原因,流表项安装消息到达转发面设备并不同步,就触发转发面设备对用户报文执行匹配与处理的流程,进而造成转发面设备在流表项缺失的情况处理用户报文,导致转发面设备处理的用户报文出错的情况。
【发明内容】
本发明实施方式主要解决的技术问题是提供处理用户报文的方法及转发面设备,能够有效避免因网络延,造成转发面设备处理用户报文出错的情况。
第一方面,提供一种处理用户报文的方法,包括转发面设备接收来自控制面设备的流表项安装消息,其中,流表项安装消息的数量为一条,并且流表项安装消息携带处理用户报文所需的所有流表项以及所述所有流表项中各个流表项所在流表的流表标识;转发面设备将流表项写入流表标识对应的流表中;在所有流表项写入对应的流表后,转发面设备对接收到的用户报文执行匹配与处理流程。
结合第一方面实现方式,在第一方面的第一种可能实现中,在转发面设备接收来自控制面设备的流表项安装消息的步骤之前,还包括:转发面设备接收用户报文,并查询到转发面设备的流表中不存在处理用户报文所需的流表项时,缓存用户报文,并向控制面设备发送流表项请求报文,其中,流表项请求报文携带至少部份用户报文的内容和缓存用户报文的缓存地址;转发面设备接收来自控制面设备的流表项安装消息的步骤具体为:转发面设备接收控制面设备根据流表项请求报文而下发的流表项安装消息,其中,流表项安装消息还携带缓存用户报文的缓存地址;转发面设备对接收到的用户报文执行匹配与处理流程的步骤包括:转发面设备从缓存地址所对应的缓存空间中提取用户报文,并对用户报文执行匹配与处理流程。
结合第一方面实现方式,在第一方面的第二种可能实现中,转发面设备接收来自控制面设备的流表项安装消息的步骤包括:转发面设备接收控制面设备根据用户签约信息、本地策略或者外部消息触发而下发的流表项安装消息。
第二方面,提供一种处理用户报文的方法,包括:转发面设备接收来自控制面设备的流表项安装消息,其中,流表项安装消息携带处理用户报文所需的流表项、流表项所在流表的流表标识和空闲标记;在转发面设备将流表项写入流表标识对应的流表后,转发面设备根据空闲标记将在流表标识对应的流表中的流表项的状态置为空闲状态;在处理用户报文所需的所有流表项写入对应的流表后,转发面设备接收来自控制面设备的激活消息;转发面设备根据激活消息将在转发面设备中的用于处理用户报文的所有流表项的状态置为激活状态,并对接收到的用户报文执行匹配与处理的流程。
结合第二方面实现方式,在第二方面的第一种可能实现中,流表项安装消息的数量为多个,并且一个流表项安装消息仅携带处理用户报文所需的一个流表项、一个流表标识和一个空闲标记。
结合第二方面实现方式或者第二方面的第一种实现方式,在第二方面的第二种可能实现中,流表项包括匹配条件;激活消息携带处理用户报文所需的所有流表项中的匹配条件和流表项所在流表的流表标识;转发面设备根据激活消息将在转发面设备中的用于处理用户报文的所有流表项的状态置为激活状态,并对接收到的用户报文执行匹配与处理的流程的步骤包括:转发面设备根据激活消息中所携带的流表标识和匹配条件找到对应的流表项,并将流表项的状态置为激活状态;在处理用户报文所需的所有流表项的状态已置为激活状态后,转发面设备对接收到的用户报文执行匹配与处理流程。
结合第二方面实现方式或者第二方面的第一种实现方式,在第二方面的第三种可能实现中,流表项包括流表项标识;激活消息携带处理用户报文所需的所有流表项的流表项标识;转发面设备根据激活消息将在转发面设备中的用于处理用户报文的所有流表项的状态置为激活状态,并执行对用户报文的匹配与处理的流程的步骤包括:转发面设备根据激活消息中所携带的流表项标识找到对应的流表项,并将流表项的状态置为激活状态,在处理用户报文所需所有流表项的状态均已置为激活状态后,转发面设备对接收到的用户报文执行匹配与处理流程。
结合第二方面至第二方面实现方式第三种实现方式中任一项,在第二方面的第四种可能实现方式中,转发面设备接收来自控制面设备的流表项安装消息的步骤具体为:转发面设备接收控制面设备根据用户签约信息、本地策略或者外部消息触发而下发的流表项安装消息。
结合第二方面至第二方面实现方式第三种实现方式中任一项,在第二方面的第五种可能实现方式中,在转发面设备接收来自控制面设备的流表项安装消息的步骤之前,还包括:转发面设备接收用户报文,并查询到转发面设备的流表中不存在处理用户报文所需的流表项时,向控制面设备发送流表项请求报文,其中,流表项请求报文携带至少部份用户报文的内容;转发面设备接收来自控制面设备的关于处理用户报文所需流表项的流表项安装消息的步骤的步骤具体为:转发面设备接收控制面设备根据流表项请求报文而下发的流表项安装消息。
第三方面,提供一种转发面设备,包括:第一接收模块,用于接收来自控制面设备的流表项安装消息,其中,流表项安装消息的数量为一条,并且流表项安装消息携带处理用户报文所需的所有流表项以及所有流表项中各个流表项所在流表的流表标识;写入模块,用于将各个流表项写入流表标识对应的流表中;匹配处理模块,用于在关于处理用户报文所需的所有流表项写入对应的流表后,对接收到的用户报文执行匹配与处理流程
结合第三方面实现方式,在第三方面的第一种可能实现中,转发面设备还包括第二接收模块、查询模块和发送模块;第二接收模块,用于接收用户报文;查询模块,用于查询转发面设备的流表中是否存在处理用户报文所需的流表项;缓存发送模块,用于在查询模块查询到转发面设备的流表中不存在处理用户报文所需的流表项时,缓存用户报文,并向控制面设备发送流表项请求报文,其中,流表项请求报文携带至少部份用户报文的内容和缓存用户报文的缓存地址;第一接收模块具体用于接收控制面设备根据流表项请求报文而下发的流表项安装消息,其中,流表项安装消息还携带缓存用户报文的缓存地址;匹配处理模块具体用于在关于处理用户报文所需的所有流表项均写入对应的流表后,从缓存地址所对应的缓存空间中提取用户报文,并对用户报文执行匹配与处理流程。
结合第三方面实现方式,在第三方面的第二种可能实现中,第一接收模块具体用于接收控制面设备根据用户签约信息、本地策略或者外部消息触发而下发的流表项安装消息。
第四方面,提供一种转发面设备,包括:转发面设备包括处理器、总线和网络接口;处理器和网络接口均与总线连接;处理器用于通过网络接口接收来自控制面设备的流表项安装消息,其中,流表项安装消息的数量为一条,并且流表项安装消息携带处理用户报文所需的所有流表项以及所有流表项中各个流表项所在流表的流表标识;将各个流表项写入流表标识对应的流表中;在所有流表项写入对应的流表后,对通过网络接口接收到的用户报文执行匹配与处理流程。
第五方面,提供一种转发面设备,包括:第一接收模块,用于接收来自控制面设备的流表项安装消息,其中,流表项安装消息携带处理用户报文所需的流表项、流表项所在流表的流表标识和空闲标记;状态设置模块,用于在将流表项写入流表标识对应的流表后,根据空闲标记将在流表标识对应的流表中的流表项的状态置为空闲状态;第二接收模块,用于在处理用户报文所需的所有流表项均写入对应的流表后,接收来自控制面设备的激活消息;匹配处理模块,用于根据激活消息将在转发面设备中的用于处理用户报文的所有流表项的状态置为激活状态,并对接收到的用户报文执行匹配与处理流程。
结合第五方面实现方式,在第五方面的第一种可能实现方式中,流表项安装消息的数量为多个,并且一个流表项安装消息仅携带处理用户报文所需的一个流表项、一个流表标识和一个空闲标记。
结合第五方面实现方式或第五方面的第一种可能实现方式,在第五方面的第二种可能实现方式,流表项包括匹配条件;激活消息携带处理用户报文所需的所有流表项中的匹配条件和流表项所在流表的流表标识;匹配处理模块具体用于根据激活消息中所携带的流表标识和匹配条件找到对应的流表项,并将流表项的状态置为激活状态,以及在处理用户报文所需的所有流表项的状态均已置为激活状态后,执行对接收到的用户报文的匹配与处理流程。
结合第五方面实现方式或第五方面的第一种可能实现方式,在第五方面的第三种可能实现方式,流表项包括流表项标识;激活消息携带处理用户报文所需的所有流表项的流表项标识;匹配处理模块具体用于根据激活消息中所携带的流表项标识找到对应的流表项,并将流表项的状态置为激活状态,在处理用户报文所需的所有流表项的状态均已置为激活状态后,对接收到的用户报文执行匹配与处理流程。
结合第五方面实现方式至第五方面的第三种实现方式中任一项实现方式,第五方面的第四种可能实现方式中,第一接收模块具体用于接收控制面设备根据用户签约信息、本地策略或者外部消息触发而下发的流表项安装消息。
结合第五方面实现方式至第五方面的第三种实现方式中任一项实现方式,第五方面的第四种可能实现方式中,转发面设备还包括第三接收模块、查询模块和发送模块;第三接收模块,用于接收用户报文;查询模块,用于查询转发面设备的流表中是否存在处理用户报文所需的流表项;发送模块,用于在查询模块查询到转发面设备的流表中不存在处理用户报文所需的流表项时,向控制面设备发送流表项请求报文,其中,流表项请求报文携带至少部份用户报文的内容;第一接收模块又具体用于接收控制面设备根据流表项请求报文而下发的流表项安装消息。
第六方面,提供一种转发面设备,包括处理器、总线和网络接口;处理器和网络接口均与总线连接;处理器用于通过网络接口接收来自控制面设备的流表项安装消息,其中,流表项安装消息携带处理用户报文所需的流表项、流表项所在流表的流表标识和空闲标记;在转发面设备将流表项写入流表标识对应的流表后,根据空闲标记将在所述流表标识对应的流表中的所述流表项的状态置为空闲状态;在所述处理用户报文所需的所有流表项写入对应的流表后,接收来自控制面设备的激活消息;根据所述激活消息将在转发面设备中的用于处理所述用户报文的所有流表项的状态置为激活状态,并对通过所述网络接口接收到的所述用户报文执行匹配与处理的流程。
本发明实施方式有益效果:转发面设备将处理用户报文所需的所有流表项均写入对应的流表后,以允许在转发面设备中的用于用户报文的流表项参与对用户报文的匹配处理流程,有效地避免由于流表项安装的不同步,部分业务流所需的流表项因还未写入流表时无法参与对用户报文进行处理,使得用户报文的处理不充分,进而造成用户报文出错的情况,有效地避免因网络原因,各个流表项安装消息到达转发面设备的时间不同步,造成将处理用户报文的流表项的写入对应流表也是不同步的,从而造成在某些流表项尚未写入流表时,即触发对用户报文的匹配与处理,使得用户报文的处理不充分,进而造成用户报文出错的情况。
【附图说明】
图1是本发明软件定义网络系统的结构示意图;
图2是本发明转发面设备第一实施方式的结构示意图;
图3是本发明转发面设备第二实施方式的结构示意图;
图4是本发明转发面设备第三实施方式的结构示意图;
图5是本发明处理用户报文的方法第一实施方式流程图;
图6是本发明处理用户报文的方法第二实施方式流程图;
图7是本发明处理用户报文的方法第三实施方式流程图;
图8是本发明处理用户报文的方法第四实施方式流程图;
图9是本发明处理用户报文的方法第五实施方式的流程图。
【具体实施方式】
下面结合附图和实施方式对本发明进行详细说明。
请参阅图1,图1是本发明软件定义网络系统的结构示意图。如图所示,所述系统50包括转发面设备501和控制面设备502。
转发面设备501接收来自控制面设备502的流表项安装消息,流表项安装携带处理用户报文所需的流表项和流表项所在流表的流表标识。转发面设备501将流表项写入流表标识对应的流表中。在处理用户报文所需的所有流表项均写入对应的流表后,转发面设备502对接收到的用户报文执行匹配与处理流程。
在本发明一种可能实现方式中,流表项安装消息的数量为一条,并且该一条流表项安装消息携带处理用户报文所需的所有流表项、各个流表项所在流表的流表标识和缓存用户报文的缓存地址。转发面设备501将流表项安装消息所携带的所有流表项均写入对应的流表后,再从缓存地址对应的缓存空间提取用户报文,并执行对用户报文的匹配和处理流程。转发面设备501也可不缓存用户报文,则流表项安装消息不携带缓存用户报文的缓存地址,但是由于以一条流表项安装消息携带处理用户报文所需的流表项,
转发面设备501将一条流表项安装消息携带的所有流表项写入转发面设备501的流表的时间极短,基本上可认为是同时写入的,从而确保处理用户报文所需的流表项均同时写入对应的流表,避免以多条流表项安装消息携带处理用户报文所需的所有流表项时,因网络原因,各个流表项安装消息到达转发面设备的时间不同步,造成将处理用户报文的流表项的写入对应流表也是不同步的,从而造成在某些流表项尚未写入流表时,即触发对用户报文的匹配与处理,使得用户报文的处理不充分,进而造成用户报文出错的情况。
在本发另一种实现中,流表项安装消息的数量为多条,流表项安装消息携带处理用户报文所需的流表项、流表项所在流表的流表标识和空闲标记。在转发面设备501将流表项写入流表标识对应的流表的同时,将该流表项置为空闲状态,以使该流表项不参与对用户报文的处理。控制面设备502在将所有流表项安装消息下发到转发面设备501后,间隔预定义时间后,才向转发面设备501发送激活消息,从而确保激活消息要比流表项安装消息晚到达到转发面设备501,从而确保转发面设备501在将处理用户报文所需的所有流表项均写入对应的流表后,再根据激活消息将在转发面设备501中的用于处理用户报文的流表项的状态置为激活状态,以使该流表项参与对用户报文的匹配和处理流程,进而确保转发面设备501中存在完整的用于处理用户报文的流表项时,才执行对用户报文的匹配和处理流程,避免因网络原因,各个流表项安装消息到达转发面设备的时间不同步,造成将处理用户报文的流表项的写入对应流表也是不同步的,从而造成在某些流表项尚未写入流表时,即触发对用户报文的匹配与处理,使得用户报文的处理不充分,进而造成用户报文出错的情况。
在本发明实施方式中,转发面设备502在处理用户报文所需的所有流表项均写入对应的流表后,才对接收到的用户报文执行匹配与处理流程,从而确保转发面设备501中存在完整的用于处理用户报文的流表项时,才执行对用户报文的匹配和处理流程,避免因网络原因,各个流表项安装消息到达转发面设备的时间不同步,造成将处理用户报文的流表项的写入对应流表也是不同步的,从而造成在某些流表项尚未写入流表时,即触发对用户报文的匹配与处理,使得用户报文的处理不充分,进而造成用户报文出错的情况。
请参阅图2,图2是本发明转发面设备第一实施方式的结构示图。如图所示,转发面设备60包括:第一接收模块601、写入模块602和匹配处理模块603。
第一接收模块601接收来自控制面设备61的流表项安装消息,其中,流表项安装消息的数量可以为一条,并且流表项安装消息携带处理用户报文所需的所有流表项以及各个流表项所在流表的流表标识。写入模块602用于将流表项写入流表标识对应的流表中。匹配处理模块603在关于处理用户报文所需的所有流表项均写入对应的流表后,对接收到的用户报文执行匹配与处理流程。
可选的,流表项安装消息可由控制面设备61主动下发的,而不是由转发面设备60请求而下发的。则第一接收模块301又可具体为接收控制面设备61根据用户签约信息、本地策略或者外部消息触发而下发的流表项安装消息。
可选的,流表项安装消息也可由转发面设备60主动请求而下发的,则转发面设备60还包括第二接收模块604、查询模块605和缓存发送模块。
第二接收模块604接收用户报文。查询模块604查询转发面设备60的流表中是否存在处理用户报文所需的流表项。若查询模块604查询到转发面设备60的流表中不存在处理用户报文所需的流表项,则缓存发送模块606缓存用户报文,并向控制面设备61发送流表项请求报文,其中,流表项请求报文携带至少部份用户报文的内容和缓存用户报文的缓存地址。至少部份用户报文的内容是控制面设备61能够该至少部份用户报文制定处理用户报文所需的流表项的内容,例如:
IP五元组、以太网帧头或者局域网标识等等。第一接收模块601具体用于接收控制面设备61根据流表项请求报文而下发的流表项安装消息,其中,流表项安装消息还携带缓存用户报文的缓存地址。匹配处理模块603具体用于在关于处理用户报文所需的所有流表项均写入对应的流表后,从缓存地址所对应的缓存空间中提取用户报文,并对用户报文执行匹配与处理流程。
在本发明实施方式中,第一接收模块601接收来自控制面设备的流表项安装消息,写入模块602将流表项安装消息中携带的所有流表项写入对应的流表,其中,由于流表项安装消息的数量为一条,并流表项安装消息携带处理用户报文所需的所有流表项,则转发面设备60接收该一条流表项安装消息,相当于转发面设备60同时接收到处理用户报文所需的所有流表项,而转发面设备将流表项安装消息所携带的所有流表项写入对应流表的时间极短,基本上可认为是同时进行的,从而实现将处理用户报文所需的所有流表项基本同时写入对应的流表,避免以多条流表项安装消息携带处理用户报文所需的所有流表项时,因网络原因,各个流表项安装消息到达转发面设备不同步,造成将处理用户报文的流表项的写入对应流表也是不同步的,从而造成在某些流表项尚未写入流表时,即触发对用户报文的匹配与处理,使得用户报文的处理不充分,进而造成用户报文出错的情况。
请参阅图3,图3是本发明转发面设备第二实施方式的结构示意图。如图所示,转发面设备70包括处理器701、总线702和网络接口703。处理器701和网络接口703均与总线702连接。
处理器701用于通过网络703接口接收来自控制面设备的流表项安装消息,其中,流表项安装消息的数量为一条,并且流表项安装消息携带处理用户报文所需的所有流表项以及所有流表项中各个流表项所在流表的流表标识;将各个流表项写入流表标识对应的流表中;在关于处理用户报文所需的所有流表项均写入对应的流表后,对通过网络接口703接收到的所述用户报文执行匹配与处理流程。
进一步的,转发面设备70还包括存储器704。处理器701执行的上述处理过程可以是由程序控制完成,程序存放于存储器704中,当需要进行上述操作时,将程序调入处理器701,由处理器501控制完成。当然,上述处理过程还可以是由硬件完成。
请参阅图3,图3是本发明转发面设备第三实施方式的结构示意图。如图所示,转发面设备80包括第一接收模块801、状态设置模块802、第二接收模块803和匹配处理模块804。
第一接收模块801接收来自控制面设备81的流表项安装消息,其中,流表项安装消息携带处理用户报文所需的流表项、流表项所在流表的流表标识和空闲标记。在本发明可能实施方式中,流表项安装消息的数量为多个,并且一个流表项安装消息仅携带所述处理用户报文所需的一个流表项、一个流表标识和一个空闲标记。
可选的,流表项安装消息可由控制面设备81主动下发的,则第一接收模块801又可具体为:接收控制面设备根据用户签约信息、本地策略或者外部消息触发而下发的流表项安装消息。
可选的,流表项安装消息也可由控制面设备81根据转发面设备的请求而下发的,则转发面设备80还包括第三接收模块805、查询模块806和发送模块807。第三接收模块805用于接收用户报文。查询模块806用于查询转发面设备80的流表中是否存在处理用户报文所需的流表项。发送模块807用于在查询模块806查询到转发面设备80的流表中不存在处理用户报文所需的流表项时,向控制面设备81发送流表项请求报文,其中,流表项请求报文携带至少部份用户报文的内容。至少部份用户报文的内容为控制面设备能够根据该至少部份内容,制定处理用户报文的流表项的内容。转发面设备80查到不存处理用户报文的流表项时,不缓存用户报文,将通过默认的方式转发用户报文。第一接收模块801又具体用于接收控制面设备81根据流表项请求报文而下发的流表项安装消息。
状态设置模块802在将流表项写入流表标识对应的流表后,根据空闲标记将在流表标识对应的流表中的流表项的状态置为空闲状态。流表项处于无效状态是指流表项不参与对用户报文的匹配与处理流程。第二接收模块803在处理用户报文所需的所有流表项均写入对应的流表后,接收来自控制面设备81的激活消息。其中,控制面设备81将携带有处理用户报文所需的流表项的流表项安装消息均已下发完成后,间隔预定义时间后,再发送激活消息,以确保激活消息要比流表项安装消息晚到达转发面设备80。匹配处理模块804根据激活消息将在转发面设备中的用于处理用户报文的所有流表项的状态置为激活状态,并对所述接收的用户报文执行匹配与处理流程。
可选的,流表项包括匹配条件和处理内容,激活消息包括携带处理用户报文所需的所有流表项中的匹配条件和流表项所在流表的流表标识。匹配处理模块804具体用于根据激活消息中所携带的流表标识和匹配条件找到对应的流表项,并将流表项的状态置为激活状态,以及在处理用户报文所需的所有流表项的状态均已置为激活状态后,执行对接收到的用户报文的匹配与处理流程。
可选的,流表项包括流表项标识。流表项标识是流表项的唯一标记。激活消息携带处理用户报文所需的所有流表项的流表项标识,匹配处理模块804具体用于根据激活消息中所携带的流表项标识找到对应的流表项,并将流表项的状态置为激活状态,在处理用户报文所需的所有流表项的状态均已置为激活状态后,对接收到的用户报文执行匹配与处理流程。
在本发明实施方式中,第一接收模块801接收到的流表项安装消息中除携带流表项和流表项所在流表的流表标识之外,还携带空闲标记。状态设置模块在将流表项写入对应的流表后,将该流表项的状态置为空闲状态。其中,当流表项处于无效状态时,流表项是不允许参与对用户报文的匹配和处理,即使各流表项安装消息因网络延时,造成到达转发面设备的时间不同步,进而造成将处理用户报文的流表项的写入对应流表也是不同步的,但是由于已经写入转发面设备的用于处理用户报文的流表项的状态处于无效状态,不参与对用户报文的匹配和处理流程,避免出现处理用户报文的流表项存在缺少的情况下,即触发对用户报文的匹配与处理,使得用户报文的处理不充分,进而造成用户报文出错的情况。,第二接收模块803在处理用户报文所需的所有流表项均写入对应的流表后,接收到激活消息。匹配处理模块804根据激活消息,将处理用户报文所需的所有流表项的状态置为激活状态,以允许流表项参与对用户报文的处理,从而保确在转发面设备中存在完整的用于处理用户报文的流表项时,才执行对用户报文的匹配和处理流程,避免出现处理用户报文的流表项存在缺少的情况下,即触发对用户报文的匹配与处理,使得用户报文的处理不充分,进而造成用户报文出错的情况。
请参阅图5,图5是本发明转发面设备第四实施方式的结构示意图。如图所示,转发面设备90包括处理器901、总线902和网络接口903。处理器901和网络接口903均与总线902连接。
处理器901用于通过网络接口903接收来自控制面设备的流表项安装消息,其中,流表项安装消息携带处理用户报文所需的流表项、流表项所在流表的流表标识和空闲标记;在转发面设备90将流表项写入流表标识对应的流表后,根据空闲标记将在流表标识对应的流表中的流表项的状态置为空闲状态;在处理用户报文所需的所有流表项均写入对应的流表后,接收来自控制面设备91的激活消息;根据激活消息将在转发面设备90中的用于处理用户报文的所有流表项的状态置为激活状态,并对通过网络接口903接收到的用户报文执行匹配与处理的流程。
进一步的,转发面设备90还包括存储器904。处理器901执行的上述处理过程可以是由程序控制完成,程序存放于存储器904中,当需要进行上述操作时,将程序调入处理器901,由处理器901控制完成。当然,上述处理过程还可以是由硬件完成。
请参阅图6,图6是本发明处理用户报文的方法第一实施方式的流程图。如图所示,所述方法包括:
步骤101:转发面设备接收来自控制面设备的流表项安装消息,其中,流表项安装消息的数量为一条,并且流表项安装消息携带处理用户报文所需的所有流表项以及各个流表项所在流表的流表标识;
控制面设备负责逻辑控制,转发面设备负责报文处理,控制面设备将处理用户报文所需要的流表项下发到转发面设备,转发面设备将流表项写入对应的流表,并根据流表中的流表项对用户报文执行匹配和处理流程。
流表项包括匹配条件和处理内容,匹配条件用于判断用户报文是否为该流表项的处理对象,其中,可以以用户报文源/目的MAC地址、局域网标识、源/目的IP地址、TCP/UDP协议类型、源/目的端口号、GRE
key(Generic Routing Encapsulation,通用路由封装钥匙)、GTP TEID(Generic Routing
Encapsulation Tunnel Endpoint
Identifier,通用路由封装隧道终点标识)中一种或者多种可作匹配条件,处理内容用于指示对匹配的用户报文所执行的处理,比如转发、丢弃、修改、封装或者解封装等等。
通常情况下,转发面设备设置有多个流表,每个流表中设置有多个流表项,转发面设备在处理用户报文时,通常需要进行多流表匹配,其中,转发面设备进行多流表匹配的处理方式为串行处理方式,例如:用户报文1,需要经历流表0中流表项1->流表3中流表项3->流表5中流表项2处理,则先根据流表0中流表项1处理用户报文,接着根据流表3中流表项3处理用户报文,最后根据流表5中流表项2处理用户报文,若存在流表项缺失,例如:缺少流表3中流表项3,则导致用户报文1处理不充份,进而导致用户报文1处理出错。
步骤102:转发面设备将流表项写入流表标识对应的流表中;
流表标识是转发面设备中的流表的唯一标记,不同流表赋予唯一标记的流表标识。
步骤103:在关于处理用户报文所需的所有流表项均写入对应的流表后,转发面设备对接收到的用户报文执行匹配与处理流程;
当转发面设备接收到流表项安装消息,并且没接收到用户报文时,转发面设备将流表项安装消息中所携带的所有流表项均写入对应流表,其中转发面设备将流表项安装消息中所携带的所有流表项写入对应流表的时间极短,基本上可以认为流表项安装消息所携带的所有流表项均同时写入对应流表,此后,转发面设备接收到该用户报文时,则可对该用户报文执项匹配和处理。
当转发面设备接收到流表项安装消息之前,已经接收到该用户报文时,则转发面设备将该用户报文缓存于缓存空间,并向控制面设备申请处理该用户报文的流表项,并在处理该用户报文的流表项均已写入对应的流表后,再从缓存空间中提取该用户报文,并对该用户报文执行匹配和处理。
在本发明实施方式中,转发面设备接收来自控制面设备的流表项安装消息,并将流表项安装消息中携带的所有流表项写入对应的流表,其中,由于流表项安装消息的数量为一条,并流表项安装消息携带处理用户报文所需的所有流表项在这一条流表项安装消息中,则转发面设备接收该一条流表项安装消息,相当于转发面设备同时接收到处理用户报文所需的所有流表项,而转发面设备将流表项安装消息所携带的所有流表项写入对应流表的时间极短,基本上可认为是同时进行的,从而实现将处理用户报文所需的所有流表项基本同时写入对应的流表,避免以多条流表项安装消息携带处理用户报文所需的所有流表项时,因网络原因,各个流表项安装消息到达转发面设备的时间不一定相同,造成将处理用户报文的流表项的写入对应流表也是不同步的,从而造成在某些流表项尚未写入流表时,即触发对用户报文的匹配与处理,使得用户报文的处理不充分,进而造成用户报文出错的情况。
请参阅图7,图7是本发明处理用户报文的方法第二实施方式的流程图。如图所示,所述方法包括:
步骤201:转发面设备接收用户报文;
控制面设备负责逻辑控制,转发面设备负责报文处理,并且转发面设备根据控制面设备下发的流表项对用户报文执项匹配和处理。流表项包括匹配条件和处理内容,匹配条件用于判断用户报文是否属于流表项的处理对象,处理内容用于指示对符合匹配条件的用户报文所执行的动作。
步骤202:转发面设备查询转发面设备的流表中是否存在处理用户报文所需的流表项,若不存在处理用户报文所需的流表项时,进入步骤204,否则进入步骤203;
步骤203:转发面设备根据流表中的流表项处理用户报文;
步骤204:转发面设备缓存该用户报文,并向控制面设备发送流表项请求报文,其中,流表项请求报文携带至少部份用户报文的内容和缓存用户报文的缓存地址;
至少部份用户报文的内容为控制面设备接收到流表项请求报文后,能够根据该至少部份用户报文的内容,制定处理该用户报文所需要的流表项的内容,例如IP五元组、以太网帧头或者局域网标识等等。控制面设备制定好处理用户报文的流表项后,将流表项、各个流表项所在流表的流表标识和缓存用户报文的缓存地址封装于流表项安装消息中,并将流表项安装消息下发到转发面设备。
步骤205:转发面设备接收来自控制面设备根据流表项请求报文而下发的流表项安装消息,其中,流表项安装消息的数量为一个,并且流表项安装消息携带处理用户报文所需的所有流表项、各个流表项所在流表的流表标识以及缓存用户报文的缓存地址;
通常情况下,转发面设备接收到流表项安装消息后,会先将流表项安装消息中携带的流表项写入对应的流表,再从缓存地址的缓存空间中提取用户报文,执行对用户报文的匹配和处理。若以多条流表项安装消息携带处理用户报文的流表项,很有可能因网络延时的问题,造成各条流表项安装消息到达转发面设备的时间不相同,从而造成将处理用户报文的流表项写入对应流表的时间也不相同;假如携带有缓存用户报文的缓存地址的流表项安装消息先到达转发面设备,其他流表项安装消息后到达转发面设备,则有可能造成其他流表项安装消息所携带的流表项尚没写入对应的流表,即从缓存地址对应的缓存空间提取用户报文,并执行对用户报文的匹配和处理,从而造成用户报文的处理不充分,进而造成用户报文处理出错的情况。
步骤206:转发面设备将流表项写入流表标识对应的流表中;
流表标识是转发面设备中的流表的唯一标记,通过流表标识区别不同流表。
步骤207:在关于处理用户报文所需的所有流表项均写入对应的流表后,转发面设备从缓存地址所对应的缓存空间中提取用户报文,并对用户报文执行匹配与处理流程;
流表项安装消息的数量为一条,并且该一条流表项安装消息携带处理用户报文所需的所有流表项,因此,转发面设备接收该流表项安装消息时,就相当于同时接收到处理用户报文所需的所有流表项,而转发面设备将流表项安装消息中携带所有流表项写入对应流表的时间极短,基本可以认为是同时写入的,从而确保处理用户报文所需的所有流表项几乎是同时写入对应的流表。进一步,由于流表项安装消息还携带缓存用户报文的缓存地址,则在将流表项写入对应流表后,从缓存地址提取用户报文,并执行匹配和处理。
可选的,控制面设备也可主动向转发面设备下发流表项安装消息,其中,流表项安装消息的数量也为一条,并且流表项安装消息携带处理用户报文所需的所有流表项以及各个流表项所在流表的流表标识,则在本发明实施方式中,也可不包括步骤201~步骤204,步骤205又可具体为:转发面设备接收控制面设备根据用户签约信息、本地策略或者外部消息触发而下发的流表项安装消息,其中,流表项安装消息的数量为一条,并且流表项安装消息携带处理用户报文所需的所有流表项以及各个流表项所在流表的流表标识。步骤207又可具体:在关于处理用户报文所需的所有流表项均写入对应的流表后,转发面设备对接收到的用户报文执行匹配与处理流程。
由于控制面设备以一条流表项安装消息携带处理用户报文所需的所有流表项,则转发面设备接收到该流表项安装消息,相当于转发面设备同时接收到处理用户报文所需的所有流表项,而转发面设备将一条流表项安装消息中所携带处理用户报文所需的所有流表项写入对应流表的时间极短,基本可以认为是同时进行的。若用户报文比流表项安装消息先到达转发面设备,则转发面设备按默认方式处理用户报文;若转发面设备在处理用户报文过程中,接收到流表项安装消息,则转发面仍然按默认方式处理用户报文;在将处理用户报文所需的所有流表项均写入对应后,若接收用户报文,则对用户报文进行匹配和处理流程。
在本发明实施方式中,转发面设备接收来自控制面设备的流表项安装消息,并将流表项安装消息中所携带的所有流表项写入对应的流表,其中,由于流表项安装消息的数量为一条,并流表项安装消息携带处理用户报文所需的所有流表项,则转发面设备接收该一条流表项安装消息,相当于转发面设备同时接收到处理用户报文所需的所有流表项,而转发面设备将流表项安装消息所携带的所有流表项写入对应流表的时间极短,基本上可认为是同时进行的,从而实现将处理用户报文所需的所有流表项基本同时写入对应的流表,避免以多条流表项安装消息携带处理用户报文所需的所有流表项时,因网络原因,各个流表项安装消息到达转发面设备的时间不同步,从而造成将处理用户报文的流表项的写入对应流表也是不同步的,进而可能造成在某些流表项尚未写入流表时,即触发对用户报文的匹配与处理,使得用户报文的处理不充分,进而造成用户报文出错的情况。
请参阅图8,图8是本发明处理用户报文的方法第二实施方式流程图。如图所示,所述方法包括:
步骤301:转发面设备接收来自控制面设备的流表项安装消息,其中,流表项安装消息携带处理用户报文所需的流表项、流表项所在流表的流表标识和空闲标记;
控制面设备负责逻辑控制,转发面设备负责报文处理,控制面设备将处理用户报文所需要的流表项下发到转发面设备,转发面设备根据控制面设备下发的流表项对用户报文执行匹配和处理流程。流表项包括匹配条件和处理内容,匹配条件用于判断用户报文是否属于流表项的处理对象,处理内容用于指示对符合匹配条件的用户报文所执行的动作。在本发明实施方式中,流表项安装消息的数量为多个,并且一流表项安装消息仅携带处理用户报文所需的一流表项、流表标识和空闲标记。
步骤302:在转发面设备将流表项写入流表标识对应的流表后,转发面设备根据空闲标记将在流表标识对应的流表中的流表项的状态置为空闲状态;
空闲标记用于指示在转发面设备将流表项写入对应的流表后,将在该流表中的该流表项的状态置为空闲状态,其中,转发面设备中的流表项处于状态是指在转发面设备中的流表项不参与对用户报文的匹配和处理流程。
步骤303:在处理用户报文所需的所有流表项均写入对应的流表后,转发面设备接收来自控制面设备的激活消息;
控制面设备将流表项安装消息都发送完成后,隔间预定时间再发送激活消息,以确保激活消息会比流表项安装消息晚到达转发面设备,进而能够确保转发面设备将处理用户报文所需的所有流表项均写入对应的流表后,才根据激活消息激活在转发面设备中的用于处理用户报文的流表项。
步骤:304:转发面设备根据激活消息将在转发面设备中的用于处理用户报文的所有流表项的状态置为激活状态,并对接收到的用户报文执行匹配与处理的流程。
转发面设备中的流表项处于激活状态是指在转发面设备中的流表项允许参与对用户报文的匹配和处理流程。由于处理用户报文所需的所有流表项均写入对应的流表后,才激活在转发面设备中的处理用户报文的流表项,从而确保处理用户报文所需的流表项均写入对应的流表后,才执行对用户报文的匹配和处理。
在本发明实施方式中,流表项安装消息中除携带流表项和流表项所在流表的流表标识之外,还携带空闲标记,以使转发面设备将流表项写入对应的流表的同时,将该流表项的状态置为空闲状态,当流表项处于无效状态时,流表项是不允许参与对用户报文的匹配和处理流程,纵然各流表项安装消息因网络延时,造成到达转发面设备的时间不同步,进而造成将处理用户报文的流表项的写入对应流表也是不同步的,但是由于已经写入转发面设备的用于处理用户报文的流表项的状态处于无效状态,不参与对用户报文的匹配和处理流程,从而避免出现处理用户报文的流表项存在缺少的情况下,即触发对用户报文的匹配与处理,造成用户报文处理出错的情况。当处理用户报文所需的所有流表项均写入对应的流表后,才将用于处理用户报文的所有流表项的状态置为激活状态,以允许流表项参与对用户报文的处理,从而确保在转发面设备中存在完整的用于处理用户报文的流表项时,才执行对用户报文的匹配和处理,避免出现处理用户报文的流表项存在缺少的情况下,即触发对用户报文的匹配与处理,使得用户报文的处理不充分,进而造成用户报文出错的情况。
请参阅图9,图9是本发明处理用户报文的方法第五实施方式的流程图。如图所示,所述方法包括:
步骤401:转发面设备接收用户报文;
转发面设备负责报文的处理,控制面设备负责逻辑控制,控制面设备根据需求将处理用户报文所需要的流表项下发到转发面设备,以使转发面设备根据控制面设备下发的流表项对用户报文执行匹配和处理流程。
步骤402:转发面设备查询转发面设备的流表中是否存在处理用户报文所需的流表项,若不存在处理用户报文所需的流表项时,进入步骤404,否则进入步骤403;
通常情况下,转发面设备设置有多流表,每个流表中存储有多个流表项。流表项包括匹配条件和处理内容,匹配条件用于判断用户报文是否属于流表项的处理对象,处理内容用于指示对符合匹配条件的用户报文所执行的处理。转发面设备将用户报文与起始流表中的流表项的匹配条件进行匹配,若用户报文与匹配条件吻合,则根据处理内容处理用户报文,在处理完成后转到所指定的下一流表,并在所指定的下一流表中,将用户报文与在流表中的流表项的匹配条件进行匹配,若用户报文与匹配条件吻合,则根据处理内容处理用户报文,在处理完成转到所指定的下一流表,直至匹配和处理完成。
步骤403:转发面设备根据流表中的流表项处理用户报文;
步骤404:转发面设备向控制面设备发送流表项请求报文,其中,流表项请求报文携带至少部份用户报文的内容;
至少部份用户报文的内容为控制面设备接收到流表项请求报文后,能够根据该至少部份用户报文的内容,制定处理该用户报文所需要的流表项的内容,例如IP五元组、以太网帧头或者局域网标识等等。
值得说明的是:转发面设备查询到不存在处理用户报文所需的流表项时,可不缓存该用户报文,直接按默认处理方式处理用户报文,而不是执行匹配和处理流程。
步骤405:转发面设备接收控制面设备根据流表项请求报文而下发的关于处理用户报文所需的流表项安装消息;
流表项安装消息的数量为多个,并且一流表项安装消息仅携带处理用户报文所需的一流表项、流表标识和空闲标记。
步骤406:在转发面设备将流表项写入流表标识对应的流表后,转发面设备根据空闲标记将在流表中的流表项的状态置为空闲状态;
空闲标记用于指示在转发面设备将流表项写入对应的流表后,将在该流表中的该流表项的状态置为空闲状态,其中,转发面设备中的流表项处于状态是指在转发面设备中的流表项不参与对用户报文的匹配和处理流程。
步骤407:在处理用户报文所需的所有流表项均写入对应的流表后,转发面设备接收来自控制面设备的激活消息;
控制面设备将流表项安装消息都发送完成后,隔间预定时间再发送激活消息,以确保激活消息会比流表项安装消息晚到达转发面设备,进而能够确保转发面设备将处理用户报文所需的所有流表项均写入对应的流表后,才根据激活消息将在转发面设备中的处理用户报文所需的流表项置为激活状态。
步骤:408:转发面设备根据激活消息将在转发面设备中的处理用户报文所需的所有流表项置为激活状态,并对接收到的用户报文执行匹配与处理的流程。
转发面设备中的流表项处于激活状态是指在转发面设备中的流表项允许参与对用户报文的匹配和处理流程。由于处理用户报文所需的所有流表项均写入对应的流表后,才激活在转发面设备中的处理用户报文的流表项,从而确保处理用户报文所需的流表项均写入对应的流表后,才执行对用户报文的匹配和处理。
在本发明一种实现中,流表项包括匹配条件和处理内容,激活消息携带处理用户报文所需的所有流表项中的匹配条件和流表项所在流表的流表标识,转发面设备接收到激活消息后,根据流表标识找到对应的流表,接着根据激活消息所携带的匹配条件在所找到的流表中查找对应流表项,并将所找到的流表项的状态置为激活状态,则步骤408又可具体为:
转发面设备根据激活消息中所携带的流表标识和匹配条件找到对应的流表项,并将流表项的状态置为激活状态;在处理用户报文所需的所有流表项的状态均已置为激活状态后,转发面设备执行对用户报文的流表项匹配与处理的流程;
在本发明另一种实现中,流表项除了包括匹配条件和处理内容之外,还包括流表项标识,其中,流表项标识为流表项的唯一标记,不同流表项,流表项标识也是不同的。激活消息携带处理用户报文所需的所有流表项的流表项标识。步骤408又可具体为:转发面设备根据激活消息中所携带的流表项标识找到对应的流表项,并将流表项的状态置为激活状态,在处理用户报文所需所有流表项的状态均已置为激活状态后,转发面设备执行对用户报文的匹配与处理流程。
可选的,控制面设备也可主动向转发面设备下发流表项安装消息,则也可不包括步骤401~步骤404,步骤405又可具体为:转发面设备接收控制面设备根据用户签约信息、本地策略或者外部触发消息而下发的流表项安装消息,其中,流表项安装消息携带处理用户报文所需的流表项、流表项所在流表的流表标识和空闲标记。
在本发明实施方式中,流表项安装消息中除携带流表项和流表项所在流表的流表标识之外,还携带空闲标记,以使得转发面设备在将流表项写入对应的流表的同时,将该流表项的状态置为空闲状态。当流表项处于无效状态时,流表项是不允许参与对用户报文的匹配和处理,即使各流表项安装消息因网络延时,造成到达转发面设备的时间不同步,进而造成将处理用户报文的流表项的写入对应流表也是不同步的,但是由于已经写入转发面设备的用于处理用户报文的流表项的状态处于无效状态,不参与对用户报文的匹配和处理流程,避免出现处理用户报文的流表项存在缺少的情况下,即触发对用户报文的匹配与处理,使得用户报文的处理不充分,进而造成用户报文出错的情况。在处理用户报文所需的所有流表项均写入对应的流表后,才将处理用户报文所需的所有流表项的状态置为激活状态,以允许流表项参与对用户报文的处理,从而保确在转发面设备中存在完整的用于处理用户报文的流表项时,才执行对用户报文的匹配和处理流程,避免出现处理用户报文的流表项存在缺少的情况下,即触发对用户报文的匹配与处理,使得用户报文的处理不充分,进而造成用户报文出错的情况。
Claims (20)
- 一种处理用户报文的方法,其特征在于,所述方法包括:转发面设备接收来自控制面设备的流表项安装消息,其中,所述流表项安装消息的数量为一条,并且所述流表项安装消息携带处理用户报文所需的所有流表项以及所述所有流表项各个流表项所在流表的流表标识;所述转发面设备将所述多个流表项写入所述流表标识对应的流表中;在所述各个流表项写入所述流表标识对应的流表后,所述转发面设备对接收到的所述用户报文执行匹配与处理流程。
- 根据权利要求1所述的方法,其特征在于,在所述转发面设备接收来自控制面设备的流表项安装消息的步骤之前,还包括:所述转发面设备接收所述用户报文,并在查询到所述转发面设备的流表中不存在处理所述用户报文所需的流表项时,缓存所述用户报文,并向所述控制面设备发送流表项请求报文,其中,所述流表项请求报文携带所述至少部份所述用户报文的内容和缓存所述用户报文的缓存地址;所述转发面设备接收来自控制面设备的流表项安装消息的步骤具体为:所述转发面设备接收控制面设备根据所述流表项请求报文而下发的流表项安装消息,其中,所述流表项安装消息还携带缓存所述用户报文的缓存地址;所述转发面设备对接收到的所述用户报文执行匹配与处理流程的步骤包括:所述转发面设备从缓存地址所对应的缓存空间中提取所述用户报文,并对所述用户报文执行匹配与处理流程。
- 根据权利要求1所述的方法,其特征在于,所述转发面设备接收来自控制面设备的流表项安装消息的步骤包括:所述转发面设备接收控制面设备根据用户签约信息、本地策略或者外部消息触发而下发的流表项安装消息。
- 一种处理用户报文的方法,其特征在于,所述方法包括:转发面设备接收来自控制面设备的流表项安装消息,其中,所述流表项安装消息携带处理用户报文所需的流表项、所述流表项所在流表的流表标识和空闲标记;在所述转发面设备将所述流表项写入所述流表标识对应的流表后,所述转发面设备根据空闲标记将在所述流表标识对应的流表中的所述流表项的状态置为空闲状态;在所述处理用户报文所需的所有流表项写入对应的流表后,所述转发面设备接收来自控制面设备的激活消息;所述转发面设备根据所述激活消息将在转发面设备中的用于处理所述用户报文的所有流表项的状态置为激活状态,并对接收到的所述用户报文执行匹配与处理的流程。
- 根据权利要求4所述的方法,其特征在于,所述流表项安装消息的数量为多个,并且一个流表项安装消息仅携带所述处理用户报文所需的一个流表项、一个流表标识和一个空闲标记。
- 根据权利要求4或者5所述的方法,其特征在于,所述流表项包括匹配条件;所述激活消息携带处理用户报文所需的所有流表项中的匹配条件和流表项所在流表的流表标识;所述转发面设备根据所述激活消息将在转发面设备中的用于处理所述用户报文的所有流表项的状态置为激活状态,并对接收到的所述用户报文执行匹配与处理的流程的步骤包括:所述转发面设备根据激活消息中所携带的流表标识和匹配条件找到对应的流表项,并将所述流表项的状态置为激活状态;在所述处理用户报文所需的所有流表项的状态已置为激活状态后,所述转发面设备对接收到的所述用户报文执行匹配与处理流程。
- 根据权利要求4或者5所述的方法,其特征在于,所述流表项包括流表项标识;所述激活消息携带处理所述用户报文所需的所有流表项的流表项标识;所述转发面设备根据所述激活消息将在转发面设备中的用于处理所述用户报文的所有流表项的状态置为激活状态,并执行对所述用户报文的匹配与处理的流程的步骤包括:所述转发面设备根据激活消息中所携带的流表项标识找到对应的流表项,并将所述流表项的状态置为激活状态,在所述处理用户报文所需所有流表项的状态均已置为激活状态后,所述转发面设备对接收到的所述用户报文执行匹配与处理流程。
- 根据权利要求4~7中任一项所述的方法,其特征在于,所述转发面设备接收来自控制面设备的流表项安装消息的步骤具体为:所述转发面设备接收控制面设备根据用户签约信息、本地策略或者外部消息触发而下发的流表项安装消息。
- 根据权利要求4~7中任一项所述的方法,其特征在于,在所述转发面设备接收来自控制面设备的流表项安装消息的步骤之前,还包括:所述转发面设备接收所述用户报文,并查询到所述转发面设备的流表中不存在处理所述用户报文所需的流表项时,向所述控制面设备发送流表项请求报文,其中,流表项请求报文携带至少部份用户报文的内容;所述转发面设备接收来自控制面设备的关于处理用户报文所需流表项的流表项安装消息的步骤的步骤具体为:所述转发面设备接收控制面设备根据所述流表项请求报文而下发的流表项安装消息。
- 一种转发面设备,其特征在于,包括:第一接收模块,用于接收来自控制面设备的流表项安装消息,其中,所述流表项安装消息的数量为一条,并且所述流表项安装消息携带处理用户报文所需的所有流表项以及所述所有流表项中各个流表项所在流表的流表标识;写入模块,用于将所述各个流表项写入所述流表标识对应的流表中;匹配处理模块,用于在所述各个流表项写入所述流表标识对应的流表后,对接收到的所述用户报文执行匹配与处理流程。
- 根据权利要求10所述的转发面设备,其特征在于,所述转发面设备还包括第二接收模块、查询模块和发送模块;所述第二接收模块,用于接收所述用户报文;所述查询模块,用于查询所述转发面设备的流表中是否存在处理所述用户报文所需的流表项;缓存发送模块,用于在所述查询模块查询到所述转发面设备的流表中不存在处理所述用户报文所需的流表项时,缓存所述用户报文,并向所述控制面设备发送流表项请求报文,其中,所述流表项请求报文携带所述至少部份所述用户报文的内容和缓存所述用户报文的缓存地址;所述第一接收模块具体用于接收控制面设备根据所述流表项请求报文而下发的流表项安装消息,其中,流表项安装消息还携带缓存用户报文的缓存地址;匹配处理模块具体用于在所述关于处理用户报文所需的所有流表项均写入对应的流表后,从缓存地址所对应的缓存空间中提取所述用户报文,并对所述用户报文执行匹配与处理流程。
- 根据权利要求10所述的转发面设备,其特征在于,所述第一接收模块具体用于接收控制面设备根据用户签约信息、本地策略或者外部消息触发而下发的流表项安装消息。
- 一种转发面设备,其特征在于,所述转发面设备包括处理器、总线和网络接口;所述处理器和网络接口均与总线连接;所述处理器用于通过网络接口接收来自控制面设备的流表项安装消息,其中,所述流表项安装消息的数量为一条,并且所述流表项安装消息携带处理用户报文所需的所有流表项以及所述所有流表项中各个流表项所在流表的流表标识;将所述流表项写入所述流表标识对应的流表中;在所述各个流表项写入所述流表标识对应的流表后,对通过所述网络接口接收到的所述用户报文执行匹配与处理流程。
- 一种转发面设备,其特征在于,包括:第一接收模块,用于接收来自控制面设备的流表项安装消息,其中,所述流表项安装消息携带处理用户报文所需的流表项、所述流表项所在流表的流表标识和空闲标记;状态设置模块,用于在将所述流表项写入所述流表标识对应的流表后,根据空闲标记将在所述流表标识对应的流表中的所述流表项的状态置为空闲状态;第二接收模块,用于在所述处理用户报文所需的所有流表项写入对应的流表后,接收来自控制面设备的激活消息;匹配处理模块,用于根据所述激活消息将在转发面设备中的用于处理所述用户报文的所有流表项的状态置为激活状态,并对接收到的所述用户报文执行匹配与处理流程。
- 根据权利要求14所述转发面设备,其特征在于,所述流表项安装消息的数量为多个,并且一个流表项安装消息仅携带所述处理用户报文所需的一个流表项、一个流表标识和一个空闲标记。
- 根据权利要求14或者15所述的转发面设备,其特征在于,所述流表项包括匹配条件;所述激活消息携带处理用户报文所需的所有流表项中的匹配条件和流表项所在流表的流表标识;匹配处理模块具体用于根据激活消息中所携带的流表标识和匹配条件找到对应的流表项,并将所述流表项的状态置为激活状态,以及在所述处理用户报文所需的所有流表项的状态均已置为激活状态后,执行对接收到的所述用户报文的匹配与处理流程。
- 根据权利要求14或者15所述的转发面设备,其特征在于,所述流表项包括流表项标识;所述激活消息携带处理所述用户报文所需的所有流表项的流表项标识;所述匹配处理模块具体用于根据激活消息中所携带的流表项标识找到对应的流表项,并将所述流表项的状态置为激活状态,在所述处理用户报文所需的所有流表项的状态均已置为激活状态后,对接收到的所述用户报文执行匹配与处理流程。
- 根据权利要求14~17中任一项所述的转发面设备,其特征在于,所述第一接收模块具体用于接收控制面设备根据用户签约信息、本地策略或者外部消息触发而下发的流表项安装消息。
- 根据权利要求14~17中任一项所述的转发面设备,其特征在于,所述转发面设备还包括第三接收模块、查询模块和发送模块;所述第三接收模块,用于接收所述用户报文;所述查询模块,用于查询所述转发面设备的流表中是否存在处理所述用户报文所需的流表项;所述发送模块,用于在所述查询模块查询到所述转发面设备的流表中不存在处理所述用户报文所需的流表项时,向所述控制面设备发送流表项请求报文,其中,流表项请求报文携带至少部份用户报文的内容;所述第一接收模块又具体用于接收控制面设备根据所述流表项请求报文而下发的流表项安装消息。
- 一种转发面设备,其特征在于,包括处理器、总线和网络接口;所述处理器和网络接口均与总线连接;所述处理器用于通过网络接口接收来自控制面设备的流表项安装消息,其中,所述流表项安装消息携带处理用户报文所需的流表项、所述流表项所在流表的流表标识和空闲标记;在所述转发面设备将所述流表项写入所述流表标识对应的流表后,根据空闲标记将在所述流表标识对应的流表中的所述流表项的状态置为空闲状态;在所述处理用户报文所需的所有流表项均写入对应的流表后,接收来自控制面设备的激活消息;根据所述激活消息将在转发面设备中的用于处理所述用户报文的所有流表项的状态置为激活状态,并对通过所述网络接口接收到的所述用户报文执行匹配与处理的流程。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/081809 WO2015024167A1 (zh) | 2013-08-20 | 2013-08-20 | 一种处理用户报文的方法及转发面设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104541481A true CN104541481A (zh) | 2015-04-22 |
CN104541481B CN104541481B (zh) | 2018-04-27 |
Family
ID=52482921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380002701.2A Active CN104541481B (zh) | 2013-08-20 | 2013-08-20 | 一种处理用户报文的方法及转发面设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9979642B2 (zh) |
EP (1) | EP3018867B1 (zh) |
CN (1) | CN104541481B (zh) |
WO (1) | WO2015024167A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107005433A (zh) * | 2015-07-20 | 2017-08-01 | 华为技术有限公司 | 一种流表项的定时处理方法及装置 |
WO2019165805A1 (zh) * | 2018-03-01 | 2019-09-06 | 中兴通讯股份有限公司 | 一种报文处理方法、装置及存储介质 |
CN111865834A (zh) * | 2019-04-26 | 2020-10-30 | 华为技术有限公司 | 一种消息处理方法及装置 |
CN111988439A (zh) * | 2019-05-21 | 2020-11-24 | 深信服科技股份有限公司 | 一种arp请求抑制系统、方法、设备及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2861038B1 (en) | 2012-06-29 | 2019-12-18 | Huawei Technologies Co., Ltd. | Information processing method, forwarding plane apparatus and control plane apparatus |
US9654395B2 (en) * | 2014-03-31 | 2017-05-16 | Kulcloud | SDN-based service chaining system |
WO2018113967A1 (en) | 2016-12-22 | 2018-06-28 | NEC Laboratories Europe GmbH | Software defined network and method for operating the same |
CN113067741B (zh) * | 2020-01-02 | 2022-11-29 | 中国移动通信有限公司研究院 | 一种信息处理方法、装置、终端及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1345459A1 (en) * | 2002-03-13 | 2003-09-17 | Lucent Technologies Inc. | Method and system for communicating short messages to user terminals over a common channel |
US6768740B1 (en) * | 2000-08-08 | 2004-07-27 | Sun Microsystems, Inc. | Coordinating loop-free forwarding table updates |
CN102930011A (zh) * | 2012-10-31 | 2013-02-13 | 杭州华三通信技术有限公司 | 流转发表项的处理方法及装置 |
CN102938000A (zh) * | 2012-12-06 | 2013-02-20 | 武汉烽火网络有限责任公司 | 一种高速并行的无锁流表路由查找方法 |
US20130163427A1 (en) * | 2011-12-22 | 2013-06-27 | Ludovic Beliveau | System for flexible and extensible flow processing in software-defined networks |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7567571B2 (en) * | 2004-05-26 | 2009-07-28 | Samsung Electronics Co., Ltd. | Apparatus and method using vector table indirection to maintain forwarding tables in a router |
US20070116051A1 (en) * | 2005-11-23 | 2007-05-24 | Chen An M | Method and apparatus for transporting IP datagrams over FLO network |
US7903665B2 (en) * | 2007-08-24 | 2011-03-08 | Fujitsu Limited | System and method for synchronizing packet forwarding information |
CN102025643B (zh) * | 2010-12-30 | 2012-07-04 | 华为技术有限公司 | 一种流表查找方法和装置 |
JP5821356B2 (ja) | 2011-07-15 | 2015-11-24 | ミツミ電機株式会社 | レンズ駆動装置 |
US8918502B2 (en) * | 2011-11-28 | 2014-12-23 | Nec Laboratories America, Inc. | FlowSense: light-weight networking sensing with openflow |
KR101887581B1 (ko) * | 2011-12-26 | 2018-08-14 | 한국전자통신연구원 | 플로우 기반의 패킷 전송 장치 및 그것의 패킷 처리 방법 |
WO2013108761A1 (ja) * | 2012-01-16 | 2013-07-25 | 日本電気株式会社 | ネットワークシステム、及び経路情報同期方法 |
US20140040459A1 (en) * | 2012-08-01 | 2014-02-06 | Hewlett-Packard Development Company, L.P. | System and method for data communication using a classified flow table in openflow networks |
WO2014131429A1 (en) * | 2013-02-26 | 2014-09-04 | Telefonaktiebolaget L M Ericsson (Publ) | Traffic recovery in openflow networks |
US9118571B2 (en) * | 2013-07-08 | 2015-08-25 | Telefonaktiebolaget L M Ericsson (Publ) | Methods of operating load balancing switches and controllers using matching patterns with unrestricted characters |
US9838305B2 (en) * | 2013-07-11 | 2017-12-05 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method, system and apparatus for an OpenFlow hybrid architecture network device |
-
2013
- 2013-08-20 WO PCT/CN2013/081809 patent/WO2015024167A1/zh active Application Filing
- 2013-08-20 EP EP13891883.4A patent/EP3018867B1/en active Active
- 2013-08-20 CN CN201380002701.2A patent/CN104541481B/zh active Active
-
2016
- 2016-02-19 US US15/048,131 patent/US9979642B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6768740B1 (en) * | 2000-08-08 | 2004-07-27 | Sun Microsystems, Inc. | Coordinating loop-free forwarding table updates |
EP1345459A1 (en) * | 2002-03-13 | 2003-09-17 | Lucent Technologies Inc. | Method and system for communicating short messages to user terminals over a common channel |
US20130163427A1 (en) * | 2011-12-22 | 2013-06-27 | Ludovic Beliveau | System for flexible and extensible flow processing in software-defined networks |
CN102930011A (zh) * | 2012-10-31 | 2013-02-13 | 杭州华三通信技术有限公司 | 流转发表项的处理方法及装置 |
CN102938000A (zh) * | 2012-12-06 | 2013-02-20 | 武汉烽火网络有限责任公司 | 一种高速并行的无锁流表路由查找方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107005433A (zh) * | 2015-07-20 | 2017-08-01 | 华为技术有限公司 | 一种流表项的定时处理方法及装置 |
CN107005433B (zh) * | 2015-07-20 | 2020-05-19 | 华为技术有限公司 | 一种流表项的定时处理方法及装置 |
US10778571B2 (en) | 2015-07-20 | 2020-09-15 | Huawei Technologies Co., Ltd. | Flow entry timing processing method and apparatus |
WO2019165805A1 (zh) * | 2018-03-01 | 2019-09-06 | 中兴通讯股份有限公司 | 一种报文处理方法、装置及存储介质 |
CN111865834A (zh) * | 2019-04-26 | 2020-10-30 | 华为技术有限公司 | 一种消息处理方法及装置 |
CN111865834B (zh) * | 2019-04-26 | 2021-12-03 | 华为技术有限公司 | 一种消息处理方法及装置 |
CN111988439A (zh) * | 2019-05-21 | 2020-11-24 | 深信服科技股份有限公司 | 一种arp请求抑制系统、方法、设备及存储介质 |
CN111988439B (zh) * | 2019-05-21 | 2023-07-14 | 深信服科技股份有限公司 | 一种arp请求抑制系统、方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20160173378A1 (en) | 2016-06-16 |
EP3018867A4 (en) | 2016-11-09 |
US9979642B2 (en) | 2018-05-22 |
CN104541481B (zh) | 2018-04-27 |
EP3018867B1 (en) | 2020-01-08 |
WO2015024167A1 (zh) | 2015-02-26 |
EP3018867A1 (en) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104541481A (zh) | 一种处理用户报文的方法及转发面设备 | |
WO2012141556A2 (en) | Machine-to-machine node erase procedure | |
WO2014121502A1 (zh) | 在基站中,一种开站配置方法、基站及服务器 | |
WO2011144126A2 (zh) | 一种网络设备的配置方法、装置及系统 | |
WO2013183967A1 (en) | Method and apparatus for handover in mobile content centric network | |
US20090238179A1 (en) | Destination mac aging of entries in a layer 2 (l2) forwarding table | |
WO2014112771A1 (ko) | 클라이언트의 ip주소를 서버로 전송하는 중계 시스템 및 방법 | |
CN102340447A (zh) | 一种远程端口镜像实现系统及方法 | |
WO2019200728A1 (zh) | 虚拟网关主备切换方法、装置及计算机可读存储介质 | |
WO2018184302A1 (zh) | 数据转发方法、系统、虚拟负载均衡器及可读存储介质 | |
JP2002111732A (ja) | Vpnシステム及びvpn設定方法 | |
WO2013157757A1 (ko) | 저오류 초고속 시리얼 통신이 가능한 산업용 컨트롤러 장치 및 그 구동 방법 | |
JP2015122665A (ja) | 中継システムおよびスイッチ装置 | |
WO2015080525A1 (ko) | Sdn 환경에서 트래픽의 동적 제어를 위한 방법 및 장치 | |
CN112887188A (zh) | 一种报文转发方法及设备 | |
CN104796338A (zh) | 虚拟机迁移方法及装置 | |
WO2020027378A1 (ko) | 소프트웨어 정의 네트워크 기반의 sdn 컨트롤러, 그리고 이를 이용한 트래픽 엔지니어링 시스템 및 트래픽 엔지니어링 방법 | |
WO2016195158A1 (ko) | 오버레이 sdn 망의 브릿지 도메인 확장 방법 | |
WO2012163000A1 (zh) | 一种报文转发的方法、设备及系统 | |
WO2014079006A1 (zh) | 一种ospf报文的流量控制方法及装置 | |
WO2014201613A1 (zh) | 一种mep配置方法及网络设备 | |
WO2018165866A1 (zh) | 一种sdn及其报文转发的方法和装置 | |
WO2009148274A2 (en) | Apparatus and method for setting network address in packet communication system | |
JP5713865B2 (ja) | Vpn終端装置、通信システム、パケット転送方法、及びプログラム | |
WO2021012487A1 (zh) | 跨系统的信息同步方法、用户设备、存储介质及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |