CN104243338B - 报文处理方法、设备和系统 - Google Patents
报文处理方法、设备和系统 Download PDFInfo
- Publication number
- CN104243338B CN104243338B CN201310236338.2A CN201310236338A CN104243338B CN 104243338 B CN104243338 B CN 104243338B CN 201310236338 A CN201310236338 A CN 201310236338A CN 104243338 B CN104243338 B CN 104243338B
- Authority
- CN
- China
- Prior art keywords
- layers
- forwarding
- forwarding unit
- message
- keyword
- 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
Classifications
-
- 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
- H04L49/00—Packet switching elements
- H04L49/60—Software-defined switches
- H04L49/602—Multilayer or multiprotocol switching, e.g. IP switching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/33—Flow control; Congestion control using forward notification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/58—Changing or combining different scheduling modes, e.g. multimode scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种报文处理方法、设备和系统。上述方法应用于包括四层转发设备、七层转发设备和控制器的系统,四层转发设备和七层转发设备分别与控制器通信,且四层转发设备和七层转发设备之间存在用于传输报文的数据通道;方法包括:控制器向四层转发设备发送第一转发表项,第一转发表项包括第一关键字和第一关键字对应的第一处理策略;第一关键字包括报文的四层信息,第一转发表项用于指示四层转发设备接收到匹配所述第一关键字的第一报文时,根据第一处理策略向七层转发设备发送第二报文;控制器向七层转发设备发送用于指导所述七层转发设备处理报文的控制规则,使得所述七层转发设备根据所述控制规则处理所述第二报文。
Description
技术领域
本发明涉及通信技术,尤其涉及一种报文方法、设备和系统。
背景技术
网络中存在着各种各样的网络业务,比如:负载均衡(Load balancing)业务、防火墙(Firewall)业务等。网络业务的处理是由网络业务处理设备完成的,以负载均衡业务为例,通过负载均衡技术在多个计算机、磁盘驱动器或其他资源中分配负载,以达到优化资源使用、最大化吞吐率和最小化响应时间等目的。提供负载均衡服务能力的机器一般称为负载均衡器(Load Balancer)。该负载均衡器重要的一个应用是为多台服务器提供负载均衡,此时负载均衡器称为服务器负载均衡器(Server Load Balancer)。举例来说,三台服务器分别与服务器负载均衡器相连,服务器负载均衡器对外提供一虚拟网络互连协议(Internet Protocol,简称:IP)地址。用户要访问服务器所提供的业务时,需要向虚拟IP地址发起访问请求,由服务器负载均衡器根据负载均衡算法选择合适的服务器(其算法可以是轮询、最小连接数和最快响应速度等算法),服务器负载均衡器处理业务数据后返回给用户。
现有网络业务,比如上述的负载均衡业务中,用于处理网络业务的设备,比如负载均衡器,在处理网络业务时需要根据不同网络层次的信息作为处理依据。具体的,计算机网络是分层的,国际标准化组织(ISO)提出的一种网络分层模型,即OSI模型将网络划分为七层,分别为:应用层(第7层)、表示层(第6层)、会话层(第5层)、传输层(第4层)、网络层(第3层)、数据链路层(第2层)和物理层(第1层)。不同的网络业务需要处理不同网络层次的信息作为处理依据,即使同一个网络业务在不同场景下可能也会需要处理不同网络层次的信息。比如,服务器负载均衡器在选择服务器时,可以根据接收到的网络报文中所包含的第四层及第四层的以下层的信息来选择服务器,也可能是根据四层以上的信息来选择服务器。一般来说,负载均衡器只处理四层及第四层的以下层信息时,负载均衡器的处理能力较强,处理效率较高;而负载均衡器如果处理四层以上的信息,负载均衡器的处理能力和效率都较低。
但是,当前的网络业务处理,都是由单一的网络业务处理设备实现,即不论是四层及第四层的以下层的信息处理,还是四层以上信息的处理都耦合在一起;比如上述的,所有网络层次的业务都在负载均衡器这一个设备中处理,这样所有网络层次的业务都由同一设备处理的方式,会造成负载均衡器等网络业务处理设备的业务处理能力的降低,比如,不同网络层次的信息处理之间会相互影响而降低设备整体的业务处理量,设备的业务处理能力较低。
发明内容
本发明实施例提供一种报文处理方法、设备和系统,以提高业务处理能力。
第一方面,提供一种报文处理方法,应用于包括四层转发设备、七层转发设备和控制器的系统,所述四层转发设备和七层转发设备分别与所述控制器通信,且所述四层转发设备和七层转发设备之间存在用于传输报文的数据通道;所述方法包括:
所述控制器向所述四层转发设备发送第一转发表项,所述第一转发表项包括第一关键字和所述第一关键字对应的第一处理策略;所述第一关键字包括报文的四层信息,所述第一转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第一报文时,根据所述第一处理策略向所述七层转发设备发送第二报文;
所述控制器向所述七层转发设备发送用于指导所述七层转发设备处理报文的控制规则,使得所述七层转发设备根据所述控制规则处理所述第二报文。
根据第一方面,提供第一种实现方式,所述方法还包括:
所述控制器向所述四层转发设备发送第二转发表项,所述第二转发表项包括第二关键字和所述第二关键字对应的第二处理策略;所述第二关键字包括报文的四层信息,所述第二转发表项用于指示所述四层转发设备接收到匹配所述第二关键字的第三报文时,根据所述第二处理策略处理所述第三报文,省略向所述七层转发设备发送报文。
根据第一方面或者第一方面的第一种实现方式,提供第二种实现方式,在所述控制器向所述七层转发设备发送控制规则之后,所述方法还包括:
所述控制器接收所述七层转发设备发送的报文解析结果,所述报文解析结果是所述七层转发设备通过解析所述第二报文得到;
所述控制器根据所述报文解析结果,向所述四层转发设备发送第三转发表项,所述第三转发表项包括所述第一关键字和所述第一关键字对应的第三处理策略;所述第三转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第四报文时根据所述第三处理策略处理所述第四报文,省略向所述七层转发设备发送报文。
根据第一方面的第二种实现方式,提供第三种实现方式,在所述控制器接收所述七层转发设备发送的报文解析结果之前,所述方法还包括:
所述控制器向所述七层转发设备发送条件七层信息,所述条件七层信息用于指示所述七层转发设备在解析所述第二报文得到所述条件七层信息时发送所述报文解析结果。
根据第一方面的第二种实现方式或者第三种实现方式,提供第四种实现方式,所述控制器向所述四层转发设备发送所述第三转发表项之前,所述方法还包括:
所述控制器接收所述七层转发设备发送的消息,所述消息用于通知所述控制器向所述四层转发设备发送所述第三转发表项。
根据第一方面的第二种到第四种实现方式中的任何一种实现方式,提供第五种实现方式,所述控制器向所述七层转发设备发送控制规则,包括:
所述控制器向所述七层转发设备发送第五处理策略或者第四转发表项,所述第四转发表项包括:第四关键字和所述第四关键字对应的第四处理策略。
根据第一方面的第五种实现方式,提供第六种实现方式,所述控制器向所述七层转发设备发送第五处理策略或者第四转发表项,包括:
所述控制器在接收到所述七层转发设备发送的所述报文解析结果之后,向所述七层转发设备发送所述第五处理策略或者所述第四转发表项。
根据第一方面或者第一方面的上述任何一种实现方式,提供第七种实现方式,所述控制器向所述四层转发设备发送第一转发表项,包括:
所述控制器通过中间控制设备向所述四层转发设备发送所述第一转发表项。
根据第一方面或者第一方面的上述任何一种实现方式,提供第八种实现方式,所述四层转发设备提供防火墙业务,所述七层转发设备提供负载均衡业务。
第二方面,提供一种报文处理方法,应用于包括四层转发设备、七层转发设备和控制器的系统,所述四层转发设备和七层转发设备分别与所述控制器通信,且所述四层转发设备和七层转发设备之间存在用于传输报文的数据通道;所述方法包括:
所述四层转发设备接收所述控制器发送的第一转发表项,所述第一转发表项包括第一关键字和所述第一关键字对应的第一处理策略;所述第一关键字包括报文的四层信息,所述第一转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第一报文时,根据所述第一处理策略向所述七层转发设备发送第二报文;
所述四层转发设备接收所述第一报文;
所述四层转发设备根据所述第一转发表项,通过所述数据通道向所述七层转发设备发送所述第二报文。
根据第二方面,提供第一种实现方式,所述方法还包括:
所述四层转发设备接收所述控制器发送的第二转发表项,所述第二转发表项包括第二关键字和所述第二关键字对应的第二处理策略;所述第二关键字包括报文的四层信息,所述第二转发表项用于指示所述四层转发设备接收到匹配所述第二关键字的第三报文时,根据所述第二处理策略处理所述第三报文,省略向所述七层转发设备发送报文。
根据第二方面的第一种实现方式,提供第二种实现方式,所述四层转发设备通过所述数据通道向所述七层转发设备发送所述第二报文之后,还包括:
所述四层转发设备接收所述控制器发送的第三转发表项,所述第三转发表项包括所述第一关键字和所述第一关键字对应的第三处理策略;所述第三转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第四报文时根据所述第三处理策略处理所述第四报文,省略向所述七层转发设备发送报文。
根据第二方面或者第二方面的上述任何一种实现方式,提供第三种实现方式,,所述四层转发设备提供防火墙业务,所述七层转发设备提供负载均衡业务。
第三方面,提供一种网络业务处理方法,应用于包括四层转发设备和第一七层转发设备的网络业务处理系统,所述系统中还包括控制器,所述四层转发设备和所述第一七层转发设备分别与所述控制器通信,且所述四层转发设备和所述第一七层转发设备之间存在用于传输报文的数据通道;所述网络业务处理方法包括:
所述控制器接收所述第一七层转发设备发送的业务统计信息;
所述控制器根据所述业务统计信息,增加第二七层转发设备,所述第二七层转发设备和所述四层转发设备之间存在用于传输报文的数据通道。
根据第三方面,提供第一种实现方式,所述控制器根据所述业务统计信息,增加所述第二七层转发设备,包括:
所述控制器根据所述业务统计信息,确定需要增加所述第二七层转发设备;
所述控制器在所述系统中增加所述第二七层转发设备,并向所述四层转发设备发送转发表项,所述转发表项包括关键字和所述关键字对应的处理策略;所述关键字包括报文的四层信息,所述转发表项用于指示所述四层转发设备接收到匹配所述关键字的第一报文时,根据所述处理策略向所述第二七层转发设备发送第二报文。
第四方面,提供一种控制器,包括:
处理单元,用于生成第一转发表项,所述第一转发表项包括第一关键字和所述第一关键字对应的第一处理策略;所述第一关键字包括报文的四层信息;
通信单元,用于向四层转发设备发送所述第一转发表项,所述第一转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第一报文时,根据所述第一处理策略向所述七层转发设备发送第二报文;
所述处理单元还用于生成控制规则,所述控制规则用于指导所述七层转发设备处理报文;
所述通信单元还用于向所述七层设备发送所述控制规则,使得所述七层转发设备根据所述控制规则处理所述第二报文。
根据第四方面,提供第一种实现方式,所述处理单元还用于生成第二转发表项,所述第二转发表项包括第二关键字和所述第二关键字对应的第二处理策略;所述第二关键字包括报文的四层信息;
所述通信单元还用于向所述四层转发设备发送所述第二转发表项,所述第二转发表项用于指示所述四层转发设备接收到匹配所述第二关键字的第三报文时,根据所述第二处理策略处理所述第三报文,省略向所述七层转发设备发送报文。
根据第四方面或者第四方面的第一种实现方式,提供第二种实现方式,所述通信单元还用于接收所述七层转发设备发送的报文解析结果,所述报文解析结果是所述七层转发设备通过解析所述第二报文得到;
所述处理单元还用于根据所述报文解析结果生成第三转发表项,所述第三转发表项包括所述第一关键字和所述第一关键字对应的第三处理策略;
所述通信单元还用于向所述四层转发设备发送所述第三转发表项,所述第三转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第四报文时根据所述第三处理策略处理所述第四报文,省略向所述七层转发设备发送报文。
第五方面,提供一种控制器,应用于包括四层转发设备和第一七层转发设备的网络业务处理系统,所述系统中还包括控制器,所述四层转发设备和所述第一七层转发设备分别与所述控制器通信,且所述四层转发设备和所述第一七层转发设备之间存在用于传输报文的数据通道,所述控制器包括:
通信单元,用于接收所述第一七层转发设备发送的业务指示信息;
处理单元,用于根据所述业务统计信息,增加第二七层转发设备,所述第二七层转发设备和所述四层转发设备之间存在用于传输报文的数据通道。
根据第五方面,提供第一种实现方式,所述处理单元具体用于根据所述业务统计信息,确定需要增加所述第二七层转发设备,在所述系统中增加所述第二七层转发设备,并向所述四层转发设备发送转发表项,所述转发表项包括关键字和所述关键字对应的处理策略;所述关键字包括报文的四层信息,所述转发表项用于指示所述四层转发设备接收到匹配所述关键字的第一报文时,根据所述处理策略向所述第二七层转发设备发送第二报文。
第六方面,提供一种四层转发设备,包括:接收单元和发送单元;
所述接收单元用于接收控制器发送的第一转发表项,所述第一转发表项包括第一关键字和所述第一关键字对应的第一处理策略;所述第一关键字包括报文的四层信息,所述第一转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第一报文时,根据所述第一处理策略向七层转发设备发送第二报文;
所述接收单元还用于接收所述第一报文;
所述发送单元用于在所述接收单元接收到到所述第一报文后根据所述第一转发表项,通过数据通道向所述七层转发设备发送所述第二报文。
根据第六方面,提供第一种实现方式,所述接收单元还用于接收所述控制器发送的第二转发表项,所述第二转发表项包括第二关键字和所述第二关键字对应的第二处理策略;所述第二关键字包括报文的四层信息,所述第二转发表项用于指示所述四层转发设备接收到匹配所述第二关键字的第三报文时,根据所述第二处理策略处理所述第三报文,省略向所述七层转发设备发送报文。
第七方面,提供一种网络业务处理系统,包括:上面描述的四层转发设备、上述控制器、以及七层转发设备;所述四层转发设备和七层转发设备分别与所述控制器通信,且所述四层转发设备和七层转发设备之间存在用于传输网络业务报文的数据通道。
上述第一方面、第二方面、第四方面、第六方面和第七方面提供的方案中,四层转发设备接收控制器发送的第一转发表项,解析接收到的报文的四层信息,匹配控制器下发的第一转发表项,向七层转发设备发送报文。这样一来,四层转发设备处理报文的四层信息,七层转发设备处理报文的七层信息。有利于提高四层转发设备的处理能力,从而也使得整体的业务处理能力提升。
上述第三方面、第五方面提供的方案,可以灵活提高七层转发设备的业务处理能力。
附图说明
图1为本发明一个实施例中网络业务处理方法的应用架构图;
图2为本发明报文处理方法一实施例的流程示意图;
图3为本发明报文处理方法另一实施例的流程示意图;
图4为本发明网络业务处理方法一实施例的应用系统图;
图5为本发明网络业务处理方法一实施例的报文发送信令图一;
图6为本发明网络业务处理方法一实施例的报文发送信令图二;
图7为本发明网络业务处理方法另一实施例的应用系统图;
图8为本发明网络业务处理方法另一实施例的报文发送信令图;
图9为本发明网络业务处理方法又一实施例的应用系统图;
图10为本发明网络业务处理方法又一实施例的应用系统图;
图11为本发明网络业务处理方法又一实施例的应用系统图;
图12为本发明控制器一实施例的结构示意图;
图13为本发明控制器一实施例的结构示意图;
图14为本发明四层转发设备实施例的结构示意图;
图15为本发明四层转发设备实施例的结构示意图。
具体实施方式
网络中存在着各种各样的网络业务,例如,负载均衡业务、防火墙业务等,不同的网络业务在具体处理时需要处理不同网络层次的信息,比如,对于某种网络业务,在处理该业务时,对这种业务对应的报文需要处理四层信息,或者需要处理七层信息。这里的四层或七层,指的是根据OSI模型划分的网络分层,即通常的第七层-应用层(ApplicationLayer)、第6层-表示层(Presentation Layer)、第5层-会话层(Session Layer)、第四层-传输层(Transport Layer)、第3层-网络层(Network Layer)、第2层-数据链路层(Data LinkLayer)和第1层-物理层(Physical Layer)。
本实施例中,将四层业务(处理四层及以下层信息的业务)和七层业务(处理七层及以下层信息的业务)解耦,这两类业务不在同一设备处理,而是分别由不同的设备处理;比如,将处理四层业务的设备称为四层转发设备,将处理七层业务的设备称为七层转发设备。图1为本发明一个实施例中网络业务处理方法的应用架构图,如图1所示,该架构中包括控制器、四层转发设备和七层转发设备;该四层转发设备和七层转发设备分别与控制器通信,并且四层转发设备与控制器之间可以是直接连接或者通过其他设备相连接,七层转发设备与控制器之间也可以是直接连接或者通过其他设备相连接,本发明实施例不做限制。
其中,有些网络业务可能只需要控制器和四层转发设备配合实现,此时不需要七层转发设备;有些网络业务可能会用到控制器、四层转发设备和七层转发设备三者配合实现。该四层转发设备和七层转发设备可以用于处理某个特定的网络层次业务的,比如四层转发设备处理的是四层业务,七层转发设备处理的是七层业务。
所述的四层转发设备与控制器之间可以设置四层控制接口,七层转发设备与控制器之间可以设置七层控制接口。四层转发设备与七层转发设备之间可以设置用于传输报文的数据通道,该数据通道可以是独立的物理通道,或者也可以是所述的四层控制接口和七层控制接口之间连接的通道。控制器可以调度和控制报文在四层转发设备和七层转发设备之间的处理。
实施例一
图2为本发明报文处理方法一实施例的流程示意图,该方法是在图1的系统架构下,由控制器执行,如图2所示,该方法可以包括如下处理,需要说明的是,本实施例中的201、202等步骤并不限制其执行顺序。
201、控制器向所述四层转发设备发送第一转发表项;
例如,控制器通过上述的四层控制接口向四层转发设备发送第一转发表项,所述第一转发表项包括第一关键字和所述第一关键字对应的第一处理策略;所述第一关键字包括报文的四层信息,所述第一转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第一报文时,根据所述第一处理策略向所述七层转发设备发送第二报文。
可选的,控制器可以通过中间控制设备向所述四层转发设备发送所述第一转发表项。
202、控制器向所述七层转发设备发送用于指导所述七层转发设备处理报文的控制规则;
例如,控制器还可以通过七层控制接口向七层转发设备发送用于指导所述七层转发设备处理报文的控制规则,使得所述七层转发设备根据所述控制规则处理所述第二报文。四层转发设备可以根据第一转发表项,七层转发设备可以根据控制规则,来处理报文,处理的动作例如是,转发、丢弃、复制和计数等,比如将报文转发至某个服务器,或者转发至另一个转发设备等。
进一步的,所述控制器还可以向所述四层转发设备发送第二转发表项,所述第二转发表项包括第二关键字和所述第二关键字对应的第二处理策略;所述第二关键字包括报文的四层信息,所述第二转发表项用于指示所述四层转发设备接收到匹配所述第二关键字的第三报文时,根据所述第二处理策略处理所述第三报文,省略向所述七层转发设备发送报文。
进一步的,在所述控制器向所述七层转发设备发送控制规则之后,还包括:所述控制器接收所述七层转发设备发送的报文解析结果,所述报文解析结果是所述七层转发设备通过解析所述第二报文得到。所述控制器根据所述报文解析结果,向所述四层转发设备发送第三转发表项,所述第三转发表项包括所述第一关键字和所述第一关键字对应的第三处理策略;所述第三转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第四报文时根据所述第三处理策略处理所述第四报文,省略向七层转发设备发送报文。
如上所述的,本发明实施例分别设置了四层转发设备和七层转发设备,还设置了用于控制这两个设备处理报文的控制器,这几个设备之间的工作配合方式可以是,报文首先到达四层转发设备,可以由四层转发设备将报文转发至七层转发设备,七层转发设备对该报文进行解析得到报文解析结果。举例来说,该报文解析结果可以是报文中包括的四层信息、七层协议信息等。七层转发设备还可以获取业务统计信息,该业务统计信息主要用于表示七层转发设备自身的业务处理负荷,比如业务量、CPU负载等。七层转发设备可以将上述的业务统计信息和/或报文解析结果上报至控制器,控制器就可以根据这些信息分别对四层转发设备和/或七层转发设备进行业务控制。
例如,控制器如果根据报文解析结果,判断出该报文后续可以不再需要七层转发设备参与处理,即只四层转发设备处理就可以,那么控制器可以向四层转发设备发送第三转发表项,该第三转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第四报文时根据所述第三处理策略处理所述第四报文,省略向所述七层转发设备发送报文。
进一步的,在所述控制器接收所述七层转发设备发送的报文解析结果之前,还包括:所述控制器向所述七层转发设备发送条件七层信息,所述条件七层信息用于指示所述七层转发设备在解析所述第二报文得到所述条件七层信息时发送所述报文解析结果。
可选的,所述控制器向所述四层转发设备发送所述第三转发表项之前,还包括:所述控制器接收所述七层转发设备发送的消息,所述消息用于通知所述控制器向所述四层转发设备发送所述第三转发表项。
可选的,所述控制器向所述七层转发设备发送控制规则,包括:所述控制器向所述七层转发设备发送第五处理策略或者第四转发表项,所述第四转发表项包括:第四关键字和所述第四关键字对应的第四处理策略。
可选的,所述控制器向所述七层转发设备发送第五处理策略或者第四转发表项,包括:所述控制器在接收到所述七层转发设备发送的所述报文解析结果之后,向所述七层转发设备发送所述第五处理策略或者第四转发表项。
现有的各层次网络业务都由同一个设备来处理,比如某个设备既处理四层业务又处理七层业务,七层业务需要处理七层信息时本身处理效率就较慢,这样会降低四层业务的处理效率。而本发明实施例单独设置了四层转发设备,并且还设置控制器,四层转发设备接收控制器发送的第一转发表项,解析接收到的报文的四层信息,匹配控制器下发的第一转发表项,向七层转发设备发送报文。这样一来,四层转发设备处理报文的四层信息,七层转发设备处理报文的七层信息。四层转发设备专用于处理四层业务,使得业务处理量和处理效率都会得到提升,业务安排非常灵活。
此外,本发明实施例的系统架构中,可以包括分别属于不同业务的转发设备;例如,四层转发设备提供防火墙业务,所述七层转发设备提供负载均衡业务。
本实施例将四层业务和七层业务分别由不同的设备处理,这样四层转发设备专用于处理四层业务,业务处理的效率就得到提高,而七层转发设备只在需要处理四层以上的业务时才使用,实现了较高的灵活性。
实施例二
图3为本发明报文处理方法另一实施例的流程示意图,该方法是在图1的系统架构下,由四层转发设备执行,如图3所示,该方法可以包括如下处理,需要说明的是,本实施例中的各步骤并不限制其执行顺序;并且,由于方法与实施例一类似,本实施例简单描述。
301、四层转发设备接收所述控制器发送的第一转发表项;
其中,所述第一转发表项包括第一关键字和所述第一关键字对应的第一处理策略;所述第一关键字包括报文的四层信息,所述第一转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第一报文时,根据所述第一处理策略向所述七层转发设备发送第二报文。
302、四层转发设备接收所述第一报文;
303、四层转发设备根据所述第一转发表项,通过所述数据通道向所述七层转发设备发送所述第二报文。
进一步的,该四层转发设备还可以接收所述控制器发送的第二转发表项,所述第二转发表项包括第二关键字和所述第二关键字对应的第二处理策略;所述第二关键字包括报文的四层信息,所述第二转发表项用于指示所述四层转发设备接收到匹配所述第二关键字的第三报文时,根据所述第二处理策略处理所述第三报文,省略向所述七层转发设备发送报文。
进一步的,所述四层转发设备通过所述数据通道向所述七层转发设备发送所述第二报文之后,还包括:所述四层转发设备接收所述控制器发送的第三转发表项,所述第三转发表项包括所述第一关键字和所述第一关键字对应的第三处理策略;所述第三转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第四报文时根据所述第三处理策略处理所述第四报文,省略向所述七层转发设备发送报文。
下面将结合几个具体的网络业务来对本发明实施例的方法进行说明:
实施例三
本实施例以负载均衡业务为例,处理负载均衡业务的控制器可以称为负载均衡控制器,参见图4,图4为本发明网络业务处理方法一实施例的应用系统图。本实施例假设存在四层转发设备和七层转发设备(当然,七层转发设备在需要时使用,不需要时可以不使用或者不设置该设备)。
其中,示例性地,本实施例中包括三个服务器和一个客户端,该三个服务器例如是服务器1、服务器2和服务器3,客户端可以向这三个服务器中的某一个发送报文,由负载均衡控制器和所示的转发设备共同实现负载均衡的控制。服务器也可以向客户端发送报文,经过负载均衡控制器和所示的转发设备共同实现报文的转发。图5为本发明网络业务处理方法一实施例的报文发送信令图一,该图5示出的是以客户端向服务器发送报文为例,包括:
501、负载均衡控制器向四层转发设备发送第一转发表项;
其中,负载均衡控制器生成该第一转发表项,例如可以是根据服务器信息、负载均衡算法等,获取服务器负载、以及服务器与转发设备之间的链路状态等信息,综合得到第一转发表项。而上述的服务器负载等信息的获取,可以是负载均衡控制器与服务器之间设置管理接口,通过该管理接口来获取。负载均衡控制器与服务器之间的通讯方式有多种,比如,网络地址转换(Network Address Translation,简称:NAT)方式、隧道方式或直接路由方式等。上述的服务器负载等信息的获取也可以通过负载均衡控制器指示与服务器直接连接的四层转发设备来收集并上报至负载均衡控制器实现。
负载均衡控制器向四层转发设备发送的第一转发表项包括第一关键字、以及第一关键字对应的第一处理策略;所述的第一关键字包括报文的四层信息。该四层信息例如是源IP地址、目的IP地址、源端口、目的端口、源MAC地址、目的MAC地址、协议号、VLAN ID中的至少一种。该第一转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第一报文时,根据所述第一处理策略向所述七层转发设备发送第二报文;该第一转发表项可以是流表项的形式。举例来说,该流表项包括:符合四层信息1的报文转发给服务器1(该四层信息1可以称为第一关键字,该转发给服务器1即是所述的与四层信息1对应的报文处理策略);符合四层信息2的报文转发给服务器2;符合四层信息3的报文转发给服务器3。进一步的,上述流表项还可以包括:符合四层信息4的报文转发至七层转发设备。
可选的,负载均衡控制器可以通过open flow协议来下发上述流表项,或者也可以通过超文本传输协议(Hypertext transfer protocol,简称:HTTP)、可扩展通讯和表示协议(The Extensible Messaging and Presence Protocol,简称:XMPP)等协议的扩展来实现下发。
502、负载均衡控制器向七层转发设备发送控制规则,所述控制规则用于指导七层转发设备处理报文;
其中,负载均衡控制器向七层转发设备发送的控制规则具体例如是第五处理策略或者第四转发表项;该第四转发表项可以包括第四关键字、以及所述第四关键字对应的第四处理策略,所述的第四关键字可以包括报文的七层信息。该第四转发表项可以是流表项的形式,例如包括:符合七层信息1的报文转发给服务器1(其中的七层信息1可以称为第四关键字,该转发给服务器1即是所述的与七层信息1对应的第四处理策略);符合七层信息2的报文转发给服务器2;符合七层信息3的报文转发给服务器3。这里的七层信息包括七层及以下层的信息。
可选地,四层转发设备一般可以由高性能的转发硬件实现,比如是交换机或路由器,这类设备根据预先下发的转发表,例如流表项,进行报文转发比较方便实现。而七层转发设备一般是根据网络业务的需求对需要的协议层进行识别解析,提取关键信息等并处理,这类设备的控制方式更为灵活,比如,可以向七层转发设备下发控制规则,该控制规则的发送时间和方式也较为灵活。
举例来说,负载均衡控制器向七层转发设备发送控制规则的时间:可以在七层转发设备接收报文之前,向七层转发设备发送所述控制规则;比如在四层转发设备将报文转发至七层转发设备之前,就发送了上述的“符合七层信息1的报文转发给服务器1”等流表项,那么当七层转发设备接收到报文时,解析报文并根据解析得到的七层信息按照控制规则进行处理即可。或者,七层转发设备可以先接收到报文,并在解析报文得到报文解析结果后,将所述报文解析结果发送至负载均衡控制器,负载均衡控制器在接收到该结果后,根据所述报文解析结果确定控制规则并下发给七层转发设备,即向七层转发设备发送所述第五处理策略或者第四转发表项。
可选地,如果是后一种方式,即负载均衡控制器在接收到报文解析结果后再下发控制规则,则负载均衡控制器可以在之前向七层转发设备发送信息上报条件,所述信息上报条件包括:解析报文得到的条件七层信息,这里的条件七层信息指的是,作为将报文解析结果上报负载均衡控制器的上报条件的七层信息,所述条件七层信息用于指示所述七层转发设备在解析所述第二报文得到所述条件七层信息时发送所述报文解析结果;即当对报文进行解析得到的七层信息是该条件七层信息时,就将报文解析结果上报负载均衡控制器。例如该条件七层信息可以包括:符合七层信息4的报文向负载均衡控制器进一步请求;此时,所述的七层信息4就相当于条件七层信息,是七层转发设备请求负载均衡控制器下发转发表的条件。
如上所述的,负载均衡控制器发送给七层转发设备的控制规则可以是第五处理策略或者第四转发表项;其中的第四转发表项是负载均衡控制器已经定好的转发策略,例如符合七层信息1的报文发送给服务器1。第四转发表项是负载均衡控制器根据负载均衡算法、服务器信息等得到的,并可以用例如流表项的方式下发给七层转发设备,七层转发设备根据第四转发表项处理接收到的报文。而第五处理策略指的是,负载均衡控制器将得到第四转发表项所依据的负载均衡算法等信息告知七层转发设备,比如是“按照负载均衡算法a、当服务器负载小于b时将报文转发至该服务器”,由七层转发设备按照负载均衡控制器下发的第五处理策略确定接收到的报文应该转发给哪个服务器。本实施例以第四转发表项为例。
503、四层转发设备接收客户端发送的第一报文;
其中,从图4可以看到,客户端发送的报文将直接发送给四层转发设备。
504、四层转发设备根据第一报文和第一转发表项,向七层转发设备发送第二报文;
其中,四层转发设备在接收到第一报文后,将根据在501接收到的第一转发表项进行报文转发;例如,如果解析报文得到的四层信息是四层信息1,则将报文转发给服务器1;如果解析报文得到的四层信息是四层信息2,则将报文转发给服务器2等。本实施例中,假设解析报文得到的四层信息是四层信息4,则四层转发设备据此将向七层转发设备发送第二报文,该第二报文例如可以是四层转发设备将第一报文进行复制得到的报文。
505、七层转发设备解析第二报文得到报文解析结果;
其中,七层转发设备在接收到四层转发设备发送的第二报文后,缓存并解析该报文。报文解析结果,例如包含七层信息4,该七层信息4可以包括:四层信息4(例如,网络五元组信息);七层协议信息,例如,HTTP的Cookie头部信息,会话发起协议(SessionInitiation Protocol,简称:SIP)的Call_ID(呼叫标识)。七层转发设备根据解析结果查询在302中接收到的流表项,根据流表项“符合七层信息4的报文向负载均衡控制器进一步请求”七层转发
设备需要将报文解析结果上报至负载均衡控制器。
506、七层转发设备向负载均衡控制器上报报文解析结果;
其中,七层转发设备可以将报文解析结果上报至负载均衡控制器,向负载均衡控制器请求下一步的处理策略。
例如,七层转发设备发送上述信息的格式和内容可以与特定的网络业务相关,以七层负载均衡业务为例,可以包括{网络五元组信息,希望选择的服务器,七层协议信息(比如,HTTP的Cookie头部信息,SIP的Call_ID头部信息)}。
507、负载均衡控制器根据解析结果选择服务器;
其中,负载均衡控制器根据七层转发设备上报的报文解析结果,选择合适的服务器,本实施例假设选择的是服务器1;当然,负载均衡控制器也可以综合其他信息一块进行服务器的选择,例如根据报文解析结果和服务器状态等信息。
508、负载均衡控制器向七层转发设备下发第四转发表项;
其中,负载均衡控制器在507选择好服务器后,可以生成第四转发表项下发至七层转发设备,该第四转发表项可以包括:符合七层信息4的报文转发给服务器1。
例如,下发第四转发表项的基本格式可以为{编号,状态(比如,是否有效),优先级,七层网络业务特定的流表项内容}。七层网络业务特定的流表项内容的格式和内容可以与特定的业务相关;以七层负载均衡业务为例,可以包括{服务器信息,动作(比如,转发该流的报文,把报文上送给控制器,上报业务统计信息等)}。
509、七层转发设备根据七层流表项将第二报文转发至服务器1;
其中,七层转发设备向服务器1转发第二报文,可以是通过四层转发设备中转完成,具体可以通过七层转发设备与四层转发设备之间的数据通道进行转发,再通过四层转发设备发送至服务器1。图5中示出了509a和509b组成的报文中转路径。
进一步的,在507中,负载均衡控制器根据报文解析结果,也可以确定七层转发设备后续就不再需要处理该报文了,即下次四层转发设备接收到该报文后,七层转发设备可以不用再参与处理。那么这种情况下,负载均衡控制器还可以执行510;该510的步骤在507之后执行即可,与508和509的时间顺序不做限定。
510、负载均衡控制器向四层转发设备发送第三转发表项;
其中,负载均衡控制器直接向四层转发设备发送第三转发表项;所述第三转发表项包括所述第一关键字和所述第一关键字对应的第三处理策略;所述第三转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第四报文时根据所述第三处理策略处理所述第四报文,省略向所述七层转发设备发送报文。例如,在504步骤中,四层转发设备根据流表项中的“符合四层信息4的报文转发至七层转发设备”,将报文转发至七层转发设备;那么此时发送的流表项可以包括“符合四层信息4的报文转发至服务器1”,这样四层转发设备下次在接收到503的客户端发送的第一报文时,将直接执行511。
511、四层转发设备将接收到的匹配第一关键字的第四报文发送至服务器1。
此时,四层转发设备不再向七层转发设备发送报文,而是直接将接收到的匹配所述第一关键字的第四报文发送给服务器1。
此外,即使负载均衡控制器向四层转发设备发送第四转发表项,后续不需要七层转发设备参与处理,但是负载均衡控制器还是要执行508,告知七层转发设备还是要将本次报文的转发处理完成;下次四层转发设备也不会再向七层转发设备转发报文,七层转发设备也不会参与了。
上述图5的例子是以客户端向服务器发送报文为例,下面的图6是以服务器向客户端发送报文为例,并且是假设在某些情况之下(比如,HTTP的七层会话保持需要提取服务器的响应消息中的Cookie信息)需要将服务器发给客户端的报文交由七层转发设备处理。图6为本发明网络业务处理方法一实施例的报文发送信令图二,该方法可以包括:
601、负载均衡控制器向四层转发设备发送第一转发表项;
其中,该第一转发表可以包括第一关键字、以及第一关键字对应的第一处理策略;所述的第一关键字包括报文的四层信息,该四层信息例如是源IP地址、目的IP地址、源端口、目的端口、源MAC地址、目的MAC地址、协议号、VLAN ID中的至少一种。
本实施例中,该第一转发表项的形式可以是流表项,该流表项例如包括:符合四层信息5的报文转发至七层转发设备。其中,四层信息5可以称为第一关键字,所述的转发至七层转发设备可以称为第一关键字对应的第一处理策略。
602、负载均衡控制器向七层转发设备发送控制规则,所述控制规则用于指导七层转发设备处理报文;
举例来说,该控制规则也可以采用转发表的形式发送,例如可以是第四转发表项,该第四转发表项包括第四关键字、以及所述第四关键字对应的第四处理策略,所述的第四关键字可以包括报文的七层信息。
该第四转发表项也可以是流表项的形式,该流表项例如可以包括:符合七层信息5的报文向负载均衡控制器进一步请求。该七层信息5是条件七层信息,当七层转发设备解析报文得到的七层信息满足该条件七层信息时,向负载均衡控制器请求指示进一步如何处理该报文。
603、四层转发设备接收服务器1发送的第一报文;
604、四层转发设备根据第一报文和第一转发表项,向七层转发设备发送第二报文;
例如,本实施例假设四层转发设备解析报文得到的是四层信息5,所以根据第一转发表项中的第一处理策略向七层转发设备发送第二报文,举例来说,该第二报文可以由四层转发设备复制第一报文得到。
605、七层转发设备解析第二报文得到报文解析结果;
本实施例假设七层转发设备解析第二报文,得到的报文解析结果是七层信息5。
606、七层转发设备向负载均衡控制器上报报文解析结果;
其中,七层转发设备根据在602中接收到的控制器下发的流表项,得知在解析得到七层信息5时需要向负载均衡控制器请求如何处理该报文,七层转发设备则将报文解析结果上报至负载均衡控制器。
607、负载均衡控制器根据报文解析结果做相应处理,并选择客户端;
其中,负载均衡控制器根据接收到的报文解析结果做相应处理,比如,对于HTTP的七层会话保持,控制器所做的处理可以是建立服务器1与Cookie信息的关联。并且,负载均衡控制器还确定下一步将报文发送给哪个客户端,本实施例是假设只有一个客户端。可选地,客户端也可以有多个,本步骤例如可以选择其中一个。
608、负载均衡控制器向七层转发设备下发流表项;
其中,该流表项可以包括:符合七层信息5的报文转发给客户端。
609、七层转发设备根据控制器下发的流表项将报文转发至客户端;
其中,七层转发设备向客户端转发报文,可以是通过四层转发设备中转完成,具体可以通过七层转发设备与四层转发设备之间的数据通道进行转发,再通过四层转发设备发送至客户端。图6中示出了609a和609b组成的报文中转路径。
可选地,负载均衡控制器根据报文解析结果,也可以确定七层转发设备后续就不再需要处理该报文了,即下次四层转发设备接收到该报文后,七层转发设备可以不用再参与处理。那么这种情况下,负载均衡控制器还可以执行610;
610、负载均衡控制器向四层转发设备发送第三转发表项;
其中,负载均衡控制器直接向四层转发设备发送第三转发表项;所述第三转发表项包括所述第一关键字和所述第一关键字对应的第三处理策略;所述第三转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第四报文时根据所述第三处理策略处理所述第四报文,省略向所述七层转发设备发送报文。
例如,在604中,四层转发设备根据第一转发表项中的“符合四层信息5的报文转发至七层转发设备”,根据第一报文生成第二报文发送至七层转发设备;那么此时发送的第三转发表项可以包括“符合四层信息5的报文转发至客户端”,这样四层转发设备下次在接收到匹配所述第一关键字的第四报文时,将直接执行611。
611、四层转发设备将匹配第一关键字的第四报文发送至客户端。
需要说明的是,如果七层转发设备向负载均衡控制器上报报文解析结果,并使得负载均衡控制器向四层转发设备发送第三转发表项,可以有多种方式。举例来说,当七层转发设备上报报文解析结果之后,负载均衡控制器可以根据该报文解析结果判断得到在后续接收到报文时,可以不再需要七层转发设备处理该报文,仅由四层转发设备处理即可,则负载均衡控制器向四层转发设备发送上述的第三转发表项。又举例来说,当七层转发设备判断报文不需要由七层转发设备处理时,七层转发设备不仅向负载均衡控制器可以发送报文解析结果,还可以发送消息,所述消息用于通知所述控制器向所述四层转发设备发送所述第三转发表项,从而使得负载均衡控制器根据该指示向四层转发设备发送第三转发表项。
实施例四
本实施例以防火墙业务为例,处理防火墙业务的控制器可以称为防火墙控制器,参见图7,图7为本发明网络业务处理方法另一实施例的应用系统图。该系统的架构与图4类似,图4中服务器与客户端之间发送报文,图7中攻击者与主机之间发送报文。攻击者发送的是攻击报文,防火墙控制器和所示的转发设备共同实现对攻击报文的处理,保证网络安全。网络攻击中有些攻击(比如,Fraggle攻击)只需要四层转发设备和防火墙控制器配合完成对该攻击报文的处理。而有些攻击(比如,TCP标志位畸形攻击)需要四层转发设备、七层转发设备和防火墙控制器三者配合完成对该攻击报文的处理。
图8为本发明网络业务处理方法另一实施例的报文发送信令图,由于实现防火墙业务时,控制器与四层转发设备、七层转发设备之间的配合处理方式与实现负载均衡业务时类似,只是不同的业务获取的解析报文信息以及对应报文信息的处理有所区别,所以本实施例的方法简单描述。如图8所示,该方法可以包括:
801、防火墙控制器向四层转发设备发送第一转发表项;
其中,该第一转发表项包括第一关键字、以及第一关键字对应的第一处理策略;所述的第一关键字包括报文的四层信息,该四层信息例如是源IP地址、目的IP地址、源端口、目的端口、源MAC地址、目的MAC地址、协议号、VLAN ID中的至少一种。
本实施例中,该第一转发表项的形式可以是流表项,该流表项可以是根据网络攻击的特征生成的;例如,对于防范Fraggle攻击的流表项可以描述为:若报文的目的IP地址为广播地址并且目的端口为UDP的7或19号端口则将其丢弃;其中,该防范Fraggle攻击的流表项中,“广播地址”和“UDP的7或19号端口”是第一关键字,丢弃则是第一关键字对应的报文处理策略。对于防范TCP标志位畸形攻击的流表项可以描述为:若为TCP报文则转发给七层转发设备。
802、防火墙控制器向七层转发设备发送控制规则,所述控制规则用于指导七层转发设备处理报文。
其中,该控制规则也可以采用转发表的形式发送,例如可以是第四转发表项,该第四转发表项包括第四关键字、以及所述第四关键字对应的第四处理策略,所述的第四关键字可以包括报文的七层信息;举例来说,该七层信息可以是TCP标志位,比如对于防范TCP标志位畸形攻击的流表项可以描述为:若报文的TCP标志位全为0或者全为1则将其丢弃;否则,将报文解析结果上报防火墙控制器处理。以此为例,上述的“TCP标志位全为0或者全为1”是第四关键字,而“丢弃”是该第四关键字对应的第四处理策略。
803、所述四层转发设备接收到攻击者发送的第一报文。
其中,四层转发设备接收到该第一报文,但是在进行后续的处理和判断之前,可能该四层转发设备并不知道该报文是否是攻击者发送的,对于四层转发设备来说,该报文相当于是某个客户端发送的,经过后续的判断处理后,才能确定该第一报文是普通报文或者是攻击者发送的攻击报文。
804、所述四层转发设备根据第一报文和第一转发表项,向所述七层转发设备发送第二报文;
其中,所述四层转发设备根据801中所述第一转发表项对接收到的第一报文进行处理。例如,如果所述接收到的第一报文的目的IP地址为广播地址并且目的端口为UDP的7或19号端口,则表明是Fraggle攻击报文,所述四层转发设备将所述接收到的第一报文丢弃。如果所述第一报文是TCP报文,则所述四层转发设备根据所述第一转发表将接收到的所述第一报文转发至七层转发设备。本实施例假设接收到的所述第一报文是TCP报文,所述四层转发设备将根据所述第一报文向所述七层转发设备发送第二报文,举例来说,该第二报文可以由四层转发设备复制第一报文得到。
805、所述七层转发设备解析第二报文得到解析结果。
其中,七层转发设备缓存并解析第二报文。解析结果包含七层信息。例如,当需要判断报文是否是TCP标志位畸形攻击时,该七层信息可以包括:网络五元组信息,TCP标志位信息等。
806、所述七层转发设备根据控制规则将解析结果上报至防火墙控制器;
其中,所述七层转发设备根据得到的报文解析结果,结合上述602中接收到的控制规则来处理报文。例如,七层转发设备根据在602中接收到的控制规则“如果解析报文发现TCP标志位全为0或者全为1,则表明该报文是TCP标志位畸形攻击,丢弃报文;否则,将解析结果上报至防火墙控制器”;本实施例假设七层转发设备解析报文得到的解析结果,TCP标志位没有全为0或者全为1,则七层转发设备根据控制规则将解析结果上报至防火墙控制器,请求防火墙控制器下发进一步的报文处理信息。
807、防火墙控制器根据解析结果做出决策。
其中,防火墙控制器分析解析结果并作出相应处理。例如,如果发现报文可疑,比如,发现TCP标志位同时把SYN和FIN位置1,则该决策可以是将报文丢弃、记录或者统计等处理;如果发现报文正常,则该决策可以是指示七层转发设备正常转发报文。
808、防火墙控制器向七层转发设备下发新的流表项。
其中,防火墙控制器在807中做出决策之后,根据该决策生成并下发流表项,使得七层转发设备根据接收到的流表项对报文做相应的处理。也就是说,该七层转发设备在之前的802中接收到过防火墙下发的控制规则,该控制规则本实施例也是以流表项的形式为例,但是在802中的流表项中包括上述的“若报文的TCP标志位不是全为0或者全为1,则将报文解析结果上报防火墙控制器处理。”,也就是说,当TCP标志位不是全为0或者全为1时,防火墙控制器需要根据七层转发设备上报的解析结果才能够做出进一步判断,比如判断该报文是否是攻击报文以及如何处理等。因此在806中七层转发设备将解析结果上报,防火墙根据解析结果得到决策并下发新的流表项给七层转发设备以指导七层转发设备下一步如何处理该报文。
例如,当第二报文可疑时,七层转发设备可以根据708中防火墙下发的流表项,将报文丢弃、记录、统计等;当第二报文正常时,七层转发设备可以根据防火墙下发的流表项,正常转发报文,例如,将报文转发至主机2(可以通过四层转发设备中转)。
809、防火墙控制器向四层转发设备下发第三转发表项;
其中,防火墙控制器在807中根据解析结果,如果确定后续可以不再需要七层转发设备参与处理,可以向四层转发设备下发第三转发表项。所述第三转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第四报文时根据所述第三处理策略处理所述第四报文,省略向所述七层转发设备发送报文。举例来说,可以用于指示四层转发设备,对于符合攻击报文五元组信息(该五元组信息例如是805中七层转发设备解析得到的网络五元组信息)的报文可以直接丢弃,那么此时五元组信息相当于第一转发表项中的第一关键字,而丢弃相当于该第一关键字对应的第一处理策略。这样四层转发设备在再次接收到报文时,可以直接执行810。
810、四层转发设备丢弃报文。
由上述的几个实施例可以看到,在本发明实施例的网络业务处理方法中,四层业务是由四层转发设备处理,七层业务是由七层转发设备处理,这样四层转发设备可以专用于处理四层业务,业务处理的能力和效率都会得到提高;并且该方案也具有很大的灵活性,当有七层业务需要处理时,四层转发设备可以将其转发至七层转发设备,能够实现七层业务的处理。可选地,当控制器判断七层转发设备后续可以不需要再参与报文处理时,控制器还可以向四层转发设备下发第一转发表,使得后续四层转发设备可以直接处理报文,报文处理方式的转变非常灵活,也有助于提高处理效率。
实施例五
在前边几个实施例中,控制器和转发设备实现的都是一个业务,比如实现的是防火墙业务、或者负载均衡业务;本实施例中,控制器和多个转发设备组成的系统可以处理多个网络业务串接起来的网络业务链,例如,某网络业务链的业务执行顺序是:报文先经过防火墙然后经过负载均衡器,即报文既要经过防火墙业务的安全防范又要经过负载均衡处理。此时,可以由控制器和多个转发设备组成系统来实现该网络业务链。并且,在这种网络业务链的架构中,控制器向四层转发设备或者七层转发设备下发的报文转发表(可以称为第五转发表),可以用于指示四层转发设备或者七层转发设备将报文转发至另一个网络业务对应的转发设备,实现报文在处理不同业务的转发设备之间进行转发处理。
图9为本发明网络业务处理方法又一实施例的应用系统图,如图9所示,本实施例的控制器可以包含负载均衡控制器和防火墙控制器,当然也可以是由一个控制器负责控制负载均衡和防火墙两个业务;同时,控制器还负责把整个网络业务链串接起来。此外,七层转发设备1是执行防火墙业务的七层转发设备,七层转发设备2是执行负载均衡业务的七层转发设备;四层转发设备1是防火墙业务的四层转发设备,四层转发设备2是负载均衡业务的四层转发设备。
本实施例中,控制器通过图中所示的四层控制接口和七层控制接口向四层转发设备和七层转发设备下发流表项。通过流表项处理报文时的流向有如下几种可能:四层转发设备1->四层转发设备2(报文在防火墙业务和负载均衡业务中均进行四层处理,然后就发送至服务器);四层转发设备1->七层转发设备1->四层转发设备2(报文在防火墙业务经过了四层处理和七层处理,在负载均衡业务中进行四层处理);四层转发设备1->四层转发设备2->七层转发设备2(报文在防火墙业务经过四层处理,在负载均衡业务中经过了四层处理和七层处理);四层转发设备1->七层转发设备1->四层转发设备2->七层转发设备2(报文在防火墙业务和负载均衡业务中都进行了四层处理和七层处理)。
其中,在这种网络业务链的结构中,控制器向转发设备发送的报文处理信息,包括了用于指示所述转发设备将报文转发至另一个网络业务对应的转发设备;比如,在四层转发设备1->四层转发设备2的路径中,控制器发送给四层转发设备1的流表项,就是用于指示四层转发设备1将报文转发至另一个业务即负载均衡业务的四层转发设备2。此外,各转发设备之间设置有数据通道,报文转发是通过数据通道转发的,例如,在四层转发设备1->七层转发设备1->四层转发设备2->七层转发设备2的路径中,报文从七层转发设备1至四层转发设备2,可以是七层转发设备1->四层转发设备1->四层转发设备2这样的路径,即通过四层转发设备1来中转。
在网络业务链的结构中,对于每种业务的控制器与转发设备之间的报文处理控制,与前述实施例的方式类似,不再赘述。
实施例六
现有的各层次网络业务都由同一个设备来处理,当某个层次的业务量变化时,无法动态快速的适应这种变化,比如如果七层业务量大幅增加时,实际上是需要提升七层业务的处理能力,那么现有技术可能只有整体更换高能力处理设备或者增加处理设备的数量,既成本高又效率低;而本发明实施例的控制器可以根据七层转发设备上报的业务统计信息,单独针对七层设备进行业务控制,例如创建新的七层转发设备,即扩充七层转发设备的数量。这种方式不会涉及到四层转发设备的变化,而且可以根据七层转发设备实时上报的业务统计信息对七层转发设备的处理能力进行实时扩充,对业务的适应能力较强,灵活地提高系统对业务的处理能力。
具体的,本发明实施例中,网络业务处理系统包括四层转发设备和第一七层转发设备,控制器接收所述第一七层转发设备发送的业务统计信息;控制器根据所述业务统计信息,增加第二七层转发设备,所述第二七层转发设备和所述四层转发设备之间存在用于传输报文的数据通道。
图10为本发明网络业务处理方法又一实施例的应用系统图,本实施例中,控制器可以根据七层转发设备所处理的业务量的变化,实时扩充七层转发设备的数量,以适应业务量的变化。该方法包括:
1001、第一七层转发设备向控制器上报业务统计信息;
例如,该业务统计信息可以包括,网络流量、七层转发设备的CPU、内存消耗等。图10中的方框B中所包括的四个第一七层转发设备是当前存在的设备。
1002、控制器根据业务统计信息确定需要增加第二七层转发设备,向计算资源管理器请求新的计算资源;
例如,控制器根据第一七层转发设备上报的业务统计信息,确定当前第一七层转发设备侧的业务量增加较大,使得第一七层转发设备的负荷较重,则控制器确定需要扩充七层转发设备的数量,则向计算资源管理器请求新的计算资源,准备增加第二七层转发设备。
1003、计算资源管理器创建新的计算资源;
其中,这里创建新的计算资源就是在创建第二七层转发设备,即图10中所示的方框A中包括的四个第二七层转发设备;本实施例是假设增加四个第二七层转发设备。
1004、计算资源管理器回复控制器其所创建的计算资源的信息;
例如,计算资源管理器回复的计算资源即第二七层转发设备的信息可以包括:这些第二七层转发设备的IP地址、计算能力等,告知控制器已经创建完成第二七层转发设备。
1005、控制器启动第二七层转发设备;
例如,控制器还可以向该第二七层转发设备下发七层流表项,使得第二七层转发设备根据该七层流表项进行后续接收报文的转发处理。
1006、控制器向四层转发设备发送转发表项;
其中,该转发表项包括关键字和所述关键字对应的处理策略;所述关键字包括报文的四层信息,所述转发表项用于指示所述四层转发设备接收到匹配所述关键字的第一报文时,根据所述处理策略向所述第二七层转发设备发送第二报文。即此时可以将一部分原来发送至方框B中的第一七层转发设备的流量分流到第二七层转发设备,减轻原第一七层转发设备的负担。
1007、四层转发设备接收到匹配所述关键字的第一报文时,根据所述处理策略向所述第二七层转发设备发送第二报文。
本实施例的网络业务处理方法,可以实现七层转发设备的动态扩充,动态适应业务量的变化。
实施例七
图11为本发明网络业务处理方法又一实施例的应用系统图,如图11所示,本实施例主要用于说明控制器可以不直接控制四层转发设备,而是通过中间控制设备对四层转发设备进行控制。
参见图11,例如所述的中间控制设备可以是Openflow控制器或者网管系统,控制器可以通过Openflow控制器或者网管系统间接控制四层转发设备。控制器与所述的Openflow控制器或者网管系统之间可以通过四层控制接口通信,并通过该四层控制接口将第四转发表发送至Openflow控制器或者网管系统,再由Openflow控制器或者网管系统将该第四转发表发送至四层转发设备。
其中,控制器与Openflow控制器或者网管系统之间传输的信息的格式,可以按照两者协议的规定格式进行;以及Openflow控制器或者网管系统分别与四层转发设备之间传输的信息的格式,同样可以按照两者协议的规定格式进行。
实施例八
图12为本发明控制器一实施例的结构示意图,如图12所示,该控制器可以包括:处理单元1201和通信单元1202。
所述处理单元1201,用于生成第一转发表项,所述第一转发表项包括第一关键字和所述第一关键字对应的第一处理策略;所述第一关键字包括报文的四层信息。
所述通信单元1202,用于向四层转发设备发送所述第一转发表项,所述第一转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第一报文时,根据所述第一处理策略向所述七层转发设备发送第二报文。
所述处理单元1201还用于生成控制规则,所述控制规则用于指导所述七层转发设备处理报文。
所述通信单元1202还用于向所述七层设备发送所述控制规则,使得所述七层转发设备根据所述控制规则处理所述第二报文。
可选地,所述处理单元1201还用于生成第二转发表项,所述第二转发表项包括第二关键字和所述第二关键字对应的第二处理策略;所述第二关键字包括报文的四层信息。所述通信单元1202还用于向所述四层转发设备发送所述第二转发表项,所述第二转发表项用于指示所述四层转发设备接收到匹配所述第二关键字的第三报文时,根据所述第二处理策略处理所述第三报文,省略向所述七层转发设备发送报文。
可选地,所述通信单元1202还用于接收所述七层转发设备发送的报文解析结果,所述报文解析结果是所述七层转发设备通过解析所述第二报文得到。所述处理单元1201还用于根据所述报文解析结果生成第三转发表项,所述第三转发表项包括所述第一关键字和所述第一关键字对应的第三处理策略。所述通信单元1202还用于向所述四层转发设备发送所述第三转发表项,所述第三转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第四报文时根据所述第三处理策略处理所述第四报文,省略向所述七层转发设备发送报文。
图12所示的实施例的实现细节请参考上面方法实施例的描述,此处不再赘述。
图13为本发明控制器一实施例的结构示意图,如图13所示,该控制器可以包括:处理器1301和收发器1302。
所述处理器1301,用于生成第一转发表项,所述第一转发表项包括第一关键字和所述第一关键字对应的第一处理策略;所述第一关键字包括报文的四层信息。
所述收发器1302,用于向四层转发设备发送所述第一转发表项,所述第一转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第一报文时,根据所述第一处理策略向所述七层转发设备发送第二报文。
所述处理器1301还用于生成控制规则,所述控制规则用于指导所述七层转发设备处理报文。
所述收发器1302还用于向所述七层设备发送所述控制规则,使得所述七层转发设备根据所述控制规则处理所述第二报文。
可选地,所述处理器1301还用于生成第二转发表项,所述第二转发表项包括第二关键字和所述第二关键字对应的第二处理策略;所述第二关键字包括报文的四层信息。所述收发器1302还用于向所述四层转发设备发送所述第二转发表项,所述第二转发表项用于指示所述四层转发设备接收到匹配所述第二关键字的第三报文时,根据所述第二处理策略处理所述第三报文,省略向所述七层转发设备发送报文。
可选地,所述收发器1302还用于接收所述七层转发设备发送的报文解析结果,所述报文解析结果是所述七层转发设备通过解析所述第二报文得到。所述处理器1301还用于根据所述报文解析结果生成第三转发表项,所述第三转发表项包括所述第一关键字和所述第一关键字对应的第三处理策略。所述收发器1302还用于向所述四层转发设备发送所述第三转发表项,所述第三转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第四报文时根据所述第三处理策略处理所述第四报文,省略向所述七层转发设备发送报文。
图13所示的实施例的实现细节请参考上面方法实施例中对控制器执行的操作的描述,此处不再赘述。
实施例九
图14为本发明四层转发设备实施例的结构示意图,如图14所示,该四层转发设备可以包括:接收单元1401和发送单元1402。
所述接收单元1401用于接收控制器发送的第一转发表项,所述第一转发表项包括第一关键字和所述第一关键字对应的第一处理策略;所述第一关键字包括报文的四层信息,所述第一转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第一报文时,根据所述第一处理策略向七层转发设备发送第二报文;
所述接收单元1401还用于接收所述第一报文;
所述发送单元1402用于在所述接收单元1401接收到到所述第一报文后根据所述第一转发表项,通过数据通道向所述七层转发设备发送所述第二报文。
可选地,所述接收单元1401还用于接收所述控制器发送的第二转发表项,所述第二转发表项包括第二关键字和所述第二关键字对应的第二处理策略;所述第二关键字包括报文的四层信息,所述第二转发表项用于指示所述四层转发设备接收到匹配所述第二关键字的第三报文时,根据所述第二处理策略处理所述第三报文,省略向所述七层转发设备发送报文。
图15为本发明四层转发设备实施例的结构示意图,如图15所示,该四层转发设备可以包括:接收器1501和发送器1502。
所述接收器1501用于接收控制器发送的第一转发表项,所述第一转发表项包括第一关键字和所述第一关键字对应的第一处理策略;所述第一关键字包括报文的四层信息,所述第一转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第一报文时,根据所述第一处理策略向七层转发设备发送第二报文;
所述接收器1501还用于接收所述第一报文;
所述发送器1502用于在所述接收器1501接收到到所述第一报文后根据所述第一转发表项,通过数据通道向所述七层转发设备发送所述第二报文。
可选地,所述接收器1501还用于接收所述控制器发送的第二转发表项,所述第二转发表项包括第二关键字和所述第二关键字对应的第二处理策略;所述第二关键字包括报文的四层信息,所述第二转发表项用于指示所述四层转发设备接收到匹配所述第二关键字的第三报文时,根据所述第二处理策略处理所述第三报文,省略向所述七层转发设备发送报文。
图14和15所示的实施例的实现细节请参考上面方法实施例中对四层转发设备执行的操作的描述,此处不再赘述。
实施例十
本发明实施例还提供了一种控制器,应用于包括四层转发设备和第一七层转发设备的网络业务处理系统,所述系统中还包括控制器,所述四层转发设备和所述第一七层转发设备分别与所述控制器通信,且所述四层转发设备和所述第一七层转发设备之间存在用于传输报文的数据通道。所述控制器包括:
通信单元,用于接收所述第一七层转发设备发送的业务指示信息;
处理单元,用于根据所述业务统计信息,增加第二七层转发设备,所述第二七层转发设备和所述四层转发设备之间存在用于传输报文的数据通道。
可选地,所述处理单元具体用于根据所述业务统计信息,确定需要增加所述第二七层转发设备,在所述系统中增加所述第二七层转发设备,并向所述四层转发设备发送转发表项,所述转发表项包括关键字和所述关键字对应的处理策略;所述关键字包括报文的四层信息,所述转发表项用于指示所述四层转发设备接收到匹配所述关键字的第一报文时,根据所述处理策略向所述第二七层转发设备发送第二报文。
实施例十一
本实施例提供一种网络业务处理系统,包括前面描述的四层转发设备、控制器以及七层转发设备。所述四层转发设备和七层转发设备分别与所述控制器通信。所述四层转发设备和七层转发设备之间存在用于传输网络业务报文的数据通道。
举例来说,该系统包括控制器和用于处理第一网络层次业务的转发设备。该系统的结构例如可以是图1所示的结构。其中,该网络业务处理系统中,可以仅包括控制器和四层转发设备,或者,也可以包括控制器、四层转发设备和七层转发设备。
进一步的,四层转发设备与控制器之间可以通过四层控制接口连接,控制器通过所述四层控制接口向四层转发设备发送报文处理信息。同样,七层转发设备与控制器之间可以通过七层控制接口连接,控制器通过所述七层控制接口向七层转发设备发送报文处理信息。七层转发设备与四层转发设备之间可以设置用于转发网络业务报文的数据通道。
进一步的,七层转发设备可以包括:分别对应不同七层协议的多个七层转发设备,或者分别对应不同网络业务的多个七层转发设备。比如,根据七层业务的不同可以有不同的七层转发设备。比如,七层负载均衡转发设备,七层防火墙转发设备。七层负载均衡转发设备根据支持的七层协议不同还可以再细分,比如,七层HTTP负载均衡转发设备,七层SIP负载均衡转发设备。可选的,由于七层协议较多,可以一个七层转发设备对应一个七层协议的处理,也可以一个七层转发设备对应多个七层协议的处理。
进一步的,转发设备可以包括:分别对应不同网络业务的多个转发设备,比如在图7中所示的网络业务处理系统中,就包括了网络业务链中的多个业务的转发设备,不同业务的转发设备可以共同组成处理系统实现多个业务的串接完成。
进一步的,当系统中存在分别对应不同业务的转发设备时,属于不同网络业务的转发设备,可以分别由对应所述网络业务的控制器控制;或者由同一控制器控制。比如在图7中所示的防火墙业务和负载均衡业务的转发设备,可以是分别由各自业务的控制器控制,比如防火墙业务的转发设备由防火墙控制器控制,负载均衡业务的转发设备由负载均衡控制器控制;或者,防火墙业务和负载均衡业务的转发设备都由同一个控制器控制。一个控制器可以控制一个或多个四层转发设备。一个控制器也可以控制一个或多个七层转发设备。相应的,为了可靠性一个4转发设备或7转发设备可以由主备多个控制器来控制。根据网络业务的不同可以有不同的控制器。比如,负载均衡控制器,防火墙控制器,IPSec/SSL VPN网关控制器。
进一步的,本发明实施例提供了七层转发设备与控制器之间的一种交互流程实现方式,包括:
注册流程:用于七层转发设备向控制器进行注册。注册请求中可以包含七层转发设备标识、认证信息,协议版本号和七层业务类型(比如,负载均衡业务,防火墙业务等)等信息。控制器回复注册响应来指示注册成功或失败。
能力交换流程:用于双方进行业务能力协商。可以交换的能力包括七层业务协议(比如,HTTP,FTP等)和七层业务处理能力(比如,最大并发,每秒新建连接数等)}等。
请求七层处理流程:用于七层转发设备向控制器请求获取流表项。
下发七层处理流程:用于控制器向七层转发设备下发流表项,可以是控制器主动下发也可以是收到七层转发设备的请求后下发。这里的请求七层处理流程和下发七层处理流程,在前边的方法实施例中已经描述过,不再详述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (23)
1.一种报文处理方法,其特征在于,应用于包括四层转发设备、七层转发设备和控制器的系统,所述四层转发设备和七层转发设备分别与所述控制器通信,且所述四层转发设备和七层转发设备之间存在用于传输报文的数据通道;所述方法包括:
所述控制器向所述四层转发设备发送第一转发表项,所述第一转发表项包括第一关键字和所述第一关键字对应的第一处理策略;所述第一关键字包括报文的四层信息,所述第一转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第一报文时,根据所述第一处理策略向所述七层转发设备发送第二报文;
所述控制器向所述七层转发设备发送用于指导所述七层转发设备处理报文的控制规则,使得所述七层转发设备根据所述控制规则处理所述第二报文。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述控制器向所述四层转发设备发送第二转发表项,所述第二转发表项包括第二关键字和所述第二关键字对应的第二处理策略;所述第二关键字包括报文的四层信息,所述第二转发表项用于指示所述四层转发设备接收到匹配所述第二关键字的第三报文时,根据所述第二处理策略处理所述第三报文,省略向所述七层转发设备发送报文。
3.根据权利要求1或2所述的方法,其特征在于,在所述控制器向所述七层转发设备发送控制规则之后,还包括:
所述控制器接收所述七层转发设备发送的报文解析结果,所述报文解析结果是所述七层转发设备通过解析所述第二报文得到;
所述控制器根据所述报文解析结果,向所述四层转发设备发送第三转发表项,所述第三转发表项包括所述第一关键字和所述第一关键字对应的第三处理策略;所述第三转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第四报文时根据所述第三处理策略处理所述第四报文,省略向所述七层转发设备发送报文。
4.根据权利要求3所述的方法,其特征在于,在所述控制器接收所述七层转发设备发送的报文解析结果之前,还包括:
所述控制器向所述七层转发设备发送条件七层信息,所述条件七层信息用于指示所述七层转发设备在解析所述第二报文得到所述条件七层信息时发送所述报文解析结果。
5.根据权利要求4所述的方法,其特征在于,所述控制器向所述四层转发设备发送所述第三转发表项之前,还包括:
所述控制器接收所述七层转发设备发送的消息,所述消息用于通知所述控制器向所述四层转发设备发送所述第三转发表项。
6.根据权利要求1或2所述的方法,其特征在于,所述控制器向所述七层转发设备发送控制规则,包括:
所述控制器向所述七层转发设备发送第五处理策略或者第四转发表项,所述第四转发表项包括:第四关键字和所述第四关键字对应的第四处理策略。
7.根据权利要求6所述的方法,其特征在于,所述控制器向所述七层转发设备发送第五处理策略或者第四转发表项,包括:
所述控制器在接收到所述七层转发设备发送的所述报文解析结果之后,向所述七层转发设备发送所述第五处理策略或者所述第四转发表项。
8.根据权利要求1或2所述的方法,其特征在于,所述控制器向所述四层转发设备发送第一转发表项,包括:
所述控制器通过中间控制设备向所述四层转发设备发送所述第一转发表项。
9.根据权利要求1或2所述的方法,其特征在于,所述四层转发设备提供防火墙业务,所述七层转发设备提供负载均衡业务。
10.一种报文处理方法,其特征在于,应用于包括四层转发设备、七层转发设备和控制器的系统,所述四层转发设备和七层转发设备分别与所述控制器通信,且所述四层转发设备和七层转发设备之间存在用于传输报文的数据通道;所述方法包括:
所述四层转发设备接收所述控制器发送的第一转发表项,所述第一转发表项包括第一关键字和所述第一关键字对应的第一处理策略;所述第一关键字包括报文的四层信息,所述第一转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第一报文时,根据所述第一处理策略向所述七层转发设备发送第二报文;
所述四层转发设备接收所述第一报文;
所述四层转发设备根据所述第一转发表项,通过所述数据通道向所述七层转发设备发送所述第二报文。
11.根据权利要求10所述的方法,其特征在于,还包括:
所述四层转发设备接收所述控制器发送的第二转发表项,所述第二转发表项包括第二关键字和所述第二关键字对应的第二处理策略;所述第二关键字包括报文的四层信息,所述第二转发表项用于指示所述四层转发设备接收到匹配所述第二关键字的第三报文时,根据所述第二处理策略处理所述第三报文,省略向所述七层转发设备发送报文。
12.根据权利要求11所述的方法,其特征在于,所述四层转发设备通过所述数据通道向所述七层转发设备发送所述第二报文之后,还包括:
所述四层转发设备接收所述控制器发送的第三转发表项,所述第三转发表项包括所述第一关键字和所述第一关键字对应的第三处理策略;所述第三转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第四报文时根据所述第三处理策略处理所述第四报文,省略向所述七层转发设备发送报文。
13.根据权利要求10~12任一所述的方法,其特征在于,所述四层转发设备提供防火墙业务,所述七层转发设备提供负载均衡业务。
14.一种网络业务处理方法,其特征在于,应用于包括四层转发设备和第一七层转发设备的网络业务处理系统,所述系统中还包括控制器,所述四层转发设备和所述第一七层转发设备分别与所述控制器通信,且所述四层转发设备和所述第一七层转发设备之间存在用于传输报文的数据通道;所述网络业务处理方法包括:
所述控制器接收所述第一七层转发设备发送的业务统计信息;
所述控制器根据所述业务统计信息,增加第二七层转发设备,所述第二七层转发设备和所述四层转发设备之间存在用于传输报文的数据通道。
15.根据权利要求14所述的方法,其特征在于,所述控制器根据所述业务统计信息,增加所述第二七层转发设备,包括:
所述控制器根据所述业务统计信息,确定需要增加所述第二七层转发设备;
所述控制器在所述系统中增加所述第二七层转发设备,并向所述四层转发设备发送转发表项,所述转发表项包括关键字和所述关键字对应的处理策略;所述关键字包括报文的四层信息,所述转发表项用于指示所述四层转发设备接收到匹配所述关键字的第一报文时,根据所述处理策略向所述第二七层转发设备发送第二报文。
16.一种控制器,其特征在于,包括:
处理单元,用于生成第一转发表项,所述第一转发表项包括第一关键字和所述第一关键字对应的第一处理策略;所述第一关键字包括报文的四层信息;
通信单元,用于向四层转发设备发送所述第一转发表项,所述第一转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第一报文时,根据所述第一处理策略向七层转发设备发送第二报文;
所述处理单元还用于生成控制规则,所述控制规则用于指导所述七层转发设备处理报文;
所述通信单元还用于向所述七层设备发送所述控制规则,使得所述七层转发设备根据所述控制规则处理所述第二报文。
17.根据权利要求16所述的控制器,其特征在于,
所述处理单元还用于生成第二转发表项,所述第二转发表项包括第二关键字和所述第二关键字对应的第二处理策略;所述第二关键字包括报文的四层信息;
所述通信单元还用于向所述四层转发设备发送所述第二转发表项,所述第二转发表项用于指示所述四层转发设备接收到匹配所述第二关键字的第三报文时,根据所述第二处理策略处理所述第三报文,省略向所述七层转发设备发送报文。
18.根据权利要求16或17所述的控制器,其特征在于,
所述通信单元还用于接收所述七层转发设备发送的报文解析结果,所述报文解析结果是所述七层转发设备通过解析所述第二报文得到;
所述处理单元还用于根据所述报文解析结果生成第三转发表项,所述第三转发表项包括所述第一关键字和所述第一关键字对应的第三处理策略;
所述通信单元还用于向所述四层转发设备发送所述第三转发表项,所述第三转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第四报文时根据所述第三处理策略处理所述第四报文,省略向所述七层转发设备发送报文。
19.一种控制器,其特征在于,应用于包括四层转发设备和第一七层转发设备的网络业务处理系统,所述系统中还包括控制器,所述四层转发设备和所述第一七层转发设备分别与所述控制器通信,且所述四层转发设备和所述第一七层转发设备之间存在用于传输报文的数据通道,所述控制器包括:
通信单元,用于接收所述第一七层转发设备发送的业务统计信息;
处理单元,用于根据所述业务统计信息,增加第二七层转发设备,所述第二七层转发设备和所述四层转发设备之间存在用于传输报文的数据通道。
20.根据权利要求19所述的控制器,其特征在于,
所述处理单元具体用于根据所述业务统计信息,确定需要增加所述第二七层转发设备,在所述系统中增加所述第二七层转发设备,并向所述四层转发设备发送转发表项,所述转发表项包括关键字和所述关键字对应的处理策略;所述关键字包括报文的四层信息,所述转发表项用于指示所述四层转发设备接收到匹配所述关键字的第一报文时,根据所述处理策略向所述第二七层转发设备发送第二报文。
21.一种四层转发设备,其特征在于,包括:接收单元和发送单元;
所述接收单元用于接收控制器发送的第一转发表项,所述第一转发表项包括第一关键字和所述第一关键字对应的第一处理策略;所述第一关键字包括报文的四层信息,所述第一转发表项用于指示所述四层转发设备接收到匹配所述第一关键字的第一报文时,根据所述第一处理策略向七层转发设备发送第二报文;
所述接收单元还用于接收所述第一报文;
所述发送单元用于在所述接收单元接收到到所述第一报文后根据所述第一转发表项,通过数据通道向所述七层转发设备发送所述第二报文。
22.根据权利要求21所述的四层转发设备,其特征在于,
所述接收单元还用于接收所述控制器发送的第二转发表项,所述第二转发表项包括第二关键字和所述第二关键字对应的第二处理策略;所述第二关键字包括报文的四层信息,所述第二转发表项用于指示所述四层转发设备接收到匹配所述第二关键字的第三报文时,根据所述第二处理策略处理所述第三报文,省略向所述七层转发设备发送报文。
23.一种网络业务处理系统,其特征在于,包括:如权利要求21或22所述的四层转发设备、权利要求16~18任一所述的控制器、以及七层转发设备;所述四层转发设备和七层转发设备分别与所述控制器通信,且所述四层转发设备和七层转发设备之间存在用于传输网络业务报文的数据通道。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310236338.2A CN104243338B (zh) | 2013-06-14 | 2013-06-14 | 报文处理方法、设备和系统 |
PCT/CN2014/079802 WO2014198229A1 (zh) | 2013-06-14 | 2014-06-13 | 报文处理方法、设备和系统 |
EP14811596.7A EP2996291B1 (en) | 2013-06-14 | 2014-06-13 | Packet processing method, device, and system |
US14/966,943 US20160099891A1 (en) | 2013-06-14 | 2015-12-11 | Packet processing method, apparatus and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310236338.2A CN104243338B (zh) | 2013-06-14 | 2013-06-14 | 报文处理方法、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104243338A CN104243338A (zh) | 2014-12-24 |
CN104243338B true CN104243338B (zh) | 2017-12-22 |
Family
ID=52021668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310236338.2A Active CN104243338B (zh) | 2013-06-14 | 2013-06-14 | 报文处理方法、设备和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160099891A1 (zh) |
EP (1) | EP2996291B1 (zh) |
CN (1) | CN104243338B (zh) |
WO (1) | WO2014198229A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936707A (zh) * | 2015-12-29 | 2017-07-07 | 北界创想(北京)软件有限公司 | 路由方法及装置 |
US10432531B2 (en) * | 2016-06-28 | 2019-10-01 | Paypal, Inc. | Tapping network data to perform load balancing |
CN106302456B (zh) * | 2016-08-15 | 2020-01-14 | 浙江宇视科技有限公司 | 会话保持方法及装置 |
US10791092B2 (en) * | 2018-02-14 | 2020-09-29 | Nicira, Inc. | Firewall rules with expression matching |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1599351A (zh) * | 2003-12-17 | 2005-03-23 | 浪潮电子信息产业股份有限公司 | 构建高性价比机群网络负载均衡转发器的方法 |
CN101030947A (zh) * | 2007-04-29 | 2007-09-05 | 华为技术有限公司 | 一种报文发送的方法和装置 |
WO2008101227A1 (en) * | 2007-02-15 | 2008-08-21 | Slacker, Inc. | Methods for satellite augmented wireless communication networks |
CN101599887A (zh) * | 2008-06-05 | 2009-12-09 | 华为技术有限公司 | 对等网络中数据的传输方法和设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6804711B1 (en) * | 1997-10-06 | 2004-10-12 | Mci, Inc. | Method and apparatus for managing call processing services in an intelligent telecommunication network |
US6286052B1 (en) * | 1998-12-04 | 2001-09-04 | Cisco Technology, Inc. | Method and apparatus for identifying network data traffic flows and for applying quality of service treatments to the flows |
US7088718B1 (en) * | 2002-03-19 | 2006-08-08 | Cisco Technology, Inc. | Server load balancing using IP option field approach to identify route to selected server |
US7315541B1 (en) * | 2002-04-03 | 2008-01-01 | Cisco Technology, Inc. | Methods and apparatus for routing a content request |
US7990847B1 (en) * | 2005-04-15 | 2011-08-02 | Cisco Technology, Inc. | Method and system for managing servers in a server cluster |
US9178805B2 (en) * | 2010-12-28 | 2015-11-03 | Citrix Systems, Inc. | Systems and methods for policy based routing for multiple next hops |
-
2013
- 2013-06-14 CN CN201310236338.2A patent/CN104243338B/zh active Active
-
2014
- 2014-06-13 EP EP14811596.7A patent/EP2996291B1/en active Active
- 2014-06-13 WO PCT/CN2014/079802 patent/WO2014198229A1/zh active Application Filing
-
2015
- 2015-12-11 US US14/966,943 patent/US20160099891A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1599351A (zh) * | 2003-12-17 | 2005-03-23 | 浪潮电子信息产业股份有限公司 | 构建高性价比机群网络负载均衡转发器的方法 |
WO2008101227A1 (en) * | 2007-02-15 | 2008-08-21 | Slacker, Inc. | Methods for satellite augmented wireless communication networks |
CN101030947A (zh) * | 2007-04-29 | 2007-09-05 | 华为技术有限公司 | 一种报文发送的方法和装置 |
CN101599887A (zh) * | 2008-06-05 | 2009-12-09 | 华为技术有限公司 | 对等网络中数据的传输方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
EP2996291A1 (en) | 2016-03-16 |
EP2996291B1 (en) | 2017-04-26 |
US20160099891A1 (en) | 2016-04-07 |
EP2996291A4 (en) | 2016-03-23 |
CN104243338A (zh) | 2014-12-24 |
WO2014198229A1 (zh) | 2014-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104285416B (zh) | 在存储区域网络中端接覆盖隧道的虚拟路由器 | |
CN104104561B (zh) | 一种基于OpenFlow协议的SDN防火墙状态检测方法及系统 | |
CN105337857B (zh) | 一种基于软件定义网络的多路径传输方法 | |
CN105376154B (zh) | 渐进式mac地址学习 | |
CN107070613B (zh) | 分布式网络环境下数据可靠传输方法 | |
WO2015074324A1 (zh) | 一种数据包快速转发方法及装置 | |
CN103532672B (zh) | 一种sdn网络中分片报文乱序的处理方法及应用 | |
CN105634956B (zh) | 一种报文转发方法、装置和系统 | |
CN107210966A (zh) | 在软件定义组网(sdn)系统中使用l4‑l7报头转发没有重组的分组片段 | |
CN104811382B (zh) | 数据包的处理方法与装置 | |
EP1158730A2 (en) | Dynamic application port service provisioning for packet switch | |
CN104506513B (zh) | 防火墙流表备份方法、防火墙及防火墙系统 | |
CN103081418A (zh) | 计算机系统和计算机系统中的通信方法 | |
CN105812340B (zh) | 一种虚拟网络访问外网的方法和装置 | |
CN104243338B (zh) | 报文处理方法、设备和系统 | |
CN104518973B (zh) | 一种基于sdn环境的数据的可靠组播传输方法 | |
CN103152260B (zh) | 报文转发系统、方法及装置 | |
CN102347900A (zh) | 整合虚拟和物理网络交换设备到异构交换域的方法和系统 | |
CN104104570A (zh) | Irf系统中的聚合处理方法及装置 | |
CN106416147A (zh) | 一种用于软件定义协议网络节点的系统和方法 | |
CN107787570A (zh) | 轻量传送协议 | |
US6501749B1 (en) | System and method for data transmission across a link aggregation | |
CN105471907A (zh) | 一种基于Openflow的虚拟防火墙传输控制方法及系统 | |
CN102075438A (zh) | 单播数据帧传输方法及装置 | |
CN103975318A (zh) | 用于镜像设备的无损连接故障切换 |
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 |