本发明专利技术涉及网络通信技术领域,提出了一种基于CXL协议的网络连接方法及系统,包括:在主机内设置主机端CXL_IP模块,并在网卡内设置网卡端CXL_IP模块和网卡内存;主机端CXL_IP模块和网卡端CXL_IP模块通过CXL协议连接,网卡端CXL_IP模块和网卡内存连接;通过主机端CXL_IP模块发送主机端数据到网卡端CXL_IP模块;将主机端数据存储到网卡内存中,读取网卡内存中的主机端数据并发送到网络;接收网络数据并保存到网卡内存中,将网卡内存中的网络数据通过网卡端CXL_IP模块发送到主机端CXL_IP模块中,从而将网络数据发送到主机。本发明专利技术解决了现有技术占用内存带宽过高的问题,且具有效果显著的特点。特点。特点。
【技术实现步骤摘要】
一种基于CXL协议的网络连接方法及系统
[0001]本专利技术涉及网络通信
,更具体的,涉及一种基于CXL协议的网络连接方法及系统。
技术介绍
[0002]网卡是工作在第二层链路层的网络组件,是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能等。
[0003]目前常见的网卡总线接口类型为PCIE和USB。以基于PCIE接口的网卡为例,接收网络数据包的流程如下:
[0004]网卡通过收发器从网络中得到网络数据,并根据网卡自身功能,将网络数据恢复成数据。如传统网卡对物理层接收到的网络数据成帧处理,校验无误之后去掉以太网帧头,得到最终的数据包。
[0005]网卡通过PCIE DMA机制,将接收到的数据包复制到主机侧内存中。
[0006]网卡触发PCIE中断,通知操作系统已接收到数据包。
[0007]操作系统的中断服务函数根据中断号,从内存读取数据包并调用对应协议栈进行处理,最后将数据复制到用户程序空间。
[0008]发送过程则与之相反:
[0009]用户程序通过对应协议栈,对准备发送的数据进行处理,得到的数据包保存在主机侧内存中。
[0010]主机通过PCIE接口,通知网卡发送数据包的信息,如主机侧内存地址,长度等。
[0011]网卡通过PCIE DMA机制,从对应的主机侧内存中取出发送数据包。
[0012]网卡通过自身功能,将发送数据转化成物理层的网络数据并发送到网络中。如传统网卡在发送数据包头部加上以太网头部,尾部加上FCS校验等,封装成网络报文,最终转化成网络数据发送到网络中。
[0013]无论是发送数据还是接收数据的流程中,网卡都占用了一定的内存带宽,然而由于网络带宽较低,因此内存带宽只被网卡占用较小的比例。
[0014]随着网络技术的发展,网络带宽在2020年已经迈向400Gbps以太网大关,并正向着更快的800Gbps,甚至1.6Tbps发展。而此时存储技术发展缓慢,内存墙问题依然没得到解决。因此网络带宽与内存带宽日益增大的差距,导致了网卡需要占用更多的内存带宽。在这种情况下,主机上运行的用户程序能够使用的内存带宽被降低,进一步加重了内存墙的问题。
[0015]现有技术有一种基于FPGA模块的PCIE实时网卡,包括:ZYNQ模块,包括FPGA芯片;与所述ZYNQ模块连接的至少一个PHY芯片,所述PHY芯片通过MII和\或RMII接口与ZYNQ模块进行数据交互,所述PHY芯片与外接接口连接;PCIE总线,与所述ZYNQ模块连接,用于将接收的数据传递至所述ZYNQ模块处理。所述ZYNQ模块包括带ARM核的FPGA芯片;所述FPGA芯片通
过所述PCIE总线与主机内存相连,所述FPGA芯片与所述主机内存通过所述PCIE总线进行数据交互。
[0016]然而现有技术存在通过网络进行数据传输时占用内存带宽过高的问题,因此如何专利技术一种占用内存带宽低的新型网络连接方法,是本
亟需解决的问题。
技术实现思路
[0017]本专利技术为了解决现有技术占用内存带宽过高的问题,提供了一种基于CXL协议的网络连接方法及系统,其具有效果显著的特点。
[0018]为实现上述本专利技术目的,采用的技术方案如下:
[0019]一种基于CXL协议的网络连接方法,包括:在主机内设置主机端CXL_IP模块,并在网卡内设置网卡端CXL_IP模块和网卡内存;主机端CXL_IP模块和网卡端CXL_IP模块通过CXL协议连接,网卡端CXL_IP模块和网卡内存连接;
[0020]通过主机端CXL_IP模块发送主机端数据到网卡端CXL_IP模块;将主机端数据存储到网卡内存中,读取网卡内存中的主机端数据并发送到网络;
[0021]接收网络数据并保存到网卡内存中,将网卡内存中的网络数据通过网卡端CXL_IP模块发送到主机端CXL_IP模块中,从而将网络数据发送到主机。
[0022]上述方案中,通过在主机内设置主机端CXL_IP模块,并在网卡内设置网卡端CXL_IP模块,实现了基于CXL协议的网络数据传输,降低了网卡对主机侧内存带宽的占用率,同时本专利技术还通过设置网卡内存,将发送与接收的数据包存储在网卡上的内存中,进一步降低了网卡对主机侧内存带宽的占用率;由此本专利技术解决了现有技术占用内存带宽过高的问题,且具有效果显著的特点。
[0023]优选的,还重构了基于PCIE协议的网络,得到基于CXL协议的网络应用程序编程接口,将网络应用程序的接口称为网络API;所述的主机端CXL_IP模块和网卡端CXL_IP模块均使用基于CXL协议的网络API进行数据传输。
[0024]进一步的,通过主机端CXL_IP模块发送主机端数据到网卡端CXL_IP模块;将主机端数据存储到网卡内存中,读取网卡内存中的主机端数据并发送到网络,具体流程为:
[0025]S101.将主机端数据通过基于CXL协议的网络API发送到网卡内存中;所述的主机端数据包括待发送数据及其控制信息;
[0026]S102.主机通过基于CXL协议的网络API将发送数据的命令输入网卡;
[0027]S103.网卡根据发送数据的命令读取网卡内存中的待发送数据及其控制信息,并将读取出的待发送数据根据其控制信息转化成对应的数据包;
[0028]S104.网卡将数据包转换成网络数据并上传到网络。
[0029]更进一步的,接收网络数据并保存到网卡内存中,将网卡内存中的网络数据通过网卡端CXL_IP模块发送到主机端CXL_IP模块中,从而将网络数据发送到主机,具体流程为:
[0030]S201.通过网卡从网络下载网络数据,并将网络数据转换为数据包;
[0031]S202.网卡将数据包进行解包,得到数据载荷,并保存到网卡内存中;
[0032]S203.主机通过基于CXL协议的网络API查询网卡是否接收到数据包;
[0033]S204.网卡判断网卡内存中是否受到数据,若收到,则网卡通过基于CXL协议的网络API通知主机已接收到数据包,并执行步骤S205;若没有受到,则回到步骤S201重新接收
网路解耦数据;
[0034]S205.主机通过基于CXL协议的网络API从网卡内存中读取数据,并接收从网卡发送的数据载荷。
[0035]更进一步的,所述的网络数据为二进制流数据。
[0036]更进一步的,步骤S203中,若主机使用中断机制,则采用以下步骤接收数据载荷:
[0037]A1.网卡不经过主机查询,触发主机中断,得到中断号,并通过基于CXL协议的网络API通知主机已接收到数据包;
[0038]A2.主机根据中断号,通过基于CXL协议的网络API从网卡内存读取数据,并接收从网卡发送的数据载荷。
[0039]一种基于CXL协议的网络连接系统,包括本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于CXL协议的网络连接方法,其特征在于:包括:在主机内设置主机端CXL_IP模块,并在网卡内设置网卡端CXL_IP模块和网卡内存;主机端CXL_IP模块和网卡端CXL_IP模块通过CXL协议连接,网卡端CXL_IP模块和网卡内存连接;通过主机端CXL_IP模块发送主机端数据到网卡端CXL_IP模块;将主机端数据存储到网卡内存中,读取网卡内存中的主机端数据并发送到网络;接收网络数据并保存到网卡内存中,将网卡内存中的网络数据通过网卡端CXL_IP模块发送到主机端CXL_IP模块中,从而将网络数据发送到主机。2.根据权利要求1所述的基于CXL协议的网络连接方法,其特征在于:还重构了基于PCIE协议的网络,得到基于CXL协议的网络应用程序编程接口,将网络应用程序的接口称为网络API;所述的主机端CXL_IP模块和网卡端CXL_IP模块均使用基于CXL协议的网络API进行数据传输。3.根据权利要求2所述的基于CXL协议的网络连接方法,其特征在于:通过主机端CXL_IP模块发送主机端数据到网卡端CXL_IP模块;将主机端数据存储到网卡内存中,读取网卡内存中的主机端数据并发送到网络,具体流程为:S101.将主机端数据通过基于CXL协议的网络API发送到网卡内存中;所述的主机端数据包括待发送数据及其控制信息;S102.主机通过基于CXL协议的网络API将发送数据的命令输入网卡;S103.网卡根据发送数据的命令读取网卡内存中的待发送数据及其控制信息,并将读取出的待发送数据根据其控制信息转化成对应的数据包;S104.网卡将数据包转换成网络数据并上传到网络。4.根据权利要求2所述的基于CXL协议的网络连接方法,其特征在于:接收网络数据并保存到网卡内存中,将网卡内存中的网络数据通过网卡端CXL_IP模块发送到主机端CXL_IP模块中,从而将网络数据发送到主机,具体流程为:S201.通过网卡从网络下载网络数据,并将网络数据转换为数据包;S202.网卡将数据包进行解包,得到数据载荷,并保存到网卡内存中;S203.主机通过基于CXL协议的网络API查询网卡是否接收到数据包;S204.网卡判断网卡内存中是否受到数据,若收到,则网卡通过基于CXL协议的网络API通知主机已接收到数据包,并执行步骤S205;若没有受到,则回到步骤S201重新接收网路解耦数据;S205.主机通过基于CXL协议的网络API从网卡内存中读取数据,并接收从网卡发送的数据载荷。5.根据权利要求4所述的基于CXL协议的网络连接方法,其特征在于:所述的网络数据为二进制流数据。6.根据权利要求4所述的基于CXL协议的网络连接方法,其特征在于:在步骤S203中,若主机使用中断机制,则采用以下步骤接收数据载荷...
【专利技术属性】
技术研发人员:李晓霖,郝沁汾,
申请(专利权)人:无锡芯光互连技术研究院有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。