CN111245809A - 跨层数据处理方法及系统 - Google Patents
跨层数据处理方法及系统 Download PDFInfo
- Publication number
- CN111245809A CN111245809A CN202010012789.8A CN202010012789A CN111245809A CN 111245809 A CN111245809 A CN 111245809A CN 202010012789 A CN202010012789 A CN 202010012789A CN 111245809 A CN111245809 A CN 111245809A
- Authority
- CN
- China
- Prior art keywords
- layer
- cross
- data processing
- layer data
- processing method
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/321—Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种跨层数据处理方法及系统。所述方法包括:通过统一的跨层线程,利用分别属于不同层的指针偏移量,对网络数据包的载荷内容进行处理。本发明提供的跨层数据处理方法及系统避免了网络数据的跨层拷贝、包头剥离、包头封装的操作,降低空间和时间开销。
Description
技术领域
本发明涉及网络技术领域,特别是涉及一种跨层数据处理方法及系统。
背景技术
存储系统是指计算机中由存放程序和数据的各种存储设备、控制部件及管理信息调度的设备(硬件)和算法(软件)所组成的系统。从外挂式磁盘存储的角度,存储技术分为三种:直接连接存储(DAS)、网络连接存储(NAS)和存储区域网络(SAN)。其中NAS和SAN被称为网络存储。网络存储就是通过网络将存储设备连接到应用服务器,为用户提供文件级别的数据访问和共享服务。而网络存储在原存储IO堆栈的基础上,又加入了网络模块的IO传输。随着存储介质速度的提升,存储网络层逐渐成为了IO链路的瓶颈。
目前,市场上主流网络存储产品的软件系统底层都是用类linux内核来实现的,相应的存储网络层使用的是集成到内核里的TCP/IP协议栈。其严格按照TCP/IP五层协议,即应用层、传输层、网络层、数据链路层、物理层,来进行模块划分和代码实现的。这样TCP/IP的每一层是一个单独进程。这样的好处是网络协议的每一层都非常清晰,代码的调试和理解都非常容易。数据包经过每一层来处理协议头,最终实现数据的传输。
现有技术存在如下缺点:
1、针对存储系统,linux内核集成的TCP/IP栈过于复杂,对于内存及cpu资源的消耗比较大,很多功能并不需要。
2、按照标准的TCP/IP协议栈这种严格的分层思想,在数据传输的时候就需要层层拷贝,因为各层之间的内存都不是共用的,在链路层递交到IP层需要拷贝,在IP层递交到传输层需要拷贝,反之亦然,这样子每当收到或者发送一个数据的时候都要CPU去拷贝数据。
3、Linux内核集成的TCP/IP栈需要层层剥离、封装协议头,时间开销较大。
发明内容
本发明要解决的技术问题是提供一种跨层数据处理方法及系统,避免了网络数据的跨层拷贝、包头剥离、包头封装的操作,降低空间和时间开销。
为解决上述技术问题,本发明提供了一种跨层数据处理方法,所述方法包括:通过统一的跨层线程,利用分别属于不同层的指针偏移量,对网络数据包的载荷内容进行处理。
在一些实施方式中,指针偏移量包括:协议头偏移量,以及载荷内容偏移量。
在一些实施方式中,通过统一的跨层线程,利用分别属于不同层的指针偏移量,对网络数据包的载荷内容进行处理,包括:通过当前层的协议头偏移量,确定当前层载荷内容的起始点;通过当前层的载荷内容偏移量,确定当前层载荷内容的终止点;根据起始点及终止点,对网络数据包的载荷内容进行处理。
在一些实施方式中,处理包括:载荷内容读取、载荷内容写入。
在一些实施方式中,协议头偏移量通过协议头指针确定。
在一些实施方式中,载荷内容偏移量通过载荷内容指针确定。
此外,本发明还提供了一种跨层数据处理系统,所述系统包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的跨层数据处理方法。
采用这样的设计后,本发明至少具有以下优点:
提高了网络数据包的处理速度,包括降低时间和空间的开销。
附图说明
上述仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,以下结合附图与具体实施方式对本发明作进一步的详细说明。
图1是本发明实施例提供的跨层数据处理方法应用场景的示意图;
图2是本发明实施例提供的跨层数据处理方法的原理示意图;
图3是本发明实施例提供的跨层数据处理系统的结构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1示出了本发明提供的跨层数据处理方法的应用场景。参见图1,在应用场景,文件系统要访问硬件/固件,需要通过TCP/IP协议栈访问。本领域技术人员应当知晓,TCP/IP协议栈包括多个不同的协议层。典型的,TCP/IP协议栈包括数据链路层、网络层、传输层和应用层。对于一个具体的数据分组或者数据包,相对于一个确定的协议层,其中都可以找到对应于该层的协议头和载荷内容。
图2示出了本发明提供的跨层数据处理方法的原理。参见图2,现有技术中访问一个数据分组,通常会涉及到在不同的协议层之间进行数据拷贝。数据拷贝之后,还会进一步的涉及剥离或者封装协议头的操作。显然,这些操作都会耗费相当的时间或者空间开销。
而且,在现有技术中,在不同的协议层中进行数据操作时,都需要使用一个独立的线程。也就是说,访问传输层数据,需要使用传输层对应的线程;访问网络层数据,需要使用网络层对应的线程。这无疑是一种资源上的浪费。
参见图2,本发明提供的技术方案在访问分属于不同层的数据时,均使用同一个线程。而且,访问数据时,不再执行数据拷贝、协议头剥离、协议头封装。而是使用对应的指针偏移量,直接跳过协议头,访问数据载荷内容。
换言之,访问数据分组的载荷数据时,不再执行数据的跨层拷贝,而是执行偏移指针的传递。
以访问网络层数据为例,首先根据网络层协议头偏移指针确定网络层载荷数据的数据起点,在根据网络层载荷偏移指针确定网络层载荷数据的数据终点,在确定了数据起点和数据终点之后,就可以根据确定了数据起点和数据终点的数据区段来执行相应的数据访问。
这样一来,数据分组的访问就不必再执行数据拷贝、协议头剥离、协议头封装的操作,直接根据数据偏移量就可以直接确定需要被访问的数据在何处,从而有效的降低了时间和空间开销。
图3示出了跨层数据处理系统的典型结构。例如,所述跨层数据处理系统300可以用于充当存储设备等的存储设备。如本文所述,跨层数据处理系统300可以用于在网络设备中实现跨层数据处理的功能,节约时间和空间开销。跨层数据处理系统300可以在单个节点中实现,或者跨层数据处理系统300的功能可以在网络中的多个节点中实现。本领域的技术人员应意识到,术语跨层数据处理系统包括广泛意义上的设备,图3中示出的跨层数据处理系统300仅是其中一个示例。包括跨层数据处理系统300是为了表述清楚,并不旨在将本发明的应用限制为特定的跨层数据处理系统实施例或某一类跨层数据处理系统实施例。本发明所述的至少部分特征/方法可以在网络装置或组件,例如,跨层数据处理系统300,中实现。例如,本发明中的特征/方法可以采用硬件、固件和/或在硬件上安装运行的软件实现。跨层数据处理系统300可以是任何通过网络处理,存储和/或转发数据帧的设备,例如,服务器,客户端,数据源等。如图3所示,跨层数据处理系统300可以包括收发器(Tx/Rx)310,其可以是发射器,接收器,或其组合。Tx/Rx 310可以耦合到多个端口350(例如上行接口和/或下行接口),用于从其他节点发送和/或接收帧。处理器330可耦合至Tx/Rx 310,以处理帧和/或确定向哪些节点发送帧。处理器330可以包括一个或多个多核处理器和/或存储器设备332,其可以用作数据存储器,缓冲区等。处理器330可以被实现为通用处理器,或者可以是一个或多个专用集成电路(application specific integrated circuit,简称ASIC)和/或数字信号处理器(digital signal processor,简称DSP)的一部分。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,本领域技术人员利用上述揭示的技术内容做出些许简单修改、等同变化或修饰,均落在本发明的保护范围内。
Claims (7)
1.一种跨层数据处理方法,其特征在于,包括:
通过统一的跨层线程,利用分别属于不同层的指针偏移量,对网络数据包的载荷内容进行处理。
2.根据权利要求1所述的跨层数据处理方法,其特征在于,指针偏移量包括:协议头偏移量,以及载荷内容偏移量。
3.根据权利要求2所述的跨层数据处理方法,其特征在于,通过统一的跨层线程,利用分别属于不同层的指针偏移量,对网络数据包的载荷内容进行处理,包括:
通过当前层的协议头偏移量,确定当前层载荷内容的起始点;
通过当前层的载荷内容偏移量,确定当前层载荷内容的终止点;
根据起始点及终止点,对网络数据包的载荷内容进行处理。
4.根据权利要求3所述的跨层数据处理方法,其特征在于,处理包括:载荷内容读取、载荷内容写入。
5.根据权利要求3所述的跨层数据处理方法,其特征在于,协议头偏移量通过协议头指针确定。
6.根据权利要求3所述的跨层数据处理方法,其特征在于,载荷内容偏移量通过载荷内容指针确定。
7.一种跨层数据处理系统,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1至6任意一项所述的跨层数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010012789.8A CN111245809A (zh) | 2020-01-07 | 2020-01-07 | 跨层数据处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010012789.8A CN111245809A (zh) | 2020-01-07 | 2020-01-07 | 跨层数据处理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111245809A true CN111245809A (zh) | 2020-06-05 |
Family
ID=70879901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010012789.8A Pending CN111245809A (zh) | 2020-01-07 | 2020-01-07 | 跨层数据处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111245809A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1543162A (zh) * | 2003-11-06 | 2004-11-03 | 西安电子科技大学 | 变长数据分组与定长信元混合传送的方法与适配装置 |
CN1742469A (zh) * | 2003-01-23 | 2006-03-01 | 思科技术公司 | 用于在存储区域网之间传输数据的方法和设备 |
CN101009865A (zh) * | 2007-01-30 | 2007-08-01 | 中兴通讯股份有限公司 | 用于终端无线通信系统分组业务传输链路的数据处理方法 |
CN101352013A (zh) * | 2005-10-07 | 2009-01-21 | 安吉尔系统公司 | 用补充命令文件进行rtp出口流的方法和装置 |
CN101656636A (zh) * | 2009-03-04 | 2010-02-24 | 北京邮电大学 | 基于opnet的多层协议栈网络设备测试方法 |
CN104753928A (zh) * | 2015-03-16 | 2015-07-01 | 苏州科达科技股份有限公司 | 一种码流转发方法及系统 |
JP2016005284A (ja) * | 2014-06-19 | 2016-01-12 | エックスプライアント, インコーポレイテッド | 変更のためにパケットを個々のレイヤに分割し、変更後のレイヤを情報処理で継合する方法およびその装置 |
CN106850565A (zh) * | 2016-12-29 | 2017-06-13 | 河北远东通信系统工程有限公司 | 一种高速的网络数据传输方法 |
-
2020
- 2020-01-07 CN CN202010012789.8A patent/CN111245809A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1742469A (zh) * | 2003-01-23 | 2006-03-01 | 思科技术公司 | 用于在存储区域网之间传输数据的方法和设备 |
CN1543162A (zh) * | 2003-11-06 | 2004-11-03 | 西安电子科技大学 | 变长数据分组与定长信元混合传送的方法与适配装置 |
CN101352013A (zh) * | 2005-10-07 | 2009-01-21 | 安吉尔系统公司 | 用补充命令文件进行rtp出口流的方法和装置 |
CN101009865A (zh) * | 2007-01-30 | 2007-08-01 | 中兴通讯股份有限公司 | 用于终端无线通信系统分组业务传输链路的数据处理方法 |
CN101656636A (zh) * | 2009-03-04 | 2010-02-24 | 北京邮电大学 | 基于opnet的多层协议栈网络设备测试方法 |
JP2016005284A (ja) * | 2014-06-19 | 2016-01-12 | エックスプライアント, インコーポレイテッド | 変更のためにパケットを個々のレイヤに分割し、変更後のレイヤを情報処理で継合する方法およびその装置 |
CN104753928A (zh) * | 2015-03-16 | 2015-07-01 | 苏州科达科技股份有限公司 | 一种码流转发方法及系统 |
CN106850565A (zh) * | 2016-12-29 | 2017-06-13 | 河北远东通信系统工程有限公司 | 一种高速的网络数据传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112422615B (zh) | 一种通信的方法及装置 | |
US7577707B2 (en) | Method, system, and program for executing data transfer requests | |
US11403227B2 (en) | Data storage method and apparatus, and server | |
US7603429B2 (en) | Network adapter with shared database for message context information | |
US9483188B2 (en) | Multiple I/O request processing in a storage system | |
US5884313A (en) | System and method for efficient remote disk I/O | |
US11249938B2 (en) | Programmed input/output mode | |
US11099872B2 (en) | Techniques to copy a virtual machine | |
US20070220183A1 (en) | Receive Queue Descriptor Pool | |
US20210211467A1 (en) | Offload of decryption operations | |
US11750418B2 (en) | Cross network bridging | |
CN111431757A (zh) | 虚拟网络的流量采集方法及装置 | |
CN109857545B (zh) | 一种数据传输方法及装置 | |
CN109564502B (zh) | 应用于存储设备中的访问请求的处理方法和装置 | |
WO2024037296A1 (zh) | 基于协议族的quic数据传输方法及装置 | |
JP2017537404A (ja) | メモリアクセス方法、スイッチ、およびマルチプロセッサシステム | |
CN116185553A (zh) | 数据迁移方法、装置及电子设备 | |
US5948079A (en) | System for non-sequential transfer of data packet portions with respective portion descriptions from a computer network peripheral device to host memory | |
CN110798366B (zh) | 任务逻辑的处理方法、装置及设备 | |
CN116489177A (zh) | 一种基于块存储的io访问方法、装置、电子设备及介质 | |
CN116471242A (zh) | 基于rdma的发送端、接收端、数据传输系统及方法 | |
CN111245809A (zh) | 跨层数据处理方法及系统 | |
CN111638854A (zh) | Nas构建的性能优化方法、装置及san堆栈块设备 | |
CN113553311A (zh) | 基于分布式文件系统的数据传递方法、系统及设备 | |
CN116720178A (zh) | 基于共享内存的容器安全保护方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200605 |