【技术实现步骤摘要】
一种网络通信的方法、装置、网络节点设备及混合网络
[0001]本专利技术涉及网络通信
,特别涉及一种网络通信的方法、装置、网络节点设备及混合网络。
技术介绍
[0002]以太网协议位于TCP/IP七层协议栈的底层(物理层和数据链路层)。运行在以太网网络集群的应用程序之间进行数据通信时,应用层的有效载荷数据需要向下经由TCP/IP全协议栈,TCP/IP协议栈每层的协议都会加上本层协议的数据头,最终形成的数据帧通过网络发送到远端,远端设备接收到数据帧后,再由下至上经由TCP/IP全协议栈,逐层剥离本层协议的数据头,最终有效载荷到达应用层后由应用程序处理。
[0003]从硬件的角度来看,数据接收端设备使用以太网协议进行通信时,数据通常由以太网硬件网卡接收,并在网卡发出系统中断后进行处理。中断处理器管理队列,并将用户数据向上发送到网络栈中进行进一步处理。直到网络栈验证标识了数据并将其复制到相关的用户缓冲区后,才会通知等待数据的应用程序。从TCP/IP协议栈抽取用户数据的过程,会造成通信的延迟和开销。因此,由于TCP/IP协议栈本身引发通信的延迟和开销,造成了TPC/IP通信的性能瓶颈。
[0004]现有技术中存在使用TCP/IP减载引擎(TOE)的手段来尝试解决协议执行问题,但它们在将数据转发到应用程序的接收端时不提供加速,仍必须处理TCP/IP协议栈,并且转发过程中的硬件中断依然会造成迟延和开销,依然无法解决TCP/IP协议栈本身带来性能瓶颈的问题。
技术实现思路
[0005]鉴于上述 ...
【技术保护点】
【技术特征摘要】
1.一种网络通信的方法,其特征在于,包括:判断本节点与目标节点之间能否使用以太网网络以及PCIe网络进行通信;若判断为能,则对PCIe网络和以太网网络进行选择;若选择PCIe网络,则使用PCIe的通信方式与所述目标节点进行通信,否则,使用以太网的通信方式与所述目标节点进行通信。2.如权利要求1所述的方法,其特征在于,使用PCIe的通信方式与所述目标节点进行通信,包括:通过与本节点的PCIe硬件进行通讯,将本节点应用程序的数据发送给所述PCIe硬件,并通过所述PCIe硬件转发至PCIe网络,直至到达所述目标节点的目标应用程序;通过所述PCIe硬件接收所述目标应用程序通过PCIe通信方式返回给本节点应用程序的数据。3.如权利要求2所述的方法,其特征在于,与PCIe硬件进行通讯的方式,包括下述任一项或多项:通过直接访问本节点的PCIe硬件的方式;通过MPI直接使用本节点的PCIe硬件,或者通过MPI调用共享内存API使用本节点的PCIe硬件的方式;使用共享内存API与PCIe硬件进行通讯的方式;使用PCIe套接字与PCIe硬件进行通讯的方式。4.如权利要求3所述的方法,其特征在于,使用PCIe套接字与PCIe硬件进行通讯的方式下,将本节点应用程序的数据发送给所述PCIe硬件,并通过所述PCIe硬件转发至PCIe网络,直至到达所述目标节点的目标应用程序,具体包括:通过预设的PCIe套接字驱动修改应用程序Socket中的套接字类型参数为预设的PCIe套接字类型AF_PCIESOCKS,以使得应用程序通过PCIe套接字的方式处理应用程序的数据;通过PCIe套接字驱动向PCIe物理层驱动申请队列地址用于存放应用程序的数据;触发CPU将CPU缓存的应用程序的数据写入至内存映射的IO地址;通过PCIe硬件对所述数据进行封包处理,并交由PCIe网络中的PCIe交换机发送给所述目标节点的目标应用程序。5.如权利要求3所述的方法,其特征在于,使用PCIe套接字与PCIe硬件进行通讯的方式下,通过所述PCIe硬件接收所述目标应用程序通过PCIe通信方式返回给本节点应用程序的数据,包括:通过本节点的PCIe硬件对接收到的数据进行硬件解包,并触发直接内存访问DMA,将解包后的数据写入所述应用程序的接收套接字中。6.一种网络通信的方法,其特征在于,包括:判断本节点与目标节点之间能否使用以太网网络以及PCIe网络进行通信;若判断为能,根据本节点和目标节点在PCIe网络和以太网网络的路由所对应的网络性能参数的大小,选择使用PCIe的通信方式或者使用以太网的通信方式与所述目标节点进行通信。7.如权利要求6所述的方法,其特征在于,网络性能参数为表征网络拥塞程度的拥塞因子F
congested
;
所述本节点和目标...
【专利技术属性】
技术研发人员:温福才,
申请(专利权)人:中科创达软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。