CN110505151B - 流量转发方法、装置、设备及存储介质 - Google Patents
流量转发方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110505151B CN110505151B CN201910787450.2A CN201910787450A CN110505151B CN 110505151 B CN110505151 B CN 110505151B CN 201910787450 A CN201910787450 A CN 201910787450A CN 110505151 B CN110505151 B CN 110505151B
- Authority
- CN
- China
- Prior art keywords
- traffic
- network port
- processing
- management
- processed
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- 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/30—Routing of multiclass traffic
-
- 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/38—Flow based routing
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于通信网络技术领域,公开了一种流量转发方法、装置、设备及存储介质。该方法包括:确定待处理流量的流量类型;根据流量类型确定处理待处理流量的流量处理网口,以及流量处理网口对应的API;若确定流量处理网口为管理网口,则通过管理网口对应的API将待处理流量转发至流量处理网口;若确定流量处理网口为业务网口,则通过业务网口对应的API将待处理流量转发至流量处理网口。通过上述方式,实现了对待处理流量转发过程的分离,从而在管理网口对应的API或业务网口对应的API出现异常时,管理人员可以通过未发生异常的API接口访问流量处理网口,进行运维恢复操作。
Description
技术领域
本发明涉及通信网络技术领域,尤其涉及一种流量转发方法、装置、设备及存储介质。
背景技术
数据平面开发套件(Data Plane Development Kit,DPDK)主要是基于Linux系统运行,用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率。
目前部署有DPDK系统的网络设备、平台,位于内核层的所有网口都会被用户层中基于DPDK的应用程序接口(Application Programming Interface,API)接管,而这些网卡的配置信息也会统一存储在基于DPDK的API接口文档中。因此,如果部署在用户层中的应用程序出现异常,很可能会导致基于DPDK的API出现异常,进而导致这些网口的配置属性丢失,整个网络瘫痪。此时管理人员便无法通过基于DPDK的API访问内核层中的任何网口,使得管理人员无法及时进行运维恢复操作,从而导致网络设备、平台无法正常使用。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种流量转发方法、装置、设备及存储介质,旨在解决上述技术问题。
为实现上述目的,本发明提供了一种流量转发方法,所述方法包括以下步骤:
确定待处理流量的流量类型;
根据所述流量类型确定处理所述待处理流量的流量处理网口,以及所述流量处理网口对应的应用程序接口API;
若确定所述流量处理网口为管理网口,则通过所述管理网口对应的API将所述待处理流量转发至所述流量处理网口;
若确定所述流量处理网口为业务网口,则通过所述业务网口对应的API将所述待处理流量转发至所述流量处理网口。
优选地,所述确定待处理流量的流量类型的步骤,包括:
接收用户触发的流量处理请求,获取所述流量处理请求中携带的流量标识信息;
根据所述流量标识信息和预设的确定规则确定所述待处理流量,以及所述待处理流量的流量类型。
优选地,所述流量类型包括管理流量和业务流量;
所述根据所述流量类型确定处理所述待处理流量的流量处理网口,以及所述流量处理网口对应的应用程序接口API的步骤,包括:
若所述流量类型为管理流量,则确定处理所述待处理流量的流量处理网口为管理网口,所述管理网口对应的应用程序接口API为基于Linux的原生网口管理API;
若所述流量类型为业务流量,则确定处理所述待处理流量的流量处理网口为业务网口,所述业务网口对应的应用程序接口API为基于数据平面开发套件DPDK的DPDK组件网口管理API。
优选地,所述接收用户触发的流量处理请求的步骤之前,所述方法还包括:
接收用户触发的网口创建请求,获取所述网口创建请求中携带的待创建网口的网口属性;
根据所述网口属性,确定所述待创建网口的网口类型;
根据所述网口类型,确定所述待创建网口的配置信息;
将所述网口类型和所述配置信息发送给部署于用户层中的配置管理平台,以使所述配置管理平台根据所述网口类型和所述配置信息,创建所述待创建网口,得到所述流量处理网口;
通过预设的网络管理程序从所述配置管理平台获取所述流量处理网口,并通过预设的硬件驱动程序将所述流量处理网口部署到内核层。
优选地,所述配置信息包括接口配置信息和路由配置信息;
所述将所述网口类型和所述配置信息发送给部署于用户层中的配置管理平台,以使所述配置管理平台根据所述网口类型和所述配置信息,创建所述待创建网口,得到所述流量处理网口的步骤,包括:
将所述网口类型、所述接口配置信息和所述路由配置信息发送给部署于所述用户层中的配置管理平台,以使所述配置管理平台根据预设的网口创建程序创建所述待创建网口,得到初始网口,为所述初始网口添加所述网口类型对应的标识,并根据所述接口配置信息对添加标识后的所述初始网口进行接口配置,根据所述路由配置信息对完成接口配置后的所述初始网口进行路由配置,得到所述流量处理网口。
优选地,所述通过预设的硬件驱动程序将所述流量处理网口部署到内核层的步骤之前,所述方法还包括:
根据预设合法性标准,对所述流量处理网口进行合法性检查;
在所述流量处理网口符合所述预设合法性标准中的规定时,执行所述通过预设的硬件驱动程序将所述流量处理网口部署到内核层的操作。
优选地,根据预设合法性标准,对所述流量处理网口进行合法性检查的步骤之后,所述方法还包括:
在所述流量处理网口不符合所述预设合法性标准中的规定时,通知所述配置管理平台对所述流量处理网口重新进行接口配置和/或路由配置。
此外,为实现上述目的,本发明还提出一种流量转发装置,所述装置包括:
第一确定模块,用于确定待处理流量的流量类型;
第二确定模块,用于根据所述流量类型确定处理所述待处理流量的流量处理网口,以及所述流量处理网口对应的应用程序接口API;
第一转发模块,用于在确定所述流量处理网口为管理网口时,通过所述管理网口对应的API将所述待处理流量转发至所述流量处理网口;
第二转发模块,用于在确定所述流量处理网口为业务网口时,通过所述业务网口对应的API将所述待处理流量转发至所述流量处理网口。
此外,为实现上述目的,本发明还提出一种流量转发设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的流量转发程序,所述流量转发程序配置为实现如上文所述的流量转发方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有流量转发程序,所述流量转发程序被处理器执行时实现如上文所述的流量转发方法的步骤。
本发明提供的流量转发方案,通过将转发待处理流量的API接口划分为专门对接管理网口的API接口和专门对应业务网口的API接口,在需要对待处理流量进行转发时,通过确定待处理流量的流量类型,然后根据确定的流量类型确定处理当前待处理流量的流量处理网口,以及流量处理网口对应的API接口,最终根据确定的API接口将待处理流量转发至确定的流量处理网口,以使流量处理网口作出与待处理流量匹配的响应。通过这种方式实现了对待处理流量转发过程的分离,从而在管理网口对应的API接口或业务网口对应的API接口出现异常时,管理人员可以通过未发生异常的API接口访问流量处理网口,及时进行运维恢复操作,以使支持该流量转发方案的网络设备、平台能够及时恢复正常访问状态,提升用户体验。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的流量转发设备的结构示意图;
图2为本发明流量转发方法的一流程示意图;
图3为本发明流量转发方法的又一流程示意图;
图4为本发明流量转发方法中操作系统用户层和内核层的分布示意图;
图5为本发明流量转发装置的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的流量转发设备结构示意图。
如图1所示,该流量转发设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对流量转发设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及流量转发程序。
在图1所示的流量转发设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明流量转发设备中的处理器1001、存储器1005可以设置在流量转发设备中,所述流量转发设备通过处理器1001调用存储器1005中存储的流量转发程序,并执行本发明实施例提供的流量转发方法。
本发明实施例提供了一种流量转发方法,参照图2,图2为本发明一种流量转发方法第一实施例的流程示意图。
本实施例中,所述流量转发方法包括以下步骤:
步骤S10,确定待处理流量的流量类型。
具体的说,本实施例中的执行主体为任意能够访问外网或内外的网络设备、网络平台的操作系统,且该操作系统为部署有基于数据平面开发套件(Data PlaneDevelopment Kit,DPDK)开发的DPDK系统的Linux操作系统。
此外,在本实例中,上述所述的待处理流量根据用户(个人或企业等)的实际需求,可以大致划分为业务类型和管理类型。
相应地,上述所说的流量类型也会对应的划分为进行业务事项处理时使用的业务流量,以及进行管理事项处理时使用的管理流量。
此外,需要说明的是,不论是业务类型的待处理流量还是管理类型的待处理流量,在实际应用中,根据实际情况均可以细化为是对已有网口的相关信息的设置、对已有网口的调用以获取或传输某些数据、对已有网口的删除、查询、修改等,此处不再一一列举,对此也不做任何限制。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
进一步地,为了便于理解上述步骤S10中所说的确定待处理流量的流量类型的操作,本实施例给出一种具体的确定方式,大致如下:
首先,接收用户触发的流量处理请求,获取所述流量处理请求中携带的流量标识信息;
然后,根据所述流量标识信息和预设的确定规则确定所述待处理流量,以及所述待处理流量的流量类型。
通过上述两个子步骤的描述不难发现,步骤S10中所说的确定待处理流量的流量类型的操作,具体是在接收到用户触发的流量处理请求之后才进行的。
此外,应当理解的是,关于上述所说的用户触发的流量处理请求,在实际应用中具体可以是用户通过手指或者其他交互设备,如交互笔碰触了网络设备或平台上用于触发流量处理请求的某一功能按键、图标等,也可以通过其他方式,如输入语音指令。
还可以是,在网络设备或平台中设置预设的自动触发条件的文件,当符合自动触发条件中规定的要求时,由网络设备或平台自动触发,此处不再一一列举,对此也不做任何限制。
此外,为了实现根据流量标识信息确定待处理流量以及待处理流量的流量类型,流量标识信息至少需要由两部分组成,一部分为用于确定待处理流量的标识信息,一部分为用于确定流量类型的标识信息。
相应地,上述所说的确定规则,即为规定了流量标识信息中哪部分标识信息是用于确定待处理流量的,哪部分标识信息是用于确定流量类型的。
为了便于理解,以下进行举例说明:
假设,预设的确定规则中规定了流量标识信息中的前两位是用于确定流量类型的,后三位是用于确定待处理流量的。
并且,预先规定用“10”表示流量类型为管理类型,用“20”表示流量类型为业务类型,用“001”表示待处理流量所对应的操作为网口信息的查看,“002”表示待处理流量所对应的操作为网口信息的设置,“003”表示待处理流量所对应的操作为网口的查询,“004”表示待处理流量所对应的操作为网口的修改,“005”表示待处理流量所对应的操作为网口的删除。
则,在获取到的流量标识信息是“10001”时,可以确定待处理流量为“网口信息的查看”,查看过程中所需的流量类型为“管理流量”。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
步骤S20,根据所述流量类型确定处理所述待处理流量的流量处理网口,以及所述流量处理网口对应的应用程序接口API。
具体的说,在本实施例中,用于处理所述待处理流量的流量处理网口均为预先部署于操作系统的内核层中的;所述流量处理网口对应的应用程序接口API则是预先部署于操作系统的用户层中的。
此外,值得一提的是,由于目前在部署有DPDK系统的Linux的操作系统中,可以调用的API接口只有基于Linux的原生网口管理API和基于DPDK的DPDK组件网口管理API这两种API接口,因此,预先部署于操作系统的用户层中的API即为上述所说的性能稳定、不易出现异常的基于Linux的原生网口管理API,和响应速度快、性能高的基于DPDK的DPDK组件网口管理API。
相应地,基于这两种API接口进行转发的待处理流量的流量类型,以及处理待处理流量的流量处理网口从本质上也只能划分为两种。
具体的说,由于本实施例中的待处理流量主要是针对业务事项的处理和管理事项的处理,因而本实施例中所述流量类型主要分为管理流量和业务流量。
相应地,用于处理管理流量的流量处理网口便可以称为管理网口,用于处理业务流量的流量处理网口便可以称为业务网口。
基于上述规定,在本实施例中,步骤S20所执行的根据所述流量类型确定处理所述待处理流量的流量处理网口,以及所述流量处理网口对应的应用程序接口API的操作,具体可以分为如下两种情况:
(1)若所述流量类型为管理流量,则确定处理所述待处理流量的流量处理网口为管理网口,所述管理网口对应的应用程序接口API为基于Linux的原生网口管理API;
(2)若所述流量类型为业务流量,则确定处理所述待处理流量的流量处理网口为业务网口,所述业务网口对应的应用程序接口API为基于数据平面开发套件DPDK的DPDK组件网口管理API。
应当理解的是,以上给出的仅为一种具体的分类方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
步骤S30,若确定所述流量处理网口为管理网口,则通过所述管理网口对应的API将所述待处理流量转发至所述流量处理网口;若确定所述流量处理网口为业务网口,则通过所述业务网口对应的API将所述待处理流量转发至所述流量处理网口。
具体的说,通过上述对步骤S10、步骤S20中的描述可知,本实施例中所说的管理网口对应的API即为基于Linux的原生网口管理API,业务网口对应的API即为基于数据平面开发套件DPDK的DPDK组件网口管理API。
应当理解的是,由于所述待处理流量对应的实际需要处理的事项多种多样,所述流量处理网口在接收到对应的API转发的待处理流量之后,会根据所述待处理流量的实际所要处理的事项作出对应的响应。
比如说,在所述待处理流量为访问该流量处理网口,即获取通过该流量处理网口产生或传输的相关信息,则流量处理网口作出的响应则是将符合要求的相关信息反馈给用户层,进而由操作系统通过特定的接口对数据进行解析出来后展示在网络设备或平台的显示界面,或者以文档的形式下发到用户指定的邮箱、数据库或设备。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
此外,为了便于理解,本实施例以待处理流量对应的实际业务为对已有网口进行查询/修改/删除时,所执行的操作为例,进行简要说明:
首先,根据所述流量类型,确定处理所述待处理流量的流量处理网口;
然后,根据所述流量处理网口对应的标识号,从部署于用户层中用于对流量处理网口进行统一管理的配置管理平台中获取所述流量处理网口的配置信息;
接着,根据所述配置信息中的路由配置信息,确定所述流量处理网口配置的直接路由和主机路由;
最后,通过预设的硬件驱动程序驱动所述直接路由和所述主机路由,由所述直接路由和所述主机路由将所述待处理流量对应的流量处理请求发送给所述内核层,以使所述内核层根据所述流量处理请求对所述流量处理网口进行相应的操作,即进行查询/修改/删除等操作。
应当理解的是,以上给出的仅为一种具体的处理方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
通过上述描述不难发现,本实施例中提供的流量转发方法,通过将转发待处理流量的API接口设置为性能稳定、不易出现异常的基于Linux的原生网口管理API,配合响应速度快、性能高的基于DPDK的DPDK组件网口管理API这两种API接口,在需要对待处理流量进行转发时,通过确定待处理流量的流量类型,然后根据确定的流量类型确定处理当前待处理流量的流量处理网口,以及流量处理网口对应的API接口,最终根据确定的API接口将待处理流量转发至确定的流量处理网口,以使流量处理网口作出与待处理流量匹配的响应。通过这种方式实现了对待处理流量转发过程的分离,从而在原生网口管理API或DPDK组件网口管理API出现异常时,管理人员可以通过未发生异常的API接口访问流量处理网口,及时进行运维恢复操作,以使支持该流量转发方案的网络设备、平台能够及时恢复正常访问状态,提升用户体验。
参考图3,图3为本发明一种流量转发方法第二实施例的流程示意图。
基于上述第一实施例,本实施例流量转发方法在所述步骤S10之前,还包括:
步骤S01,接收用户触发的网口创建请求,获取所述网口创建请求中携带的待创建网口的网口属性。
具体的说,本实施例中所说的用户触发的网口创建请求,与第一实施例中所说的用户触发流量处理请求的操作大致相同,此处不再赘述。
此外,本实施例中所说的待创建网口的网口属性,主要是用来标识待创建网口后续是用于负责什么工作的,比如是用于负责管理的,则确定的网口类型就是管理类型,最终创建的网口就是管理网口。
相应地,如果是用于负责业务的,则确定的网口类型就是业务类型,最终创建的网口就是业务网口。
应当理解的是,不论是本实施例中所说的业务网口、管理网口,还是第一实施例中所说的业务流量、管理流量、业务类型、网口类型,仅仅是为了区分操作系统能够处理的具体事项,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
步骤S02,根据所述网口属性,确定所述待创建网口的网口类型;根据所述网口类型,确定所述待创建网口的配置信息。
具体的说,在实际应用中,不管最终需要创建的网口是业务类型的还是管理类型的,对网口的配置大体都是相同的,即配置信息均可以分为接口配置信息和路由配置信息。只是,针对不同类型的网口,接口配置信息中分配的互联网协议地址(Internet ProtocolAddress,IP地址)和路由配置信息中分配的直接路由地址和主机路由地址不相同。
步骤S03,将所述网口类型和所述配置信息发送给部署于用户层中的配置管理平台,以使所述配置管理平台根据所述网口类型和所述配置信息,创建所述待创建网口,得到所述流量处理网口。
具体的说,为了保证上述操作的顺利进行,所述配置管理平台需要预先部署于用户层中。
此外,需要说明的是,本实施例之所以要将确定的网口类型和配置信息发送给部署于用户层中的配置管理平台,由配置管理平台来创建待创建网口,是为了实现对创建过程中所需的网口类型和配置信息的统一管理,对待创建网口的统一创建,在方便后续维护的同时,也可以尽可能的避免原生网口管理API或DPDK组件网口管理API出现异常时,存储在这两种API接口文档中的网口类型、配置信息等与流量处理网口相关的信息丢失,进而导致后续流量转发处理中无法快速、准确的确定处理待处理流量的流量处理网口,同时无法对流量处理网口进行增、删、改、查等管理操作的现象发生。
此外,应当理解的是,由于在实际应用中,所述配置信息具体包括接口配置信息和路由配置信息。因而上述步骤S03中所说的将所述网口类型和所述配置信息发送给部署于用户层中的配置管理平台,以使所述配置管理平台根据所述网口类型和所述配置信息,创建所述待创建网口,得到所述流量处理网口的步骤,在实际应用中具体为:将所述网口类型、所述接口配置信息和所述路由配置信息发送给部署于所述用户层中的配置管理平台,以使所述配置管理平台根据预设的网口创建程序创建所述待创建网口,得到初始网口,为所述初始网口添加所述网口类型对应的标识,并根据所述接口配置信息对添加标识后的所述初始网口进行接口配置,根据所述路由配置信息对完成接口配置后的所述初始网口进行路由配置,得到所述流量处理网口。
应当理解的是,以上给出的仅为一种具体的流量处理网口的创建方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
步骤S04,通过预设的网络管理程序从所述配置管理平台获取所述流量处理网口,并通过预设的硬件驱动程序将所述流量处理网口部署到内核层。
应当理解的是,在实际应用中用户层在与内核层是无法直接进行交互的,必需由操作系统通过预设的程序或者接口才可以实现两者的交互。因而为了保证在用户层中创建好的流量处理网口能够顺利的部署到内核层,就需要技术人员预先编译好用于从所述配置管理平台获取所述流量处理网口的网络管理程序,和用于将所述流量处理网口部署到内核层的硬件驱动程序。
关于上述所说的网络管理程序和硬件驱动程序可以是现有操作系统中已有的,也可以是技术人员根据需要重新编译后的,此处不做限制。
此外,应当理解的是,在实际应用中用于从所述配置管理平台获取所述流量处理网口的程序和用于将所述流量处理网口部署到内核层的程序,并不局限于称为“网络管理程序”和“硬件驱动程序”,只要可以实现上述功能即可,对其称呼并无限定。
进一步地,为了保证创建的流量处理网口的可用性,在通过预设的硬件驱动程序将所述流量处理网口部署到内核层的步骤之前,需要根据预设合法性标准,对所述流量处理网口进行合法性检查,比如检查配置的IP地址是否有效、是否与已有网口的IP地址存在冲突等,此处不再一一列举,对此也不做限制。
相应地,如果通过检查确定所述流量处理网口符合所述预设合法性标准中的规定,则执行所述通过预设的硬件驱动程序将所述流量处理网口部署到内核层的操作;如果通过检查确定所述流量处理网口不符合所述预设合法性标准中的规定,则需要通知所述配置管理平台对所述流量处理网口重新进行接口配置和/或路由配置。
此外,本实施例中所说的配置管理平台、基于Linux的原生网口管理API、基于DPDK的DPDK组件网口管理API、管理网口,以及业务网口在用户层和内核层的分布情况,详见图4。位于用户层中的配置管理平台、各API,与位于内核层的管理网口、业务网口的交互过程详见上述介绍,此处不再赘述。
通过上述描述不难发现,本实施例中提供的流量转发方法,在进行流量转发处理之前,通过基于用户触发的网口创建请求中携带的待创建网口的网口属性来确定待创建网口的网口类型,然后根据确定的网口类型确定待创建网口的配置信息,接着将确定的网口类型和配置信息发送给部署于用户层中的配置管理平台,由配置管理平台根据确定的网口类型和配置信息统一创建待创建网口,进而得到后续处理待处理流量时所需的流量处理网口,最终通过预设的网络管理程序从配置管理平台获取创建好的流量处理网口,并通过预设的硬件确定程序将创建好的流量处理网口部署到内核层中,从而从根本上实现从待处理流量、转发待处理流量所需的API接口,到处理待处理流量的流量处理网口的完全分离,进一步提升了流量转发方案的完备性。
此外,通过将创建流量处理网口的操作,以及创建过程中所需的网口类型和配置信息均交由单独部署于用户层中的配置管理平台,由配置管理平台进行统一管理、统一创建,在方便后续维护的同时,也可以有效的避免原生网口管理API或DPDK组件网口管理API出现异常时,存储在这两种API接口文档中的网口类型、配置信息等与流量处理网口相关的信息丢失,进而导致后续流量转发处理中无法快速、准确的确定处理待处理流量的流量处理网口,同时无法对流量处理网口进行增、删、改、查等管理操作的现象发生。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有流量转发程序,所述流量转发程序被处理器执行时实现如上文所述的流量转发方法的步骤。
参照图5,图5为本发明流量转发装置第一实施例的结构框图。
如图5所示,本发明实施例提出的流量转发装置包括:第一确定模块5001、第二确定模块5002、第一转发模块5003和第二转发模块5004。
其中,第一确定模块5001,用于确定待处理流量的流量类型;第二确定模块5002,用于根据所述流量类型确定处理所述待处理流量的流量处理网口,以及所述流量处理网口对应的应用程序接口API;第一转发模块5003,用于在确定所述流量处理网口为管理网口时,通过所述管理网口对应的API将所述待处理流量转发至所述流量处理网口;第二转发模块5004,用于在确定所述流量处理网口为业务网口时,通过所述业务网口对应的API将所述待处理流量转发至所述流量处理网口。
进一步地,在本实施例中,所述第一确定模块5001确定待处理流量的流量类型的操作,具体可以如下:
首先,接收用户触发的流量处理请求,获取所述流量处理请求中携带的流量标识信息;
然后,根据所述流量标识信息和预设的确定规则确定所述待处理流量,以及所述待处理流量的流量类型。
也就是说,确定待处理流量的流量类型的操作,是在接收到用户触发的流量处理请求之后才进行的。
此外,关于用户触发的流量处理请求,在实际应用中具体可以通过用户的手指或者其他交互设备,如交互笔碰触了网络设备或平台上用于触发流量处理请求的某一功能按键、图标等,也可以通过其他方式,如输入语音指令,或者在网络设备或平台中设置预设的自动触发条件的文件,当符合自动触发条件中规定的要求时,自动触发,此处不再一一列举,对此也不做任何限制。
此外,为了实现根据流量标识信息确定待处理流量以及待处理流量的流量类型,流量标识信息至少需要由两部分组成,一部分为用于确定待处理流量的标识信息,一部分为用于确定流量类型的标识信息。
相应地,上述所说的确定规则,即为规定了流量标识信息中哪部分标识信息是用于确定待处理流量的,哪部分标识信息是用于确定流量类型的。
为了便于理解,以下进行举例说明:
假设,预设的确定规则中规定了流量标识信息中的前两位是用于确定流量类型的,后三位是用于确定待处理流量的。
并且,预先规定用“10”表示流量类型为管理类型,用“20”表示流量类型为业务类型,用“001”表示待处理流量所对应的操作为网口信息的查看,“002”表示待处理流量所对应的操作为网口信息的设置,“003”表示待处理流量所对应的操作为网口的查询,“004”表示待处理流量所对应的操作为网口的修改,“005”表示待处理流量所对应的操作为网口的删除。
则,在获取到的流量标识信息是“10001”时,可以确定待处理流量为“网口信息的查看”,查看过程中所需的流量类型为“管理流量”。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
此外,值得一提的是,由于目前在部署有DPDK系统的Linux的操作系统中,可以调用的API接口只有基于Linux的原生网口管理API和基于DPDK的DPDK组件网口管理API这两种API接口,因而能够转发的待处理流量的流量类型,以及处理待处理流量的流量处理网口从本质上也只能划分为两种。
具体的说,由于本实施例中的待处理流量主要是针对业务事项的处理和管理事项的处理,因而本实施例中所述流量类型主要分为管理流量和业务流量。
相应地,用于处理管理流量的流量处理网口便可以称为管理网口,用于处理业务流量的流量处理网口便可以称为业务网口。
基于上述规定,在本实施例中,所述第二确定模块5002根据所述流量类型确定处理所述待处理流量的流量处理网口,以及所述流量处理网口对应的应用程序接口API的操作,具体可以如下:
若所述流量类型为管理流量,则确定处理所述待处理流量的流量处理网口为管理网口,所述管理网口对应的应用程序接口API为基于Linux的原生网口管理API;
若所述流量类型为业务流量,则确定处理所述待处理流量的流量处理网口为业务网口,所述业务网口对应的应用程序接口API为基于数据平面开发套件DPDK的DPDK组件网口管理API。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
此外,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
通过上述描述不难发现,本实施例中提供的流量转发装置,通过将转发待处理流量的API接口设置为性能稳定、不易出现异常的基于Linux的原生网口管理API,配合响应速度快、性能高的基于DPDK的DPDK组件网口管理API这两种API接口,在需要对待处理流量进行转发时,通过确定待处理流量的流量类型,然后根据确定的流量类型确定处理当前待处理流量的流量处理网口,以及流量处理网口对应的API接口,最终根据确定的API接口将待处理流量转发至确定的流量处理网口,以使流量处理网口作出与待处理流量匹配的响应。通过这种方式实现了对待处理流量转发过程的分离,从而在原生网口管理API或DPDK组件网口管理API出现异常时,管理人员可以通过未发生异常的API接口访问流量处理网口,及时进行运维恢复操作,以使支持该流量转发方案的网络设备、平台能够及时恢复正常访问状态,提升用户体验。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的流量转发方法,此处不再赘述。
基于上述流量转发装置的第一实施例,提出本发明流量转发装置第二实施例。
在本实施例中,所述流量转发装置还包括:流量处理网口创建模块。
具体的说,在本实施例中,为了从根本上实现从待处理流量、转发待处理流量所需的API接口,到处理待处理流量的流量处理网口的完全分离,所述流量处理网口创建模块需要在所述第一确定模块接收用户触发的流量处理请求的步骤之前,完成对流量处理网口的创建操作。
为了便于理解对流量处理网口的创建过程,以下给出一种具体创建方式,大致如下:
首先,接收用户触发的网口创建请求,获取所述网口创建请求中携带的待创建网口的网口属性;
然后,根据所述网口属性,确定所述待创建网口的网口类型;
接着,根据所述网口类型,确定所述待创建网口的配置信息;
接着,将所述网口类型和所述配置信息发送给部署于用户层中的配置管理平台,以使所述配置管理平台根据所述网口类型和所述配置信息,创建所述待创建网口,得到所述流量处理网口;
最后,通过预设的网络管理程序从所述配置管理平台获取所述流量处理网口,并通过预设的硬件驱动程序将所述流量处理网口部署到内核层。
需要说明的是,本实施例中所说的配置信息主要包括接口配置信息,用于进行互联网协议地址(Internet Protocol Address,IP地址)的接口配置信息,以及用于进行主机路由和直接路由配置的路由配置信息。
相应地,上述所说的将所述网口类型和所述配置信息发送给部署于用户层中的配置管理平台,以使所述配置管理平台根据所述网口类型和所述配置信息,创建所述待创建网口,得到所述流量处理网口的操作,在实际应用中具体为:将所述网口类型、所述接口配置信息和所述路由配置信息发送给部署于所述用户层中的配置管理平台,以使所述配置管理平台根据预设的网口创建程序创建所述待创建网口,得到初始网口,为所述初始网口添加所述网口类型对应的标识,并根据所述接口配置信息对添加标识后的所述初始网口进行接口配置,根据所述路由配置信息对完成接口配置后的所述初始网口进行路由配置,得到所述流量处理网口。
进一步地,为了保证创建的流量处理网口的可用性,在通过预设的硬件驱动程序将所述流量处理网口部署到内核层的步骤之前,需要根据预设合法性标准,对所述流量处理网口进行合法性检查。
相应地,如果通过检查确定所述流量处理网口符合所述预设合法性标准中的规定,则执行所述通过预设的硬件驱动程序将所述流量处理网口部署到内核层的操作;如果通过检查确定所述流量处理网口不符合所述预设合法性标准中的规定,则需要通知所述配置管理平台对所述流量处理网口重新进行接口配置和/或路由配置。
应当理解的是,以上给出的仅为一种具体的流量处理网口的创建方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
此外,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
通过上述描述不难发现,本实施例中提供的流量转发装置,在进行流量转发处理之前,通过基于用户触发的网口创建请求中携带的待创建网口的网口属性来确定待创建网口的网口类型,然后根据确定的网口类型确定待创建网口的配置信息,接着将确定的网口类型和配置信息发送给部署于用户层中的配置管理平台,由配置管理平台根据确定的网口类型和配置信息统一创建待创建网口,进而得到后续处理待处理流量时所需的流量处理网口,最终通过预设的网络管理程序从配置管理平台获取创建好的流量处理网口,并通过预设的硬件确定程序将创建好的流量处理网口部署到内核层中,从而从根本上实现从待处理流量、转发待处理流量所需的API接口,到处理待处理流量的流量处理网口的完全分离,进一步提升了流量转发方案的完备性。
此外,通过将创建流量处理网口的操作,以及创建过程中所需的网口类型和配置信息均交由单独部署于用户层中的配置管理平台,由配置管理平台进行统一管理、统一创建,在方便后续维护的同时,也可以有效的避免原生网口管理API或DPDK组件网口管理API出现异常时,存储在这两种API接口文档中的网口类型、配置信息等与流量处理网口相关的信息丢失,进而导致后续流量转发处理中无法快速、准确的确定处理待处理流量的流量处理网口,同时无法对流量处理网口进行增、删、改、查等管理操作的现象发生。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的流量转发方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种流量转发方法,其特征在于,所述方法包括以下步骤:
确定待处理流量的流量类型;
根据所述流量类型确定处理所述待处理流量的流量处理网口,以及所述流量处理网口对应的应用程序接口API;
若确定所述流量处理网口为管理网口,则通过所述管理网口对应的API将所述待处理流量转发至所述流量处理网口;
若确定所述流量处理网口为业务网口,则通过所述业务网口对应的API将所述待处理流量转发至所述流量处理网口;
其中,所述流量类型包括业务流量和管理流量,所述管理网口对应的API为基于Linux的原生网口管理API,所述业务网口对应的API为基于数据平面开发套件DPDK的DPDK组件网口管理API。
2.根据权利要求1所述的方法,其特征在于,所述确定待处理流量的流量类型的步骤,包括:
接收用户触发的流量处理请求,获取所述流量处理请求中携带的流量标识信息;
根据所述流量标识信息和预设的确定规则确定所述待处理流量,以及所述待处理流量的流量类型。
3.根据权利要求2所述的方法,其特征在于,所述流量类型包括管理流量和业务流量;
所述根据所述流量类型确定处理所述待处理流量的流量处理网口,以及所述流量处理网口对应的应用程序接口API的步骤,包括:
若所述流量类型为管理流量,则确定处理所述待处理流量的流量处理网口为管理网口,所述管理网口对应的应用程序接口API为基于Linux的原生网口管理API;
若所述流量类型为业务流量,则确定处理所述待处理流量的流量处理网口为业务网口,所述业务网口对应的应用程序接口API为基于数据平面开发套件DPDK的DPDK组件网口管理API。
4.根据权利要求2所述的方法,其特征在于,所述接收用户触发的流量处理请求的步骤之前,所述方法还包括:
接收用户触发的网口创建请求,获取所述网口创建请求中携带的待创建网口的网口属性;
根据所述网口属性,确定所述待创建网口的网口类型;
根据所述网口类型,确定所述待创建网口的配置信息;
将所述网口类型和所述配置信息发送给部署于用户层中的配置管理平台,以使所述配置管理平台根据所述网口类型和所述配置信息,创建所述待创建网口,得到所述流量处理网口;
通过预设的网络管理程序从所述配置管理平台获取所述流量处理网口,并通过预设的硬件驱动程序将所述流量处理网口部署到内核层。
5.如权利要求4所述的方法,其特征在于,所述配置信息包括接口配置信息和路由配置信息;
所述将所述网口类型和所述配置信息发送给部署于用户层中的配置管理平台,以使所述配置管理平台根据所述网口类型和所述配置信息,创建所述待创建网口,得到所述流量处理网口的步骤,包括:
将所述网口类型、所述接口配置信息和所述路由配置信息发送给部署于所述用户层中的配置管理平台,以使所述配置管理平台根据预设的网口创建程序创建所述待创建网口,得到初始网口,为所述初始网口添加所述网口类型对应的标识,并根据所述接口配置信息对添加标识后的所述初始网口进行接口配置,根据所述路由配置信息对完成接口配置后的所述初始网口进行路由配置,得到所述流量处理网口。
6.如权利要求5所述的方法,其特征在于,所述通过预设的硬件驱动程序将所述流量处理网口部署到内核层的步骤之前,所述方法还包括:
根据预设合法性标准,对所述流量处理网口进行合法性检查;
在所述流量处理网口符合所述预设合法性标准中的规定时,执行所述通过预设的硬件驱动程序将所述流量处理网口部署到内核层的操作。
7.如权利要求6所述的方法,其特征在于,根据预设合法性标准,对所述流量处理网口进行合法性检查的步骤之后,所述方法还包括:
在所述流量处理网口不符合所述预设合法性标准中的规定时,通知所述配置管理平台对所述流量处理网口重新进行接口配置和/或路由配置。
8.一种流量转发装置,其特征在于,所述装置包括:
第一确定模块,用于确定待处理流量的流量类型;
第二确定模块,用于根据所述流量类型确定处理所述待处理流量的流量处理网口,以及所述流量处理网口对应的应用程序接口API;
第一转发模块,用于在确定所述流量处理网口为管理网口时,通过所述管理网口对应的API将所述待处理流量转发至所述流量处理网口;
第二转发模块,用于在确定所述流量处理网口为业务网口时,通过所述业务网口对应的API将所述待处理流量转发至所述流量处理网口;
其中,所述流量类型包括业务流量和管理流量,所述管理网口对应的API为基于Linux的原生网口管理API,所述业务网口对应的API为基于数据平面开发套件DPDK的DPDK组件网口管理API。
9.一种流量转发设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的流量转发程序,所述流量转发程序配置为实现如权利要求1至7中任一项所述的流量转发方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有流量转发程序,所述流量转发程序被处理器执行时实现如权利要求1至7任一项所述的流量转发方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910787450.2A CN110505151B (zh) | 2019-08-22 | 2019-08-22 | 流量转发方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910787450.2A CN110505151B (zh) | 2019-08-22 | 2019-08-22 | 流量转发方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110505151A CN110505151A (zh) | 2019-11-26 |
CN110505151B true CN110505151B (zh) | 2021-11-19 |
Family
ID=68589286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910787450.2A Active CN110505151B (zh) | 2019-08-22 | 2019-08-22 | 流量转发方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110505151B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115766438B (zh) * | 2023-01-05 | 2023-04-18 | 北京锐服信科技有限公司 | 一种基于dpdk的接口管理方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109462497A (zh) * | 2018-10-22 | 2019-03-12 | 杭州迪普科技股份有限公司 | 传输管理数据的方法、装置、设备及存储介质 |
CN110022267A (zh) * | 2018-01-09 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 网络数据包处理方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2015101806A4 (en) * | 2015-12-02 | 2016-01-28 | Macau University Of Science And Technology | A High-Efficient Packet I/O Engine for Commodity PC |
US11212590B2 (en) * | 2016-07-11 | 2021-12-28 | Harmonic, Inc. | Multiple core software forwarding |
-
2019
- 2019-08-22 CN CN201910787450.2A patent/CN110505151B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110022267A (zh) * | 2018-01-09 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 网络数据包处理方法及装置 |
CN109462497A (zh) * | 2018-10-22 | 2019-03-12 | 杭州迪普科技股份有限公司 | 传输管理数据的方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
dpdk kni流程梳理和分析;codergeek;《CSDN》;20190312;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110505151A (zh) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535831B (zh) | 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质 | |
CN109104467B (zh) | 开发环境构建方法、装置以及平台系统和存储介质 | |
US10129264B2 (en) | Method and apparatus for implementing document sharing between user groups | |
CN107431651B (zh) | 一种网络服务的生命周期管理方法及设备 | |
US20170331862A1 (en) | Method for accessing cloud service and access device | |
CN108039969B (zh) | 网络自动配置方法、装置、系统、存储介质及目标计算机 | |
EP3675424A1 (en) | Method and apparatus for deploying network service | |
CN112087379B (zh) | 业务链的编排方法及装置、存储介质和电子装置 | |
EP2966584B1 (en) | Information processing system, information processing apparatus, method of administrating license, and program | |
CN106487869A (zh) | 用于对标签化数据进行控制和标准化的多云网络代理 | |
US9753758B1 (en) | Building of virtual servers in a cloud via non-structured strings | |
CN109587233B (zh) | 多云容器管理方法、设备及计算机可读存储介质 | |
CN114780080A (zh) | 一种微前端集成方法、装置及监控方法 | |
CN110597662B (zh) | 备份数据自动验证方法、装置、用户设备及存储介质 | |
CN115328611A (zh) | 虚拟机管理方法、装置、服务器及可读存储介质 | |
CN110505151B (zh) | 流量转发方法、装置、设备及存储介质 | |
CN106161075B (zh) | 业务处理方法、装置及系统 | |
CN114930788B (zh) | 安全地处理多租户容器中的集成消息流的方法和系统 | |
WO2019136813A1 (zh) | Api文件管理方法、服务器及存储介质 | |
CN105939344A (zh) | 一种tcp连接的建立方法及装置 | |
CN104520821A (zh) | 动态目录控制 | |
CN112579997A (zh) | 一种用户权限配置方法、装置、计算机设备及存储介质 | |
CN110290172B (zh) | 容器应用克隆方法、装置、计算机设备及存储介质 | |
WO2023169193A1 (zh) | 用于生成智能合约的方法和装置 | |
CN114513419A (zh) | 安全策略配置方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |