CN110808909A - 跨虚拟系统的报文处理方法和装置 - Google Patents
跨虚拟系统的报文处理方法和装置 Download PDFInfo
- Publication number
- CN110808909A CN110808909A CN201910950773.9A CN201910950773A CN110808909A CN 110808909 A CN110808909 A CN 110808909A CN 201910950773 A CN201910950773 A CN 201910950773A CN 110808909 A CN110808909 A CN 110808909A
- Authority
- CN
- China
- Prior art keywords
- processed
- message
- interface
- virtual system
- programmable logic
- 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
Images
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/58—Association of routers
- H04L45/586—Association of routers of virtual routers
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
技术领域
本申请涉及网络通信技术领域,特别设计一种跨虚拟系统的报文处理方法和装置。
背景技术
请参见图1,图1为网络设备上设置公共虚拟系统和私有虚拟系统时的结构示意图,公共虚拟系统和私有虚拟系统都是独立的,都设置有各自的中央处理器(CentralProcessing Unit,CPU)、可编程逻辑器件等等来处理报文,每个私有虚拟系统可以是一个租户,租户的报文主要为上公网的报文和租户之间访问的报文。以租户访问公网为例,租户的报文首先进入租户所在私有虚拟系统,经过私有虚拟系统的处理后通过virtualif1_1口发送给公共虚拟系统对应的接口virtualif1_0,然后由公共系统将报文转发。返程报文类似处理,先经过公共虚拟系统再通过virtualif口转发到对应的私有虚拟系统。
若在图1所示的应用场景中处理类似于文件传输协议(File Transfer Protocol,FTP)等多通道协议的报文,假设私有虚拟系统vsys1的可编程逻辑器件根据报文确定控制通道后,由于不能解析报文的内容,需要将报文上送vsys1的CPU,由vsys1的CPU解析报文的内容并协商确定数据通道,再将数据通道的相关信息下发至vsys1的可编程逻辑器件,以供vsys1的可编程逻辑器件转发报文使用,之后vsys1的CPU可能直接将报文发送给公共虚拟系统的CPU处理,公共虚拟系统的CPU处理完后直接发送出去。
上述跨虚拟系统的报文处理方法中,由于报文不会经过公共虚拟系统的可编程逻辑器件,导致公共虚拟系统的可编程逻辑器件中没有该报文的正向会话,在返程报文到达公共虚拟系统的可编程逻辑器件时,公共虚拟系统的可编程逻辑器件会因为状态检查失败而直接丢包,从而严重影响用户体验。
发明内容
有鉴于此,本申请提供一种跨虚拟系统的报文处理方法和装置,以解决相关技术中存在的虚拟系统的可编程逻辑器件因为状态检查失败而直接丢包,从而严重影响用户体验的问题。
具体地,本申请是通过如下技术方案实现的:
一种跨虚拟系统的报文处理方法,应用于网络设备包括的公共虚拟系统或者至少一个私有虚拟系统的中央处理器CPU中,所述公共虚拟系统与所述至少一个私有虚拟系统之间通过虚拟接口连接,所述方法包括:
当前虚拟系统的CPU计算来自所述当前虚拟系统的可编程逻辑器件的第一待处理报文的出接口;
确定所述第一待处理报文的出接口的类型;
若确定所述第一待处理报文的出接口的类型是虚拟接口,则获取与所述第一待处理报文的出接口连接的接口;
将所述第一待处理报文的出接口连接的接口的接口信息写入所述第一待处理报文的第一设定字段、并处理所述第一待处理报文,得到第二待处理报文;
通过所述网络设备的交换芯片将所述第二待处理报文发送给所述网络设备的可编程逻辑器件,以使所述网络设备的可编程逻辑器件将所述第二待处理报文转发给所述第二待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理。
一种跨虚拟系统的报文处理方法,应用于网络设备包括的可编程逻辑器件中,所述网络设备还包括公共虚拟系统或者至少一个私有虚拟系统,所述公共虚拟系统与所述至少一个私有虚拟系统之间通过虚拟接口连接,所述方法包括:
接收待处理报文;
确定所述待处理报文的第一设定字段是否携带接口信息;
若确定所述待处理报文的第一设定字段携带接口信息,则将所述待处理报文发送给所述待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理。
一种跨虚拟系统的报文处理装置,应用于网络设备包括的公共虚拟系统或者至少一个私有虚拟系统的CPU中,所述公共虚拟系统与所述至少一个私有虚拟系统之间通过虚拟接口连接,所述装置包括:
计算模块,用于当前虚拟系统的CPU计算来自所述当前虚拟系统的可编程逻辑器件的第一待处理报文的出接口;
确定模块,用于确定所述第一待处理报文的出接口的类型;
获取模块,用于若确定所述第一待处理报文的出接口的类型是虚拟接口,则获取与所述第一待处理报文的出接口连接的接口;
处理模块,用于将所述第一待处理报文的出接口连接的接口的接口信息写入所述第一待处理报文的第一设定字段、并处理所述第一待处理报文,得到第二待处理报文;
发送模块,用于通过所述网络设备的交换芯片将所述第二待处理报文发送给所述网络设备的可编程逻辑器件,以使所述网络设备的可编程逻辑器件将所述第二待处理报文转发给所述第二待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理。
一种跨虚拟系统的报文处理装置,应用于网络设备包括的可编程逻辑器件中,所述网络设备还包括公共虚拟系统或者至少一个私有虚拟系统,所述公共虚拟系统与所述至少一个私有虚拟系统之间通过虚拟接口连接,所述装置包括:
接收模块,用于接收待处理报文;
确定模块,用于确定所述待处理报文的第一设定字段是否携带接口信息;
发送模块,用于若确定所述待处理报文的第一设定字段携带接口信息,则将所述待处理报文发送给所述待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理。
一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现上述的方法步骤。
一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
由以上本申请提供的技术方案可见,当前虚拟系统的CPU在确定第一待处理报文的出接口的类型是虚拟接口后,会获取与第一待处理报文的出接口连接的接口,由于公共虚拟系统与至少一个私有虚拟系统之间通过虚拟接口连接,也就是说第一待处理报文的出接口连接的接口是作为入接口的,并且也是虚拟接口,即第一待处理报文会发送给另一个虚拟系统处理,因此在将第一待处理报文的出接口连接的接口的接口信息写入第一待处理报文的第一设定字段、并处理第一待处理报文,得到第二待处理报文,通过网络设备的交换芯片将第二待处理报文发送给网络设备的可编程逻辑器件,也就是强行将第二待处理报文发给网络设备的可编程逻辑器件,网络设备的可编程逻辑器件可以进一步将第二待处理报文转发给第二待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理,对于当前虚拟系统来说接收到的第一待处理报文也是从其他虚拟系统转发过来的,也是要经过当前虚拟系统的可编程逻辑器件处理过的,从而可以避免相关技术中存在的直接由一个虚拟系统的CPU直接转发给另一个虚拟系统的CPU处理的情况,可以确保报文在到达各个虚拟系统中的CPU之前必须会经过对应的可编程逻辑器件处理,从而可以确保能够正常转发返程报文,提升用户体验。
附图说明
图1为本申请相关技术中网络设备上设置公共虚拟系统和私有虚拟系统时的结构示意图;
图2为本申请示出的一种跨虚拟系统的报文处理方法的流程图;
图3为本申请示出的另一种跨虚拟系统的报文处理方法的流程图;
图4为本申请示出的一种与图1对应的跨虚拟系统的报文处理装置的结构示意图;
图5为本申请示出的一种与图2对应的跨虚拟系统的报文处理装置的结构示意图;
图6为本申请示出的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了解决上述问题,本发明实施例提供了一种跨虚拟系统的报文处理方法,以确保能够正常转发返程报文,提升用户体验。请参见图2,图2为本申请示出的一种跨虚拟系统的报文处理方法的流程图,应用于网络设备包括的公共虚拟系统或者至少一个私有虚拟系统的CPU中,公共虚拟系统与至少一个私有虚拟系统之间通过虚拟接口连接,上述方法包括:
S21:当前虚拟系统的CPU计算来自当前虚拟系统的可编程逻辑器件的第一待处理报文的出接口。
当前虚拟系统可以是公共虚拟系统,也可以是私有虚拟系统,当前虚拟系统的可编程逻辑器件可以但不限于是现场可编程门阵列(Field-Programmable Gate Array,FPGA)。
当前虚拟系统的CPU接收来自当前虚拟系统的可编程逻辑器件的待处理报文,该待处理报文可以定义为第一待处理报文,首先可以确定第一待处理报文的出接口。
S22:确定第一待处理报文的出接口的类型。
由于第一待处理报文的出接口的类型决定如何处理第一待处理报文,因此,需要首先确定第一待处理报文的出接口的类型。
S23:若确定第一待处理报文的出接口的类型是虚拟接口,则获取与第一待处理报文的出接口连接的接口。
若确定第一待处理报文的出接口的类型是虚拟接口,那么与第一待处理报文的出接口连接的接口是作为入接口的,并且也是虚拟接口,即第一待处理报文会发送给另一个虚拟系统处理,为了保证该第一待处理报文一定会经过另一个虚拟系统的可编程逻辑器件,则需要获取与第一待处理报文的出接口连接的接口。
一种可选的实施方式,若确定第一待处理报文的出接口的类型是物理接口,则处理第一待处理报文后通过第一待处理报文的出接口转发第一待处理报文,由于第一待处理报文不会再转发给另一个虚拟系统处理,所以没有必要再次给到网络设备的可编程逻辑器件,在处理后直接转发即可。
S24:将第一待处理报文的出接口连接的接口的接口信息写入第一待处理报文的第一设定字段、并处理第一待处理报文,得到第二待处理报文。
其中,第一设定字段可以根据实际需要进行设定,接口信息可以但不限于为接口标识。
S25:通过网络设备的交换芯片将第二待处理报文发送给网络设备的可编程逻辑器件,以使网络设备的可编程逻辑器件将第二待处理报文转发给第二待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理。
当前虚拟系统的CPU可以强行将第二处理报文发送给网络设备的可编程逻辑器件,网络设备的可编程逻辑器件再将第二处理报文发送给相应虚拟系统的可编程逻辑器件处理。
由以上本申请提供的技术方案可见,当前虚拟系统的CPU在确定第一待处理报文的出接口的类型是虚拟接口后,会获取与第一待处理报文的出接口连接的接口,由于公共虚拟系统与至少一个私有虚拟系统之间通过虚拟接口连接,也就是说第一待处理报文的出接口连接的接口是作为入接口的,并且也是虚拟接口,即第一待处理报文会发送给另一个虚拟系统处理,因此在将第一待处理报文的出接口连接的接口的接口信息写入第一待处理报文的第一设定字段、并处理第一待处理报文,得到第二待处理报文,通过网络设备的交换芯片将第二待处理报文发送给网络设备的可编程逻辑器件,也就是强行将第二待处理报文发给网络设备的可编程逻辑器件,网络设备的可编程逻辑器件可以进一步将第二待处理报文转发给第二待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理,对于当前虚拟系统来说接收到的第一待处理报文也是从其他虚拟系统转发过来的,也是要经过当前虚拟系统的可编程逻辑器件处理过的,从而可以避免相关技术中存在的直接由一个虚拟系统的CPU直接转发给另一个虚拟系统的CPU处理的情况,可以确保报文在到达各个虚拟系统中的CPU之前必须会经过对应的可编程逻辑器件处理,从而可以确保能够正常转发返程报文,提升用户体验。
请参见图3,图3为本申请示出的另一种跨虚拟系统的报文处理方法的流程图,应用于网络设备包括的可编程逻辑器件中,网络设备还包括公共虚拟系统或者至少一个私有虚拟系统,公共虚拟系统与至少一个私有虚拟系统之间通过虚拟接口连接,上述方法包括:
S31:接收待处理报文。
S32:确定待处理报文的第一设定字段是否携带接口信息。
第一设定字段可以根据实际需要进行设定。
S33:若确定待处理报文的第一设定字段携带接口信息,则将待处理报文发送给待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理。
待处理报文的第一设定字段携带的接口信息可以是前一个虚拟系统的CPU写入的,若待处理报文的第一设定字段携带接口信息,说明该接口信息对应的接口是待处理报文的报文真正的入接口,则可以将待处理报文转发给该接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理;若待处理报文的第一设定字段未携带接口信息,则根据待处理报文的第二设定字段携带的接口信息转发待处理报文,第二设定字段携带的接口信息是由交换芯片按照待处理报文的标准格式写入的,是不可更改的,也就是可以按照相关技术中的报文处理方法处理待处理报文。
由以上本申请提供的技术方案可见,当前虚拟系统的CPU在确定第一待处理报文的出接口的类型是虚拟接口后,会获取与第一待处理报文的出接口连接的接口,由于公共虚拟系统与至少一个私有虚拟系统之间通过虚拟接口连接,也就是说第一待处理报文的出接口连接的接口是作为入接口的,并且也是虚拟接口,即第一待处理报文会发送给另一个虚拟系统处理,因此在将第一待处理报文的出接口连接的接口的接口信息写入第一待处理报文的第一设定字段、并处理第一待处理报文,得到第二待处理报文,通过网络设备的交换芯片将第二待处理报文发送给网络设备的可编程逻辑器件,也就是强行将第二待处理报文发给网络设备的可编程逻辑器件,网络设备的可编程逻辑器件可以进一步将第二待处理报文转发给第二待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理,对于当前虚拟系统来说接收到的第一待处理报文也是从其他虚拟系统转发过来的,也是要经过当前虚拟系统的可编程逻辑器件处理过的,从而可以避免相关技术中存在的直接由一个虚拟系统的CPU直接转发给另一个虚拟系统的CPU处理的情况,可以确保报文在到达各个虚拟系统中的CPU之前必须会经过对应的可编程逻辑器件处理,从而可以确保能够正常转发返程报文,提升用户体验。
请参见图4,图4为本申请示出的一种跨虚拟系统的报文处理装置的结构示意图,应用于网络设备包括的公共虚拟系统或者至少一个私有虚拟系统的CPU中,公共虚拟系统与至少一个私有虚拟系统之间通过虚拟接口连接,上述装置包括:
计算模块41,用于当前虚拟系统的CPU计算来自当前虚拟系统的可编程逻辑器件的第一待处理报文的出接口;
确定模块42,用于确定第一待处理报文的出接口的类型;
获取模块43,用于若确定第一待处理报文的出接口的类型是虚拟接口,则获取与第一待处理报文的出接口连接的接口;
处理模块44,用于将第一待处理报文的出接口连接的接口的接口信息写入第一待处理报文的第一设定字段、并处理第一待处理报文,得到第二待处理报文;
发送模块45,用于通过网络设备的交换芯片将第二待处理报文发送给网络设备的可编程逻辑器件,以使网络设备的可编程逻辑器件将第二待处理报文转发给第二待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理。
由以上本申请提供的技术方案可见,当前虚拟系统的CPU在确定第一待处理报文的出接口的类型是虚拟接口后,会获取与第一待处理报文的出接口连接的接口,由于公共虚拟系统与至少一个私有虚拟系统之间通过虚拟接口连接,也就是说第一待处理报文的出接口连接的接口是作为入接口的,并且也是虚拟接口,即第一待处理报文会发送给另一个虚拟系统处理,因此在将第一待处理报文的出接口连接的接口的接口信息写入第一待处理报文的第一设定字段、并处理第一待处理报文,得到第二待处理报文,通过网络设备的交换芯片将第二待处理报文发送给网络设备的可编程逻辑器件,也就是强行将第二待处理报文发给网络设备的可编程逻辑器件,网络设备的可编程逻辑器件可以进一步将第二待处理报文转发给第二待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理,对于当前虚拟系统来说接收到的第一待处理报文也是从其他虚拟系统转发过来的,也是要经过当前虚拟系统的可编程逻辑器件处理过的,从而可以避免相关技术中存在的直接由一个虚拟系统的CPU直接转发给另一个虚拟系统的CPU处理的情况,可以确保报文在到达各个虚拟系统中的CPU之前必须会经过对应的可编程逻辑器件处理,从而可以确保能够正常转发返程报文,提升用户体验。
可选的,处理模块44,还用于:
若确定第一待处理报文的出接口的类型是物理接口,则处理第一待处理报文后通过第一待处理报文的出接口转发第一待处理报文。
请参见图5,图5为本申请示出的一种跨虚拟系统的报文处理装置的结构示意图,应用于网络设备包括的可编程逻辑器件中,网络设备还包括公共虚拟系统或者至少一个私有虚拟系统,公共虚拟系统与至少一个私有虚拟系统之间通过虚拟接口连接,上述装置包括:
接收模块51,用于接收待处理报文;
确定模块52,用于确定待处理报文的第一设定字段是否携带接口信息;
发送模块53,用于若确定待处理报文的第一设定字段携带接口信息,则将待处理报文发送给待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理。
由以上本申请提供的技术方案可见,当前虚拟系统的CPU在确定第一待处理报文的出接口的类型是虚拟接口后,会获取与第一待处理报文的出接口连接的接口,由于公共虚拟系统与至少一个私有虚拟系统之间通过虚拟接口连接,也就是说第一待处理报文的出接口连接的接口是作为入接口的,并且也是虚拟接口,即第一待处理报文会发送给另一个虚拟系统处理,因此在将第一待处理报文的出接口连接的接口的接口信息写入第一待处理报文的第一设定字段、并处理第一待处理报文,得到第二待处理报文,通过网络设备的交换芯片将第二待处理报文发送给网络设备的可编程逻辑器件,也就是强行将第二待处理报文发给网络设备的可编程逻辑器件,网络设备的可编程逻辑器件可以进一步将第二待处理报文转发给第二待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理,对于当前虚拟系统来说接收到的第一待处理报文也是从其他虚拟系统转发过来的,也是要经过当前虚拟系统的可编程逻辑器件处理过的,从而可以避免相关技术中存在的直接由一个虚拟系统的CPU直接转发给另一个虚拟系统的CPU处理的情况,可以确保报文在到达各个虚拟系统中的CPU之前必须会经过对应的可编程逻辑器件处理,从而可以确保能够正常转发返程报文,提升用户体验。
可选的,发送模块53,还用于:
若待处理报文的第一设定字段未携带接口信息,则根据待处理报文的第二设定字段携带的接口信息转发待处理报文。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请实施例还提供了一种电子设备,请参见图6所示,包括处理器610、通信接口620、存储器630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。
存储器630,用于存放计算机程序;
处理器610,用于执行存储器630上所存放的程序时,实现上述实施例中任一所述的跨虚拟系统的报文处理方法。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由以上本申请提供的技术方案可见,当前虚拟系统的CPU在确定第一待处理报文的出接口的类型是虚拟接口后,会获取与第一待处理报文的出接口连接的接口,由于公共虚拟系统与至少一个私有虚拟系统之间通过虚拟接口连接,也就是说第一待处理报文的出接口连接的接口是作为入接口的,并且也是虚拟接口,即第一待处理报文会发送给另一个虚拟系统处理,因此在将第一待处理报文的出接口连接的接口的接口信息写入第一待处理报文的第一设定字段、并处理第一待处理报文,得到第二待处理报文,通过网络设备的交换芯片将第二待处理报文发送给网络设备的可编程逻辑器件,也就是强行将第二待处理报文发给网络设备的可编程逻辑器件,网络设备的可编程逻辑器件可以进一步将第二待处理报文转发给第二待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理,对于当前虚拟系统来说接收到的第一待处理报文也是从其他虚拟系统转发过来的,也是要经过当前虚拟系统的可编程逻辑器件处理过的,从而可以避免相关技术中存在的直接由一个虚拟系统的CPU直接转发给另一个虚拟系统的CPU处理的情况,可以确保报文在到达各个虚拟系统中的CPU之前必须会经过对应的可编程逻辑器件处理,从而可以确保能够正常转发返程报文,提升用户体验。
相应地,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的跨虚拟系统的报文处理方法。
由以上本申请提供的技术方案可见,当前虚拟系统的CPU在确定第一待处理报文的出接口的类型是虚拟接口后,会获取与第一待处理报文的出接口连接的接口,由于公共虚拟系统与至少一个私有虚拟系统之间通过虚拟接口连接,也就是说第一待处理报文的出接口连接的接口是作为入接口的,并且也是虚拟接口,即第一待处理报文会发送给另一个虚拟系统处理,因此在将第一待处理报文的出接口连接的接口的接口信息写入第一待处理报文的第一设定字段、并处理第一待处理报文,得到第二待处理报文,通过网络设备的交换芯片将第二待处理报文发送给网络设备的可编程逻辑器件,也就是强行将第二待处理报文发给网络设备的可编程逻辑器件,网络设备的可编程逻辑器件可以进一步将第二待处理报文转发给第二待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理,对于当前虚拟系统来说接收到的第一待处理报文也是从其他虚拟系统转发过来的,也是要经过当前虚拟系统的可编程逻辑器件处理过的,从而可以避免相关技术中存在的直接由一个虚拟系统的CPU直接转发给另一个虚拟系统的CPU处理的情况,可以确保报文在到达各个虚拟系统中的CPU之前必须会经过对应的可编程逻辑器件处理,从而可以确保能够正常转发返程报文,提升用户体验。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种跨虚拟系统的报文处理方法,应用于网络设备包括的公共虚拟系统或者至少一个私有虚拟系统的中央处理器CPU中,所述公共虚拟系统与所述至少一个私有虚拟系统之间通过虚拟接口连接,其特征在于,所述方法包括:
当前虚拟系统的CPU计算来自所述当前虚拟系统的可编程逻辑器件的第一待处理报文的出接口;
确定所述第一待处理报文的出接口的类型;
若确定所述第一待处理报文的出接口的类型是虚拟接口,则获取与所述第一待处理报文的出接口连接的接口;
将所述第一待处理报文的出接口连接的接口的接口信息写入所述第一待处理报文的第一设定字段、并处理所述第一待处理报文,得到第二待处理报文;
通过所述网络设备的交换芯片将所述第二待处理报文发送给所述网络设备的可编程逻辑器件,以使所述网络设备的可编程逻辑器件将所述第二待处理报文转发给所述第二待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若确定所述第一待处理报文的出接口的类型是物理接口,则处理所述第一待处理报文后通过所述第一待处理报文的出接口转发所述第一待处理报文。
3.一种跨虚拟系统的报文处理方法,应用于网络设备包括的可编程逻辑器件中,所述网络设备还包括公共虚拟系统或者至少一个私有虚拟系统,所述公共虚拟系统与所述至少一个私有虚拟系统之间通过虚拟接口连接,其特征在于,所述方法包括:
接收待处理报文;
确定所述待处理报文的第一设定字段是否携带接口信息;
若确定所述待处理报文的第一设定字段携带接口信息,则将所述待处理报文发送给所述待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述待处理报文的第一设定字段未携带接口信息,则根据所述待处理报文的第二设定字段携带的接口信息转发所述待处理报文。
5.一种跨虚拟系统的报文处理装置,应用于网络设备包括的公共虚拟系统或者至少一个私有虚拟系统的CPU中,所述公共虚拟系统与所述至少一个私有虚拟系统之间通过虚拟接口连接,其特征在于,所述装置包括:
计算模块,用于当前虚拟系统的CPU计算来自所述当前虚拟系统的可编程逻辑器件的第一待处理报文的出接口;
确定模块,用于确定所述第一待处理报文的出接口的类型;
获取模块,用于若确定所述第一待处理报文的出接口的类型是虚拟接口,则获取与所述第一待处理报文的出接口连接的接口;
处理模块,用于将所述第一待处理报文的出接口连接的接口的接口信息写入所述第一待处理报文的第一设定字段、并处理所述第一待处理报文,得到第二待处理报文;
发送模块,用于通过所述网络设备的交换芯片将所述第二待处理报文发送给所述网络设备的可编程逻辑器件,以使所述网络设备的可编程逻辑器件将所述第二待处理报文转发给所述第二待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理。
6.根据权利要求5所述的装置,其特征在于,所述处理模块,还用于:
若确定所述第一待处理报文的出接口的类型是物理接口,则处理所述第一待处理报文后通过所述第一待处理报文的出接口转发所述第一待处理报文。
7.一种跨虚拟系统的报文处理装置,应用于网络设备包括的可编程逻辑器件中,所述网络设备还包括公共虚拟系统或者至少一个私有虚拟系统,所述公共虚拟系统与所述至少一个私有虚拟系统之间通过虚拟接口连接,其特征在于,所述装置包括:
接收模块,用于接收待处理报文;
确定模块,用于确定所述待处理报文的第一设定字段是否携带接口信息;
发送模块,用于若确定所述待处理报文的第一设定字段携带接口信息,则将所述待处理报文发送给所述待处理报文的第一设定字段携带的接口信息对应的接口所属的虚拟系统的可编程逻辑器件处理。
8.根据权利要求7所述的装置,其特征在于,所述发送模块,还用于:
若所述待处理报文的第一设定字段未携带接口信息,则根据所述待处理报文的第二设定字段携带的接口信息转发所述待处理报文。
9.一种电子设备,其特征在于,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现权利要求1-2任一所述的方法步骤或者权利要求3-4任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-2任一所述的方法步骤或者权利要求3-4任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910950773.9A CN110808909B (zh) | 2019-10-08 | 2019-10-08 | 跨虚拟系统的报文处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910950773.9A CN110808909B (zh) | 2019-10-08 | 2019-10-08 | 跨虚拟系统的报文处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110808909A true CN110808909A (zh) | 2020-02-18 |
CN110808909B CN110808909B (zh) | 2021-09-21 |
Family
ID=69488187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910950773.9A Active CN110808909B (zh) | 2019-10-08 | 2019-10-08 | 跨虚拟系统的报文处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110808909B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111786883A (zh) * | 2020-06-16 | 2020-10-16 | 杭州迪普科技股份有限公司 | 一种跨vrf通信的方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778016A (zh) * | 2010-01-01 | 2010-07-14 | 江苏华丽网络工程有限公司 | 网络设备虚拟测试系统的设计方法 |
US7925794B2 (en) * | 2007-08-17 | 2011-04-12 | At&T Intellectual Property I, L.P. | Systems and methods for localizing a network storage device |
CN102843286A (zh) * | 2011-06-24 | 2012-12-26 | 中兴通讯股份有限公司 | 虚拟路由器的实现方法、装置及系统 |
CN103259735A (zh) * | 2013-05-15 | 2013-08-21 | 重庆邮电大学 | 一种基于NetFPGA的可编程虚拟化路由器的通信方法 |
EP2717515A1 (en) * | 2012-06-30 | 2014-04-09 | Huawei Technologies Co., Ltd. | Virtual port monitoring method and device |
CN104579695A (zh) * | 2013-10-23 | 2015-04-29 | 杭州华三通信技术有限公司 | 一种数据转发装置和方法 |
CN106797351A (zh) * | 2014-07-21 | 2017-05-31 | 大交换机网络股份有限公司 | 使用控制器执行逻辑网络转发的系统和方法 |
-
2019
- 2019-10-08 CN CN201910950773.9A patent/CN110808909B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7925794B2 (en) * | 2007-08-17 | 2011-04-12 | At&T Intellectual Property I, L.P. | Systems and methods for localizing a network storage device |
CN101778016A (zh) * | 2010-01-01 | 2010-07-14 | 江苏华丽网络工程有限公司 | 网络设备虚拟测试系统的设计方法 |
CN102843286A (zh) * | 2011-06-24 | 2012-12-26 | 中兴通讯股份有限公司 | 虚拟路由器的实现方法、装置及系统 |
EP2717515A1 (en) * | 2012-06-30 | 2014-04-09 | Huawei Technologies Co., Ltd. | Virtual port monitoring method and device |
CN103259735A (zh) * | 2013-05-15 | 2013-08-21 | 重庆邮电大学 | 一种基于NetFPGA的可编程虚拟化路由器的通信方法 |
CN104579695A (zh) * | 2013-10-23 | 2015-04-29 | 杭州华三通信技术有限公司 | 一种数据转发装置和方法 |
CN106797351A (zh) * | 2014-07-21 | 2017-05-31 | 大交换机网络股份有限公司 | 使用控制器执行逻辑网络转发的系统和方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111786883A (zh) * | 2020-06-16 | 2020-10-16 | 杭州迪普科技股份有限公司 | 一种跨vrf通信的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110808909B (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10331613B2 (en) | Methods for enabling direct memory access (DMA) capable devices for remote DMA (RDMA) usage and devices therof | |
CN108023829B (zh) | 报文处理方法及装置、存储介质、电子设备 | |
CN104021069A (zh) | 基于分布式虚拟机系统的软件性能测试的管理方法和系统 | |
US9847937B2 (en) | Hardware acceleration for routing programs | |
CN113783789B (zh) | 一种报文限速方法及装置 | |
CN106603409B (zh) | 一种数据处理系统、方法及设备 | |
CN110177010B (zh) | 一种链路切换方法及装置 | |
CN111026324B (zh) | 转发表项的更新方法及装置 | |
CN111224897A (zh) | 一种流量转发方法、装置、交换机设备及智能网卡 | |
CN104852828A (zh) | 一种网络时延检测方法,装置及系统 | |
CN105656708A (zh) | 单板测试方法及装置 | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
CN110808909B (zh) | 跨虚拟系统的报文处理方法和装置 | |
CN113179295B (zh) | 报文处理方法及装置 | |
CN109787900B (zh) | 传输方法、装置、设备和机器可读介质 | |
KR20170117326A (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
CN112584261A (zh) | 一种光传送网设备及业务数据的确定方法 | |
CN108900422A (zh) | 组播转发方法、装置及电子设备 | |
CN105939242B (zh) | 实现虚拟系统的方法及装置 | |
CN113132300B (zh) | 音频数据传输方法及装置 | |
CN111585838B (zh) | 基于vsm系统的分裂检测方法和装置 | |
CN105991372B (zh) | 链路检测方法及装置 | |
US20110270970A1 (en) | Network device testing system and method | |
CN109995606B (zh) | 虚拟化深度包检测vDPI流量控制方法及网元设备 | |
US10009252B2 (en) | Flow entry delivery method and communication system |
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 |