网络系统、通信方法、网络节点和存储介质与流程
未命名
08-13
阅读:100
评论:0
1.本技术涉及网络技术领域,并且更具体地,涉及网络系统、通信方法、网络节点和存储介质。
背景技术:
2.常用的虚拟化技术有虚拟机(virtual machine)和容器(container)等,通过虚拟化技术在网络系统的物理网络节点上创建虚拟化节点,例如虚拟机节点和/或容器节点,虚拟化节点之间可以基于虚拟网络和物理网络进行通信。
3.在虚拟化节点之间采用远程直接数据存取(remote direct memory access,rdma)的方式进行数据传输的场景中,现有的网络虚拟化及和隔离技术会过多地引入对数据的额外封装,使得传输开销过大。
技术实现要素:
4.本技术提供了网络系统、通信方法、网络节点和存储介质,以减少网络系统中数据的传输开销。
5.第一方面,本技术提供了一种网络系统,包括:多个网络化节点,每个网络节点上包括一个或多个虚拟化节点,所述虚拟化节点包括容器节点和/或虚拟机节点,两个虚拟化节点之间基于远程直接数据存取rdma进行通信;其中,
6.两个虚拟化节点之间的rdma信令包用于建立所述两个虚拟化节点之间的rdma连接,所述rdma信令包的封装中包括rdma协议头部、虚拟网络ip协议头部、虚拟化协议头部和物理网络ip协议头部,所述rdma信令包的虚拟化协议头部中包括发送所述rdma信令包的虚拟化节点的虚拟化标识,不同的虚拟化标识用于标识不同的虚拟网络;
7.所述两个虚拟化节点之间的rdma数据包用于在建立rdma连接后进行数据传输,所述rdma数据包的封装中包括rdma协议头部和物理网络ip协议头部,所述rdma数据包的物理网络ip协议头部中包括发送所述rdma数据包的虚拟化节点的虚拟化标识。
8.在一种实现方式中,所述虚拟化标识为虚拟扩展局域网网络标识符vni。
9.在一种实现方式中,所述虚拟网络ip协议头部为ipv4协议头部或ipv6协议头部,所述物理网络ip协议头部为ipv4协议头部或ipv6协议头部。
10.在一种实现方式中,所述物理网络ip协议头部为ipv6协议头部,所述rdma数据包的物理网络ip协议头部中的虚拟化标识被编码在网络节点的物理网卡ipv6地址中。
11.在一种实现方式中,所述网络节点通过邻居发现nd协议报文,触发所述网络系统中的网关设备对所述网络节点的物理网卡ipv6地址进行解析以得到对应于所述网络节点的转发表项。
12.在一种实现方式中,所述rdma数据包的物理网络ip协议头部中包括发送所述rdma数据包的虚拟化节点和/或虚拟化节点所在的网络节点的流控信息。
13.在一种实现方式中,所述rdma协议头部是基于所述虚拟化节点的rdma网络标识生
成的,所述虚拟化节点的rdma网络标识基于所述虚拟化节点的虚拟话标识和所述虚拟化节点所在的网络节点的物理网卡ip地址生成。
14.第二方面,本技术提供一种通信方法,应用于网络系统中,所述网络系统包括多个网络节点,每个网络节点上包括一个或多个虚拟化节点,所述虚拟化节点包括虚拟化节点和/或虚拟机节点,两个虚拟化节点之间基于远程直接数据存取rdma进行通信,所述方法包括:
15.两个虚拟化节点之间通过rdma信令包建立rdma连接,所述rdma信令包的封装中包括rdma协议头部、虚拟网络ip协议头部、虚拟化协议头部和物理网络ip协议头部,所述rdma信令包的虚拟化协议头部中包括发送所述rdma信令包的虚拟化节点的虚拟化标识,不同的虚拟化标识用于标识不同的虚拟网络;
16.所述两个虚拟化节点在建立rdma连接后,通过rdma数据包进行数据传输,所述rdma数据包的封装中包括rdma协议头部和物理网络ip协议头部,所述rdma数据包的物理网络ip协议头部中包括发送所述rdma数据包的虚拟化节点的虚拟化标识。
17.第三方面,本技术提供一种通信方法,应用于网络系统中的第一网络节点上的第一虚拟化节点,所述网络系统包括多个网络节点,每个网络节点上包括一个或多个虚拟化节点,所述虚拟化节点包括容器节点和/或虚拟机节点,两个虚拟化节点之间基于远程直接数据存取rdma进行通信,所述方法包括:
18.通过rdma信令包与第二虚拟化节点建立rdma连接,所述rdma信令包的封装中包括rdma协议头部、虚拟网络ip协议头部、虚拟化协议头部和物理网络ip协议头部,所述rdma信令包的虚拟化协议头部中包括所述第一虚拟化节点的虚拟化标识,不同的虚拟化标识用于标识不同的虚拟网络;
19.在与所述第二虚拟化节点建立rdma连接后,通过rdma数据包向所述第二虚拟化节点发送数据,所述rdma数据包的封装中包括rdma协议头部和物理网络ip协议头部,所述rdma数据包的物理网络ip协议头部中包括所述第一虚拟化节点的虚拟化标识。
20.第四方面,本技术提供了一种网络节点,包括:存储器和处理器;
21.所述存储器,用于存储计算机程序;
22.所述处理器,用于执行所述存储器中存储的计算机程序,所述计算机程序运行时使得所述处理器执行第三方面所述的方法。
23.第五方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行如第三方面所述的方法。
24.在本技术提供的网络系统、通信方法、网络节点和存储介质中,该网络系统中,网络节点上的虚拟化节点基于rdma进行通信,其中,用于建立rdma连接的rdma信令包的封装包括rdma协议头部、虚拟网络ip协议头部、虚拟化协议头部以及物理网络ip协议头部,虚拟化协议头部中包括发送该rdma信令包的虚拟化节点的虚拟化标识,不同的虚拟化标识用于标识不同的虚拟网络,而对于建立rdma连接之后虚拟化节点之间传输的rdma数据包,其封装中包括rdma协议头部和物理网络ip协议头部,同时,为了保证虚拟化节点的虚拟网络隔离,将虚拟化节点的虚拟化标识携带在rdma数据包的物理网络的ip协议头部中,从而在实现了rdma数据传输的同时,减少rdma数据包的封装所占用的传输开销,提升了网络性能。
附图说明
25.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
26.图1是本技术实施例提供的一种网络系统的示意图;
27.图2是本技术实施例提供的一种网络系统的虚拟化节点的实现示意图;
28.图3是本技术实施例提供的一种rdma信令包和rdma数据包的封装示意图;
29.图4是本技术实施例提供的一种通信方法的流程示意图一;
30.图5是本技术实施例提供的一种通信方法的流程示意图二;
31.图6是本技术实施例提供的一种网络节点的结构示意图;
32.图7是本技术实施例提供的网络节点的示意性框图。
具体实施方式
33.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
34.网络虚拟化的实现方案有多种,以覆盖(overlay)网络为例来说,overlay网络和底层(underlay)网络是一组相对概念,overlay网络是建立在underlay网络上的逻辑网络,也就是虚拟网络,而underlay网络则是底层物理基础,是由多个类型设备互联而成的物理网络,负责设备之间的数据包传输。采用网络虚拟化技术在underlay网络之上创建虚拟的overlay网络,在overlay网络中,虚拟化节点之间可以通过逻辑链路,按照需求完成互联形成overlay拓扑。相互连接的overlay网络中的虚拟化节点之间建立隧道,数据在传输时被封装上内层的overlay网络ip协议头部、隧道头部以及外层的underlay网络ip协议头部。
35.overlay网络有着各种网络协议和标准,以虚拟扩展局域网(virtual extensible local area network,vxlan)协议为例,虚拟化节点之间建立vxlan隧道,数据在传输时被封装上内层的overlay网络ip协议头部、vxlan协议头部以及外层的underlay网络ip协议头部,其中,vxlan头部中包括了vxlan网络标识符(vxlan network identifier,vni),也就是一种虚拟化标识,不同的vni代表不同的虚拟网络,通过虚拟化标识实现了虚拟化节点的overlay网络的隔离。也就是说,在网络虚拟化的场景中,虚拟化节点的数据会被封装上虚拟网络ip协议头部、虚拟化协议头部以及物理网络ip协议头部,虚拟化协议头部即前述的隧道头部,例如vxlan协议头部。
36.在上述网络虚拟化的前提下,虚拟化节点之间还可以采用rdma的方式进行数据传输,也就是虚拟化节点之间通过建立rdma连接来进行数据传输。rdma意为远程直接内存访问,可以实现零拷贝、内核旁路(bypass)以及中央处理器(central processing unit,cpu)卸载,其中,零拷贝指的是不需要在用户空间和内核空间中来回复制数据,内核bypass指的是数据读写流程可以绕过内核,即在用户层就可以把数据准备好并通知硬件准备发送和接收,cpu卸载指的是可以在远端节点cpu不参与通信的情况下对内存进行读写。rdma协议有
多种具体的实现方式,在实际使用中,需要先按照rdma协议对数据进行封装,之后再进行前述的虚拟网络ip协议头部、虚拟化协议头部以及物理网络ip协议头部的封装。可以看出,虚拟化节点之间的数据需要经过层层协议的封装,这导致数据传输开销过大,影响网络系统的性能。
37.有鉴于此,本技术实施例中提出一种网络系统,该网络系统中的每个网络节点上包括一个或多个虚拟化节点,网络系统中的虚拟化节点基于rdma进行通信,即虚拟化节点之间通过rdma连接形成rdma网络,虚拟化节点之间先基于虚拟网络的tcp/ip连接来建立rdma连接,之后基于rdma连接传输数据,由于rdma连接的建立依赖于虚拟网络的tcp/ip连接,因此,用于建立rdma连接的rdma信令的封装仍需要在进行rdma协议封装后,再进行虚拟网络的ip头部、虚拟化协议头部以及物理网络ip协议头部的封装,而对于建立rdma连接之后传输的rdma数据,为了避免额外的封装,在对rdma数据进行rdma协议封装之后直接对其进行物理网络的ip协议头部封装,同时,为了保证虚拟网络的隔离,将虚拟化节点的虚拟化标识携带在物理网络ip协议头部中,从而在实现了rdma数据传输的同时,减少rdma数据包的封装所占用的传输开销。以下通过具体实施例进行说明。
38.图1是本技术实施例提供的一种网络系统的示意图。如图1所示,该网络系统包括:多个网络节点,每个网络节点上包括一个或多个虚拟化节点,虚拟化节点包括容器节点和/或虚拟机节点,虚拟化节点之间基于rdma进行通信。其中,
39.两个虚拟化节点之间的rdma信令包用于建立两个虚拟化节点之间的rdma连接,rdma信令包的封装中包括rdma协议头部、虚拟网络ip协议头部、虚拟化协议头部和物理网络ip协议头部,rdma信令包的虚拟化协议头部中包括发送rdma信令包的虚拟化节点的虚拟化标识,不同的虚拟化标识用于标识不同的虚拟网络。
40.两个虚拟化节点之间的rdma数据包用于在建立rdma连接后进行数据传输,rdma数据包的封装中包括rdma协议头部和物理网络ip协议头部,rdma数据包的物理网络ip协议头部中包括发送rdma数据包的虚拟化节点的虚拟化标识。
41.本技术实施例中,网络节点上的虚拟化节点按照通信需求建立rdma连接,形成rdma网络。该网络系统中的虚拟化节点之间传输的rdma信令和rdma数据采用不同的封装,将rdma信令进行封装后称为rdma信令包,将rdma数据进行封装后称为rdma数据包。
42.rdma网络中的虚拟化节点具有rdma网络标识,虚拟化节点之间可以通过rdma网络标识来标识一条rdma连接,rdma网络标识可以是在rdma连接建立时生成或分配的。rdma协议头部是基于虚拟化节点的rdma网络标识生成的,需要说明的是,rdma协议头部可以是基于虚拟化节点的rdma网络标识以及其他信息共同生成的。虚拟化节点的rdma网络标识可以基于虚拟化节点的虚拟话标识和虚拟化节点所在的网络节点的物理网卡ip地址生成。需要说明的是,rdma网络标识可以是基于前述的虚拟话标识、物理网卡ip地址以及其他信息共同生成的。
43.由于rdma连接的建立依赖于虚拟网络的tcp/ip连接,因此,用于建立rdma连接的rdma信令包的封装中包括了rdma协议头部、虚拟网络ip协议头部、虚拟化协议头部以及物理网络ip协议头部,以虚拟网络采用overlay网络和vxlan的实现方式来说,rdma信令包的封装中包括了rdma协议头部、overlay网络ip协议头部、vxlan协议头部以及underlay网络ip协议头部。其中,vxlan协议头部中包括了虚拟化节点的虚拟化标识,虚拟化标识为vni。
44.而相较于rdma信令包,本技术实施例中对rdma数据包的封装减少了虚拟网络ip协议头部和虚拟化协议头部,并且将虚拟化节点的虚拟化标识携带在物理网络的ip头部中,rdma数据包的封装中包括rdma协议头部和携带了虚拟化标识的物理网络ip协议头部,这样,在保证了虚拟化节点的虚拟网络隔离的前提下,减少了rdma数据包的封装层数,从而降低了传输开销,提高了网络性能。
45.本技术实施例中,网络系统中的物理网络以及虚拟网络所采用的ip协议并不限定,且物理网络和虚拟网络所采用的ip协议可以一致也可以不一致,也就是说,物理网络和虚拟网络均可以根据应用需要选择采用ipv4协议或ipv6协议,两者之间并无关联。例如,物理网络采用ipv4协议的情况下,虚拟网络可以采用ipv4协议或ipv6协议;类似的,物理网络采用ipv6协议的情况下,虚拟网络可以采用ipv4协议或ipv6协议。基于物理网络和虚拟网络所采用的ip协议,前述实施例中的虚拟网络ip协议头部可以为ipv4协议头部或ipv6协议头部,物理网络ip协议头部可以为ipv4协议头部或ipv6协议头部。
46.对于rdma数据包,其中包含的虚拟化节点的虚拟化标识携带在物理网络ip协议头部中,可选的,物理网络ip协议头部为ipv6协议头部的情况下,物理网络ip协议头部中包括虚拟化节点所在的网络节点的物理网卡ipv6地址,rdma数据包的物理网络ip协议头部中的虚拟化标识可以被编码在该网络节点的物理网卡ipv6地址中,也就是说,可以利用网络节点的物理网卡ipv6地址中的空间,例如取其中的24位(bit),作为虚拟化标识的编码空间,通过将虚拟化标识编码在网络节点的物理网卡ipv6地址中,实现了通过物理网络ip协议头部携带虚拟化节点的虚拟化标识。可选的,物理网络ip协议头部为ipv6协议头部的情况下,也可以采用ipv6协议头部中的其他字段,例如保留字段或特定的标识字段等来携带虚拟化节点的虚拟化标识,或者,也可以采用ipv6协议的扩展头部来携带虚拟化节点的虚拟化标识。对于物理网络ip协议头部为ipv4协议头部的情况下,与前述类似的,也可以采用ipv4协议头部中的保留字段或特定的标识字段等来携带虚拟化节点的虚拟化标识。
47.本技术实施例中对于rdma数据包的物理网络ip协议头部中虚拟化标识所占用的具体字段或虚拟化标识的编码方式等不做限定,只要将虚拟化节点的虚拟化标识携带在物理网络ip协议头部中即可。
48.需要说明的是,在将虚拟化节点的虚拟化标识编码在其所在的网络节点的物理网卡ipv6地址中的场景中,网络节点通过邻居发现(neighbor discovery,nd)协议报文,触发网络系统中的网关设备,例如交换机、路由器,对网络节点的物理网卡ipv6地址进行解析以得到对应于网络节点的转发表项,以实现对采用上述编码的ipv6地址的rdma数据包的正确传输。
49.可选的,为了提高网络系统性能,本技术实施例中的rdma数据包的物理网络ip协议头部中还可以包括发送rdma数据包的虚拟化节点和/或虚拟化节点所在的网络节点的流控信息,通过该流控信息实现对rdma数据包的流量控制。可选的,流控信息可用于指示rdma数据包的传输优先级。
50.图2是本技术实施例提供的一种网络系统的虚拟化节点的实现示意图。图2中的pod为一种容器节点,图中以容器中运行人工智能(artificial intelligence,ai)应用为例进行示意。eth0为容器节点的虚拟网络的ip网卡,分配有相应的ip地址。物理网卡中示意的物理功能(physical function,pf)、虚拟功能(virtual function,vf)、虚拟交换机仅用
于示意一种实现方式,而不是用于对物理网卡进行限定。
51.本技术实施例中,将容器节点的网络类型(network type)配置为rdma,可选的,基于rdma协议的不同,网络类型也可以进一步划分,例如rdma协议为基于融合以太网的rdma(rdma over converged ethernet,roce)协议,对应的网络类型为rdma-roce,又如rdma协议为solar-rdma协议,对应的网络类型为rdma-solar。在基于tcp/ip的rdma信令网(rdma over tcp/ip)建立rdma连接,分配容器节点的rdma网络标识,例如rdma网络标识为队列对上下文(queue pair context,qpc)或连接标识(conn-id),在rdma数据网,基于rdma连接封装数据包进行数据传输。
52.对于容器节点,本技术实施例中定义新的rdma网卡,图中以rd0进行示例,将rd0插入pod命名空间(namespace)中。
53.容器网络管理系统将同一容器节点在虚拟网络的地址信息同步到地址管理功能组件,包括ip网络地址信息和rdma网络地址信息。容器网络管理系统将容器节点的虚拟化标识和容器节点所在网络节点的物理网卡ip地址进行关联存入rdma流表中,并且针对内嵌虚拟化标识的物理网卡ip地址代理与网关设备之间的nd协议交互。
54.rdma驱动从容器网络管理系统获取容器节点的虚拟化标识以及容器节点所在网络节点的物理网卡ip地址,提供给用户侧rdma软件栈,用于rdma建连,并在建连后将rdma网络标识所包括的表项下发至物理网卡硬件缓存(cache)的rdma流表中。rdma网络标识所包括的表项中可以包括rdma网络地址。物理网卡硬件封装rdma数据包并进行报文传输。图3中示意了rdma信令包和rdma数据包的封装。
55.图4是本技术实施例提供的一种通信方法的流程示意图一。该方法应用于网络系统中,网络系统包括多个网络节点,每个网络节点上包括一个或多个虚拟化节点,虚拟化节点包括虚拟化节点和/或虚拟机节点,两个虚拟化节点之间基于远程直接数据存取rdma进行通信。如图4所示,该方法包括:
56.s401、两个虚拟化节点之间通过rdma信令包建立rdma连接,rdma信令包的封装中包括rdma协议头部、虚拟网络ip协议头部、虚拟化协议头部和物理网络ip协议头部,rdma信令包的虚拟化协议头部中包括发送rdma信令包的虚拟化节点的虚拟化标识,不同的虚拟化标识用于标识不同的虚拟网络。
57.s402、两个虚拟化节点在建立rdma连接后,通过rdma数据包进行数据传输,rdma数据包的封装中包括rdma协议头部和物理网络ip协议头部,rdma数据包的物理网络ip协议头部中包括发送rdma数据包的虚拟化节点的虚拟化标识。
58.本技术实施例的方法应用于前述实施例中的网络系统,其实现原理和技术效果参见前述实施例的描述,此处不再赘述。
59.图5是本技术实施例提供的一种通信方法的流程示意图二。该方法应用于网络系统中的第一网络节点上的第一虚拟化节点,网络系统包括多个网络节点,每个网络节点上包括一个或多个虚拟化节点,虚拟化节点包括容器节点和/或虚拟机节点,两个虚拟化节点之间基于远程直接数据存取rdma进行通信。如图5所示,该方法包括:
60.s501、通过rdma信令包与第二虚拟化节点建立rdma连接,rdma信令包的封装中包括rdma协议头部、虚拟网络ip协议头部、虚拟化协议头部和物理网络ip协议头部,rdma信令包的虚拟化协议头部中包括第一虚拟化节点的虚拟化标识,不同的虚拟化标识用于标识不
同的虚拟网络。
61.s502、在与第二虚拟化节点建立rdma连接后,通过rdma数据包向第二虚拟化节点发送数据,rdma数据包的封装中包括rdma协议头部和物理网络ip协议头部,rdma数据包的物理网络ip协议头部中包括第一虚拟化节点的虚拟化标识。
62.本技术实施例的方法应用于前述实施例中的网络系统中的虚拟化节点,其实现原理和技术效果参见前述实施例的描述,此处不再赘述。
63.图6是本技术实施例提供的一种网络节点的结构示意图。如图6所示,该网络节点600包括:
64.建联模块601,通过rdma信令包与第二虚拟化节点建立rdma连接,rdma信令包的封装中包括rdma协议头部、虚拟网络ip协议头部、虚拟化协议头部和物理网络ip协议头部,rdma信令包的虚拟化协议头部中包括第一虚拟化节点的虚拟化标识,不同的虚拟化标识用于标识不同的虚拟网络。
65.传输模块602,用于在与第二虚拟化节点建立rdma连接后,通过rdma数据包向第二虚拟化节点发送数据,rdma数据包的封装中包括rdma协议头部和物理网络ip协议头部,rdma数据包的物理网络ip协议头部中包括第一虚拟化节点的虚拟化标识。
66.在一种实现方式中,虚拟化标识为虚拟扩展局域网网络标识符vni。
67.在一种实现方式中,虚拟网络ip协议头部为ipv4协议头部或ipv6协议头部,物理网络ip协议头部为ipv4协议头部或ipv6协议头部。
68.在一种实现方式中,物理网络ip协议头部为ipv6协议头部,rdma数据包的物理网络ip协议头部中的虚拟化标识被编码在网络节点的物理网卡ipv6地址中。
69.在一种实现方式中,网络节点600包括发现模块,用于通过邻居发现nd协议报文,触发网络系统中的网关设备对网络节点的物理网卡ipv6地址进行解析以得到对应于网络节点的转发表项。
70.在一种实现方式中,rdma数据包的物理网络ip协议头部中包括发送rdma数据包的虚拟化节点和/或虚拟化节点所在的网络的流控信息。
71.在一种实现方式中,rdma协议头部是基于虚拟化节点的rdma网络标识生成的,虚拟化节点的rdma网络标识基于虚拟化节点的虚拟化标识和虚拟化节点所在的网络节点的物理网卡ip地址生成。
72.本技术实施例的装置用于实现前述实施例中网络节点实现的方法,其实现原理和技术效果类似,此处不再赘述。
73.图7是本技术实施例提供的网络节点的示意性框图。如图7所示,该网络节点700可以包括至少一个处理器701,用于实现本技术实施例提供的通信方法。
74.可选地,该网络节点700还包括至少一个存储器702,用于存储程序指令和/或数据。存储器702和处理器701耦合。本技术实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器701可能和存储器702协同操作。处理器701可能执行存储器702中存储的程序指令。该至少一个存储器中的至少一个可以包括于处理器中。
75.可选地,该网络节点700还包括通信接口703,用于通过传输介质和其它设备进行通信,从而用于分布式系统节点700可以和其它设备进行通信。该通信接口703例如可以是
收发器、接口、总线、电路或者能够实现收发功能的装置。处理器701可利用通信接口703收发数据和/或信息,并用于实现本技术实施例提供的方法。具体参见前文实施例中的详细描述,此处不做赘述。
76.本技术实施例中不限定上述处理器701、存储器702以及通信接口703之间的具体连接介质。本技术实施例在图7中以处理器701、存储器702以及通信接口703之间通过总线704连接。总线704在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
77.应理解,本技术实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
78.还应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
79.本技术还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)。当该计算机程序被运行时,使得计算机执行如前述任一实施例中的方法。
80.本说明书中使用的术语“单元”、“模块”等,可用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。
81.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block)和步骤(step),能够以电子硬件、或者计算机软件
和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。在本技术所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
82.该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
83.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
84.在上述实施例中,各功能单元的功能可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令(程序)。在计算机上加载和执行该计算机程序指令(程序)时,全部或部分地产生按照本技术实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,dvd))、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
85.该功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
86.本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
87.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何
熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
技术特征:
1.一种网络系统,其特征在于,包括:多个网络节点,每个网络节点上包括一个或多个虚拟化节点,所述虚拟化节点包括容器节点和/或虚拟机节点,虚拟化节点之间基于远程直接数据存取rdma进行通信;其中,两个虚拟化节点之间的rdma信令包用于建立所述两个虚拟化节点之间的rdma连接,所述rdma信令包的封装中包括rdma协议头部、虚拟网络ip协议头部、虚拟化协议头部和物理网络ip协议头部,所述rdma信令包的虚拟化协议头部中包括发送所述rdma信令包的虚拟化节点的虚拟化标识,不同的虚拟化标识用于标识不同的虚拟网络;所述两个虚拟化节点之间的rdma数据包用于在建立rdma连接后进行数据传输,所述rdma数据包的封装中包括rdma协议头部和物理网络ip协议头部,所述rdma数据包的物理网络ip协议头部中包括发送所述rdma数据包的虚拟化节点的虚拟化标识。2.根据权利要求1所述的网络系统,其特征在于,所述虚拟化标识为虚拟扩展局域网网络标识符vni。3.根据权利要求1所述的网络系统,其特征在于,所述虚拟网络ip协议头部为ipv4协议头部或ipv6协议头部,所述物理网络ip协议头部为ipv4协议头部或ipv6协议头部。4.根据权利要求3所述的网络系统,其特征在于,所述物理网络ip协议头部为ipv6协议头部,所述rdma数据包的物理网络ip协议头部中的虚拟化标识被编码在网络节点的物理网卡ipv6地址中。5.根据权利要求4所述的网络系统,其特征在于,所述网络节点通过邻居发现nd协议报文,触发所述网络系统中的网关设备对所述网络节点的物理网卡ipv6地址进行解析以得到对应于所述网络节点的转发表项。6.根据权利要求1所述的网络系统,其特征在于,所述rdma数据包的物理网络ip协议头部中包括发送所述rdma数据包的虚拟化节点和/或虚拟化节点所在的网络节点的流控信息。7.根据权利要求1所述的网络系统,其特征在于,所述rdma协议头部是基于所述虚拟化节点的rdma网络标识生成的,所述虚拟化节点的rdma网络标识基于所述虚拟化节点的虚拟化标识和所述虚拟化节点所在的网络节点的物理网卡ip地址生成。8.一种通信方法,其特征在于,应用于网络系统中,所述网络系统包括多个网络节点,每个网络节点上包括一个或多个虚拟化节点,所述虚拟化节点包括虚拟化节点和/或虚拟机节点,两个虚拟化节点之间基于远程直接数据存取rdma进行通信,所述方法包括:两个虚拟化节点之间通过rdma信令包建立rdma连接,所述rdma信令包的封装中包括rdma协议头部、虚拟网络ip协议头部、虚拟化协议头部和物理网络ip协议头部,所述rdma信令包的虚拟化协议头部中包括发送所述rdma信令包的虚拟化节点的虚拟化标识,不同的虚拟化标识用于标识不同的虚拟网络;所述两个虚拟化节点在建立rdma连接后,通过rdma数据包进行数据传输,所述rdma数据包的封装中包括rdma协议头部和物理网络ip协议头部,所述rdma数据包的物理网络ip协议头部中包括发送所述rdma数据包的虚拟化节点的虚拟化标识。9.一种通信方法,其特征在于,应用于网络系统中的第一网络节点上的第一虚拟化节点,所述网络系统包括多个网络节点,每个网络节点上包括一个或多个虚拟化节点,所述虚拟化节点包括容器节点和/或虚拟机节点,两个虚拟化节点之间基于远程直接数据存取
rdma进行通信,所述方法包括:通过rdma信令包与第二虚拟化节点建立rdma连接,所述rdma信令包的封装中包括rdma协议头部、虚拟网络ip协议头部、虚拟化协议头部和物理网络ip协议头部,所述rdma信令包的虚拟化协议头部中包括所述第一虚拟化节点的虚拟化标识,不同的虚拟化标识用于标识不同的虚拟网络;在与所述第二虚拟化节点建立rdma连接后,通过rdma数据包向所述第二虚拟化节点发送数据,所述rdma数据包的封装中包括rdma协议头部和物理网络ip协议头部,所述rdma数据包的物理网络ip协议头部中包括所述第一虚拟化节点的虚拟化标识。10.一种网络节点,其特征在于,包括:存储器和处理器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器中存储的计算机程序,所述计算机程序运行时使得所述处理器执行权利要求9所述的方法。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行如权利要求9所述的方法。
技术总结
本申请实施例提供了网络系统、通信方法、网络节点和存储介质。该网络系统包括:多个网络节点,每个网络节点上包括一个或多个虚拟化节点;两个虚拟化节点之间的RDMA信令包用于建立两个虚拟化节点之间的RDMA连接,RDMA信令包的封装中包括RDMA协议头部、虚拟网络IP协议头部、虚拟化协议头部和物理网络IP协议头部,RDMA信令包的虚拟化协议头部中包括发送RDMA信令包的虚拟化节点的虚拟化标识,不同的虚拟化标识用于标识不同的虚拟网络;两个虚拟化节点之间的RDMA数据包用于在建立RDMA连接后进行数据传输,RDMA数据包的封装中包括RDMA协议头部和物理网络IP协议头部,RDMA数据包的物理网络IP协议头部中包括发送RDMA数据包的虚拟化节点的虚拟化标识,降低了数据传输开销。降低了数据传输开销。降低了数据传输开销。
技术研发人员:秦超 张彭城 冯飞
受保护的技术使用者:阿里巴巴(中国)有限公司
技术研发日:2023.05.11
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
