CN103973774B - 一种基于数据链路层协议的高速网络存储方法 - Google Patents

一种基于数据链路层协议的高速网络存储方法 Download PDF

Info

Publication number
CN103973774B
CN103973774B CN201410145358.3A CN201410145358A CN103973774B CN 103973774 B CN103973774 B CN 103973774B CN 201410145358 A CN201410145358 A CN 201410145358A CN 103973774 B CN103973774 B CN 103973774B
Authority
CN
China
Prior art keywords
link layer
data
data link
layer
express network
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.)
Active
Application number
CN201410145358.3A
Other languages
English (en)
Other versions
CN103973774A (zh
Inventor
万春
姚重屹
钟璞星
万鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhangjiakou Deyuan Xinhui Network Engineering Co.,Ltd.
Original Assignee
Chong Qingna Information Technology Co Ltd That Jumps
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chong Qingna Information Technology Co Ltd That Jumps filed Critical Chong Qingna Information Technology Co Ltd That Jumps
Priority to CN201410145358.3A priority Critical patent/CN103973774B/zh
Publication of CN103973774A publication Critical patent/CN103973774A/zh
Application granted granted Critical
Publication of CN103973774B publication Critical patent/CN103973774B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种基于数据链路层协议的高速网络存储方法,涉及高速网络存储的实现方法,该方法包括以下步骤:用户在客户端应用层发起读写命令;读写命令被传输到虚拟存储层;虚拟存储层将读写命令传输到高速存储内核层,高速存储内核层将读写命令进行分片并处理,得到高速网络数据报,并将高速网络数据报下传到数据链路层处理;数据链路层接收到高速网络数据报,将高速网络数据报发送给物理层;物理层接收到数据链路层发送的高速网络数据报,进行客户端网络传输。本发明的有益效果在于:本发明用高速存储内核层代替传统的网络存储网络层和ISCSI层,更高效率的利用数据链路层最大传输单元MTU,数据区长度为1500个字节。

Description

一种基于数据链路层协议的高速网络存储方法
技术领域
本发明涉及一种高速网络存储实现方法,特别涉及一种基于数据链路层协议的高速网络存储方法。
背景技术
传统网络区域存储SAN采用ISCSI方式如图1所示,数据传输处理封包层级有应用层、虚拟存储层物理层、ISCSI层、网络层、数据链路层和物理层。传统网络存储数据包,是基于TCP/IP协议为基础的,在以太网环境下,TCP/IP协议是建立在数据链路层协议之上的二层封装。数据链路层具有最大传输单元MTU这个特性,它限制了数据帧的最大长度,不同的网络类型都有一个上限值,TCP/IP也不例外,以太网的MTU是1500字节。如果IP层有数据包要传,而且数据包的长度超过了MTU,那么IP层要对数据包进行分片(fragmentation)操作,使每一片的长度都小于或等于MTU。假设要传输一个UDP数据包,以太网的MTU为1500字节,一般IP首部为20字节,UDP首部为8字节,数据的净荷(payload)部分预留是1472字节。如果数据部分大于1472字节,就会出现数据包分片现象,IP数据报最大长度可达65535字节。但是只要IP数据大于链路层MTU的1500字节就会把IP数据报分成多个分片传输。ISCSI以及其他基于网络层协议为基础的虚拟存储其传输过程中经常都是分片传输的,其封装格式如图2所示。ISCSI和其他基于IP SAN的网络存储,在传输时候,一个IP数据报内的有效数据长度一般都大于MTU限定的范围,数据链路层都会进行分片,分片后的每个IP数据报分片数据链路层再添加上以太封装RFC894后,分包在链路层进行实际的数据传输。在ISCSI和其他基于IP SAN的网络存储中,数据都是IP数据报的方式输入,数据区域大小按块设备最小要求最少是512个字节,最大65536字节。经常的IP数据报的长度都会大于1472字节的数据链路层数据的净荷(payload),这样IP数据报就会首先分片成多个IP数据报分片的方式,然再加入以太封装RFC894,在链路层传输,其传输封装流程图如图3所示。ISCSI和其他基于IP SAN的网络存储,一个IP数据报内的有效数据长度一般都大于MTU限定的范围,数据链路层都会对他进行分片,分片后的每个IP数据报分片链路层再添加上以太封装RFC894后,分包在链路层进行实际的数据传输,因为有IP数据报和IP数据报分片,增加了计算机处理数据压力,降低了数据的传输速度。
综上所述,有必要提供一种高速网络存储方法来降低计算机处理数据压力,提高数据传输速度。
发明内容
有鉴于此,本发明要解决的技术问题在于提供一种基于数据链路层协议的高速网络存储方法,用以降低计算机处理数据压力,提高数据传输速度,解决数据链路层协议传输无连接、数据不可靠的问题。
本发明通过以下技术手段解决上述技术问题:
本发明提供了一种基于数据链路层协议的高速网络存储方法,包括以下步骤:
用户在客户端应用层发起读写命令;
所述读写命令被传输到虚拟存储层;
虚拟存储层将所述读写命令传输到高速存储内核层,所述高速存储内核层将所述读写命令进行分片并处理,得到高速网络数据报,并将高速网络数据报下传到数据链路层处理,所述高速网络数据报由目的MAC地址、源MAC地址、协议类型、数据区和CRC组成,且采用MAC寻址;
数据链路层将接收到所述高速网络数据报发送给物理层;
物理层接收到所述数据链路层发送的高速网络数据报,进行客户端网络传输。
进一步,所述高速存储内核层将读写命令分成1500个字节的分片;
进一步,将所述读写命令分片并处理得到高速网络数据报,包括以下步骤:
把源地址和目的地址设置为客户端和服务端网卡的地址;
根据所述读写命令的不同设置不同的自定义协议类型;
将所述分片处理的数据封装到链路层数据包里;
计算数据区的校验和,存储到CRC中;
进一步,所述数据链路层通过源MAC地址和目的MAC地址实现寻址的步骤包括:
客户端高速存储内核层对接收到的虚拟存储层发送的数据进行分片和数据链路层封包,所述据链路层封包类型为自定义0x4337(read)、0x8337(write),区别其他标准封包类型;
客户端数据链路层根据前一步骤所述封包的目的MAC地址为目标,将含有虚拟存储数据的链路层数据包发送给服务端;
服务端接收客户端发送的所述含有虚拟存储数据的数据链路层封包;
服务端解包所述含有虚拟存储数据的链路层数据包,服务端进行数据读取操作或写入操作;
服务端高速存储内核层对所述读取操作或写入操作返回状态指示,进行数据链路层封包,所述据链路层封包类型为自定义0x4337(read)、0x8337(write),区别其他标准封包类型;
数据链路层根据前一步骤所述封包的目的MAC地址为目标,将含有虚拟存储数据的链路层数据包发送给客户端;
客户端收到服务端的应答,完成一个封包处理;
进一步,所述高速网络数据报采用数据链路层封包类型来区分读操作和写操作。
本发明的有益效果:本发明的数据传输封包层级用高速存储内核层代替传统的网络存储SAN的网络层和ISCSI层,高速网络数据报由类型和数据区组成,相比于传统IP数据报省去了IP首部和UDP首部,就多出了28字节,使每个高速网络数据报所携带的最大数据区长度为1500字节,基于数据链路层协议的高速网络存储的携载荷能力与传统基于IP的网络存储比较,在理论上提高了1.867%。存储区域网络服务器大量计算资源用于网络数据传输处理,高速网络数据报的传输处理精简了判断分片和数据报分片步骤以及载荷能力的提高,降低了服务器处理网络数据的CPU损耗。
附图说明
下面结合附图和实施例对本发明作进一步描述。
图1为传统网络存储堆栈示意图;
图2为基于数据链路层协议的高速网络存储堆栈示意图;
图3为基于网络层协议的虚拟存储传输封装格式示意图;
图4为IP数据报在数据链路层传输封装流程图;
图5为本发明高速网络读数据报格式示意图;
图6为本发明高速网络写数据包格式示意图;
图7为本发明高速网络数据报在数据链路层传输封装流程图;
图8为本发明数据链路层实现数据寻址流程图。
具体实施方式
以下将结合附图对本发明进行详细说明:
基于数据链路层协议的高速网络存储方式如图4所示,数据传输处理封包层级为应用层、虚拟存储层、高速存储内核层、数据链路层和物理层。用户在客户端应用层发起读写命令;该读写命令被传输到虚拟存储层;虚拟存储层将所述读写命令传输到高速存储内核层,所述高速存储内核层将所述读写命令进行分片处理,并将所述分片处理得到的数据封装成数据链路层数据包,得到高速网络数据报,并标注读写状态标志,再将标注有读写状态标志的高速网络数据报下传到数据链路层处理;数据链路层将接收到所述标注有读写状态标志的高速网络数据报发送给物理层;物理层接收到所述数据链路层发送的标注有读写状态标志的高速网络数据报,进行客户端网络传输。
作为上述技术方案的进一步改进,如图5、图6所示,数据链路层传输的高速网络数据报,高速网络数据报由目的MAC地址、源MAC地址、协议类型、数据区和CRC组成,相比于传统IP数据报省去了IP首部和UDP首部,因此就多了IP首部的20字节和UDP首部的8字节。
作为上述技术方案的进一步改进,每个高速网络数据报所携带的最大数据区长度为1500字节,基于数据链路层协议的高速网络存储的携载荷能力在理论上提高了1.867%。
作为上述技术方案的进一步改进,将分片的数据封装成链路层数据包,得到高速网络数据报的步骤如下:
把源地址和目的地址设置为客户端和服务端网卡的地址;
根据所述读写命令的不同设置不同的自定义协议类型;
将所述分片处理的数据封装到链路层数据包里;
计算数据区的校验和,存储到CRC中。
高速网络数据报在数据链路层上传输,采用0x4337类型表示网络存储读请求;采用0x8337类型表示网络存储写请求。数据传输完全采用以太封装RFC894为基础,每次传输的数据区永远不超过MTU限制的1500字节,当传输大量数据时,高速存储内核层结合数据链路层驱动会自动将数据分片成MTU限制大小的多个数据帧格式。完全避免了IP数据报封包、IP数据报分片这两个过程,其传输封装流程图如图7所示,高速网络数据报直接将数据传到以太封装RFC894,与传统网络存储数据包传输封装相比,判断分片和数据报分片的步骤被精简了。对于频繁使用的网络存储,精简数据包传输封装步骤以及分片步骤,提高了传输效率,降低了CPU损耗。
传统的IP数据报在1472字节数据区中,用一个标志来表示读写,会占用数据区空间。高速网络数据报采用数据链路层封包类型来区分读操作和写操作,减少了数据占用,同时直接在数据链路层就区分了是读数据包,还是写数据包。
如图8所示,数据链路层通过源MAC地址和目的MAC地址实现数据寻址处理步骤为:
步骤一,客户端高速存储内核层对接收到的虚拟存储层发送的数据进行分片和数据链路层封包,数据链路层封包类型为自定义0x4337(read)、0x8337(write)类型,区别其他标准封包类型。
步骤二,数据链路层根据步骤一所述数据链路层封包的MAC地址为目标,发送上述自定义0x4337(read)、0x8337(write)链路层封包类型的含有虚拟存储数据的数据链路层数据包给服务端。
步骤三,在服务端,程序接收到客户端自定义0x4337(read)、0x8337(write)链路层封包类型,对其进行缓冲。
步骤四,对接收到的含有虚拟存储数据的数据链路层数据包进行解包,服务端按需进行数据读取或写入操作。
步骤五,服务端高速存储内核层对含有虚拟存储数据的数据链路层数据包进行读取操作或写入操作返回状态指示,进行数据链路层封包,数据链路层封包类型为自定义0x4337(read)、0x8337(write)链路层封包类型,区别其他标准封包类型。
步骤六,数据链路层根据步骤五封包的目的MAC地址为目标,发送自定义0x4337(read)、0x8337(write)链路层封包类型的含有虚拟存储数据的链路层数据包的客户端。
步骤七,客户端收到服务端的应答,完成第一个封包处理,返回到步骤一重复执行步骤一至步骤七。
最后说明的是以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (6)

1.一种基于数据链路层协议的高速网络存储方法,其特征在于:
用户在客户端应用层发起读写命令;
所述读写命令被传输到虚拟存储层;
虚拟存储层将所述读写命令传输到高速存储内核层,所述高速存储内核层将所述读写命令进行分片并处理,得到高速网络数据报,并将高速网络数据报下传到数据链路层处理,所述高速网络数据报由目的MAC地址、源MAC地址、协议类型、数据区和CRC组成,且采用MAC寻址;
数据链路层接收到所述高速网络数据报,将高速网络数据报发送给物理层;
物理层接收到所述数据链路层发送的高速网络数据报,进行客户端网络传输。
2.如权利要求1所述的基于数据链路层协议的高速网络存储方法,其特征在于:所述高速存储内核层将读写命令分成1500个字节的分片。
3.如权利要求1所述的基于数据链路层协议的高速网络存储方法,其特征在于:将所述读写命令分片并处理得到高速网络数据报,包括以下步骤:
把源地址和目的地址设置为客户端和服务端网卡的地址;
根据所述读写命令设置自定义协议类型;
将所述分片处理的数据封装到数据链路层数据包里;
计算数据区的校验和,存储到CRC中。
4.如权利要求1或2或3所述的基于数据链路层协议的高速网络存储方法,其特征在于:所述高速网络数据报标注有读写状态标志。
5.如权利要求1所述的基于数据链路层协议的高速网络存储方法,其特征在于:所述数据链路层通过源MAC地址和目的MAC地址实现寻址的步骤包括:
客户端高速存储内核层对接收到的虚拟存储层发送的数据进行分片和数据链路层封包,所述据链路层封包类型为自定义0x4337(read)、0x8337(write),区别其他标准封包类型;
客户端数据链路层根据前一步骤所述封包的目的MAC地址为目标,将含有虚拟存储数据的数据链路层数据包发送给服务端;
服务端接收客户端发送的所述含有虚拟存储数据的数据链路层封包;
服务端解包所述含有虚拟存储数据的数据链路层数据包,服务端进行数据读取操作或写入操作;
服务端高速存储内核层对所述读取操作或写入操作返回状态指示,进行数据链路层封包,所述据链路层封包类型为自定义0x4337(read)、0x8337(write),区别其他标准封包类型;
数据链路层根据前一步骤所述封包的目的MAC地址为目标,将含有虚拟存储数据的数据链路层数据包发送给客户端;
客户端收到服务端的应答,完成一个封包处理。
6.如权利要求5所述的基于数据链路层协议的高速网络存储方法,其特征在于:所述高速网络数据报采用数据链路层封包类型来区分读操作和写操作。
CN201410145358.3A 2014-04-11 2014-04-11 一种基于数据链路层协议的高速网络存储方法 Active CN103973774B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410145358.3A CN103973774B (zh) 2014-04-11 2014-04-11 一种基于数据链路层协议的高速网络存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410145358.3A CN103973774B (zh) 2014-04-11 2014-04-11 一种基于数据链路层协议的高速网络存储方法

Publications (2)

Publication Number Publication Date
CN103973774A CN103973774A (zh) 2014-08-06
CN103973774B true CN103973774B (zh) 2017-08-29

Family

ID=51242807

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410145358.3A Active CN103973774B (zh) 2014-04-11 2014-04-11 一种基于数据链路层协议的高速网络存储方法

Country Status (1)

Country Link
CN (1) CN103973774B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111953774A (zh) * 2020-08-11 2020-11-17 上海百功半导体有限公司 暂存器的存取方法、网络装置及网络系统
CN112702143B (zh) * 2020-12-16 2023-01-24 歌尔科技有限公司 表盘数据管理方法、装置、可穿戴设备及存储介质
CN114124470A (zh) * 2021-11-01 2022-03-01 山东顺国电子科技有限公司 网络流量元数据采集技术算法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132412A (zh) * 2007-09-26 2008-02-27 杭州华三通信技术有限公司 iSCSI系统中的报文长度协商方法、装置和系统
CN101488912A (zh) * 2008-12-19 2009-07-22 华为技术有限公司 一种ip分片方法和装置
CN101577709A (zh) * 2008-08-06 2009-11-11 中兴通讯股份有限公司 一种可避免分片的ip分组复用控制方法及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376755B2 (en) * 2002-06-11 2008-05-20 Pandya Ashish A TCP/IP processor and engine using RDMA
US7685254B2 (en) * 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132412A (zh) * 2007-09-26 2008-02-27 杭州华三通信技术有限公司 iSCSI系统中的报文长度协商方法、装置和系统
CN101577709A (zh) * 2008-08-06 2009-11-11 中兴通讯股份有限公司 一种可避免分片的ip分组复用控制方法及设备
CN101488912A (zh) * 2008-12-19 2009-07-22 华为技术有限公司 一种ip分片方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"A New Hierarchical Data Cache Architecture for iSCSI Storage Server";Jun Wang,;《IEEE TRANSACTIONS ON COMPUTERS》;20081212;第58卷(第4期);第433-447页 *
"Quanta Data Storage:An Information Processing and Transportation Architecture for Storage Area Networks";Sai B. Narasimhamurthy,et al.,;《IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS》;20051003;第23卷(第10期);第2032-2040页 *

Also Published As

Publication number Publication date
CN103973774A (zh) 2014-08-06

Similar Documents

Publication Publication Date Title
US20180097722A1 (en) Method and apparatus for encapsulating / decapsulating data packets at a radio access node
CN103391256B (zh) 一种基于Linux系统的基站用户面数据处理优化方法
CN107079017B (zh) 一种报文转换方法及装置
JP2014528107A5 (zh)
CN101459611B (zh) 用于ip san存储的数据传输调度方法、系统和设备
CN103973774B (zh) 一种基于数据链路层协议的高速网络存储方法
CN109716728A (zh) 用于对协议数据单元递送进行排序的方法与装置
CN110087140B (zh) 一种传输流媒体数据的方法、装置、介质及设备
WO2022022229A1 (zh) 一种处理报文的方法及装置
CN110177087B (zh) 一种基于TOE网卡的Target端协议硬件解析方法
CN104065588B (zh) 一种数据包调度和缓存的装置及方法
CN112787902B (zh) 报文封装方法及装置、报文解封装方法及装置
CN105933325B (zh) 一种基于NFSoRDMA的内核态RPC通信加速方法
TWI500298B (zh) 傳送或接收有關於大資料封包之資料分段的技術
TWI737881B (zh) 資料傳輸方法及發送端
CN110941862B (zh) 一种基于fpga+arm的数据隔离系统
WO2013097218A1 (zh) 一种流媒体数据处理方法、装置及系统
CN102638464A (zh) Udp校验和的计算方法
CN102055774A (zh) 基于包处理的http服务器及其数据处理方法
WO2019034061A1 (zh) 数据传输方法、装置及系统
CN105262970B (zh) 一种基于图像数据的封装方法及系统
CN105763659A (zh) 一种IPv6隧道报文封装方法及系统
CN105512075B (zh) 高速输出、输入接口电路及数据传输方法
CN107708153B (zh) 一种无线调制解调器上行分组数据处理方法
CN113127389B (zh) Sas stp业务加速方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190409

Address after: No. 24 Industrial Road, Qiaodong District, Zhangjiakou City, Hebei Province, 075000

Patentee after: Zhangjiakou Jincheng Science and Technology Co.,Ltd.

Address before: 401122 Unit 9-1, 21 Building No. 18 Qixia Road, North New District of Chongqing

Patentee before: CHONGQING NAYUE INFORMATION TECHNOLOGY CO.,LTD.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240729

Address after: Room B204, High tech Industry Accelerator, Qiaodong District, Zhangjiakou City, Hebei Province 075000

Patentee after: Zhangjiakou Deyuan Xinhui Network Engineering Co.,Ltd.

Country or region after: China

Address before: No. 24 Industrial Road, Qiaodong District, Zhangjiakou City, Hebei Province, 075000

Patentee before: Zhangjiakou Jincheng Science and Technology Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right