CN113098954B - 报文转发方法、装置、计算机设备和存储介质 - Google Patents
报文转发方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113098954B CN113098954B CN202110342400.0A CN202110342400A CN113098954B CN 113098954 B CN113098954 B CN 113098954B CN 202110342400 A CN202110342400 A CN 202110342400A CN 113098954 B CN113098954 B CN 113098954B
- Authority
- CN
- China
- Prior art keywords
- message
- message data
- forwarding
- data
- tracking table
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
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
技术领域
本申请涉及云传输领域,尤其涉及一种报文转发方法、装置、计算机设备和存储介质。
背景技术
在云环境中,由于有些服务资源无法部署到虚拟私有云网络中,因此需要将这些服务资源采用传统方式部署到虚拟网络环境中的虚拟网络设备。当虚拟私有云网络中的虚拟可扩展网络设备访问虚拟网络设备中的服务资源时,报文数据需经过虚拟扩展局域网三层网关进行解封装、路由查找和转发。因此,报文数据经虚拟扩展局域网三层网关进行路径绕行后转发,不仅增加了延迟时间,而且还会对虚拟扩展局域网三层网关造成很大的负载,降低了虚拟扩展局域网三层网关的性能。
因此如何减少报文数据的延迟时间和提高虚拟扩展局域网三层网关的性能成为亟需解决的问题。
发明内容
本申请提供了一种报文转发方法、装置、计算机设备和存储介质,通过根据来程方向的报文数据,创建用于对回程方向的报文数据进行会话匹配的连接跟踪表,实现报文数据无需经虚拟扩展局域网三层网关转发,可以减少报文数据的延迟时间和提高虚拟扩展局域网三层网关的性能。
第一方面,本申请提供了一种报文转发方法,所述方法包括:
获取待转发的报文数据,确定所述报文数据的转发方向;
当所述转发方向为来程方向时,若所述报文数据的报文类型为虚拟可扩展网络报文,则创建所述报文数据的连接跟踪表,并将所述报文数据发送至虚拟网络设备;
当所述转发方向为回程方向时,根据所述连接跟踪表对所述报文数据进行会话匹配,并根据会话匹配结果将所述报文数据发送至虚拟可扩展网络设备。
第二方面,本申请还提供了一种报文转发装置,所述装置包括:
转发方向确定模块,用于获取待转发的报文数据,确定所述报文数据的转发方向;
连接跟踪表生成模块,用于当所述转发方向为来程方向时,若所述报文数据的报文类型为虚拟可扩展网络报文,则创建所述报文数据的连接跟踪表,并将所述报文数据发送至虚拟网络设备;
会话匹配模块,用于当所述转发方向为回程方向时,根据所述连接跟踪表对所述报文数据进行会话匹配,并根据会话匹配结果将所述报文数据发送至虚拟可扩展网络设备。
第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的报文转发方法。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的报文转发方法。
本申请公开了一种报文转发方法、装置、计算机设备和存储介质,通过获取待转发的报文数据,确定报文数据的转发方向,后续可以根据转发方向对报文数据进行不同的加工处理;通过在确定转发方向为来程方向并且报文数据的报文类型为虚拟可扩展网络报文时,创建用于对回程方向的报文数据进行会话匹配的连接跟踪表,实现自动、按需生成连接跟踪表,无需专门的控制面增加连接跟踪表,简化了隧道配置;通过确定在转发方向为回程方向时,根据连接跟踪表对报文数据进行会话匹配,并根据会话匹配结果将报文数据发送至虚拟可扩展网络设备,实现报文数据无需经虚拟扩展局域网三层网关转发,减少了报文数据的延迟时间和提高虚拟扩展局域网三层网关的性能。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种报文转发方法的示意性流程图;
图2是通过虚拟扩展局域网三层网关转发报文数据的示意图;
图3是本申请实施例提供的一种通过ABTO模块进行转发报文数据的示意图;
图4是本申请实施例提供的一种来程方向的报文数据转发的示意图;
图5是本申请实施例提供的一种回程方向的报文数据转发的示意图;
图6是本申请实施例提供的一种判断报文数据对应的报文类型的子步骤的示意性流程图;
图7是本申请实施例提供的一种对报文数据进行封装的子步骤的示意性流程图;
图8是本申请实施例提供的一种报文转发装置的示意性框图;
图9是本申请实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请的实施例提供了一种报文转发方法、装置、计算机设备和存储介质。其中,该报文转发方法可以应用于ABTO(Auto Back TO Overlay,自动回到叠加网络)模块中,通过根据来程方向的报文数据,创建用于对回程方向的报文数据进行会话匹配的连接跟踪表,实现报文数据无需经虚拟扩展局域网三层网关转发,可以减少报文数据的延迟时间和提高虚拟扩展局域网三层网关的性能。
需要说明的是,在本申请实施例中,ABTO模块可以是一个独立的有状态虚拟网络功能(Virtual Network Function,VNF)的设备,也可以是安装在虚拟网络设备中的内核模块,用于替代虚拟扩展局域网三层网关进行转发报文数据。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
如图1所示,报文转发方法包括步骤S10至步骤S30。
步骤S10、获取待转发的报文数据,确定所述报文数据的转发方向。
请参阅图2,图2是现有技术中通过虚拟扩展局域网三层网关(VxLAN IPGW)进行转发报文数据的示意图。如图2所示,在现有技术中,虚拟网络设备与虚拟可扩展网络设备需要通过虚拟扩展局域网三层网关进行转发报文数据。需要说明的是,虚拟网络设备是是指应用在VLAN(Virtual Local Area Network,虚拟局域网)网络中的设备,虚拟可扩展网络设备是指应用在VxLAN(Virtual eXtensible Local Area Network,虚拟可扩展局域网)网络中的设备。其中,虚拟扩展局域网三层网关用于非同一网段的终端用户通信,或VxLAN网络和非VxLAN网络的用户间的通信。
请参阅图3,图3是本申请实施例提供的一种通过ABTO模块进行转发报文数据的示意图。在本申请实施例中,可以在虚拟网络设备中安装ABTO模块,也可以将ABTO模块与虚拟网络设备通信连接。通过增加ABTO模块转发报文,实现无需经过虚拟扩展局域网三层网关,就可以转发虚拟可扩展网络设备与虚拟网络设备之间的报文数据,可以减少报文数据的延迟时间和提高虚拟扩展局域网三层网关的性能。通过增加ABTO模块转发报文,还可以使得虚拟网络设备无法主动访问虚拟可扩展网络设备,可以实现安全隔离,提高了安全防护。
示例性的,ABTO模块可以获取PREROUTING链中的将要进入虚拟网络设备的报文数据,还可以获取OUTPUT链中将要发送至虚拟可扩展网络设备的报文数据。例如,可以监控PREROUTING链与OUTPUT链中的报文,当PREROUTING链或OUTPUT链存在报文时,将存在的报文确定为待转发的报文数据。
需要说明的在,在netfilter框架中,PREROUTING链用于接收来自网络的报文数据;OUTPUT链用于将处理后的报文数据发送至POSTROUTING链,以使POSTROUTING链将报文数据发送到网络。
在本申请实施例中,在获取待转发的报文数据之后,还需要确定报文数据的转发方向,进而根据转发方向对报文数据进行不同的加工处理。
在一些实施例中,确定报文数据的转发方向,包括:根据报文数据对应的来源信息或目的信息,确定转发方向。
需要说明的是,报文数据可以包括来源信息和目的信息。其中,来源信息可以包括来源IP(Internet Protocol,互联网协议)地址和来源MAC(Media Access Control,介质访问控制)地址;目的信息可以包括目的IP地址和目的MAC地址。
示例性的,转发方向可以包括来程方向与回程方向。其中,来程方向是指报文数据由虚拟可扩展网络设备发送至虚拟网络设备的方向;回程方向是指报文数据由虚拟网络设备发送至虚拟可扩展网络设备的方向。
请参阅图4,图4是本申请实施例提供的一种来程方向的报文数据转发的示意图。如图4所示,当报文数据对应的来源信息为虚拟网络设备对应的信息时,可以确定转发方向为由虚拟可扩展网络设备至虚拟网络设备。例如,若报文数据对应的来源IP地址为虚拟网络设备对应的IP地址,则可以确定转发方向为来程方向。
请参阅图5,图5是本申请实施例提供的一种回程方向的报文数据转发的示意图。如图5所示,当报文数据对应的来源信息为虚拟网络设备对应的信息时,例如,报文数据对应的来源IP地址为虚拟网络设备对应的IP地址,可以确定转发方向为由虚拟网络设备至虚拟可扩展网络设备,即转发方向为回程方向。
通过根据报文数据对应的来源信息或目的信息,可以准确地确定转发方向,从而可以实现对不同转发方向的报文数据进行不同的加工处理。
步骤S20、当所述转发方向为来程方向时,若所述报文数据的报文类型为虚拟可扩展网络报文,则创建所述报文数据的连接跟踪表,并将所述报文数据发送至虚拟网络设备。
在本申请实施例中,在确定报文数据对应的转发方向为来程方向之后,需要判断报文数据的报文类型,进而根据判断结果确定是否创建报文数据的连接跟踪表。
示例性的,报文类型包括虚拟可扩展网络(VxLAN)报文与非虚拟可扩展网络报文。非虚拟可扩展网络报文是指不是VxLAN报文的报文,例如,非虚拟可扩展网络报文可以是VLAN(虚拟网络)报文,也可以是其它类型的报文,在此不作限定。
需要说明的是,VxLAN报文是指虚拟可扩展网络设备封装好后发送的报文;由于封装好的VxLAN报文包括外层报文和内层报文,因此可以通过判断报文数据是否存在外层报文和内层报文,进而判断报文数据是否为VxLAN报文。
请参阅图6,图6是本申请实施例提供的一种判断报文数据对应的报文类型的子步骤的示意性流程图,具体可以包括以下步骤S201至步骤S203。
步骤S201、确定所述报文数据是否存在外层报文和内层报文。
示例性的,外层报文可以包括:来源IP:AA,目的IP:B。内层报文可以包括:来源IP:A,目的IP:B,来源MAC:A-AMC,目的源MAC:B-AMC,VNI:Y。其中,字段AA表示来源主机的IP地址;B表示目的主机的IP地址;来源MAC表示来源主机的MAC地址;VNI(VXLAN NetworkIdentifier,Vxlan网络标识符)表示来源主机的网络标识符。
在本申请实施例中,可以通过判断报文数据是否存在外层报文和内层报文,进而确定报文数据的报文类型。
步骤S202、当所述报文数据存在所述外层报文与所述内层报文时,确定所述报文数据的报文类型为虚拟可扩展网络报文。
在本申请实施例中,当识别出报文数据存在外层报文且存在内层报文时,可以确定报文数据对应的报文类型为虚拟可扩展网络报文。
通过根据报文数据的结构判断报文数据的报文类型,可以实现在报文数据的报文类型为虚拟可扩展网络报文时,有针对性地创建报文数据对应的连接跟踪表。
在一些实施例中,在确定报文数据的报文类型为虚拟可扩展网络报文之后,可以创建报文数据的连接跟踪表。
需要说明的是,每一个报文数据,都有“来源”主机与“目的”主机,发起连接的主机称为来源主机,响应“来源”的请求的主机即为目的主机;连接跟踪表用于对每一个连接的产生、传输及终止进行跟踪记录。连接跟踪表是一个以散列值排列的双向链表数值,链表中的元素为每个连接对应的ip_conntrack_tuple_hash结构。
在一些实施例中,创建报文数据的连接跟踪表,可以包括:基于预设的哈希算法,确定报文数据中的目的信息对应的哈希值;将哈希值添加至初始连接跟踪表,获得报文数据对应的连接跟踪表。
示例性的,预设的哈希算法可以包括但不限于SHA-1算法、SHA-2算法以及SHA-256算法等等。例如,基于SHA-256算法,计算报文数据的目的信息对应的哈希值;然后将哈希值添加至初始连接跟踪表,获得报文数据对应的连接跟踪表。例如,可以根据哈希值在初始连接跟踪表中生成对应的ip_conntrack_tuple_hash结构,从而得到报文数据对应的连接跟踪表。
为进一步保证上述连接跟踪表的私密和安全性,上述连接跟踪表还可以存储于一区块链的节点中。
通过在确定转发方向为来程方向并且报文数据的报文类型为虚拟可扩展网络报文时,创建用于对回程方向的报文数据进行会话匹配的连接跟踪表,实现自动、按需生成连接跟踪表,无需专门的控制面增加连接跟踪表,简化了隧道配置。
在一些实施例中,在创建报文数据对应的连接跟踪表之后,还可以包括:获取报文数据的内层报文中的来源信息;将来源信息与连接跟踪表进行关联存储。
示例性的,可以将来源信息与连接跟踪表进行关联存储至本地数据库或本地磁盘中。
需要说明的是,通过将来源信息与连接跟踪表进行关联存储,可以在接收到报文数据对应的应答报文时,可以通过查询关联存储的连接跟踪表与来源信息,进而确定应答报文对应的目的信息,实现根据目的信息对应答报文进行封装处理。
在本申请实施例中,在创建报文数据对应的连接跟踪表之后,可以将报文数据发送至虚拟网络设备。
在一些实施例中,在将报文数据发送至虚拟网络设备之前,可以对报文数据进行解封装处理,然后将解封装得到的报文发送至虚拟网络设备。
示例性的,对报文数据进行解封装处理,可以根据报文数据的封装协议剥离报文数据的报文头,例如,将报文数据的外层报文去除。其中,封装协议可以包括但不限于VxLAN协议、GRE(Generic Routing Encapsulation,通用路由封装)协议、IPIP协议等等。
示例性的,可以解封装得到的报文发送至后路由链中,以使后路由链对报文进行路由转发至虚拟网络设备。
需要说明的是,在netfilter框架中,后路由(POSTROUTING)链用于将报文数据发送到网络。
通过对报文数据进行解封装处理,无需经过虚拟扩展局域网三层网关进行解封装,降低了报文数据的延迟时间。
步骤S203、当所述报文数据不存在所述外层报文和/或所述内层报文时,确定所述报文数据的报文类型为非虚拟可扩展网络报文。
例如,当识别出报文数据不存在外层报文时,可以确定报文数据对应的报文类型为非虚拟可扩展网络报文。
例如,当识别出报文数据不存在内层报文时,可以确定报文数据对应的报文类型为非虚拟可扩展网络报文。
又例如,示例性的,当识别出报文数据不存在外层报文和不存在内层报文时,可以确定报文数据对应的报文类型为非虚拟可扩展网络报文。
在一些实施例中,在确定报文数据的报文类型为非虚拟可扩展网络报文之后,可以将报文数据发送至后路由链中,以使后路由链对报文数据进行路由转发。
示例性的,ABTO模块可以将报文数据发送至POSTROUTING链中,以使POSTROUTING对报文数据进行路由转发。其中,路由转发的具体过程,在此不作限定。
通过在确定报文数据的报文类型为非虚拟可扩展网络报文时,将报文数据发送至后路由链进行路由转发,无需对非虚拟可扩展网络报文进行封装处理,从而降低了报文数据的延迟时间。
步骤S30、当所述转发方向为回程方向时,根据所述连接跟踪表对所述报文数据进行会话匹配,并根据会话匹配结果将所述报文数据发送至虚拟可扩展网络设备。
示例性的,可以根据预先创建的连接跟踪表,对回程方向的报文数据进行会话匹配,从而可以确定回程方向的报文数据是否存在对应的连接跟踪表。可以理解的是,若报文数据存在对应的连接跟踪表,则说明该报文数据是来程方向的报文数据对应的应答报文。
需要说明的是,会话匹配是指根据报文数据的哈希值,查询连接跟踪表上是否存在相同的哈希值;当存在相同的哈希值时,则确定报文数据匹配成功,报文数据存在对应的连接跟踪表。
示例性的,转发方向为回程方向的报文数据包括来源信息,但不包括目的信息。例如,来源信息包括:来源IP:B,来源MAC:B-AMC。计算报文数据的哈希值,可以基于预设的哈希算法,计算报文数据中的来源信息对应的哈希值。
通过确定在转发方向为回程方向时,根据连接跟踪表对报文数据进行会话匹配,并根据会话匹配结果将报文数据发送至虚拟可扩展网络设备,实现报文数据无需经虚拟扩展局域网三层网关转发,减少了报文数据的延迟时间和提高虚拟扩展局域网三层网关的性能。
在一些实施例中,根据会话匹配结果将报文数据发送至虚拟可扩展网络设备,可以包括:当报文数据匹配失败时,将报文数据发送至虚拟可扩展网络设备。
示例性的,当确定报文数据匹配失败时,ABTO模块可以将报文数据发送至POSTROUTING链中,以使POSTROUTING对报文数据进行路由转发至虚拟可扩展网络设备。可以理解的是,若报文数据匹配失败,则说明该报文数据不是来程方向的报文数据对应的应答报文,从而无需对该报文数据进行封装处理,而是直接将报文数据发送至虚拟可扩展网络设备。
在另一些实施例中,根据会话匹配结果将报文数据发送至虚拟可扩展网络设备,还可以包括:当报文数据匹配成功时,对报文数据进行封装,并将封装得到的目标报文数据发送至虚拟可扩展网络设备。
请参阅图7,图7是本申请实施例提供的一种对报文数据进行封装的子步骤的示意性流程图,具体可以包括以下步骤S301至步骤S303。
步骤S301、查询关联存储的连接跟踪表与来源信息,确定所述连接跟踪表对应的所述来源信息。
示例性的,基于连接跟踪表与来源信息之间预设的对应关系,根据报文数据的连接跟踪表对应的来源信息。例如,来源信息可以包括:来源IP:A,来源MAC:A-AMC,VNI:Y。
通过查询关联存储的连接跟踪表与来源信息,可以确定连接跟踪表对应的来源信息,进而可以根据来源信息,确定报文数据对应的目的信息。
步骤S302、根据所述来源信息,确定所述报文数据对应的目的信息。
需要说明的是,由于此时的报文数据不包括目的信息,因此需要根据来程时的来源信息确定目的信息。
示例性的,可以将来源信息:来源IP:A,来源MAC:A-AMC,VNI:Y,作为报文数据对应的目的信息。例如,目的信息包括:目的IP:A,目的MAC:A-AMC,VNI:Y。
步骤S303、根据所述目的信息对所述报文数据进行封装处理。
示例性的,根据目的信息对报文数据进行封装处理,封装得到VxLAN报文。在封装处理时,需要将目的信息添加至报文数据中。其中,具体的封装处理过程在此不作限定。
例如,封装后的报文数据包括:目的IP:A,目的MAC:A-AMC,VNI:Y,来源IP:B,来源MAC:B-AMC。
在一些实施例中,在对报文数据进行封装之后,可以将封装得到的报文数据发送至虚拟可扩展网络设备。示例性的,可以将报文数据发送至POSTROUTING链中,以使POSTROUTING对报文数据进行路由转发至虚拟可扩展网络设备。
通过根据目的信息对报文数据进行封装处理,并将封装得到的报文数据发送至虚拟可扩展网络设备,实现无需对非虚拟可扩展网络报文进行封装处理,从而降低了报文数据的延迟时间和提高虚拟扩展局域网三层网关的性能。
上述实施例提供的报文转发方法,通过增加ABTO模块转发报文,实现无需经过虚拟扩展局域网三层网关,就可以转发虚拟可扩展网络设备与虚拟网络设备之间的报文数据,可以减少报文数据的延迟时间和提高虚拟扩展局域网三层网关的性能;通过增加ABTO模块转发报文,还可以使得虚拟网络设备无法主动访问虚拟可扩展网络设备,可以实现安全隔离,提高了安全防护;通过根据报文数据对应的来源信息或目的信息,可以准确地确定转发方向,从而可以实现对不同转发方向的报文数据进行不同的加工处理;通过根据报文数据的结构判断报文数据的报文类型,可以实现在报文数据的报文类型为虚拟可扩展网络报文时,有针对性地创建报文数据对应的连接跟踪表;通过在确定转发方向为来程方向并且报文数据的报文类型为虚拟可扩展网络报文时,创建用于对回程方向的报文数据进行会话匹配的连接跟踪表,实现自动、按需生成连接跟踪表,无需专门的控制面增加连接跟踪表,简化了隧道配置;通过将来源信息与连接跟踪表进行关联存储,可以在接收到报文数据对应的应答报文时,可以通过查询关联存储的连接跟踪表与来源信息,进而确定应答报文对应的目的信息,实现根据目的信息对应答报文进行封装处理;通过对报文数据进行解封装处理,无需经过虚拟扩展局域网三层网关进行解封装,降低了报文数据的延迟时间;通过在确定报文数据的报文类型为非虚拟可扩展网络报文时,将报文数据发送至后路由链进行路由转发,无需对非虚拟可扩展网络报文进行封装处理,从而降低了报文数据的延迟时间;通过确定在转发方向为回程方向时,根据连接跟踪表对报文数据进行会话匹配,并根据会话匹配结果将报文数据发送至虚拟可扩展网络设备,实现报文数据无需经虚拟扩展局域网三层网关转发,减少了报文数据的延迟时间和提高虚拟扩展局域网三层网关的性能;通过查询关联存储的连接跟踪表与来源信息,可以确定连接跟踪表对应的来源信息,进而可以根据来源信息,确定报文数据对应的目的信息;通过根据目的信息对报文数据进行封装处理,并将封装得到的报文数据发送至虚拟可扩展网络设备,实现无需对非虚拟可扩展网络报文进行封装处理,从而降低了报文数据的延迟时间和提高虚拟扩展局域网三层网关的性能。
请参阅图8,图8是本申请实施例还提供一种报文转发装置1000的示意性框图,该报文转发装置用于执行前述的报文转发方法。
如图8所示,该报文转发装置1000,包括:转发方向确定模块1001、连接跟踪表生成模块1002和会话匹配模块1003。
转发方向确定模块1001,用于获取待转发的报文数据,确定所述报文数据的转发方向;
连接跟踪表生成模块1002,用于当所述转发方向为来程方向时,若所述报文数据的报文类型为虚拟可扩展网络报文,则创建所述报文数据的连接跟踪表,并将所述报文数据发送至虚拟网络设备;
会话匹配模块1003,用于当所述转发方向为回程方向时,根据所述连接跟踪表对所述报文数据进行会话匹配,并根据会话匹配结果将所述报文数据发送至虚拟可扩展网络设备。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。
请参阅图9,图9是本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是安装有ABTO模块的服务器或终端。
请参阅图9,该计算机设备包括通过系统总线连接的处理器和存储器,其中,存储器可以包括非易失性存储介质和内存储器。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种报文转发方法。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取待转发的报文数据,确定所述报文数据的转发方向;当所述转发方向为来程方向时,若所述报文数据的报文类型为虚拟可扩展网络报文,则创建所述报文数据的连接跟踪表,并将所述报文数据发送至虚拟网络设备;当所述转发方向为回程方向时,根据所述连接跟踪表对所述报文数据进行会话匹配,并根据会话匹配结果将所述报文数据发送至虚拟可扩展网络设备。
在一个实施例中,所述报文类型包括虚拟可扩展网络报文与非虚拟可扩展网络报文,所述处理器还用于实现:
确定所述报文数据是否存在外层报文和内层报文;当所述报文数据存在所述外层报文与所述内层报文时,确定所述报文数据的报文类型为虚拟可扩展网络报文;当所述报文数据不存在所述外层报文和/或所述内层报文时,确定所述报文数据的报文类型为非虚拟可扩展网络报文。
在一个实施例中,所述处理器还用于实现:
若所述报文数据的报文类型为非虚拟可扩展网络报文时,将所述报文数据发送至后路由链中,以使所述后路由链对所述报文数据进行路由转发。
在一个实施例中,所述处理器在实现创建所述报文数据对应的连接跟踪表时,用于实现:
基于预设的哈希算法,确定所述报文数据中的目的信息对应的哈希值;将所述哈希值添加至初始连接跟踪表,获得所述报文数据对应的所述连接跟踪表。
在一个实施例中,所述处理器在实现根据会话匹配结果将所述报文数据发送至虚拟可扩展网络设备时,用于实现:
当所述报文数据匹配失败时,将所述报文数据发送至所述虚拟可扩展网络设备;当所述报文数据匹配成功时,对所述报文数据进行封装,并将封装得到的目标报文数据发送至所述虚拟可扩展网络设备。
在一个实施例中,所述处理器在实现创建所述报文数据对应的连接跟踪表之后,还用于实现:
获取所述报文数据的内层报文中的来源信息;将所述来源信息与所述连接跟踪表进行关联存储。
在一个实施例中,所述处理器在实现对所述报文数据进行封装时,用于实现:
查询关联存储的连接跟踪表与来源信息,确定所述连接跟踪表对应的所述来源信息;根据所述来源信息,确定所述报文数据对应的目的信息;根据所述目的信息对所述报文数据进行封装处理。
在一个实施例中,所述处理器在实现确定所述报文数据的转发方向时,用于实现:
根据所述报文数据对应的来源信息或目的信息,确定所述转发方向。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项报文转发方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字卡(Secure Digital Card,SD Card),闪存卡(Flash Card)等。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种报文转发方法,其特征在于,应用于ABTO模块,所述ABTO模块是独立的有状态虚拟网络功能的设备或安装在虚拟网络设备中的内核模块,所述方法包括:
获取待转发的报文数据,确定所述报文数据的转发方向;
当所述转发方向为来程方向时,确定所述报文数据是否存在外层报文和内层报文;当所述报文数据存在所述外层报文与所述内层报文时,确定所述报文数据的报文类型为虚拟可扩展网络报文;若所述报文数据的报文类型为虚拟可扩展网络报文,则创建所述报文数据的连接跟踪表,获取所述内层报文中的来源信息,将所述来源信息与所述连接跟踪表进行关联存储,并将所述报文数据发送至所述虚拟网络设备;
所述创建所述报文数据对应的连接跟踪表,包括:基于预设的哈希算法,确定所述报文数据中的目的信息对应的哈希值;将所述哈希值添加至初始连接跟踪表,获得所述报文数据对应的所述连接跟踪表;
当所述转发方向为回程方向时,根据所述连接跟踪表对所述报文数据进行会话匹配,并根据会话匹配结果将所述报文数据发送至虚拟可扩展网络设备。
2.根据权利要求1所述的报文转发方法,其特征在于,所述报文类型还包括非虚拟可扩展网络报文,所述方法还包括:
当所述报文数据不存在所述外层报文和/或所述内层报文时,确定所述报文数据的报文类型为非虚拟可扩展网络报文。
3.根据权利要求1所述的报文转发方法,其特征在于,所述方法还包括:
若所述报文数据的报文类型为非虚拟可扩展网络报文时,将所述报文数据发送至后路由链中,以使所述后路由链对所述报文数据进行路由转发。
4.根据权利要求1所述的报文转发方法,其特征在于,所述根据会话匹配结果将所述报文数据发送至虚拟可扩展网络设备,包括:
当所述报文数据匹配失败时,将所述报文数据发送至所述虚拟可扩展网络设备;
当所述报文数据匹配成功时,对所述报文数据进行封装,并将封装得到的目标报文数据发送至所述虚拟可扩展网络设备。
5.根据权利要求4所述的报文转发方法,其特征在于,所述对所述报文数据进行封装,包括:
查询关联存储的连接跟踪表与来源信息,确定所述连接跟踪表对应的所述来源信息;
根据所述来源信息,确定所述报文数据对应的目的信息;
根据所述目的信息对所述报文数据进行封装处理。
6.根据权利要求1-5任一项所述的报文转发方法,其特征在于,所述确定所述报文数据的转发方向,包括:
根据所述报文数据对应的来源信息或目的信息,确定所述转发方向。
7.一种报文转发装置,其特征在于,所述报文转发装置设置于ABTO模块中,所述ABTO模块是独立的有状态虚拟网络功能的设备或安装在虚拟网络设备中的内核模块,所述装置包括:
转发方向确定模块,用于获取待转发的报文数据,确定所述报文数据的转发方向;
连接跟踪表生成模块,用于当所述转发方向为来程方向时,确定所述报文数据是否存在外层报文和内层报文;当所述报文数据存在所述外层报文与所述内层报文时,确定所述报文数据的报文类型为虚拟可扩展网络报文;若所述报文数据的报文类型为虚拟可扩展网络报文,则创建所述报文数据的连接跟踪表,获取所述内层报文中的来源信息,将所述来源信息与所述连接跟踪表进行关联存储,并将所述报文数据发送至所述虚拟网络设备;
所述连接跟踪表生成模块,还用于基于预设的哈希算法,确定所述报文数据中的目的信息对应的哈希值;将所述哈希值添加至初始连接跟踪表,获得所述报文数据对应的所述连接跟踪表;
会话匹配模块,用于当所述转发方向为回程方向时,根据所述连接跟踪表对所述报文数据进行会话匹配,并根据会话匹配结果将所述报文数据发送至虚拟可扩展网络设备。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至6任一项所述的报文转发方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至6任一项所述的报文转发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110342400.0A CN113098954B (zh) | 2021-03-30 | 2021-03-30 | 报文转发方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110342400.0A CN113098954B (zh) | 2021-03-30 | 2021-03-30 | 报文转发方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113098954A CN113098954A (zh) | 2021-07-09 |
CN113098954B true CN113098954B (zh) | 2022-10-25 |
Family
ID=76671714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110342400.0A Active CN113098954B (zh) | 2021-03-30 | 2021-03-30 | 报文转发方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113098954B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888386A (zh) * | 2012-12-24 | 2014-06-25 | 华为技术有限公司 | 可扩展虚拟局域网报文的传输方法及装置、系统 |
CN106209637A (zh) * | 2015-05-04 | 2016-12-07 | 杭州华三通信技术有限公司 | 从虚拟可扩展局域网至虚拟局域网的报文转发方法和设备 |
CN106411924A (zh) * | 2016-10-24 | 2017-02-15 | 杭州迪普科技有限公司 | 一种创建会话转发表项的方法、转发报文的方法及装置 |
CN107846358A (zh) * | 2016-09-19 | 2018-03-27 | 北京金山云网络技术有限公司 | 一种数据传输方法、装置及网络系统 |
WO2018059284A1 (zh) * | 2016-09-27 | 2018-04-05 | 阿里巴巴集团控股有限公司 | 一种数据传输的方法及网络设备 |
CN112019420A (zh) * | 2020-09-04 | 2020-12-01 | 苏州盛科科技有限公司 | 一种vxlan边缘节点组播报文转发的实现方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10476699B2 (en) * | 2018-01-31 | 2019-11-12 | Hewlett Packard Enterprise Development Lp | VLAN to VXLAN translation using VLAN-aware virtual machines |
-
2021
- 2021-03-30 CN CN202110342400.0A patent/CN113098954B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888386A (zh) * | 2012-12-24 | 2014-06-25 | 华为技术有限公司 | 可扩展虚拟局域网报文的传输方法及装置、系统 |
CN106209637A (zh) * | 2015-05-04 | 2016-12-07 | 杭州华三通信技术有限公司 | 从虚拟可扩展局域网至虚拟局域网的报文转发方法和设备 |
CN107846358A (zh) * | 2016-09-19 | 2018-03-27 | 北京金山云网络技术有限公司 | 一种数据传输方法、装置及网络系统 |
WO2018059284A1 (zh) * | 2016-09-27 | 2018-04-05 | 阿里巴巴集团控股有限公司 | 一种数据传输的方法及网络设备 |
CN106411924A (zh) * | 2016-10-24 | 2017-02-15 | 杭州迪普科技有限公司 | 一种创建会话转发表项的方法、转发报文的方法及装置 |
CN112019420A (zh) * | 2020-09-04 | 2020-12-01 | 苏州盛科科技有限公司 | 一种vxlan边缘节点组播报文转发的实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113098954A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112470436B (zh) | 用于提供多云连通性的系统、方法、以及计算机可读介质 | |
TWI744359B (zh) | 一種資料傳輸的方法及網路設備 | |
CN113326228B (zh) | 基于远程直接数据存储的报文转发方法、装置及设备 | |
US10461958B2 (en) | Packet transmission method and apparatus | |
CN113364727A (zh) | 容器集群系统、容器控制台和服务器 | |
CN110999265A (zh) | 管理云计算服务端点和虚拟机之间的网络连接性 | |
CN108600109B (zh) | 一种报文转发方法和装置 | |
CN115589383B (zh) | 基于eBPF的虚拟机数据传输方法、装置、设备、存储介质和程序产品 | |
CN111130982B (zh) | 报文转发方法、装置、网关设备及可读存储介质 | |
CN113364660A (zh) | Lvs负载均衡中的数据包处理方法及装置 | |
CN116633934A (zh) | 负载均衡方法、装置、节点及存储介质 | |
CN110995829A (zh) | 实例调用方法、装置及计算机存储介质 | |
CN111130978B (zh) | 网络流量转发方法、装置、电子设备及机器可读存储介质 | |
CN113098954B (zh) | 报文转发方法、装置、计算机设备和存储介质 | |
CN108471374B (zh) | 数据报文的转发方法及装置 | |
CN109818912B (zh) | 防范泛洪攻击的方法、装置、负载均衡设备和存储介质 | |
CN111800340B (zh) | 数据包转发方法和装置 | |
CN111010344B (zh) | 报文转发方法、装置、电子设备及机器可读存储介质 | |
CN113709016B (zh) | 通信系统以及通信方法、装置、设备和存储介质 | |
CN112019418B (zh) | 基于野蛮模式的IPSec隧道建立方法及其装置 | |
CN105763414A (zh) | 一种表项的学习方法和装置 | |
CN106656786B (zh) | 一种流量保护方法及装置 | |
CN115913824B (zh) | 跨vpc的虚拟服务器通信方法及系统 | |
CN115334035B (zh) | 一种报文转发方法、装置、电子设备及存储介质 | |
CN115102805B (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 |