《一种数据传输方法、装置和系统.pdf》由会员分享,可在线阅读,更多相关《一种数据传输方法、装置和系统.pdf(17页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102821082 A (43)申请公布日 2012.12.12 C N 1 0 2 8 2 1 0 8 2 A *CN102821082A* (21)申请号 201110155552.6 (22)申请日 2011.06.10 H04L 29/06(2006.01) H04L 12/28(2006.01) H04L 12/56(2006.01) (71)申请人成都市华为赛门铁克科技有限公司 地址 611731 四川省成都市高新区西部园区 清水河片区 (72)发明人王雨晨 孟健 (74)专利代理机构深圳市深佳知识产权代理事 务所(普通合伙) 44285 代理人彭愿洁 李。
2、文红 (54) 发明名称 一种数据传输方法、装置和系统 (57) 摘要 本发明实施例一种数据传输方法、装置和系 统。本发明实施例通过将以太网数据包封装在 PCIE数据包中,使得以太网数据包可以在PCIE总 线中进行传输,也就是说,在全PCIE连接的多主 机集群计算系统中,各个节点无需网络控制器即 可通过以太网协议进行互连,不仅便于实现,而且 节省了成本。 (51)Int.Cl. 权利要求书2页 说明书9页 附图5页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 9 页 附图 5 页 1/2页 2 1.一种数据传输方法,其特征在于,包括: 将以太网数据包。
3、封装成以太网处理层协议Ethernet-TLP包,所述Ethernet-TLP包包 括协议类型字段和数据部分,所述协议类型字段用于指示所封装的数据所采用的协议; 将所述Ethernet-TLP包封装成快速外设组件互连标准PCIE数据包; 将所述PCIE数据包通过PCIE接口发送给PCIE总线上的其他节点,以便所述其他节点 对所述PCIE数据包进行处理。 2.根据权利要求1所述的方法,其特征在于,所述将以太网数据包封装成 Ethernet-TLP包,具体包括: 将以太网协议标识写入所述Ethernet-TLP包的协议类型字段中; 将所述以太网数据包写入所述Ethernet-TLP包的数据部分。 。
4、3.根据权利要求1或2所述的方法,其特征在于,所述将以太网数据包封装成 Ethernet-TLP包之前,该方法还包括: 向预置网络设备注册媒体接入层MAC地址和PCIE设备标识; 则所述将所述Ethernet-TLP包封装成PCIE数据包包括:获取目标设备的MAC地址, 根据目标设备的MAC地址查询所述预置网络设备,以获取目标设备的PCIE设备标识,将获 取到的目标设备的PCIE设备标识写入PCIE数据包的TLP头部分,将Ethernet-TLP包写入 PCIE数据包的TLP包部分,从而封装成PCIE数据包。 4.一种数据传输方法,其特征在于,包括: 通过快速外设组件互连标准PCIE接口从PC。
5、IE总线上接收PCIE数据包; 从PCIE数据包中解析出以太网处理层协议Ethernet-TLP包; 从所述Ethernet-TLP包中解析出以太网数据包; 对解析出的以太网数据包进行处理。 5.根据权利要求4所述的方法,其特征在于,所述对解析出的以太网数据包进行处理 包括: 从解析出的Ethernet-TLP包中获取协议类型字段内容; 根据获取的协议类型字段内容,将解析出的以太网数据包提交给以太网协议栈处理程 序,以便以太网协议栈处理程序对所述以太网数据包进行处理。 6.根据权利要求4或5所述的方法,其特征在于,所述以太网协议栈处理程序对所述以 太网数据包进行处理包括: 以太网协议栈处理程序。
6、确定所述以太网数据包的目的媒体接入层MAC地址是否为本 主机的MAC地址; 若是,则对所述以太网数据包进行处理; 若否,则将所述以太网数据包丢弃。 7.一种网络设备,其特征在于,包括: 第一封装单元,用于将以太网数据包封装成以太网处理层协议Ethernet-TLP包,所述 Ethernet-TLP包包括协议类型字段和数据部分,所述协议类型字段用于指示所封装的数据 所采用的协议; 第二封装单元,用于将第一封装单元封装而成的Ethernet-TLP包封装成快速外设组 件互连标准PCIE数据包; 权 利 要 求 书CN 102821082 A 2/2页 3 发送单元,用于将第二封装单元封装而成的PC。
7、IE数据包通过PCIE接口发送给PCIE总 线上的其他节点,以便所述其他节点对所述PCIE数据包进行处理。 8.根据权利要求7所述的网络设备,其特征在于,还包括注册单元; 注册单元,用于向预置网络设备注册媒体接入层MAC地址和PCIE设备标识; 则第二封装单元,具体用于获取目标设备的MAC地址,根据目标设备的MAC地址查询所 述预置网络设备,以获取目标设备的PCIE设备标识,将获取到的目标设备的PCIE设备标识 写入PCIE数据包的TLP头部分,将Ethernet-TLP包写入PCIE数据包的TLP包部分,从而 封装成PCIE数据包。 9.一种网络设备,其特征在于,包括: 接收单元,用于通过快。
8、速外设组件互连标准PCIE接口从PCIE总线上接收PCIE数据 包; 第一解析单元,用于从接收单元接收到的PCIE数据包中解析出以太网处理层协议 Ethernet-TLP包; 第二解析单元,用于从第一解析单元解析出的Ethernet-TLP包中解析出以太网数据 包; 处理单元,用于对第二解析单元解析出的以太网数据包进行处理。 10.根据权利要求9所述的网络设备,其特征在于, 所述处理单元,具体用于从第一解析单元解析出的Ethernet-TLP包中获取协议类型 字段内容;根据获取的协议类型字段内容,将第二解析单元解析出的以太网数据包提交给 以太网协议栈处理程序,以便以太网协议栈处理程序对所述以太。
9、网数据包进行处理。 11.一种通信系统,其特征在于,包括第一网络设备和至少一个第二网络设备; 所述第一网络设备为权利要求7或8所述的任一种网络设备; 所述第二网络设备为权利要求9或10所述的任一种网络设备。 权 利 要 求 书CN 102821082 A 1/9页 4 一种数据传输方法、 装置和系统 技术领域 0001 本发明涉及通信技术领域,具体涉及一种数据传输方法、装置和系统。 背景技术 0002 快速外设组件互连标准(PCIE,Peripheral Component Interconnect Express) 是最新的总线和接口标准,由于它的数据传输速率高,而且适用范围较广,所以在未来。
10、 的发展中,PCIE标准将全面取代现行的周边元件扩展接口(PCI,Pedpherd Component Interconnect)和加速图形端口(AGP,Accelerated Graphic Ports),以实现总线标准的统 一。 0003 以太网(Ethernet)协议是现有局域网最通用的通信协议标准,PCIE标准与以太 网协议标准在数据帧格式等方面存在明显的差异,现有技术并没有提供一种在全PCIE连 接的多主机集群计算系统中,各以太网主机通过PCIE总线来传输以太网数据包的方案。 发明内容 0004 本发明实施例提供一种数据传输方法、装置和系统,使得在全PCIE连接的多主机 集群计算系统。
11、中,各以太网主机可以通过PCIE总线来传输采用以太网协议进行封装的数 据。 0005 为了描述方便,在本发明实施例中,将采用以太网协议进行封装的数据,简称为以 太网数据包,将PCIE协议封装的数据成为PCIE数据包。 0006 一种数据传输方法,包括: 0007 将以太网数据包封装成以太网处理层协议(Ethernet-TLP,Ethernet Transaction Layer Protocol)包,所述Ethernet-TLP包包括协议类型字段和数据部分,所 述协议类型字段用于指示所封装的数据所采用的协议; 0008 将所述Ethernet-TLP包封装成PCIE数据包; 0009 将所述P。
12、CIE数据包通过PCIE接口发送给PCIE总线上的其他节点,以便所述其他 节点对所述PCIE数据包进行处理。 0010 一种数据传输方法,包括: 0011 通过PCIE接口从PCIE总线上接收PCIE数据包; 0012 从PCIE数据包中解析出Ethernet-TLP包; 0013 从所述Ethernet-TLP包中解析出以太网数据包; 0014 对解析出的以太网数据包进行处理。 0015 一种网络设备,包括: 0016 第一封装单元,用于将以太网数据包封装成Ethernet-TLP包,所述Ethernet-TLP 包包括协议类型字段和数据部分,所述协议类型字段用于指示所封装的数据所采用的协 。
13、议; 0017 第二封装单元,用于将第一封装单元封装而成的Ethernet-TLP包封装成PCIE数 说 明 书CN 102821082 A 2/9页 5 据包; 0018 发送单元,用于将第二封装单元封装而成的PCIE数据包通过PCIE接口发送给 PCIE总线上的其他节点,以便所述其他节点对所述PCIE数据包进行处理。 0019 一种网络设备,其特征在于,包括: 0020 接收单元,用于通过PCIE接口从PCIE总线上接收PCIE数据包; 0021 第一解析单元,用于从接收单元接收到的PCIE数据包中解析出Ethernet-TLP 包; 0022 第二解析单元,用于从第一解析单元解析出的Et。
14、hernet-TLP包中解析出以太网 数据包; 0023 处理单元,用于对第二解析单元解析出的以太网数据包进行处理。 0024 一种通信系统,包括第一网络设备和第二网络设备; 0025 第一网络设备,用于将以太网数据包封装成Ethernet-TLP包,所述Ethernet-TLP 包包括协议类型字段和数据部分,所述协议类型字段用于指示所封装的数据所采用的协 议;将所述Ethernet-TLP包封装成PCIE数据包,将所述PCIE数据包通过PCIE接口发送给 PCIE总线上的第二网络设备; 0026 第二网络设备,用于通过PCIE接口从PCIE总线上接收PCIE数据包,从PCIE数据 包中解析出。
15、Ethernet-TLP包,从所述Ethernet-TLP包中解析出以太网数据包,对解析出的 以太网数据包进行处理。 0027 本发明实施例通过将以太网数据包封装在PCIE数据包中,使得以太网数据包可 以在PCIE总线中进行传输,也就是说,在全PCIE连接的多主机集群计算系统中,各个节点 无需网络控制器即可通过以太网协议进行互连,不仅便于实现,而且节省了成本。 附图说明 0028 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前。
16、提下,还可以根据 这些附图获得其他的附图。 0029 图1a是本发明实施例提供的数据传输方法的流程图; 0030 图1b是本发明实施例提供的Ethernet-TLP包的示意图; 0031 图1c是本发明实施例提供的PCIE包的示意图; 0032 图2是本发明实施例提供的数据传输方法的另一流程图; 0033 图3a是本发明实施例中全PCIE连接的多主机集群计算系统的场景示意图; 0034 图3b是本发明实施例提供的数据传输方法的又一流程图; 0035 图4是本发明实施例提供的数据传输方法的又一流程图; 0036 图5a是本发明实施例提供的网络设备的结构示意图; 0037 图5b是本发明实施例提供。
17、的网络设备的另一结构示意图; 0038 图6是本发明实施例提供的网络设备的又一结构示意图。 具体实施方式 说 明 书CN 102821082 A 3/9页 6 0039 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施 例,都属于本发明保护的范围。 0040 本发明实施例提供一种数据传输方法、装置和系统。以下分别进行详细说明。 0041 本实施例为本发明实施例的一方法实施例。在本实施例中,将从发送设备的角度 进行。
18、描述。 0042 一种数据传输方法,包括:将以太网数据包封装成Ethernet-TLP包,将该 Ethernet-TLP包封装成PCIE数据包,将该PCIE数据包通过PCIE接口发送给PCIE总线上 的其他节点,以便其他节点对该PCIE数据包进行处理。其中,Ethernet-TLP包包括协议类 型字段和数据部分,协议类型字段用于指示所封装的数据所采用的协议。 0043 参见图1a,具体流程可以如下: 0044 101、将以太网数据包封装成Ethernet-TLP包; 0045 例如,参见图1b,该Ethernet-TLP包可以包括协议类型(Protocol type)字 段和数据部分,可选的,。
19、还可以包含数据长度(Length)等其他字段。为了便于日后对该 Ethernet-TLP包进行扩展,还可以包括保留字段(Reserved)。 0046 其中,Ethernet-TLP包的数据部分主要用于存放太网数据包(Ethernet Frame), 即具体可以将以太网数据包写入Ethernet-TLP包的数据部分。 0047 而协议类型字段则主要用于指示所封装的数据所采用的协议,可以设置为8个字 节(byte),比如,在本实施例中,具体可以在协议类型字段中写入以太网协议标识。由于 PCIE数据包的TLP包部分可以承载多种协议类型的数据包,例如以太网数据包,光纤通道 (FC,Fibre Cha。
20、nnel)数据包等,为了PCIE总线上的其他接收PCIE数据包的节点能够采用 正确的处理方式来处理其中TLP包部分承载的数据包,因此需要在Ethernet-TLP包中设置 协议类型。 0048 数据长度字段则用于指示所述以太网数据包的长度,同样可以设置为8个字节。 0049 需说明的是,以上仅仅只是本发明实施例中定义的一种包格式,应当理解的是,本 发明实施例对于其他包格式也同样适用,在此不再赘述。 0050 102、将步骤101中封装而成的Ethernet-TLP包封装成PCIE数据包,具体为将所 述Ethernet-TLP包写入PCIE数据包的TLP包部分;其中,PCIE包可以包括帧开始标识。
21、、数 据链路层数据包(DLLP,Data Link Layer Packet)头、TLP头、TLP包、端到端CRC(ECRC, end to end CRC)、数据链路层CRC(LCRC,Link Layer CRC)和帧结束标识,参见图1c。 0051 其中,帧开始标识表示一个数据帧的开始; 0052 DLLP头,用于链路管理功能,包括物理层的流量控制,主要职责是确保数据包可 靠、正确传输,确保数据包的完整性; 0053 TLP头,用于处理上层应用的读写请求等事务; 0054 TLP包就是本发明实施例中所描述的Ethernet-TLP包; 0055 ECRC,指端到端的循环冗余校验码(CRC。
22、,Cyclic Redundancy Check),其中,CRC是 数据通信领域中最常用的一种差错校验码; 0056 LCRC,指数据链路层的CRC,是基于序列标识(ID,IDentity)和TLP全部字节的 说 明 书CN 102821082 A 4/9页 7 CRC字段; 0057 帧结束标识表示一个数据帧的结束。 0058 以上PCIE数据包中的各个组成部分具体可参见PCIE协议,在此不再赘述。 0059 需说明的是,以上仅仅只是本发明实施例中定义的一种包格式,应当理解的是,本 发明实施例对于其他包格式也同样适用,在此不再赘述。 0060 103、将步骤102封装而成的PCIE数据包通过。
23、PCIE接口发送给PCIE总线上的其 他节点,以便其他节点对该PCIE数据包进行处理。 0061 其中,其他节点对该PCIE数据包进行处理的方法具体可以如下: 0062 其他节点通过PCIE接口从PCIE总线上接收PCIE数据包,从PCIE数据包中解析 出Ethernet-TLP包,从Ethernet-TLP包中解析出以太网数据包,对解析出的以太网数据包 进行处理。比如可以将解析出的以太网数据包提交给以太网协议栈处理程序,以太网协议 栈处理程序确定以太网数据包的目的MAC地址确定是否为本主机的MAC地址,若是,则对该 以太网数据包进行处理;若否,则将该以太网数据包丢弃。 0063 可选的,除了。
24、可以不指定接收设备,由接收设备根据媒体接入层(MAC,Media Access Control)地址来确定是否对以太网数据包进行处理之外,还可以直接指定接收设 备(即目标设备),以便该目标设备直接对该以太网数据包进行处理。 0064 比如,具体可以将目标设备的PCIE设备标识(ID,IDentity)封装在PCIE数据包 的TLP头部分中,这样的话,PCIE数据包将会被发送到该目标设备上,而其他节点将不会接 收到该PCIE数据包,所以,目标设备在接收到该PCIE数据包并进行解析之后,可以不对以 太网数据包的目的MAC地址进行判断,而是直接进行处理。为了使得作为发送设备的以太 网主机能够获取到目。
25、标设备的PCIE设备标识,需要各个以太网主机在预置网络设备中注 册MAC地址和PCIE设备标识,即该数据传输方法在步骤101之前,还可以包括: 0065 向预置网络设备注册MAC地址和PCIE设备标识;其中,该网络设备具体可以为一 PCIE设备或PCIE交换机。 0066 则将以Ethernet-TLP包封装成PCIE数据包(即步骤102)可以包括:获取目标 设备的MAC地址,根据目标设备的MAC地址查询预置网络设备,以获取目标设备的PCIE 设备标识,将获取到的目标设备的PCIE设备标识写入PCIE数据包的TLP头部分,将 Ethernet-TLP包写入PCIE数据包的TLP包部分,从而封装。
26、成PCIE数据包。 0067 由上可知,本发明实施例通过将以太网数据包封装在PCIE数据包中,使得以太网 数据包可以在PCIE总线中进行传输,也就是说,在全PCIE连接的多主机集群计算系统中, 各个节点无需网络控制器即可通过以太网协议进行互连,不仅便于实现,而且节省了成本。 0068 本实施例为本发明实施例的另一方法实施例。在本实施例中,将从接收设备的角 度进行描述。 0069 一种数据传输方法,包括:通过快速外设组件互连标准PCIE接口从PCIE总线上接 收PCIE数据包,从PCIE数据包中解析出Ethernet-TLP包,从所述Ethernet-TLP包中解析 出以太网数据包,对解析出的以。
27、太网数据包进行处理。 0070 参见图2,具体流程可以如下: 0071 201、通过PCIE接口从PCIE总线上接收PCIE数据包; 0072 202、从步骤201接收到的PCIE数据包中解析出Ethernet-TLP包,具体为读取 说 明 书CN 102821082 A 5/9页 8 PCIE数据包的TLP包部分的内容,即Ethernet-TLP包; 0073 203、从步骤202解析出的Ethernet-TLP包中解析出以太网数据包,具体为读取 Ethernet-TLP包的数据部分即为以太网数据包; 0074 204、对步骤203解析出的以太网数据包进行处理。比如,将解析出的以太网数据 包。
28、提交给相应的协议栈处理程序,例如以太网协议栈处理程序、FC协议栈处理程序等进行 处理,例如,具体可以如下: 0075 从步骤202解析出的Ethernet-TLP包中获取协议类型字段内容,根据协议类 型字段内容,将步骤203解析出的以太网数据包提交给以太网协议栈处理程序,以便以 太网协议栈处理程序对该以太网数据包进行处理,可选地,还可以从步骤202解析出的 Ethernet-TLP包中获取数据长度等字段内容,根据数据长度字段内容对解析出的以太网数 据包的完整性进行检查;其中,以太网协议栈处理程序对所述以太网数据包进行处理具体 可以如下: 0076 以太网协议栈处理程序确定以太网数据包的目的MA。
29、C地址是否为本主机的MAC地 址;若是,则对该以太网数据包进行处理;若否,则将该以太网数据包丢弃。 0077 当然,如果接收到的PCIE数据包中的TLP包头中已经携带了目标设备的PCIE设 备标识,则目标设备接收到该PCIE数据包,且解析出以太网数据包后,可以不对目的MAC地 址进行判断,而是直接进行处理,具体可参见上一个方法实施例,在此不再赘述。 0078 由上可知,本发明实施例通过将以太网数据包封装在PCIE数据包中,使得以太网 数据包可以在PCIE总线中进行传输,也就是说,在全PCIE连接的多主机集群计算系统中, 各个节点无需网络控制器即可通过以太网协议进行互连,不仅便于实现,而且节省了。
30、成本。 0079 根据前面两个方法实施例所描述的方法,以下将举例作进一步详细说明。 0080 本实施例为本发明提供的又一方法实施例。 0081 如图3a所示,该图为全PCIE连接的多主机集群计算系统的场景示意图,在该全 PCIE连接的多主机集群计算系统中,包括了多个支持以太网协议的主机,在本发明实施例 中称为以太网主机,简称为主机,它们之间通过PCIE进行连接,也就是说,以太网主机是 PCIE总线上节点。在本实施例中,将以以太网主机A欲与以太网主机B通过以太网协议进 行通信为例进行说明。 0082 参见图3b,具体流程可以如下: 0083 301、以太网主机A将以太网数据包封装成Etherne。
31、t-TLP包;其中,Ethernet-TLP 包的格式可以根据实际应用的需求进行设置,例如具体可采用图1b中所示的格式,具体可 参见前面的方法实施例,在此不再赘述。 0084 302、以太网主机A将Ethernet-TLP包封装成PCIE数据包,其中,PCIE数据包的 格式具体可参见前面的方法实施例,在此不再赘述。 0085 303、以太网主机A将PCIE数据包通过PCIE接口发送出去。 0086 304、PCIE总线转发此PCIE数据包给所有的其他相连节点,即发送给该PCIE总线 上的其他以太网主机。比如,具体可采用广播的方式将该PCIE数据包发送给该PCIE总线 上的其他以太网主机。 00。
32、87 305、其他以太网主机接收到该PCIE数据包后,对该PCIE数据包进行解析,得到 Ethernet-TLP包,然后再对Ethernet-TLP包进行解析,得到以太网数据包。 说 明 书CN 102821082 A 6/9页 9 0088 306、其他以太网主机得到的以太网数据包交付给相应的处理程序,比如以太网协 议栈处理程序进行处理。 0089 307、以太网协议栈处理程序根据以太网数据包确定目的MAC地址是否为本以太 网主机的MAC地址,如果是则对该以太网数据包作进一步处理,否则,如果不是则将该以太 网数据包丢弃。其中,具体的处理方式可以根据业务的需求进行设置,具体可参见现有技 术,在。
33、此不再赘述。 0090 例如,在本实施例中,以太网主机A欲与以太网主机B进行通信,所以目的MAC地 址为以太网主机B的MAC地址,所以,以太网主机B的以太网协议栈处理程序将会对该以太 网数据包作进一步处理,而其他以太网主机的以太网协议栈处理程序则将会丢弃该以太网 数据包。 0091 由上可知,本发明实施例通过将以太网数据包封装在PCIE数据包中,使得以太网 数据包可以在PCIE总线中进行传输,也就是说,在全PCIE连接的多主机集群计算系统中, 各个节点无需网络控制器即可通过以太网协议进行互连,不仅便于实现,而且节省了成本。 0092 可选的,除了可以不指定接收设备,而是由接收设备根据MAC地址。
34、来确定是否对 以太网数据包进行处理之外,还可以直接指定接收设备(即目标设备),这样的话,该目标 设备在接收到以太网数据包后,就可以直接对该以太网数据包进行处理,而不需要根据MAC 地址进行判断。以下将举例进行说明。 0093 本实施例为本发明提供的又一方法实施例。 0094 还是以图3a中的应用场景为例,参见图4,具体流程可以如下: 0095 401、各以太网主机在启动之后,首先向预置网络设备注册其MAC地址和PCIE设备 标识,其中,该网络设备具体可以为一PCIE设备或PCIE交换机。 0096 402、若以太网主机A欲与以太网主机B通过以太网协议进行通信,则以太网主机 A获取以太网主机B的。
35、MAC地址。 0097 需说明的是,由于本发明实施例的前提是以太网主机(比如本实施例的以太网主 机A)已经生成以太网数据包,所以该以太网主机(比如本实施例的以太网主机A)本身就 已经知道目标以太网主机(比如本实施例的以太网主机B)的MAC地址。 0098 403、以太网主机A根据获取到的以太网主机B的MAC地址查询该预置网络设备, 以获取以太网主机B对应的PCIE设备标识。 0099 404、以太网主机A将以太网数据包封装成Ethernet-TLP包,其中,Ethernet-TLP 包的格式具体可参见前面的方法实施例,在此不再赘述。 0100 405、以太网主机A利用获取到的以太网主机B的PC。
36、IE设备标识将步骤404中得 到的Ethernet-TLP包封装成PCIE数据包,并通过PCIE接口发送出去。具体可以将以太网 主机B的PCIE设备标识封装在TLP头(请参照附图1c所示)中,将Ethernet-TLP包封装 在TLP包(请参照附图1c所示)中,其中,PCIE数据包的格式具体可参见前面的方法实施 例,在此不再赘述。 0101 406、PCIE总线根据PCIE数据包中的以太网主机B的PCIE设备标识转发此PCIE 数据包给以太网主机B。 0102 407、以太网主机B接收到该PCIE数据包后,对该PCIE数据包进行解析,得到 Ethernet-TLP包,然后再对Ethernet-。
37、TLP包进行解析,得到以太网数据包。 说 明 书CN 102821082 A 7/9页 10 0103 408、以太网主机B将以太网数据包交付给相应的处理程序,比如以太网协议栈处 理程序进行处理。其中,具体的处理方式可以根据业务的需求进行设置,具体可参见现有技 术,在此不再赘述。 0104 由上可知,本发明实施例通过将以太网数据包封装在PCIE数据包中,使得以太网 数据包可以在PCIE总线中进行传输,也就是说,在全PCIE连接的多主机集群计算系统中, 各个节点无需网络控制器即可通过以太网协议进行互连,不仅便于实现,而且节省了成本。 0105 为了更好地实施以上方法,本发明实施例还相应地提供一种。
38、网络设备,作为全 PCIE连接的多主机集群计算系统中作为发送设备的以太网主机。以下将进行详细说明。 0106 本实施例为本发明提供的一装置实施例。 0107 如图5a所示,该网络设备包括第一封装单元501、第二封装单元502和发送单元 503; 0108 第一封装单元501,用于将以太网数据包封装成Ethernet-TLP包,其中, Ethernet-TLP包包括协议类型字段和数据部分,协议类型字段用于指示所封装的数据所采 用的协议;具体可参见前面的方法实施例,在此不再赘述。 0109 第二封装单元502,用于将第一封装单元501封装而成的Ethernet-TLP包封装成 PCIE数据包; 0。
39、110 发送单元503,用于将第二封装单元502封装而成的PCIE数据包通过PCIE接口发 送给PCIE总线上的其他节点,以便其他节点对该PCIE数据包进行处理。 0111 其中,其他节点对该PCIE数据包进行处理的方法具体可以如下: 0112 其他节点通过PCIE接口从PCIE总线上接收PCIE数据包,从PCIE数据包中解析 出TLP包,从TLP包中解析出以太网数据包,对解析出的以太网数据包进行处理。比如可以 将解析出的以太网数据包提交给以太网协议栈处理程序,以太网协议栈处理程序确定以太 网数据包的目的MAC地址确定是否为本主机的MAC地址,若是,则对该以太网数据包进行处 理;若否,则将该以。
40、太网数据包丢弃。 0113 可选的,除了可以不指定接收设备,而是由接收设备根据MAC地址来确定是否对 以太网数据包进行处理之外,还可以直接指定接收设备(即目标设备),这样的话,该目标 设备在接收到以太网数据包后,就可以直接对该以太网数据包进行处理,而不需要根据MAC 地址进行判断。 0114 比如,具体可以将目标设备的PCIE设备标识封装PCIE包中,这样的话,PCIE数据 包将会被发送到该目标设备上,而其他节点将不会接收到该PCIE数据包,所以,目标设备 在接收到该PCIE数据包并进行解析之后,可以不对以太网数据包的目的MAC地址进行判 断,而是直接进行处理。为了使得作为发送设备的以太网主机。
41、能够获取到目标设备的PCIE 设备标识,需要各个以太网主机在预置网络设备中注册MAC地址和PCIE设备标识,即,如图 5b所示,该网络设备还可以包括注册单元504; 0115 注册单元504,用于向预置网络设备注册MAC地址和PCIE设备标识;其中,该网络 设备具体可以为一PCIE设备或PCIE交换机。 0116 则此时,第二封装单元502,具体用于获取目标设备的MAC地址,根据目标设备的 MAC地址查询所述预置网络设备,以获取目标设备的PCIE设备标识,将获取到的目标设备 的PCIE设备标识写入PCIE数据包的TLP头部分,将Ethernet-TLP包写入PCIE数据包的 说 明 书CN 1。
42、02821082 A 10 8/9页 11 TLP包部分,从而封装成PCIE数据包。 0117 以上各个单元的具体实施可参见前面实施例,在此不再赘述。需说明的是,具体实 施时,以上各个单元即可以作为一个独立的实体来实现,亦可进行任意组合,作为一个统一 的实体或若干个实体来实现。 0118 由上可知,本发明实施例的网络设备中的第一封装单元501和第二封装单元502 可以将以太网数据包封装在PCIE数据包中,然后再由发送单元503将PCIE数据包通过 PCIE接口发送出去,使得以太网数据包可以在PCIE总线中进行传输,也就是说,在全PCIE 连接的多主机集群计算系统中,各个节点无需网络控制器即可通。
43、过以太网协议进行互连, 不仅便于实现,而且节省了成本。 0119 相应的,本发明实施例还提供另一种网络设备,作为全PCIE连接的多主机集群计 算系统中作为接收设备的以太网主机。 0120 本实施例为本发明提供的另一装置实施例。 0121 如图6所示,该网络设备可以包括接收单元601、第一解析单元602、第二解析单元 603和处理单元604; 0122 接收单元601,用于通过PCIE接口从PCIE总线上接收PCIE数据包; 0123 第一解析单元602,用于从接收单元601接收到的PCIE数据包中解析出 Ethernet-TLP包; 0124 第二解析单元603,用于从第一解析单元602解析出。
44、的Ethernet-TLP包中解析出 以太网数据包; 0125 处理单元604,用于对第二解析单元603解析出的以太网数据包进行处理。比如, 将解析出的以太网数据包提交给相应的程序进行处理,即: 0126 处理单元604,具体用于从第一解析单元602解析出的Ethernet-TLP包中获取 协议类型字段内容,根据获取的协议类型字段内容,将第二解析单元解析出的以太网数据 包提交给以太网协议栈处理程序,以便以太网协议栈处理程序对所述以太网数据包进行处 理。其中,以太网协议栈处理程序对所述以太网数据包进行处理具体可以如下: 0127 以太网协议栈处理程序确定以太网数据包的目的MAC地址是否为本主机的。
45、MAC地 址;若是,则对该以太网数据包进行处理;若否,则将该以太网数据包丢弃。 0128 当然,如果接收到的PCIE数据包中的TLP包头中已经携带了目标设备的PCIE设 备标识,则目标设备接收到该PCIE数据包,且解析出以太网数据包后,可以不对目的MAC地 址进行判断,而是直接进行处理,具体可参见前面的方法实施例,在此不再赘述。 0129 可选地,处理单元604,具体还用于从第一解析单元602解析出的Ethernet-TLP包 中获取数据长度等字段内容,根据数据长度字段内容对解析出的以太网数据包的完整性进 行检查,具体可参见前面的实施例,在此不再赘述。 0130 以上各个单元的具体实施可参见前。
46、面实施例,在此不再赘述。需说明的是,具体实 施时,以上各个单元即可以作为一个独立的实体来实现,亦可进行任意组合,作为一个统一 的实体或若干个实体来实现。 0131 由上可知,本发明实施例的网络设备的第一解析单元602和第二解析单元603可 以对接收单元601接收到的PCIE数据包进行解析,以得到封装在PCIE数据包中的以太网 数据包,使得以太网数据包也可以在PCIE总线中进行传输,也就是说,在全PCIE连接的多 说 明 书CN 102821082 A 11 9/9页 12 主机集群计算系统中,各个节点无需网络控制器即可通过以太网协议进行互连,不仅便于 实现,而且节省了成本。 0132 相应的,。
47、本发明实施例还提供一种通信系统,包括第一网络设备和至少一个第二 网络设备;其中,第一网络设备为本发明第一个装置实施例中提供的任一种网络设备,第二 网络设备为本发明第二个装置实施例中提供的任一种网络设备。以下将举例作详细说明。 0133 本实施例为本发明的一系统实施例。 0134 第一网络设备,用于将以太网数据包封装成Ethernet-TLP包,其中, Ethernet-TLP包包括协议类型字段和数据部分,协议类型字段用于指示所封装的数据所采 用的协议;将所述Ethernet-TLP包封装成PCIE数据包,将该PCIE数据包通过PCIE接口发 送给PCIE总线上的第二网络设备。 0135 第二网。
48、络设备,用于通过PCIE接口从PCIE总线上接收PCIE数据包,从PCIE数据 包中解析出Ethernet-TLP包,从该Ethernet-TLP包中解析出以太网数据包,对解析出的以 太网数据包进行处理。例如,将解析出的以太网数据包提交给相应的程序如以太网协议栈 处理程序进行处理,具体如下: 0136 以太网协议栈处理程序确定以太网数据包的目的MAC地址是否为本主机的MAC地 址;若是,则对该以太网数据包进行处理;若否,则将该以太网数据包丢弃。 0137 当然,如果接收到的PCIE数据包中的TLP包头中已经携带了目标设备的PCIE设 备标识,则目标设备接收到该PCIE数据包,且解析出以太网数据。
49、包后,可以不对目的MAC地 址进行判断,而是直接进行处理,具体可参见前面的方法实施例,在此不再赘述。 0138 以上各个设备的具体实施可参见前面实施例,在此不再赘述。 0139 由上可知,本发明实施例的通信系统通过将以太网数据包封装在PCIE数据包中, 使得以太网数据包可以在PCIE总线中进行传输,也就是说,在全PCIE连接的多主机集群计 算系统中,各个节点无需网络控制器即可通过以太网协议进行互连,不仅便于实现,而且节 省了成本。 0140 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可 以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存 储介质可以包括:只读存储器(ROM,Read 。