CN102821082A - 一种数据传输方法、装置和*** - Google Patents
一种数据传输方法、装置和*** Download PDFInfo
- Publication number
- CN102821082A CN102821082A CN2011101555526A CN201110155552A CN102821082A CN 102821082 A CN102821082 A CN 102821082A CN 2011101555526 A CN2011101555526 A CN 2011101555526A CN 201110155552 A CN201110155552 A CN 201110155552A CN 102821082 A CN102821082 A CN 102821082A
- Authority
- CN
- China
- Prior art keywords
- ethernet
- pcie
- tlp
- bag
- packet
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明实施例一种数据传输方法、装置和***。本发明实施例通过将以太网数据包封装在PCIE数据包中,使得以太网数据包可以在PCIE总线中进行传输,也就是说,在全PCIE连接的多主机集群计算***中,各个节点无需网络控制器即可通过以太网协议进行互连,不仅便于实现,而且节省了成本。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种数据传输方法、装置和***。
背景技术
快速外设组件互连标准(PCIE,Peripheral Component Interconnect Express)是最新的总线和接口标准,由于它的数据传输速率高,而且适用范围较广,所以在未来的发展中,PCIE标准将全面取代现行的周边元件扩展接口(PCI,Pedpherd Component Interconnect)和加速图形端口(AGP,Accelerated GraphicPorts),以实现总线标准的统一。
以太网(Ethernet)协议是现有局域网最通用的通信协议标准,PCIE标准与以太网协议标准在数据帧格式等方面存在明显的差异,现有技术并没有提供一种在全PCIE连接的多主机集群计算***中,各以太网主机通过PCIE总线来传输以太网数据包的方案。
发明内容
本发明实施例提供一种数据传输方法、装置和***,使得在全PCIE连接的多主机集群计算***中,各以太网主机可以通过PCIE总线来传输采用以太网协议进行封装的数据。
为了描述方便,在本发明实施例中,将采用以太网协议进行封装的数据,简称为以太网数据包,将PCIE协议封装的数据成为PCIE数据包。
一种数据传输方法,包括:
将以太网数据包封装成以太网处理层协议(Ethernet-TLP,EthernetTransaction Layer Protocol)包,所述Ethernet-TLP包包括协议类型字段和数据部分,所述协议类型字段用于指示所封装的数据所采用的协议;
将所述Ethernet-TLP包封装成PCIE数据包;
将所述PCIE数据包通过PCIE接口发送给PCIE总线上的其他节点,以便所述其他节点对所述PCIE数据包进行处理。
一种数据传输方法,包括:
通过PCIE接口从PCIE总线上接收PCIE数据包;
从PCIE数据包中解析出Ethernet-TLP包;
从所述Ethernet-TLP包中解析出以太网数据包;
对解析出的以太网数据包进行处理。
一种网络设备,包括:
第一封装单元,用于将以太网数据包封装成Ethernet-TLP包,所述Ethernet-TLP包包括协议类型字段和数据部分,所述协议类型字段用于指示所封装的数据所采用的协议;
第二封装单元,用于将第一封装单元封装而成的Ethernet-TLP包封装成PCIE数据包;
发送单元,用于将第二封装单元封装而成的PCIE数据包通过PCIE接口发送给PCIE总线上的其他节点,以便所述其他节点对所述PCIE数据包进行处理。
一种网络设备,其特征在于,包括:
接收单元,用于通过PCIE接口从PCIE总线上接收PCIE数据包;
第一解析单元,用于从接收单元接收到的PCIE数据包中解析出Ethernet-TLP包;
第二解析单元,用于从第一解析单元解析出的Ethernet-TLP包中解析出以太网数据包;
处理单元,用于对第二解析单元解析出的以太网数据包进行处理。
一种通信***,包括第一网络设备和第二网络设备;
第一网络设备,用于将以太网数据包封装成Ethernet-TLP包,所述Ethernet-TLP包包括协议类型字段和数据部分,所述协议类型字段用于指示所封装的数据所采用的协议;将所述Ethernet-TLP包封装成PCIE数据包,将所述PCIE数据包通过PCIE接口发送给PCIE总线上的第二网络设备;
第二网络设备,用于通过PCIE接口从PCIE总线上接收PCIE数据包,从PCIE数据包中解析出Ethernet-TLP包,从所述Ethernet-TLP包中解析出以太网数据包,对解析出的以太网数据包进行处理。
本发明实施例通过将以太网数据包封装在PCIE数据包中,使得以太网数据包可以在PCIE总线中进行传输,也就是说,在全PCIE连接的多主机集群计算***中,各个节点无需网络控制器即可通过以太网协议进行互连,不仅便于实现,而且节省了成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的数据传输方法的流程图;
图1b是本发明实施例提供的Ethernet-TLP包的示意图;
图1c是本发明实施例提供的PCIE包的示意图;
图2是本发明实施例提供的数据传输方法的另一流程图;
图3a是本发明实施例中全PCIE连接的多主机集群计算***的场景示意图;
图3b是本发明实施例提供的数据传输方法的又一流程图;
图4是本发明实施例提供的数据传输方法的又一流程图;
图5a是本发明实施例提供的网络设备的结构示意图;
图5b是本发明实施例提供的网络设备的另一结构示意图;
图6是本发明实施例提供的网络设备的又一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种数据传输方法、装置和***。以下分别进行详细说明。
本实施例为本发明实施例的一方法实施例。在本实施例中,将从发送设备的角度进行描述。
一种数据传输方法,包括:将以太网数据包封装成Ethernet-TLP包,将该Ethernet-TLP包封装成PCIE数据包,将该PCIE数据包通过PCIE接口发送给PCIE总线上的其他节点,以便其他节点对该PCIE数据包进行处理。其中,Ethernet-TLP包包括协议类型字段和数据部分,协议类型字段用于指示所封装的数据所采用的协议。
参见图1a,具体流程可以如下:
101、将以太网数据包封装成Ethernet-TLP包;
例如,参见图1b,该Ethernet-TLP包可以包括协议类型(Protocol type)字段和数据部分,可选的,还可以包含数据长度(Length)等其他字段。为了便于日后对该Ethernet-TLP包进行扩展,还可以包括保留字段(Reserved)。
其中,Ethernet-TLP包的数据部分主要用于存放太网数据包(EthernetFrame),即具体可以将以太网数据包写入Ethernet-TLP包的数据部分。
而协议类型字段则主要用于指示所封装的数据所采用的协议,可以设置为8个字节(byte),比如,在本实施例中,具体可以在协议类型字段中写入以太网协议标识。由于PCIE数据包的TLP包部分可以承载多种协议类型的数据包,例如以太网数据包,光纤通道(FC,Fibre Channel)数据包等,为了PCIE总线上的其他接收PCIE数据包的节点能够采用正确的处理方式来处理其中TLP包部分承载的数据包,因此需要在Ethernet-TLP包中设置协议类型。
数据长度字段则用于指示所述以太网数据包的长度,同样可以设置为8个字节。
需说明的是,以上仅仅只是本发明实施例中定义的一种包格式,应当理解的是,本发明实施例对于其他包格式也同样适用,在此不再赘述。
102、将步骤101中封装而成的Ethernet-TLP包封装成PCIE数据包,具体为将所述Ethernet-TLP包写入PCIE数据包的TLP包部分;其中,PCIE包可以包括帧开始标识、数据链路层数据包(DLLP,Data Link Layer Packet)头、TLP头、TLP包、端到端CRC(ECRC,end to end CRC)、数据链路层CRC(LCRC,Link Layer CRC)和帧结束标识,参见图1c。
其中,帧开始标识表示一个数据帧的开始;
DLLP头,用于链路管理功能,包括物理层的流量控制,主要职责是确保数据包可靠、正确传输,确保数据包的完整性;
TLP头,用于处理上层应用的读写请求等事务;
TLP包就是本发明实施例中所描述的Ethernet-TLP包;
ECRC,指端到端的循环冗余校验码(CRC,Cyclic Redundancy Check),其中,CRC是数据通信领域中最常用的一种差错校验码;
LCRC,指数据链路层的CRC,是基于序列标识(ID,IDentity)和TLP全部字节的CRC字段;
帧结束标识表示一个数据帧的结束。
以上PCIE数据包中的各个组成部分具体可参见PCIE协议,在此不再赘述。
需说明的是,以上仅仅只是本发明实施例中定义的一种包格式,应当理解的是,本发明实施例对于其他包格式也同样适用,在此不再赘述。
103、将步骤102封装而成的PCIE数据包通过PCIE接口发送给PCIE总线上的其他节点,以便其他节点对该PCIE数据包进行处理。
其中,其他节点对该PCIE数据包进行处理的方法具体可以如下:
其他节点通过PCIE接口从PCIE总线上接收PCIE数据包,从PCIE数据包中解析出Ethernet-TLP包,从Ethernet-TLP包中解析出以太网数据包,对解析出的以太网数据包进行处理。比如可以将解析出的以太网数据包提交给以太网协议栈处理程序,以太网协议栈处理程序确定以太网数据包的目的MAC地址确定是否为本主机的MAC地址,若是,则对该以太网数据包进行处理;若否,则将该以太网数据包丢弃。
可选的,除了可以不指定接收设备,由接收设备根据媒体接入层(MAC,Media Access Control)地址来确定是否对以太网数据包进行处理之外,还可以直接指定接收设备(即目标设备),以便该目标设备直接对该以太网数据包进行处理。
比如,具体可以将目标设备的PCIE设备标识(ID,IDentity)封装在PCIE数据包的TLP头部分中,这样的话,PCIE数据包将会被发送到该目标设备上,而其他节点将不会接收到该PCIE数据包,所以,目标设备在接收到该PCIE数据包并进行解析之后,可以不对以太网数据包的目的MAC地址进行判断,而是直接进行处理。为了使得作为发送设备的以太网主机能够获取到目标设备的PCIE设备标识,需要各个以太网主机在预置网络设备中注册MAC地址和PCIE设备标识,即该数据传输方法在步骤101之前,还可以包括:
向预置网络设备注册MAC地址和PCIE设备标识;其中,该网络设备具体可以为一PCIE设备或PCIE交换机。
则将以Ethernet-TLP包封装成PCIE数据包(即步骤102)可以包括:获取目标设备的MAC地址,根据目标设备的MAC地址查询预置网络设备,以获取目标设备的PCIE设备标识,将获取到的目标设备的PCIE设备标识写入PCIE数据包的TLP头部分,将Ethernet-TLP包写入PCIE数据包的TLP包部分,从而封装成PCIE数据包。
由上可知,本发明实施例通过将以太网数据包封装在PCIE数据包中,使得以太网数据包可以在PCIE总线中进行传输,也就是说,在全PCIE连接的多主机集群计算***中,各个节点无需网络控制器即可通过以太网协议进行互连,不仅便于实现,而且节省了成本。
本实施例为本发明实施例的另一方法实施例。在本实施例中,将从接收设备的角度进行描述。
一种数据传输方法,包括:通过快速外设组件互连标准PCIE接口从PCIE总线上接收PCIE数据包,从PCIE数据包中解析出Ethernet-TLP包,从所述Ethernet-TLP包中解析出以太网数据包,对解析出的以太网数据包进行处理。
参见图2,具体流程可以如下:
201、通过PCIE接口从PCIE总线上接收PCIE数据包;
202、从步骤201接收到的PCIE数据包中解析出Ethernet-TLP包,具体为读取PCIE数据包的TLP包部分的内容,即Ethernet-TLP包;
203、从步骤202解析出的Ethernet-TLP包中解析出以太网数据包,具体为读取Ethernet-TLP包的数据部分即为以太网数据包;
204、对步骤203解析出的以太网数据包进行处理。比如,将解析出的以太网数据包提交给相应的协议栈处理程序,例如以太网协议栈处理程序、FC协议栈处理程序等进行处理,例如,具体可以如下:
从步骤202解析出的Ethernet-TLP包中获取协议类型字段内容,根据协议类型字段内容,将步骤203解析出的以太网数据包提交给以太网协议栈处理程序,以便以太网协议栈处理程序对该以太网数据包进行处理,可选地,还可以从步骤202解析出的Ethernet-TLP包中获取数据长度等字段内容,根据数据长度字段内容对解析出的以太网数据包的完整性进行检查;其中,以太网协议栈处理程序对所述以太网数据包进行处理具体可以如下:
以太网协议栈处理程序确定以太网数据包的目的MAC地址是否为本主机的MAC地址;若是,则对该以太网数据包进行处理;若否,则将该以太网数据包丢弃。
当然,如果接收到的PCIE数据包中的TLP包头中已经携带了目标设备的PCIE设备标识,则目标设备接收到该PCIE数据包,且解析出以太网数据包后,可以不对目的MAC地址进行判断,而是直接进行处理,具体可参见上一个方法实施例,在此不再赘述。
由上可知,本发明实施例通过将以太网数据包封装在PCIE数据包中,使得以太网数据包可以在PCIE总线中进行传输,也就是说,在全PCIE连接的多主机集群计算***中,各个节点无需网络控制器即可通过以太网协议进行互连,不仅便于实现,而且节省了成本。
根据前面两个方法实施例所描述的方法,以下将举例作进一步详细说明。
本实施例为本发明提供的又一方法实施例。
如图3a所示,该图为全PCIE连接的多主机集群计算***的场景示意图,在该全PCIE连接的多主机集群计算***中,包括了多个支持以太网协议的主机,在本发明实施例中称为以太网主机,简称为主机,它们之间通过PCIE进行连接,也就是说,以太网主机是PCIE总线上节点。在本实施例中,将以以太网主机A欲与以太网主机B通过以太网协议进行通信为例进行说明。
参见图3b,具体流程可以如下:
301、以太网主机A将以太网数据包封装成Ethernet-TLP包;其中,Ethernet-TLP包的格式可以根据实际应用的需求进行设置,例如具体可采用图1b中所示的格式,具体可参见前面的方法实施例,在此不再赘述。
302、以太网主机A将Ethernet-TLP包封装成PCIE数据包,其中,PCIE数据包的格式具体可参见前面的方法实施例,在此不再赘述。
303、以太网主机A将PCIE数据包通过PCIE接口发送出去。
304、PCIE总线转发此PCIE数据包给所有的其他相连节点,即发送给该PCIE总线上的其他以太网主机。比如,具体可采用广播的方式将该PCIE数据包发送给该PCIE总线上的其他以太网主机。
305、其他以太网主机接收到该PCIE数据包后,对该PCIE数据包进行解析,得到Ethernet-TLP包,然后再对Ethernet-TLP包进行解析,得到以太网数据包。
306、其他以太网主机得到的以太网数据包交付给相应的处理程序,比如以太网协议栈处理程序进行处理。
307、以太网协议栈处理程序根据以太网数据包确定目的MAC地址是否为本以太网主机的MAC地址,如果是则对该以太网数据包作进一步处理,否则,如果不是则将该以太网数据包丢弃。其中,具体的处理方式可以根据业务的需求进行设置,具体可参见现有技术,在此不再赘述。
例如,在本实施例中,以太网主机A欲与以太网主机B进行通信,所以目的MAC地址为以太网主机B的MAC地址,所以,以太网主机B的以太网协议栈处理程序将会对该以太网数据包作进一步处理,而其他以太网主机的以太网协议栈处理程序则将会丢弃该以太网数据包。
由上可知,本发明实施例通过将以太网数据包封装在PCIE数据包中,使得以太网数据包可以在PCIE总线中进行传输,也就是说,在全PCIE连接的多主机集群计算***中,各个节点无需网络控制器即可通过以太网协议进行互连,不仅便于实现,而且节省了成本。
可选的,除了可以不指定接收设备,而是由接收设备根据MAC地址来确定是否对以太网数据包进行处理之外,还可以直接指定接收设备(即目标设备),这样的话,该目标设备在接收到以太网数据包后,就可以直接对该以太网数据包进行处理,而不需要根据MAC地址进行判断。以下将举例进行说明。
本实施例为本发明提供的又一方法实施例。
还是以图3a中的应用场景为例,参见图4,具体流程可以如下:
401、各以太网主机在启动之后,首先向预置网络设备注册其MAC地址和PCIE设备标识,其中,该网络设备具体可以为一PCIE设备或PCIE交换机。
402、若以太网主机A欲与以太网主机B通过以太网协议进行通信,则以太网主机A获取以太网主机B的MAC地址。
需说明的是,由于本发明实施例的前提是以太网主机(比如本实施例的以太网主机A)已经生成以太网数据包,所以该以太网主机(比如本实施例的以太网主机A)本身就已经知道目标以太网主机(比如本实施例的以太网主机B)的MAC地址。
403、以太网主机A根据获取到的以太网主机B的MAC地址查询该预置网络设备,以获取以太网主机B对应的PCIE设备标识。
404、以太网主机A将以太网数据包封装成Ethernet-TLP包,其中,Ethernet-TLP包的格式具体可参见前面的方法实施例,在此不再赘述。
405、以太网主机A利用获取到的以太网主机B的PCIE设备标识将步骤404中得到的Ethernet-TLP包封装成PCIE数据包,并通过PCIE接口发送出去。具体可以将以太网主机B的PCIE设备标识封装在TLP头(请参照附图1c所示)中,将Ethernet-TLP包封装在TLP包(请参照附图1c所示)中,其中,PCIE数据包的格式具体可参见前面的方法实施例,在此不再赘述。
406、PCIE总线根据PCIE数据包中的以太网主机B的PCIE设备标识转发此PCIE数据包给以太网主机B。
407、以太网主机B接收到该PCIE数据包后,对该PCIE数据包进行解析,得到Ethernet-TLP包,然后再对Ethernet-TLP包进行解析,得到以太网数据包。
408、以太网主机B将以太网数据包交付给相应的处理程序,比如以太网协议栈处理程序进行处理。其中,具体的处理方式可以根据业务的需求进行设置,具体可参见现有技术,在此不再赘述。
由上可知,本发明实施例通过将以太网数据包封装在PCIE数据包中,使得以太网数据包可以在PCIE总线中进行传输,也就是说,在全PCIE连接的多主机集群计算***中,各个节点无需网络控制器即可通过以太网协议进行互连,不仅便于实现,而且节省了成本。
为了更好地实施以上方法,本发明实施例还相应地提供一种网络设备,作为全PCIE连接的多主机集群计算***中作为发送设备的以太网主机。以下将进行详细说明。
本实施例为本发明提供的一装置实施例。
如图5a所示,该网络设备包括第一封装单元501、第二封装单元502和发送单元503;
第一封装单元501,用于将以太网数据包封装成Ethernet-TLP包,其中,Ethernet-TLP包包括协议类型字段和数据部分,协议类型字段用于指示所封装的数据所采用的协议;具体可参见前面的方法实施例,在此不再赘述。
第二封装单元502,用于将第一封装单元501封装而成的Ethernet-TLP包封装成PCIE数据包;
发送单元503,用于将第二封装单元502封装而成的PCIE数据包通过PCIE接口发送给PCIE总线上的其他节点,以便其他节点对该PCIE数据包进行处理。
其中,其他节点对该PCIE数据包进行处理的方法具体可以如下:
其他节点通过PCIE接口从PCIE总线上接收PCIE数据包,从PCIE数据包中解析出TLP包,从TLP包中解析出以太网数据包,对解析出的以太网数据包进行处理。比如可以将解析出的以太网数据包提交给以太网协议栈处理程序,以太网协议栈处理程序确定以太网数据包的目的MAC地址确定是否为本主机的MAC地址,若是,则对该以太网数据包进行处理;若否,则将该以太网数据包丢弃。
可选的,除了可以不指定接收设备,而是由接收设备根据MAC地址来确定是否对以太网数据包进行处理之外,还可以直接指定接收设备(即目标设备),这样的话,该目标设备在接收到以太网数据包后,就可以直接对该以太网数据包进行处理,而不需要根据MAC地址进行判断。
比如,具体可以将目标设备的PCIE设备标识封装PCIE包中,这样的话,PCIE数据包将会被发送到该目标设备上,而其他节点将不会接收到该PCIE数据包,所以,目标设备在接收到该PCIE数据包并进行解析之后,可以不对以太网数据包的目的MAC地址进行判断,而是直接进行处理。为了使得作为发送设备的以太网主机能够获取到目标设备的PCIE设备标识,需要各个以太网主机在预置网络设备中注册MAC地址和PCIE设备标识,即,如图5b所示,该网络设备还可以包括注册单元504;
注册单元504,用于向预置网络设备注册MAC地址和PCIE设备标识;其中,该网络设备具体可以为一PCIE设备或PCIE交换机。
则此时,第二封装单元502,具体用于获取目标设备的MAC地址,根据目标设备的MAC地址查询所述预置网络设备,以获取目标设备的PCIE设备标识,将获取到的目标设备的PCIE设备标识写入PCIE数据包的TLP头部分,将Ethernet-TLP包写入PCIE数据包的TLP包部分,从而封装成PCIE数据包。
以上各个单元的具体实施可参见前面实施例,在此不再赘述。需说明的是,具体实施时,以上各个单元即可以作为一个独立的实体来实现,亦可进行任意组合,作为一个统一的实体或若干个实体来实现。
由上可知,本发明实施例的网络设备中的第一封装单元501和第二封装单元502可以将以太网数据包封装在PCIE数据包中,然后再由发送单元503将PCIE数据包通过PCIE接口发送出去,使得以太网数据包可以在PCIE总线中进行传输,也就是说,在全PCIE连接的多主机集群计算***中,各个节点无需网络控制器即可通过以太网协议进行互连,不仅便于实现,而且节省了成本。
相应的,本发明实施例还提供另一种网络设备,作为全PCIE连接的多主机集群计算***中作为接收设备的以太网主机。
本实施例为本发明提供的另一装置实施例。
如图6所示,该网络设备可以包括接收单元601、第一解析单元602、第二解析单元603和处理单元604;
接收单元601,用于通过PCIE接口从PCIE总线上接收PCIE数据包;
第一解析单元602,用于从接收单元601接收到的PCIE数据包中解析出Ethernet-TLP包;
第二解析单元603,用于从第一解析单元602解析出的Ethernet-TLP包中解析出以太网数据包;
处理单元604,用于对第二解析单元603解析出的以太网数据包进行处理。比如,将解析出的以太网数据包提交给相应的程序进行处理,即:
处理单元604,具体用于从第一解析单元602解析出的Ethernet-TLP包中获取协议类型字段内容,根据获取的协议类型字段内容,将第二解析单元解析出的以太网数据包提交给以太网协议栈处理程序,以便以太网协议栈处理程序对所述以太网数据包进行处理。其中,以太网协议栈处理程序对所述以太网数据包进行处理具体可以如下:
以太网协议栈处理程序确定以太网数据包的目的MAC地址是否为本主机的MAC地址;若是,则对该以太网数据包进行处理;若否,则将该以太网数据包丢弃。
当然,如果接收到的PCIE数据包中的TLP包头中已经携带了目标设备的PCIE设备标识,则目标设备接收到该PCIE数据包,且解析出以太网数据包后,可以不对目的MAC地址进行判断,而是直接进行处理,具体可参见前面的方法实施例,在此不再赘述。
可选地,处理单元604,具体还用于从第一解析单元602解析出的Ethernet-TLP包中获取数据长度等字段内容,根据数据长度字段内容对解析出的以太网数据包的完整性进行检查,具体可参见前面的实施例,在此不再赘述。
以上各个单元的具体实施可参见前面实施例,在此不再赘述。需说明的是,具体实施时,以上各个单元即可以作为一个独立的实体来实现,亦可进行任意组合,作为一个统一的实体或若干个实体来实现。
由上可知,本发明实施例的网络设备的第一解析单元602和第二解析单元603可以对接收单元601接收到的PCIE数据包进行解析,以得到封装在PCIE数据包中的以太网数据包,使得以太网数据包也可以在PCIE总线中进行传输,也就是说,在全PCIE连接的多主机集群计算***中,各个节点无需网络控制器即可通过以太网协议进行互连,不仅便于实现,而且节省了成本。
相应的,本发明实施例还提供一种通信***,包括第一网络设备和至少一个第二网络设备;其中,第一网络设备为本发明第一个装置实施例中提供的任一种网络设备,第二网络设备为本发明第二个装置实施例中提供的任一种网络设备。以下将举例作详细说明。
本实施例为本发明的一***实施例。
第一网络设备,用于将以太网数据包封装成Ethernet-TLP包,其中,Ethernet-TLP包包括协议类型字段和数据部分,协议类型字段用于指示所封装的数据所采用的协议;将所述Ethernet-TLP包封装成PCIE数据包,将该PCIE数据包通过PCIE接口发送给PCIE总线上的第二网络设备。
第二网络设备,用于通过PCIE接口从PCIE总线上接收PCIE数据包,从PCIE数据包中解析出Ethernet-TLP包,从该Ethernet-TLP包中解析出以太网数据包,对解析出的以太网数据包进行处理。例如,将解析出的以太网数据包提交给相应的程序如以太网协议栈处理程序进行处理,具体如下:
以太网协议栈处理程序确定以太网数据包的目的MAC地址是否为本主机的MAC地址;若是,则对该以太网数据包进行处理;若否,则将该以太网数据包丢弃。
当然,如果接收到的PCIE数据包中的TLP包头中已经携带了目标设备的PCIE设备标识,则目标设备接收到该PCIE数据包,且解析出以太网数据包后,可以不对目的MAC地址进行判断,而是直接进行处理,具体可参见前面的方法实施例,在此不再赘述。
以上各个设备的具体实施可参见前面实施例,在此不再赘述。
由上可知,本发明实施例的通信***通过将以太网数据包封装在PCIE数据包中,使得以太网数据包可以在PCIE总线中进行传输,也就是说,在全PCIE连接的多主机集群计算***中,各个节点无需网络控制器即可通过以太网协议进行互连,不仅便于实现,而且节省了成本。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种数据传输方法、装置和***进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种数据传输方法,其特征在于,包括:
将以太网数据包封装成以太网处理层协议Ethernet-TLP包,所述Ethernet-TLP包包括协议类型字段和数据部分,所述协议类型字段用于指示所封装的数据所采用的协议;
将所述Ethernet-TLP包封装成快速外设组件互连标准PCIE数据包;
将所述PCIE数据包通过PCIE接口发送给PCIE总线上的其他节点,以便所述其他节点对所述PCIE数据包进行处理。
2.根据权利要求1所述的方法,其特征在于,所述将以太网数据包封装成Ethernet-TLP包,具体包括:
将以太网协议标识写入所述Ethernet-TLP包的协议类型字段中;
将所述以太网数据包写入所述Ethernet-TLP包的数据部分。
3.根据权利要求1或2所述的方法,其特征在于,所述将以太网数据包封装成Ethernet-TLP包之前,该方法还包括:
向预置网络设备注册媒体接入层MAC地址和PCIE设备标识;
则所述将所述Ethernet-TLP包封装成PCIE数据包包括:获取目标设备的MAC地址,根据目标设备的MAC地址查询所述预置网络设备,以获取目标设备的PCIE设备标识,将获取到的目标设备的PCIE设备标识写入PCIE数据包的TLP头部分,将Ethernet-TLP包写入PCIE数据包的TLP包部分,从而封装成PCIE数据包。
4.一种数据传输方法,其特征在于,包括:
通过快速外设组件互连标准PCIE接口从PCIE总线上接收PCIE数据包;
从PCIE数据包中解析出以太网处理层协议Ethernet-TLP包;
从所述Ethernet-TLP包中解析出以太网数据包;
对解析出的以太网数据包进行处理。
5.根据权利要求4所述的方法,其特征在于,所述对解析出的以太网数据包进行处理包括:
从解析出的Ethernet-TLP包中获取协议类型字段内容;
根据获取的协议类型字段内容,将解析出的以太网数据包提交给以太网协议栈处理程序,以便以太网协议栈处理程序对所述以太网数据包进行处理。
6.根据权利要求4或5所述的方法,其特征在于,所述以太网协议栈处理程序对所述以太网数据包进行处理包括:
以太网协议栈处理程序确定所述以太网数据包的目的媒体接入层MAC地址是否为本主机的MAC地址;
若是,则对所述以太网数据包进行处理;
若否,则将所述以太网数据包丢弃。
7.一种网络设备,其特征在于,包括:
第一封装单元,用于将以太网数据包封装成以太网处理层协议Ethernet-TLP包,所述Ethernet-TLP包包括协议类型字段和数据部分,所述协议类型字段用于指示所封装的数据所采用的协议;
第二封装单元,用于将第一封装单元封装而成的Ethernet-TLP包封装成快速外设组件互连标准PCIE数据包;
发送单元,用于将第二封装单元封装而成的PCIE数据包通过PCIE接口发送给PCIE总线上的其他节点,以便所述其他节点对所述PCIE数据包进行处理。
8.根据权利要求7所述的网络设备,其特征在于,还包括注册单元;
注册单元,用于向预置网络设备注册媒体接入层MAC地址和PCIE设备标识;
则第二封装单元,具体用于获取目标设备的MAC地址,根据目标设备的MAC地址查询所述预置网络设备,以获取目标设备的PCIE设备标识,将获取到的目标设备的PCIE设备标识写入PCIE数据包的TLP头部分,将Ethernet-TLP包写入PCIE数据包的TLP包部分,从而封装成PCIE数据包。
9.一种网络设备,其特征在于,包括:
接收单元,用于通过快速外设组件互连标准PCIE接口从PCIE总线上接收PCIE数据包;
第一解析单元,用于从接收单元接收到的PCIE数据包中解析出以太网处理层协议Ethernet-TLP包;
第二解析单元,用于从第一解析单元解析出的Ethernet-TLP包中解析出以太网数据包;
处理单元,用于对第二解析单元解析出的以太网数据包进行处理。
10.根据权利要求9所述的网络设备,其特征在于,
所述处理单元,具体用于从第一解析单元解析出的Ethernet-TLP包中获取协议类型字段内容;根据获取的协议类型字段内容,将第二解析单元解析出的以太网数据包提交给以太网协议栈处理程序,以便以太网协议栈处理程序对所述以太网数据包进行处理。
11.一种通信***,其特征在于,包括第一网络设备和至少一个第二网络设备;
所述第一网络设备为权利要求7或8所述的任一种网络设备;
所述第二网络设备为权利要求9或10所述的任一种网络设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101555526A CN102821082A (zh) | 2011-06-10 | 2011-06-10 | 一种数据传输方法、装置和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101555526A CN102821082A (zh) | 2011-06-10 | 2011-06-10 | 一种数据传输方法、装置和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102821082A true CN102821082A (zh) | 2012-12-12 |
Family
ID=47304941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101555526A Pending CN102821082A (zh) | 2011-06-10 | 2011-06-10 | 一种数据传输方法、装置和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102821082A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130086295A1 (en) * | 2010-02-22 | 2013-04-04 | Youichi Hidaka | Communication control system, switching node, communication control method and communication control program |
CN103312720A (zh) * | 2013-07-01 | 2013-09-18 | 华为技术有限公司 | 一种数据传输方法、设备及*** |
CN103533045A (zh) * | 2013-10-12 | 2014-01-22 | 江苏华丽网络工程有限公司 | 一种用于pcie数据链路层高性能容错的方法 |
CN103701680A (zh) * | 2013-12-17 | 2014-04-02 | 杭州华为数字技术有限公司 | 一种跨PCIe域报文传输的方法、设备及*** |
CN103905453A (zh) * | 2014-04-04 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种基于地址映射多路复用的通信模型及方法 |
CN104580011A (zh) * | 2013-10-23 | 2015-04-29 | 杭州华三通信技术有限公司 | 一种数据转发装置和方法 |
CN104579695A (zh) * | 2013-10-23 | 2015-04-29 | 杭州华三通信技术有限公司 | 一种数据转发装置和方法 |
WO2021147050A1 (zh) * | 2020-01-22 | 2021-07-29 | 华为技术有限公司 | 一种基于PCIe的数据传输方法及装置 |
CN113498597A (zh) * | 2020-01-22 | 2021-10-12 | 华为技术有限公司 | 一种基于PCIe的数据传输方法及装置 |
WO2023019403A1 (zh) * | 2021-08-16 | 2023-02-23 | 北京小米移动软件有限公司 | 一种传输ip数据包的方法、装置及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070266179A1 (en) * | 2006-05-11 | 2007-11-15 | Emulex Communications Corporation | Intelligent network processor and method of using intelligent network processor |
CN101277196A (zh) * | 2007-03-30 | 2008-10-01 | 杭州华三通信技术有限公司 | 一种基于pcie交换网的通信***、通信方法及线卡板 |
CN102075401A (zh) * | 2011-01-28 | 2011-05-25 | 成都市华为赛门铁克科技有限公司 | 在pcie总线上传输报文的方法、设备和*** |
-
2011
- 2011-06-10 CN CN2011101555526A patent/CN102821082A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070266179A1 (en) * | 2006-05-11 | 2007-11-15 | Emulex Communications Corporation | Intelligent network processor and method of using intelligent network processor |
CN101277196A (zh) * | 2007-03-30 | 2008-10-01 | 杭州华三通信技术有限公司 | 一种基于pcie交换网的通信***、通信方法及线卡板 |
CN102075401A (zh) * | 2011-01-28 | 2011-05-25 | 成都市华为赛门铁克科技有限公司 | 在pcie总线上传输报文的方法、设备和*** |
Non-Patent Citations (1)
Title |
---|
杨阿锋等: "PCIe接口高速数据传输卡的驱动程序开发", 《中国测试技术》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9047416B2 (en) * | 2010-02-22 | 2015-06-02 | Nec Corporation | Communication control system, switching node, communication control method and communication control program including PCI express switch and LAN interface |
US20130086295A1 (en) * | 2010-02-22 | 2013-04-04 | Youichi Hidaka | Communication control system, switching node, communication control method and communication control program |
CN103312720A (zh) * | 2013-07-01 | 2013-09-18 | 华为技术有限公司 | 一种数据传输方法、设备及*** |
CN103312720B (zh) * | 2013-07-01 | 2016-05-25 | 华为技术有限公司 | 一种数据传输方法、设备及*** |
CN103533045A (zh) * | 2013-10-12 | 2014-01-22 | 江苏华丽网络工程有限公司 | 一种用于pcie数据链路层高性能容错的方法 |
CN103533045B (zh) * | 2013-10-12 | 2017-12-29 | 丁贤根 | 一种用于pcie数据链路层高性能容错的方法 |
US10084647B2 (en) | 2013-10-23 | 2018-09-25 | Hewlett Packard Enterprise Development Lp | Data forwarding to server via virtual network card or to external network via network interface, based on fusion descriptor |
CN104579695A (zh) * | 2013-10-23 | 2015-04-29 | 杭州华三通信技术有限公司 | 一种数据转发装置和方法 |
CN104580011A (zh) * | 2013-10-23 | 2015-04-29 | 杭州华三通信技术有限公司 | 一种数据转发装置和方法 |
CN104580011B (zh) * | 2013-10-23 | 2017-12-15 | 新华三技术有限公司 | 一种数据转发装置和方法 |
CN104579695B (zh) * | 2013-10-23 | 2018-07-20 | 新华三技术有限公司 | 一种数据转发装置和方法 |
CN103701680A (zh) * | 2013-12-17 | 2014-04-02 | 杭州华为数字技术有限公司 | 一种跨PCIe域报文传输的方法、设备及*** |
CN103905453A (zh) * | 2014-04-04 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种基于地址映射多路复用的通信模型及方法 |
WO2021147050A1 (zh) * | 2020-01-22 | 2021-07-29 | 华为技术有限公司 | 一种基于PCIe的数据传输方法及装置 |
CN113498597A (zh) * | 2020-01-22 | 2021-10-12 | 华为技术有限公司 | 一种基于PCIe的数据传输方法及装置 |
CN113498597B (zh) * | 2020-01-22 | 2022-10-28 | 华为技术有限公司 | 一种基于PCIe的数据传输方法及装置 |
WO2023019403A1 (zh) * | 2021-08-16 | 2023-02-23 | 北京小米移动软件有限公司 | 一种传输ip数据包的方法、装置及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102821082A (zh) | 一种数据传输方法、装置和*** | |
US10884965B2 (en) | PCI express tunneling over a multi-protocol I/O interconnect | |
EP2080328B1 (en) | Network direct memory access | |
US6438128B1 (en) | Alternate use of data packet fields to convey information | |
US10735373B2 (en) | Communications over multiple protocol interfaces in a computing environment | |
JP6269999B2 (ja) | パケット処理方法および装置 | |
CN111352889B (zh) | 一种基于mctp协议的设备管理方法、设备、装置和介质 | |
CN107770085B (zh) | 一种网络负载均衡方法、设备及*** | |
CN109412922B (zh) | 一种传输报文的方法、转发设备、控制器及*** | |
CN104426680A (zh) | 数据传输方法、装置和*** | |
US9866639B2 (en) | Communication apparatus, information processor, communication method, and computer-readable storage medium | |
WO2017088494A1 (zh) | 一种链路管理方法及装置 | |
KR102450095B1 (ko) | 데이터 송신 방법, 전송 장치, 및 수신 장치 | |
CN109936492A (zh) | 一种通过隧道传输报文的方法、装置和*** | |
CN101540772A (zh) | 一种深度报文检测设备及其通信方法 | |
CN110214439B (zh) | 数据传输方法、装置、发送端、接收端及*** | |
KR20110110199A (ko) | 장치의 컴포넌트들 간에 메모리 자원들을 공유하기 위한 통신 프로토콜 | |
CN109417507A (zh) | 部分延迟的报文访问 | |
CN104836636A (zh) | 基于新型can帧进行通信的方法、装置及*** | |
CN113498597B (zh) | 一种基于PCIe的数据传输方法及装置 | |
CN110169023A (zh) | 一种数据传输方法、数据接收设备及数据发送设备 | |
CN104717109A (zh) | 广域网链路模拟测试方法及*** | |
US20150249616A1 (en) | Apparatus and method for supporting multi-host access | |
CN107168909A (zh) | 转接设备、远程通信***、数据传输方法及装置 | |
CN103973554A (zh) | 路由方法、***及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River Applicant after: Huawei Symantec Technologies Co., Ltd. Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River Applicant before: Chengdu Huawei Symantec Technologies Co., Ltd. |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: CHENGDU HUAWEI SYMANTEC TECHNOLOGY CO., LTD. TO: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD. |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20121212 |