CN114430394B - 报文处理方法、装置、电子设备及可读存储介质 - Google Patents

报文处理方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN114430394B
CN114430394B CN202111647337.8A CN202111647337A CN114430394B CN 114430394 B CN114430394 B CN 114430394B CN 202111647337 A CN202111647337 A CN 202111647337A CN 114430394 B CN114430394 B CN 114430394B
Authority
CN
China
Prior art keywords
message
processed
network element
forwarding table
port
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
Application number
CN202111647337.8A
Other languages
English (en)
Other versions
CN114430394A (zh
Inventor
吴寒
刘晓忠
周晓杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202111647337.8A priority Critical patent/CN114430394B/zh
Publication of CN114430394A publication Critical patent/CN114430394A/zh
Application granted granted Critical
Publication of CN114430394B publication Critical patent/CN114430394B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种报文处理方法、装置、电子设备及可读存储介质。该方法中,部署在宿主机上的虚拟交换机,响应于从虚拟交换机的第一端口接收的待处理报文,在待处理报文的流类型为核心流量的情况下,基于虚拟交换机的第二端口对应的内存区,将待处理报文传输至宿主机中对应的目标网元,以对待处理报文进行指定处理。基于第二端口对应的内存区,获取处理后的待处理报文,并将处理后的待处理报文转发至核心网络中对应的外部网元。在流类型为边缘流量的情况下,将待处理报文通过第一端口转发至边缘网络中对应的网元。这样,一定程度上可以节省硬件成本。

Description

报文处理方法、装置、电子设备及可读存储介质
技术领域
本发明属于网络通信技术领域,特别是涉及一种报文处理方法、装置、电子设备及可读存储介质。
背景技术
目前,随着通信技术的不断发展,用户的网络访问需求类型也越来越多。例如,用户在某些情况下需要访问核心网络,在某些情况下需要访问边缘网络。如何准确的处理报文,以确保用户访问操作能够正常进行,已成为广泛关注的问题。
在现有技术中,往往是通过配置硬件交换机的方式,以确保报文能够顺利准确的被转发。但是,这种方式中,硬件成本较高。
发明内容
本发明提供一种报文处理方法、装置、电子设备及可读存储介质,以解决硬件成本较高的技术问题。
第一方面,本发明提供一种报文处理方法,所述方法应用于部署在宿主机上的虚拟交换机,所述方法包括:
响应于从所述虚拟交换机的第一端口接收的待处理报文,在所述待处理报文的流类型为核心流量的情况下,基于所述虚拟交换机的第二端口对应的内存区,将所述待处理报文传输至所述宿主机中对应的目标网元,以对所述待处理报文进行指定处理;
基于所述第二端口对应的内存区,获取处理后的所述待处理报文,并将处理后的所述待处理报文转发至核心网络中对应的外部网元;
在所述流类型为边缘流量的情况下,将所述待处理报文通过所述第一端口转发至边缘网络中对应的网元。
可选的,所述方法还包括:
根据所述待处理报文携带的目的地址查询第一转发表,以确定所述目的地址是否命中所述第一转发表;
若所述目的地址命中所述第一转发表,则确定所述待处理报文的流类型为边缘流量;
若所述目的地址未命中所述第一转发表,则确定所述待处理报文的流类型为核心流量。
可选的,所述方法还包括:
基于所述虚拟交换机中的报文校验节点,对所述待处理报文进行报文校验;
在通过报文校验的情况下,执行所述根据所述待处理报文携带的目的地址查询第一转发表的操作。
可选的,所述基于所述虚拟交换机的第二端口对应的内存区,将所述待处理报文传输至所述宿主机中对应的目标网元之前,所述方法还包括:
获取所述待处理报文中当前携带的报文相关标识;
在所述目的地址未命中所述第一转发表的情况下,基于所述报文相关标识查询第二转发表,以确定所述报文相关标识是否命中所述第二转发表;
在所述报文相关标识命中所述第二转发表的情况下,将所述报文相关标识在所述第二转发表中命中的虚拟网元,确定为所述目标网元。
可选的,所述将所述待处理报文通过所述第一端口转发至边缘网络中对应的网元之前,所述方法还包括:
在所述目的地址命中所述第一转发表的情况下,基于所述报文相关标识查询第三转发表,以确定所述报文相关标识是否命中所述第三转发表;
在所述报文相关标识命中所述第三转发表的情况下,将所述报文相关标识在所述第三转发表中命中的网元,确定为所述边缘网络中对应的网元。
可选的,所述方法还包括:
在所述报文相关标识未命中所述第二转发表或者未命中所述第三转发表的情况下,将所述报文相关标识与第四转发表进行匹配,以确定所述报文相关标识是否命中所述第四转发表;
若命中所述第四转发表,则基于所述第一端口将所述待处理报文转发给其他网元;
若未命中所述第四转发表,则丢弃所述待处理报文。
可选的,所述第一端口配置有至少一个通信信道;所述将处理后的所述待处理报文转发至核心网络中对应的外部网元,包括:
获取处理后的所述待处理报文中当前携带的报文相关标识;
在所述报文相关标识命中所述第二转发表的情况下,将所述报文相关标识在所述第二转发表中命中的外部网元,确定为所述核心网络中对应的外部网元,以及,获取所述报文相关标识在所述第二转发表中命中的外部网元对应的通信信道索引;
基于所述通信信道索引指示的通信信道,将所述待处理报文转发至所述核心网络中对应的外部网元。
可选的,所述基于所述虚拟交换机中第二端口对应的内存区,将所述待处理报文传输至所述宿主机中对应的目标网元,包括:
根据所述待处理报文的报文相关标识进行哈希处理,得到所述报文相关标识对应的哈希值;
根据所述哈希值将所述待处理报文写入所述目标网元对应的第二端口的内存区中;所述目标网元用于从所述内存区中读取待处理报文。
可选的,所述目标网元还用于将处理后的所述待处理报文写入所述内存区的接收队列;所述基于所述第二端口对应的内存区,获取处理后的所述待处理报文,包括:直接从所述接收队列中读取处理后的所述待处理报文。
可选的,所述将所述待处理报文传输至所述宿主机中对应的目标网元之前,所述方法还包括:
将所述待处理报文中的报文相关标识写入指定的报文区域,以基于目标网元根据所述报文区域中的报文相关标识对所述待处理报文进行指定处理。
第二方面,本发明提供一种报文处理装置,所述装置应用于部署在宿主机上的虚拟交换机,所述装置包括:
传输模块,用于响应于从所述虚拟交换机的第一端口接收的待处理报文,在所述待处理报文的流类型为核心流量的情况下,基于所述虚拟交换机的第二端口对应的内存区,将所述待处理报文传输至所述宿主机中对应的目标网元,以对所述待处理报文进行指定处理;
第一转发模块,用于基于所述第二端口对应的内存区,获取处理后的所述待处理报文,并将处理后的所述待处理报文转发至核心网络中对应的外部网元;
第二转发模块,用于在所述流类型为边缘流量的情况下,将所述待处理报文通过所述第一端口转发至边缘网络中对应的网元。
可选的,所述装置还包括:
第一查询模块,用于根据所述待处理报文携带的目的地址查询第一转发表,以确定所述目的地址是否命中所述第一转发表;
第一确定模块,用于若所述目的地址命中所述第一转发表,则确定所述待处理报文的流类型为边缘流量;
第二确定模块,用于若所述目的地址未命中所述第一转发表,则确定所述待处理报文的流类型为核心流量。
可选的,所述装置还包括:
校验模块,用于基于所述虚拟交换机中的报文校验节点,对所述待处理报文进行报文校验;
执行模块,用于在通过报文校验的情况下,执行所述根据所述待处理报文携带的目的地址查询第一转发表的操作。
可选的,所述装置还包括:
获取模块,用于在所述基于所述虚拟交换机的第二端口对应的内存区,将所述待处理报文传输至所述宿主机中对应的目标网元之前,获取所述待处理报文中当前携带的报文相关标识;
第二查询模块,用于在所述目的地址未命中所述第一转发表的情况下,基于所述报文相关标识查询第二转发表,以确定所述报文相关标识是否命中所述第二转发表;
第三确定模块,用于在所述报文相关标识命中所述第二转发表的情况下,将所述报文相关标识在所述第二转发表中命中的虚拟网元,确定为所述目标网元。
可选的,所述装置还包括:
第三查询模块,用于在所述将所述待处理报文通过所述第一端口转发至边缘网络中对应的网元之前,在所述目的地址命中所述第一转发表的情况下,基于所述报文相关标识查询第三转发表,以确定所述报文相关标识是否命中所述第三转发表;
第四确定模块,用于在所述报文相关标识命中所述第三转发表的情况下,将所述报文相关标识在所述第三转发表中命中的网元,确定为所述边缘网络中对应的网元。
可选的,所述装置还包括:
匹配模块,用于在所述报文相关标识未命中所述第二转发表或者未命中所述第三转发表的情况下,将所述报文相关标识与第四转发表进行匹配,以确定所述报文相关标识是否命中所述第四转发表;
第三转发模块,用于若命中所述第四转发表,则基于所述第一端口将所述待处理报文转发给其他网元;
丢弃模块,用于若未命中所述第四转发表,则丢弃所述待处理报文。
可选的,所述第一端口配置有至少一个通信信道;所述第一转发模块,具体用于:
获取处理后的所述待处理报文中当前携带的报文相关标识;
在所述报文相关标识命中所述第二转发表的情况下,将所述报文相关标识在所述第二转发表中命中的外部网元,确定为所述核心网络中对应的外部网元,以及,获取所述报文相关标识在所述第二转发表中命中的外部网元对应的通信信道索引;
基于所述通信信道索引指示的通信信道,将所述待处理报文转发至所述核心网络中对应的外部网元。
可选的,所述传输模块,具体用于:
根据所述待处理报文的报文相关标识进行哈希处理,得到所述报文相关标识对应的哈希值;
根据所述哈希值将所述待处理报文写入所述目标网元对应的第二端口的内存区中;所述目标网元用于从所述内存区中读取待处理报文。
可选的,所述目标网元还用于将处理后的所述待处理报文写入所述内存区的接收队列;所述第一转发模块,还具体用于:直接从所述接收队列中读取处理后的所述待处理报文。
可选的,所述装置还包括:
写入模块,用于将所述待处理报文中的报文相关标识写入指定的报文区域,以基于目标网元根据所述报文区域中的报文相关标识对所述待处理报文进行指定处理。
第三方面,本发明提供一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述报文处理方法。
第四方面,本发明提供一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述报文处理方法。
在本发明实施例中,本发明实施例提供的报文处理方法,部署在宿主机上的虚拟交换机,响应于从虚拟交换机的第一端口接收的待处理报文,在待处理报文的流类型为核心流量的情况下,基于虚拟交换机的第二端口对应的内存区,将待处理报文传输至宿主机中对应的目标网元,以对待处理报文进行指定处理。基于第二端口对应的内存区,获取处理后的待处理报文,并将处理后的待处理报文转发至核心网络中对应的外部网元。在流类型为边缘流量的情况下,将待处理报文通过第一端口转发至边缘网络中对应的网元。这样,通过采用虚拟交换机,以及,基于为虚拟交换机配置的两种端口,直接基于第二端口对应的内存区即可与宿主机内部网元进行通讯,完成指定处理,无需额外为内部网元通讯专门配置网卡,进而一定程度上可以节省硬件成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种报文处理方法的步骤流程图;
图2是本发明实施例提供的一种节点调度逻辑示意图;
图3是本发明实施例提供的另一种节点调度逻辑示意图;
图4是本发明实施例提供的一种示例性的报文转发框架示意图;
图5是本发明实施例提供一种节点示意图;
图6是本发明实施例提供另一种节点示意图;
图7是本发明实施例提供的一种报文处理装置的结构图;
图8是本发明实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种报文处理方法的步骤流程图,该方法可以应用于部署在宿主机上的虚拟交换机,如图1所示,该方法可以包括:
步骤101、响应于从所述虚拟交换机的第一端口接收的待处理报文,在所述待处理报文的流类型为核心流量的情况下,基于所述虚拟交换机的第二端口对应的内存区,将所述待处理报文传输至所述宿主机中对应的目标网元,以对所述待处理报文进行指定处理。
本发明实施例中,虚拟交换机(virtual Switch,vSwitch)又可以称为接入vSwitch。虚拟交换机可以是基于向量包处理(Vector Packet Processing,VPP)技术开发的。具体的,虚拟交换机可以是基于数据平面开发套件(Data Plane Development Kit,DPDK)以及VPP开发的,以确保虚拟交换机可以灵活的加载插件,按需调整功能,从而避免后期的维护、更新成本较高的问题。
进一步地,宿主机可以是服务器、终端等硬件设备,虚拟交换机中可以预先配置有第一端口以及第二端口,第一端口又可以称为DPDK端口,第二端口又可以称为内存交换端口(shared memory packet interface,memif)。第一端口以及第二端口的实际数量可以根据实际需求设置,本发明实施例对此不做限制。具体的,第一端口可以用于实现从虚拟交换机外部接收报文、从虚拟交换机向外发出报文,即,对接宿主机外部。第二端口可以用于实现与同宿主机内不同网元之间的数据传输,即,对接同宿主机网元。每个第二端口可以具备自己对应的内存区,各第二端口对应的内存区可以是根据实际情况预先设置的,不同第二端口对应的内存区可以不同。网元可以理解为网络中的元素、设备,网元是网络管理中可以监视和管理的最小单位。宿主机内的网元可以是虚拟网元也可以是实体网元,本发明实施例对此不做限制。示例的,在一种实现方式中,第二端口可以具体用于实现与同宿主机内不同虚拟网元之间的数据传输,该虚拟网元可以是虚拟客户端设备(vCPE),虚拟网元可以是基于容器(docker)技术实现的,虚拟网元网元通过部署在docker中实现。通过进行指定处理,来实现相关业务处理,宿主机中网元执行的指定处理的具体内容,可以是根据实际需求预先指定的,本发明实施例对此不做限制。
待处理报文可以是虚拟交换机接收到的需要处理的报文,待处理报文可以是用户设备发送的通讯数据。一个待处理报文可以对应一条用户请求,待处理报文与用户请求可以一一对应,也可以是多个待处理报文对应同一用户请求。用户请求可以表征用户流量,待处理报文的流类型可以用于表征用户流量的流量类型,即,用于表征用户请求所需访问的是核心网络还是边缘网络。其中,核心网络可以视为互联网网络中的核心部分、核心网络可以视为“互联网侧”,边缘网络可以理解为边缘云网络,以实现基于云场景的网元通信,边缘网络可以是在一定区域内组成的网络。核心网络加边缘网络可以组成整体互联网网络。流量类型可以包括核心流量和边缘流量,核心流量可以是访问核心网络的流量,核心流量也可以称为“互联网侧流量”、边缘流量可以是访问边缘网络的边缘云流量。
步骤102、基于所述第二端口对应的内存区,获取处理后的所述待处理报文,并将处理后的所述待处理报文转发至核心网络中对应的外部网元。
本发明实施例中,在用户请求访问互联网侧,即,流量类型为核心流量的情况下,报文整体的处理流转链路往往较长,因此,需要对报文进行指定处理。在用户请求访问边缘云网络,即,流量类型为边缘流量的情况下,报文整体的处理流转链路较短,仅需将该报文直接转发至边缘网络中对应的网元即可。
进一步地,本发明实施例中,通过内存交换的方式,以第二端口对接同宿主机内的网元,这样,无需设置用于将报文传输至宿主机中对应的目标网元的网卡,从而以较少的硬件资源、较低的硬件实现成本实现内部数据转发。
步骤103、在所述流类型为边缘云流量的情况下,将所述待处理报文通过所述第一端口转发至边缘网络中对应的网元。
示例的,可以基于虚拟交换机中的第一报文转发节点将待处理报文通过第一端口转发至边缘网络中对应的网元。其中,该第一报文转发节点可以是报文转发模块中的“interface-output”节点。
综上所述,本发明实施例提供的报文处理方法,部署在宿主机上的虚拟交换机,响应于从虚拟交换机的第一端口接收的待处理报文,在待处理报文的流类型为核心流量的情况下,基于虚拟交换机的第二端口对应的内存区,将待处理报文传输至宿主机中对应的目标网元,以对待处理报文进行指定处理。基于第二端口对应的内存区,获取处理后的待处理报文,并将处理后的待处理报文转发至核心网络中对应的外部网元。在流类型为边缘流量的情况下,将待处理报文通过第一端口转发至边缘网络中对应的网元。这样,通过采用虚拟交换机,以及,基于为虚拟交换机配置的两种端口,直接基于第二端口对应的内存区即可与宿主机内部网元进行通讯,完成指定处理,无需额外为内部网元通讯专门配置网卡,进而一定程度上可以节省硬件成本。
同时,通过为虚拟交换机配置的两种端口,可丰富网络多样性配置。在进行报文转发时,可以灵活选择配置的端口,从而较为准确的实现报文转发。
可选的,本发明实施例中的待处理报文可以基于下述操作接收:基于所述虚拟交换机中的第一报文接收节点,轮询获取从所述第一端口输入的报文,以作为所述待处理报文。示例的,第一报文接收节点可以为虚拟交换机中的报文接收模块中的“dpdk-input”节点。第一端口输入的报文可以写入dpdk接收队列,其中,第一端口输入的报文可以是外部网元发送来的。相应地,可以基于第一报文接收节点轮询dpdk接收队列,以实现从外部网元接收报文,并作为待处理报文进行后续处理。本发明实施例中,基于第一报文节点接收轮询获取待处理报文,一定程度上可以确保能够有序的获取到待处理报文,从而确保报文处理效率。
可选的,本发明实施例中可以通过下述步骤实现检测待处理报文的流类型:
步骤S21、根据所述待处理报文携带的目的地址查询第一转发表,以确定所述目的地址是否命中所述第一转发表。
本发明实施例中,可以基于虚拟交换机中报文分类模块中的第一报文分类节点实现检测待处理报文的流类型。示例的,该第一报文分类节点可以为“acc-sw-dispatcher-in”节点。通过查询第一转发表来检测待处理报文的流类型。具体的,第一转发表可以是预先设置的,用于记录访问边缘流量时会作为目的地址使用的地址,这样,一定程度上可以避免第一转发表中记录的内容过多。第一转发表可以是第一报文分类节点内部维护的转发表之一。相应地,可以获取待处理报文中携带的目的地址,并将获取到的目的地址与第一转发表中的各个地址进行比对,如果第一转发表中存在与该待处理报文中携带的目的地址相匹配的地址,则可以确定该目的地址命中第一转发表。反之,则可以确定未命中第一转发表。其中,待处理报文携带的目的地址可以表示为“dip”,第一转发表可以表示为dip_forward表。
步骤S22、若所述目的地址命中所述第一转发表,则确定所述待处理报文的流类型为边缘流量;若所述目的地址未命中所述第一转发表,则确定所述待处理报文的流类型为核心流量。
本发明实施例中,通过待处理报文携带的目的地址查询第一转发表,基于是否命中第一转发表,即可实现检测待处理报文的流类型,从而一定程度上可以确保流分类,报文流类型识别的效率。通过检测流类型,可以为后续选择数据交换方式提供依据,从而可以实现灵活的选择数据交换方式。其中,数据交换方式可以指的是与宿主机内部的其他虚拟网元进行报文交互、与虚拟交换机的外部网元(例如,边缘网络中的网元)进行交互。同时,相较于传统的五元组分类方法,本发明实施例中基于报文相关标识:虚拟扩展局域网(Virtual eXtensible Local Area Network,vxlan)网络标识符(VXLAN NetworkIdentifier,vni)以及双层虚拟局域网(QinQ)标识可以便捷的实现流分类,一定程度上可以确保分类效率。其中,QinQ标识可以包括用户虚拟局域网标识(Customer Virtual LocalArea Network id,cvlan_id)以及服务商虚拟局域网标识(Service Virtual Local AreaNetwork id,pvlan_id)。
需要说明的是,本发明实施例中也可以在第一转发表中的第一部分记录访问边缘流量时会作为目的地址使用的地址,在第一转发表中的第二部分记录访问核心流量时会作为目的地址使用的地址。相应地,可以在目的地址命中第一部分的情况下,确定待处理报文的流类型为边缘流量。在目的地址命中第二部分的情况下,确定待处理报文的流类型为核心流量。否则,可以丢弃该待处理报文,本发明实施例对此不做限制。可选的,本发明实施例中还可以在根据所述待处理报文携带的目的地址查询第一转发表之前,先基于虚拟交换机中的报文校验节点,对待处理报文进行报文校验;在通过报文校验的情况下,再执行根据待处理报文携带的目的地址查询第一转发表的操作。这样,可以避免对未通过报文校验,不符合要求的待处理报文执行后续处理,从而浪费处理资源的问题。示例的,本发明实施例中涉及到的报文可以是采用多层协议封装的报文。
报文校验节点可以用于校验报文的物理地址(MAC地址),网际互连(InternetProtocol,IP)协议地址以及报文完整性。示例的,报文校验节点可以是报文校验模块中的“ethernet-input”节点、“ip4-input”节点以及“ip4-vxlan-bypass”节点。其中,“ethernet-input”节点可以用于进行二层头校验,并根据具体采用的三层协议选择下一节点处理。具体的,在三层协议为IP协议的情况下,可以选择“ip4-input”节点作为下一节点。“ip4-input”节点可以进行目的地址校验,报文完整性校验,并根据四层协议选择下一节点处理。具体的,在四层协议为用户数据包协议(User Datagram Protocol,UDP)且目的端口为特定端口的情况下,可以选择“ip4-vxlan-bypass”节点作为下一节点。其中,特定端口可以为“4789”端口,在目的端口为“4789”端口的情况,可以说明下一层会携带vxlan头。“ip4-vxlan-bypass”节点可以具体用于进行vni校验,即,校验待处理报文中的vni是否为合法vni。
可选的,在基于所述虚拟交换机的第二端口对应的内存区,将所述待处理报文传输至所述宿主机中对应的目标网元之前,本发明实施例中还可以执行下述步骤:
步骤S31、获取所述待处理报文中当前携带的报文相关标识。
本发明实施例中,报文相关标识可以是根据实际情况预先设定的,可以存在部分报文的报文相关标识相同,报文携带的报文相关标识与发送该报文的局域网相关。示例的,报文相关标识可以包括vni以及QinQ标识。具体的,可以先基于报文处理模块中的第一处理节点提取vni,然后提取其中携带的QinQ。示例的,第一处理节点可以为“vxlan4-input”节点,“vxlan4-input”节点可以先进行vxlan头解析,剥离vxlan头,然后获取vni。之后,可以向内一层一层解析封装的协议头,以获取QinQ。需要说明的是,还可以将报文相关标识写入到报文拓展区。“vxlan4-input”节点也可以称为“vxlan-input”节点。
步骤S32、在所述目的地址未命中所述第一转发表的情况下,基于所述报文相关标识查询第二转发表,以确定所述报文相关标识是否命中所述第二转发表。
步骤S33、在所述报文相关标识命中所述第二转发表的情况下,将所述报文相关标识在所述第二转发表中命中的虚拟网元,确定为所述目标网元。
本发明实施例中,可以在待处理报文的流类型为核心流量,即,未命中第一转发表的情况下,继续查询第二转发表。其中,该第二转发表可以是预先设置的,用于记录宿主机中各虚拟网元对应的报文相关标识,虚拟网元负责对接携带的报文相关标识与该虚拟网元对应的报文相关标识一致的报文。第二转发表可以是第一报文分类节点内部维护的转发表之一。相应地,可以获取待处理报文中携带的报文相关标识,并将获取到的报文相关标识与第二转发表中的各个报文相关标识进行比对,如果第二转发表中存在与该待处理报文中携带的报文相关标识相匹配的报文相关标识,则可以确定该报文相关标识命中第二转发表。反之,则可以确定未命中第二转发表。其中,第二转发表可以表示为vni_forward表。报文相关标识可以与前述的目的地址同时获取。进一步地,在命中第二转发表的情况下,可以将第二转发表中与该待处理报文中携带的报文相关标识相匹配的报文相关标识对应的虚拟网元,确定为目标网元。本发明实施例中,通过待处理报文携带的报文相关标识查询第二转发表,即可实现确定目标网元,从而一定程度上可以确保处理效率。
进一步地,第二转发表还可以记载有各虚拟网元对应的第二端口的索引。可以在命中第二转发表的情况下,查询第二转发表,以获取目标网元对应的第二端口的索引。相应地,后续可以先根据第二端口的索引定位目标网元对应的第二端口,然后将待处理报文写入该目标网元对应的第二端口的内存区中。其中,第二端口的索引可以为memif接口索引。
可选的,本发明实施例中,还可以在将所述待处理报文通过所述第一端口转发至边缘网络中对应的网元之前,执行下述操作:
步骤S41、在所述目的地址命中所述第一转发表的情况下,基于所述报文相关标识查询第三转发表,以确定所述报文相关标识是否命中所述第三转发表。
步骤S42、在所述报文相关标识命中所述第三转发表的情况下,将所述报文相关标识在所述第三转发表中命中的网元,确定为所述边缘网络中对应的网元。
本发明实施例中,可以在待处理报文的流类型为边缘流量,即,命中第一转发表的情况下,继续查询第三转发表。其中,该第三转发表可以是预先设置的,用于记录边缘网络中网元对应的报文相关标识,边缘网络中网元负责对接携带的报文相关标识与该网元对应的报文相关标识一致的报文。第三转发表可以是第一报文分类节点内部维护的转发表之一。可以将报文相关标识与第三转发表中的各个报文相关标识进行比对,如果第三转发表中存在与该待处理报文中携带的报文相关标识相匹配的报文相关标识,则可以确定该报文相关标识命中第三转发表。反之,则可以确定未命中第三转发表。其中,第三转发表可以表示为vni_business表。
进一步地,在命中第三转发表的情况下,可以将第三转发表中与该待处理报文中携带的报文相关标识相匹配的报文相关标识对应的网元,确定为待处理报文在边缘网络中对应的网元。具体的,第三转发表还可以记录有各网元对应的通信信道索引,各网元对应的通信信道索引所指示的通信信道用于向该网元发送信息。其中,通信信道可以为vxlan隧道,每个第一端口可以均绑定有1个或多个vxlan隧道,vxlan隧道可以理解为基于软件实现的数据出入口。在将所述待处理报文通过所述第一端口转发至边缘网络中对应的网元时,可以具体是基于第一端口绑定的与该通信信道索引对应的通信信道,将待处理报文转发至边缘网络中对应的网元。可以预先记录边缘网络中各网元的通信地址,基于该待处理报文在边缘网络中对应的网元的通信地址,进行转发。需要说明的是,如果是用户访问边缘云流量,可以在确定出边缘网络中对应的网元之后,交由“interface-output”节点处理,由“interface-output”节点基于第一端口绑定的与该通信信道索引对应的通信信道,将待处理报文转发至边缘网络中对应的网元。
本发明实施例中,在目的地址命中第一转发表的情况下,基于报文相关标识查询第三转发表,以确定报文相关标识是否命中第三转发表。在报文相关标识命中第三转发表的情况下,将报文相关标识在第三转发表中命中的网元,确定为边缘网络中对应的网元。这样,通过待处理报文携带的报文相关标识查询第三转发表,即可实现确定边缘网络中对应的网元,从而一定程度上可以确保数据转发的整体效率。
可选的,本发明实施例中还可以执行下述操作:
步骤S51、在所述报文相关标识未命中所述第二转发表或者未命中所述第三转发表的情况下,将所述报文相关标识与第四转发表进行匹配,以确定所述报文相关标识是否命中所述第四转发表。
其中,该第四转发表可以是预先设置的,用于记录桥接模式的各其他网元对应的报文相关标识,第四转发表可以是第一报文分类节点内部维护的转发表之一。可以将报文相关标识与第四转发表中的各个报文相关标识进行比对,如果第四转发表中存在与该待处理报文中携带的报文相关标识相匹配的报文相关标识,则可以确定该报文相关标识命中第四转发表。反之,则可以确定未命中第四转发表。其中,第四转发表可以表示为vni_bridge表。
步骤S52、若命中所述第四转发表,则基于所述第一端口将所述待处理报文转发给其他网元。
步骤S53、若未命中所述第四转发表,则丢弃所述待处理报文。
具体的,在命中第四转发表的情况下,可以将在第四转发表中命中的其他网元作为目标其他网元,基于预先记录的各其他网元对应的通信信道索引,获取目标其他网元对应的通信信道索引。基于第一端口绑定的与该目标其他网元对应的通信信道索引所对应的通信信道,将待处理报文转发至目标其他网元。具体的,可以预先记录各其他网元的通信地址,基于该目标其他网元的通信地址进行转发。需要说明的是,其他网元可以是边缘网络中的网元,也可以不是边缘网络中的网元。各其他网元对应的通信信道索引可以预先记录在vni_business表中。进一步地,在未命中第四转发表的情况下,可以丢弃该待处理报文。
本发明实施例中,在报文相关标识未命中第二转发表或者未命中第三转发表的情况下,将报文相关标识与第四转发表进行匹配,以确定报文相关标识是否命中第四转发表。若命中第四转发表,则基于第一端口将待处理报文转发给其他网元。若未命中第四转发表,则可以确定报文相关标识是无效标识、待处理报文内容存在问题、属于坏包等等,进而可以丢弃待处理报文。这样,通过进一步以第四转发表进行查询,在未命中第四转发表的情况下,才丢弃待处理报文,一定程度上可以降低报文被丢弃的概率,从而提高处理率。
示例的,图2是本发明实施例提供的一种节点调度逻辑示意图,如图2所示,第一报文分类节点内部可以维护有4张转发表:dip_forward表、vni_forward表、vni_business表以及vni_bridge表。可以先执行获取报文dip、vni、pvlan_id、cvlan_id的操作,即,获取目的地址以及报文相关标识。然后可以查询dip_forward表,如果命中dip_forward表,则可以继续查询vni_business表,并在命中vni_business表的情况下,基于vni_business表,获取vxlan出接口索引。其中,该vxlan出接口索引可以是上述通信信道索引。获取到vxlan出接口索引之后,可以以第二报文处理节点作为下一跳节点,以继续执行后续步骤。其中,第二报文处理节点可以为“vxlan-encap”节点。在针对IPV4协议的情况下,“vxlan-encap”节点也可以称为“vxlan4-encap”节点,第二报文处理节点可以用于封装vxlan头,并将封装后的报文交由下一节点处理。
如果未命中dip_forward表,则可以查询vni_forward表,并在命中的情况下,基于vni_forward表,获取memif接口索引,即,获取命中的目标网元对应的第二端口索引。如果未命中vni_forward表、未命中vni_business表,则可以查询vni_bridge表。并在未命中vni_bridge表的情况下,执行下一跳节点drop操作,即,丢弃待处理报文。如果命中vni_bridge表,则可以获取vxlan出接口索引。其中,“命中Y”表示命中,“命中N”表示未命中。
可选的,第一端口可以配置有至少一个通信信道,即,配置有vxlan隧道。相应地,上述将处理后的所述待处理报文转发至核心网络中对应的外部网元的步骤,具体可以包括:
步骤S61、获取处理后的所述待处理报文中当前携带的报文相关标识。
步骤S62、在所述报文相关标识命中所述第二转发表的情况下,将所述报文相关标识在所述第二转发表中命中的外部网元,确定为所述核心网络中对应的外部网元,以及,获取所述报文相关标识在所述第二转发表中命中的外部网元对应的通信信道索引。
由于待处理报文经过指定处理后,报文相关标识可能会发生变化,例如,vni可能会被更新。因此,本发明实施例中可以先获取处理后的所述待处理报文中当前携带的报文相关标识,并以本次获取到的报文相关标识执行后续操作,以确保处理的准确性。进一步地,检测是否命中第二转发表的实现方式可以参照前述描述,此处不再赘述。如果此时报文相关标识依旧命中第二转发表,则可以基于第一端口将待处理报文转发至核心网络中对应的外部网元。具体的,第二转发表中还可以记录有核心网络中各网元对应的通信信道索引,各网元对应的通信信道索引所指示的通信信道用于向该网元发送信息。其中,通信信道可以为vxlan隧道,每个第一端口可以均绑定有1个或多个vxlan隧道。可以通过查询第二转发表,获取报文相关标识在第二转发表中命中的外部网元对应的vxlan出接口索引(即,通信信道索引)。
步骤S63、基于所述通信信道索引指示的通信信道,将所述待处理报文转发至所述核心网络中对应的外部网元。
示例的,外部网元可以包括互联网中的宽带接入服务器(BRAS)设备等。本步骤中,基于第一端口将待处理报文转发至核心网络中对应的外部网元,具体可以是基于第一端口配置的vxlan隧道中,与该通信信道索引对应的vxlan隧道,将待处理报文转发至对应的外部网元。可以预先记录核心网络中各网元的通信地址,基于该待处理报文在核心网络中对应的网元的通信地址进行转发。其中,上述步骤S61~步骤S63可以是基于报文分类模块中的第二报文分类节点实现的,第二报文分类节点可以为“acc-sw-dispatcher-out”节点。“acc-sw-dispatcher-out”节点可以从处理后的待处理报文中的尾部中,获取并剥离当前携带的报文相关标识。
对于从第一端口接收的报文流量,可以先经由“acc-sw-dispatcher-in”节点处理,对于从第二端口接收的报文流量,可以经由“acc-sw-dispatcher-out”节点处理。“acc-sw-dispatcher-in”节点以及“acc-sw-dispatcher-out”节点可以通过查表,来决定待处理报文的转发目的地。
本发明实施例中,第一端口配置有通信信道,获取处理后的待处理报文中当前携带的报文相关标识。在报文相关标识命中第二转发表的情况下,获取报文相关标识在第二转发表中命中的外部网元对应的通信信道索引。基于通信信道索引指示的通信信道,即可便捷的将待处理报文转发至对应的外部网元,从而一定程度上可以确保报文转发效率。
示例的,图3是本发明实施例提供的另一种节点调度逻辑示意图,如图3所示,可以获取报文扩展数据和报文中的pvlan_id、cvlan_id,并从报文扩展数据中得到vni。即,获取处理后的待处理报文中当前携带的报文相关标识。然后查询vni_forward表。在命中的情况下,基于vni_forward表,获取vxlan出接口索引。在未命中的情况下,执行下一跳节点drop操作,以丢弃该待处理报文。
可选的,上述基于所述虚拟交换机中第二端口对应的内存区,将所述待处理报文传输至所述宿主机中对应的目标网元,包括:
步骤S71、根据所述待处理报文的报文相关标识进行哈希处理,得到所述报文相关标识对应的哈希值。
步骤S72、根据所述哈希值将所述待处理报文写入所述目标网元对应的第二端口的内存区中;所述目标网元用于从所述内存区中读取待处理报文。
本发明实施例中,可以根据预设的哈希算法,将报文相关标识作为输入进行哈希计算,以生成哈希值。例如,可以根据vni+QinQ进行哈希,得到哈希值。写入目标网元对应的第二端口的内存区中之后,目标网元可以从内存区中读取待处理报文,从而实现将待处理报文传输至宿主机中对应的目标网元,之后目标网元可以进行指定处理,也就是说,目标网元用于从内存区中读取待处理报文并进行指定处理。
进一步地,本发明实施例中的一个第二端口可以对应一个虚拟网元,相应地,在确定出目标网元之后,可以确定该目标网元对应的第二端口,并基于该内存区进行宿主机内的数据传输。具体的,上述步骤S71以及步骤S72可以基于报文转发模块中的第二报文转发节点实现,其中,第二报文转发节点可以为“memif-output”节点,如果是用户访问互联网流量,即,待处理报文的流类型是核心流量,则可以交由“memif-output”节点处理。一个“memif-output”节点以及一个虚拟网元可以与一个第二端口绑定,该“memif-output”节点与该虚拟网元可以基于该第二端口进行数据交换。不同第二端口绑定的“memif-output”节点以及虚拟网元,可以不同。这样,基于第二端口采用内存交换方式与对端进行数据交换,中间无需经过网卡进行转发,报文可以不经过内核态,而是直接经用户态发送至对端用户态应用程序(即,目标网元)处理,从而可以节约网卡资源,确保通信效率。
接着,可以按照哈希值依次增大/减小的顺序,将待处理报文写入目标网元对应的第二端口的内存区。具体的,可以是写入该内存区中的发送队列。
本发明实施例中,先根据待处理报文的报文相关标识进行哈希处理,得到报文相关标识对应的哈希值。根据哈希值将待处理报文写入目标网元对应的第二端口的内存区中,目标网元用于从该内存区中读取待处理报文并进行指定处理。这样,先进行哈希处理之后,才写入内存区的方式,一定程度上可以使得待处理报文可以均匀分布至内存区的发送队列中,从而确保写入效果。
可选的,目标网元还可以用于将处理后的所述待处理报文写入所述内存区的接收队列。相应地,上述基于所述第二端口对应的内存区,获取处理后的所述待处理报文,具体可以包括:步骤S81、直接从所述接收队列中读取处理后的所述待处理报文。示例的,可以基于第二报文接收节点实现该步骤。其中,第二报文接收节点可以为“memif-input”节点。第二报文接收节点可以直接主动轮询接收队列,以从目标网元接收处理后的待处理报文。由于第二端口与虚拟网元之间一一对应绑定,因此,可以确定该目标网元对应的第二端口的内存区的接收队列中,存储的均为目标网元处理后的待处理报文,进而无需检查报文的目的MAC地址是否为本端口MAC地址,而是可以直接从接收队列中读取处理后的待处理报文,从而可以确保读取效率,提高同宿主机下网元间数据转发速度、降低时延。其中,处理后的待处理报文可以为二层报文,进一步地,可以基于“vxlan-encap”节点,为待处理报文封装vxlan头,并将报文交给下一节点:“interface-output”节点,基于“interface-output”节点将封装后的待处理报文基于第一端口发送处理。其中,封装vxlan头可以根据实际需求设置,本发明实施例对此不做限制。
可选的,在将所述待处理报文传输至所述宿主机中对应的目标网元之前,还可以将所述待处理报文中的报文相关标识写入指定的报文区域,以基于目标网元根据所述报文区域中的报文相关标识对所述待处理报文进行指定处理。其中,指定的报文区域可以为报文拓展区、报文缓冲(buffer)区的私有字段。示例的,指定的报文区域可以为报文尾部,本发明实施例对此不做限制。这样,通过将报文相关标识统一封装至指定的报文区域,使得目标网元可以便捷的拿到报文相关标识,基于报文相关标识进行指定处理,从而可以确保指定处理可以顺利进行。示例的,指定处理可以为根据所述报文相关标识确定所述待处理报文对应的公网地址,并为待处理报文添加所述公网地址。和/或根据所述报文相关标识确定所述待处理报文对应的报文头,并为待处理报文添加所述报文头。和/或,更新所述报文相关标识中的vni,等等,本发明实施例对此不做限制。
需要说明的是,本发明实施例中的第一端口可以被配置为Bond模式,以实现负载均衡及网卡热备份功能。这样,在交换机对接外部网元进行数据交换时,无需额外的负载均衡设备保障交换机的稳定运行,基于第一端口即可实现负载均衡效果,从而可以降低设计复杂度,节约硬件资源,降低硬件成本,提高部署的灵活性。
第一端口可以纳管宿主机上的多个网卡,例如,管理多个高速网卡,这些网卡可以用于和宿主机外部进行通讯。示例的,可以基于各张网卡的实际负载,对多张网卡进行负载均衡,以平衡各网卡的流量负载。虚拟交换机中还可以包括bond-input节点,该节点可以更改入接口为聚合接口,以进行负载均衡。其中,更改操作可以在“dpdk-input”节点执行的操作之后。“bond-input”节点可以属于报文校验模块。一个第一端口绑定的多张网卡,可以在其中部分网卡可以作为备用网卡,备用网卡上的信息可以与非备用网卡的信息保持同步,在非备用网卡故障时,进行备份切换。
图4是本发明实施例提供的一种示例性的报文转发框架示意图,如图4所示,接入交换机可以包含报文接收、报文校验、报文分类、报文处理、报文转发等多个模块。各模块可以基于vpp实现,对应于vpp中不同的处理节点,模块可以理解为接入交换机中的软件处理部分,接入交换机可以基于配置为Bond模式的DPDK端口与宿主机外部的数据中心交换机(DCSW)进行报文的收发。示例的,转发至边缘网络中对应的网元以及转发至边缘网络中对应的网元的过程中,均可以经过DCSW。接入交换机中还可以配置有memif端口,memif端口可以与vCPE对应绑定。示例的,在同一个宿主机上有其他网元经过接入交换机进行数据转发时,可以配置memif接口,其中,接入交换机可以为上述虚拟交换机,虚拟交换机可以是基于VPP进行网络功能虚拟化实现的。其中,本发明实施例中涉及到的报文,即,DCSW和虚拟交换机之间的完整的报文结构可以表示为:“Outer Ethernet header+IP header+UDP header+VXLAN header+Inner Ethernet header+Inner IP header+...”。其中,“Inner Ethernetheader”中携带QinQ。用户的原始报文会先经过DCSW,然后封装“Outer Ethernet header+IP header+UDP header+VXLAN header”这一段报文头,这部分可以认为是外层以太网报文。用户原始的数据报文可以是vxlan头后面的所有数据即“Inner Ethernet header+Inner IP header+...”,用户报文可以认为是内层以太网报文。
图5是本发明实施例提供一种节点示意图,以用户访问互联网侧为例,即,访问核心网络为例,经过的节点可以如图5所示。进一步地,图6是本发明实施例提供另一种节点示意图,以用户访问边缘网络为例,经过的节点可以如图6所示。需要说明的是,实际应用中也可以扩展其他的环节,例如,图6的处理过程中,可以在“acc-sw-dispatcher-in”节点之后,先经过“vxlan4-encap”额外封装vxlan头,本发明实施例对此不做限制。
需要说明的是,以应用于指定运营商网络为例,本发明实施例提供的报文处理方法可以基于指定运营商接入***进行专门设计,示例的,可以具体应用于指定运营商云网关的接入网元、业务网元,以用于边缘云***的访问接入。其中,指定运营商可以是基于实现需求设置的。实际应用场景中,虚拟交换机的实际数量可以为多个,虚拟交换机的硬件部分可以基于服务器实现,虚拟交换机可以基于Kubernetes(k8s)技术集中搭建管理,可以适配不同种类的服务器,以便于灵活配置及维护。
图7是本发明实施例提供的一种报文处理装置的结构图,该装置可以应用于部署在宿主机上的虚拟交换机,该装置20可以包括:
传输模块201,用于响应于从所述虚拟交换机的第一端口接收的待处理报文,在所述待处理报文的流类型为核心流量的情况下,基于所述虚拟交换机的第二端口对应的内存区,将所述待处理报文传输至所述宿主机中对应的目标网元,以对所述待处理报文进行指定处理;
第一转发模块202,用于基于所述第二端口对应的内存区,获取处理后的所述待处理报文,并将处理后的所述待处理报文转发至核心网络中对应的外部网元;
第二转发模块203,用于在所述流类型为边缘流量的情况下,将所述待处理报文通过所述第一端口转发至边缘网络中对应的网元。
综上所述,本发明实施例提供的报文处理装置,响应于从虚拟交换机的第一端口接收的待处理报文,在待处理报文的流类型为核心流量的情况下,基于虚拟交换机的第二端口对应的内存区,将待处理报文传输至宿主机中对应的目标网元,以对待处理报文进行指定处理。基于第二端口对应的内存区,获取处理后的待处理报文,并将处理后的待处理报文转发至核心网络中对应的外部网元。在流类型为边缘流量的情况下,将待处理报文通过第一端口转发至边缘网络中对应的网元。这样,通过采用虚拟交换机,以及,基于为虚拟交换机配置的两种端口,直接基于第二端口对应的内存区即可与宿主机内部网元进行通讯,完成指定处理,无需额外为内部网元通讯专门配置网卡,进而一定程度上可以节省硬件成本。
同时,通过为虚拟交换机配置的两种端口,可丰富网络多样性配置。在进行报文转发时,可以灵活选择配置的端口,从而较为准确的实现报文转发。
可选的,所述装置20还包括:
第一查询模块,用于根据所述待处理报文携带的目的地址查询第一转发表,以确定所述目的地址是否命中所述第一转发表;
第一确定模块,用于若所述目的地址命中所述第一转发表,则确定所述待处理报文的流类型为边缘流量;
第二确定模块,用于若所述目的地址未命中所述第一转发表,则确定所述待处理报文的流类型为核心流量。
可选的,所述装置20还包括:
校验模块,用于基于所述虚拟交换机中的报文校验节点,对所述待处理报文进行报文校验;
执行模块,用于在通过报文校验的情况下,执行所述根据所述待处理报文携带的目的地址查询第一转发表的操作。
可选的,所述装置20还包括:
获取模块,用于在所述基于所述虚拟交换机的第二端口对应的内存区,将所述待处理报文传输至所述宿主机中对应的目标网元之前,获取所述待处理报文中当前携带的报文相关标识;
第二查询模块,用于在所述目的地址未命中所述第一转发表的情况下,基于所述报文相关标识查询第二转发表,以确定所述报文相关标识是否命中所述第二转发表;
第三确定模块,用于在所述报文相关标识命中所述第二转发表的情况下,将所述报文相关标识在所述第二转发表中命中的虚拟网元,确定为所述目标网元。
可选的,所述装置20还包括:
第三查询模块,用于在所述将所述待处理报文通过所述第一端口转发至边缘网络中对应的网元之前,在所述目的地址命中所述第一转发表的情况下,基于所述报文相关标识查询第三转发表,以确定所述报文相关标识是否命中所述第三转发表;
第四确定模块,用于在所述报文相关标识命中所述第三转发表的情况下,将所述报文相关标识在所述第三转发表中命中的网元,确定为所述边缘网络中对应的网元。
可选的,所述装置20还包括:
匹配模块,用于在所述报文相关标识未命中所述第二转发表或者未命中所述第三转发表的情况下,将所述报文相关标识与第四转发表进行匹配,以确定所述报文相关标识是否命中所述第四转发表;
第三转发模块,用于若命中所述第四转发表,则基于所述第一端口将所述待处理报文转发给其他网元;
丢弃模块,用于若未命中所述第四转发表,则丢弃所述待处理报文。
可选的,所述第一端口配置有至少一个通信信道;所述第一转发模块202,具体用于:
获取处理后的所述待处理报文中当前携带的报文相关标识;
在所述报文相关标识命中所述第二转发表的情况下,将所述报文相关标识在所述第二转发表中命中的外部网元,确定为所述核心网络中对应的外部网元,以及,获取所述报文相关标识在所述第二转发表中命中的外部网元对应的通信信道索引;
基于所述通信信道索引指示的通信信道,将所述待处理报文转发至所述核心网络中对应的外部网元。
可选的,所述传输模块201,具体用于:
根据所述待处理报文的报文相关标识进行哈希处理,得到所述报文相关标识对应的哈希值;
根据所述哈希值将所述待处理报文写入所述目标网元对应的第二端口的内存区中;所述目标网元用于从所述内存区中读取待处理报文。
可选的,所述目标网元还用于将处理后的所述待处理报文写入所述内存区的接收队列;所述第一转发模块202,还具体用于:直接从所述接收队列中读取处理后的所述待处理报文。
可选的,所述装置20还包括:
写入模块,用于将所述待处理报文中的报文相关标识写入指定的报文区域,以基于目标网元根据所述报文区域中的报文相关标识对所述待处理报文进行指定处理。
本发明还提供了一种电子设备,参见图8,包括:处理器901、存储器902以及存储在所述存储器上并可在所述处理器上运行的计算机程序9021,所述处理器执行所述程序时实现前述实施例的报文处理方法。
本发明还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的报文处理方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,本发明实施例中获取的各种信息、数据,均是在得到信息/数据持有方授权的情况下获取的。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明的排序设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (13)

1.一种报文处理方法,其特征在于,所述方法应用于部署在宿主机上的虚拟交换机,所述方法包括:
响应于从所述虚拟交换机的第一端口接收的待处理报文,在所述待处理报文的流类型为核心流量的情况下,基于所述虚拟交换机的第二端口对应的内存区,将所述待处理报文传输至所述宿主机中对应的目标网元,以对所述待处理报文进行指定处理;
基于所述第二端口对应的内存区,获取处理后的所述待处理报文,并将处理后的所述待处理报文转发至核心网络中对应的外部网元;
在所述流类型为边缘流量的情况下,将所述待处理报文通过所述第一端口转发至边缘网络中对应的网元。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述待处理报文携带的目的地址查询第一转发表,以确定所述目的地址是否命中所述第一转发表;
若所述目的地址命中所述第一转发表,则确定所述待处理报文的流类型为边缘流量;
若所述目的地址未命中所述第一转发表,则确定所述待处理报文的流类型为核心流量。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
基于所述虚拟交换机中的报文校验节点,对所述待处理报文进行报文校验;
在通过报文校验的情况下,执行所述根据所述待处理报文携带的目的地址查询第一转发表的操作。
4.根据权利要求2所述的方法,其特征在于,所述基于所述虚拟交换机的第二端口对应的内存区,将所述待处理报文传输至所述宿主机中对应的目标网元之前,所述方法还包括:
获取所述待处理报文中当前携带的报文相关标识;
在所述目的地址未命中所述第一转发表的情况下,基于所述报文相关标识查询第二转发表,以确定所述报文相关标识是否命中所述第二转发表;
在所述报文相关标识命中所述第二转发表的情况下,将所述报文相关标识在所述第二转发表中命中的虚拟网元,确定为所述目标网元。
5.根据权利要求4所述的方法,其特征在于,所述将所述待处理报文通过所述第一端口转发至边缘网络中对应的网元之前,所述方法还包括:
在所述目的地址命中所述第一转发表的情况下,基于所述报文相关标识查询第三转发表,以确定所述报文相关标识是否命中所述第三转发表;
在所述报文相关标识命中所述第三转发表的情况下,将所述报文相关标识在所述第三转发表中命中的网元,确定为所述边缘网络中对应的网元。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述报文相关标识未命中所述第二转发表或者未命中所述第三转发表的情况下,将所述报文相关标识与第四转发表进行匹配,以确定所述报文相关标识是否命中所述第四转发表;
若命中所述第四转发表,则基于所述第一端口将所述待处理报文转发给其他网元;
若未命中所述第四转发表,则丢弃所述待处理报文。
7.根据权利要求4所述的方法,其特征在于,所述第一端口配置有至少一个通信信道;所述将处理后的所述待处理报文转发至核心网络中对应的外部网元,包括:
获取处理后的所述待处理报文中当前携带的报文相关标识;
在所述报文相关标识命中所述第二转发表的情况下,将所述报文相关标识在所述第二转发表中命中的外部网元,确定为所述核心网络中对应的外部网元,以及,获取所述报文相关标识在所述第二转发表中命中的外部网元对应的通信信道索引;
基于所述通信信道索引指示的通信信道,将所述待处理报文转发至所述核心网络中对应的外部网元。
8.根据权利要求1所述的方法,其特征在于,所述基于所述虚拟交换机中第二端口对应的内存区,将所述待处理报文传输至所述宿主机中对应的目标网元,包括:
根据所述待处理报文的报文相关标识进行哈希处理,得到所述报文相关标识对应的哈希值;
根据所述哈希值将所述待处理报文写入所述目标网元对应的第二端口的内存区中;所述目标网元用于从所述内存区中读取待处理报文。
9.根据权利要求8所述的方法,其特征在于,所述目标网元还用于将处理后的所述待处理报文写入所述内存区的接收队列;所述基于所述第二端口对应的内存区,获取处理后的所述待处理报文,包括:直接从所述接收队列中读取处理后的所述待处理报文。
10.根据权利要求1所述的方法,其特征在于,所述将所述待处理报文传输至所述宿主机中对应的目标网元之前,所述方法还包括:
将所述待处理报文中的报文相关标识写入指定的报文区域,以基于目标网元根据所述报文区域中的报文相关标识对所述待处理报文进行指定处理。
11.一种报文处理装置,其特征在于,所述装置应用于部署在宿主机上的虚拟交换机,所述装置包括:
传输模块,用于响应于从所述虚拟交换机的第一端口接收的待处理报文,在所述待处理报文的流类型为核心流量的情况下,基于所述虚拟交换机的第二端口对应的内存区,将所述待处理报文传输至所述宿主机中对应的目标网元,以对所述待处理报文进行指定处理;
第一转发模块,用于基于所述第二端口对应的内存区,获取处理后的所述待处理报文,并将处理后的所述待处理报文转发至核心网络中对应的外部网元;
第二转发模块,用于在所述流类型为边缘流量的情况下,将所述待处理报文通过所述第一端口转发至边缘网络中对应的网元。
12.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-10中一个或多个所述的方法。
13.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1-10中一个或多个所述的方法。
CN202111647337.8A 2021-12-29 2021-12-29 报文处理方法、装置、电子设备及可读存储介质 Active CN114430394B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111647337.8A CN114430394B (zh) 2021-12-29 2021-12-29 报文处理方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111647337.8A CN114430394B (zh) 2021-12-29 2021-12-29 报文处理方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN114430394A CN114430394A (zh) 2022-05-03
CN114430394B true CN114430394B (zh) 2023-06-23

Family

ID=81311108

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111647337.8A Active CN114430394B (zh) 2021-12-29 2021-12-29 报文处理方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN114430394B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115002016B (zh) * 2022-05-17 2023-08-22 阿里云计算有限公司 报文处理***、方法、设备和存储介质
CN115334035B (zh) * 2022-07-15 2023-10-10 天翼云科技有限公司 一种报文转发方法、装置、电子设备及存储介质
CN115277558B (zh) * 2022-07-29 2024-06-07 中国电信股份有限公司 报文发送方法、装置、计算机存储介质及电子设备
CN115996203B (zh) * 2023-03-22 2023-06-06 北京华耀科技有限公司 网络流量分域方法、装置、设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101142791A (zh) * 2005-02-14 2008-03-12 特利亚索内拉股份公司 用于在自治***之间提供虚拟专用网络服务的方法
CN105991438A (zh) * 2015-01-30 2016-10-05 华为技术有限公司 基于虚拟二层网络中数据包的处理方法和装置
CN108075956A (zh) * 2016-11-16 2018-05-25 新华三技术有限公司 一种数据处理方法和装置
WO2018205982A1 (zh) * 2017-05-11 2018-11-15 中兴通讯股份有限公司 软件定义网络中广播、组播实现方法、装置及存储介质
CN111565142A (zh) * 2020-07-15 2020-08-21 鹏城实验室 报文处理方法、装置及计算机可读存储介质
CN111953553A (zh) * 2019-05-16 2020-11-17 华为技术有限公司 一种报文的检测方法、设备及***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10148458B2 (en) * 2016-11-11 2018-12-04 Futurewei Technologies, Inc. Method to support multi-protocol for virtualization
US10425325B2 (en) * 2017-10-30 2019-09-24 Dell Products Lp Optimizing traffic paths to orphaned hosts in VXLAN networks using virtual link trunking-based multi-homing
US10826816B2 (en) * 2018-05-15 2020-11-03 Cisco Technology, Inc. Method and system for core network support of access network protocols in multi-homed redundancy groups

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101142791A (zh) * 2005-02-14 2008-03-12 特利亚索内拉股份公司 用于在自治***之间提供虚拟专用网络服务的方法
CN105991438A (zh) * 2015-01-30 2016-10-05 华为技术有限公司 基于虚拟二层网络中数据包的处理方法和装置
CN108075956A (zh) * 2016-11-16 2018-05-25 新华三技术有限公司 一种数据处理方法和装置
WO2018205982A1 (zh) * 2017-05-11 2018-11-15 中兴通讯股份有限公司 软件定义网络中广播、组播实现方法、装置及存储介质
CN111953553A (zh) * 2019-05-16 2020-11-17 华为技术有限公司 一种报文的检测方法、设备及***
CN111565142A (zh) * 2020-07-15 2020-08-21 鹏城实验室 报文处理方法、装置及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SDN网络虚拟化中规则映射研究;李佟;韩春静;李俊;;计算机***应用(第09期);全文 *

Also Published As

Publication number Publication date
CN114430394A (zh) 2022-05-03

Similar Documents

Publication Publication Date Title
CN114430394B (zh) 报文处理方法、装置、电子设备及可读存储介质
US10237230B2 (en) Method and system for inspecting network traffic between end points of a zone
CN109962832B (zh) 报文处理的方法和装置
CN108449282B (zh) 一种负载均衡方法及其装置
US10447600B2 (en) Load balancing method, device and system for service function chain
US10461958B2 (en) Packet transmission method and apparatus
CN105939239B (zh) 虚拟网卡的数据传输方法及装置
CN106254256B (zh) 基于三层vxlan网关的数据报文转发方法和设备
CN110071878B (zh) 报文流量统计方法、装置、电子设备
CN112243046B (zh) 通信方法和网卡
CN105991444B (zh) 业务处理的方法和装置
CN109495320B (zh) 一种数据报文的传输方法和装置
CN106341338B (zh) 一种报文的转发方法及装置
US9124529B1 (en) Methods and apparatus for assessing the quality of a data path including both layer-2 and layer-3 devices
US11323485B2 (en) Network traffic switching for virtual machines
CN112887229B (zh) 一种会话信息同步方法及装置
CN111147519A (zh) 数据检测方法、装置、电子设备和介质
CN109246016B (zh) 跨vxlan的报文处理方法和装置
US10887234B1 (en) Programmatic selection of load balancing output amongst forwarding paths
CN115834472A (zh) 一种报文处理方法、转发策略获取方法及装置
US20170230246A1 (en) Method and apparatus for processing service node ability, service classifier and service controller
CN113709016B (zh) 通信***以及通信方法、装置、设备和存储介质
CN108173762B (zh) 报文重定向方法和装置
CN112565044A (zh) 报文处理方法及装置
US20230018873A1 (en) Method and system for processing encapsulated wireless traffic

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