[发明专利]一种数据传输方法、设备及系统有效
申请号: | 201310271606.4 | 申请日: | 2013-07-01 |
公开(公告)号: | CN103312720A | 公开(公告)日: | 2013-09-18 |
发明(设计)人: | 林沐晖;王俊捷;卢广 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/861 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 李姜 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据传输 方法 设备 系统 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种数据传输方法、设备及系统。
背景技术
PCIe(Peripheral Component Interconnect Express,部件快速互连局部总线)是在节点(如服务器主机)内部用于连接CPU和外设的数据传输总线,其路由机制为:PCIe Switch(PCIe交换机)通过读取地址信息来寻址,以达到传输数据包的目的,即:CPU初始化PCIe外设时会给外设分配地址信息,并通过地址信息访问外设,而PCIe交换机则根据地址信息进行数据包的路由。
由于PCIe的路由机制要求在一个节点内,分配给各个外设的地址信息是不能重复的,因此,如果将PCIe直接应用到至少两台节点之间的数据传输场景时,会因为节点之间的地址域相互独立,出现无法保证节点之间的地址信息不重复的问题。对此,可在PCIe中引入NTB(Non-Transparent Bridge,非透明桥)来解决至少两台节点之间通过PCIe直接互联的问题。
NTB技术是根据预先设置的地址转换规则,把源节点发往目的节点的数据包的地址信息进行转换,确保转换后的地址信息与目的节点内的地址信息不重复,从而实现至少两台节点之间的PCIe数据传输。
目前,节点之间主流的通信协议是TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网络协议),为了在使用PCIe进行多主机节点互联的网络上更好地兼容TCP/IP,业界提出了IPoPCIe(TCP/IP protocol over PCIe,在PCIe网络上兼容TCP/IP协议)这个概念,即:将TCP/IP协议运行在PCIe网络架构上,其示意图如图1所示:
在至少两个节点之间进行PCIe通信时,每个节点内部的PCIe驱动模拟出一个称之为vNIC(Virtual Network Interface Card,虚拟网络设备接口)的网络设备,对于外界用户而言,vNIC和普通的以太网设备没有差别,也具有配置ip地址、mac地址、mtu等功能,但vNIC的驱动(PCIe vNIC driver)可以作为链路层接口接收上层应用(即图1中APP)通过TCP/IP堆栈发送的数据包,以及将其他节点传输至的数据包通过TCP/IP堆栈发送至上层应用。由于上层应用向下的接口是TCP/IP堆栈,对于上层应用而言,并不关心链路层的内容,因此,一个节点内的上层应用可透明地使用IPoPCIe向另一个节点内的上层应用传输数据包。
在至少两个节点之间使用IPoPCIe进行数据包传输时,以使用socket(套接字)技术为例,常规的传输流程为:
源节点内的上层应用发出的数据包经过TCP/IP层到链路层,由PCIe vNICdriver将数据包通过PCIe Switch传输至目的节点,再经过与源节点的逆过程最终进入目的节点的上层应用,数据包在各层间传输时是通过拷贝方式传输的。
由于数据包在两个节点间的传输要经过上述多步协议处理流程和各层间的数据拷贝,因此,节点间通过IPoPCIe传输数据包时会造成通信延时的问题以及数据包在节点间传输效率低的问题。
发明内容
本发明实施例提供了一种数据传输方法、设备及系统,用以解决现有技术中存在的节点间通过IPoPCIe传输数据包时有通信延时和输效率低的问题。
第一方面,提供一种数据传输方法,所述方法包括:
源节点确定待传输数据包在部件快速互连局部总线PCIe中传输时所需的传输信息,所述传输信息包括发送窗地址和接收窗地址;
所述源节点根据所述传输信息将所述待传输数据包通过PCIe交换机传输至目的节点。
结合第一方面,在第一种可能的实现方式中,所述方法还包括:
所述源节点根据预设的配置文件,确定所述待传输数据包的传输模式是传输控制协议/互联网络协议TCP/IP传输模式还是内核旁路Kernel bypass传输模式;
在确定所述待传输数据包的传输模式是Kernel bypass传输模式时,确定所述待传输数据包在PCIe中传输时所需的所述传输信息。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述源节点根据所述传输信息将所述待传输数据包传输至目的节点,具体包括:
所述源节点将所述待传输数据包存储至自身在内核空间内的缓冲区中;
所述源节点将所述发送窗地址和接收窗地址转换为在PCIe全局空间内的物理地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310271606.4/2.html,转载请声明来源钻瓜专利网。