CN1809057A - 通过装置卸载减轻主机负载的系统及其方法 - Google Patents
通过装置卸载减轻主机负载的系统及其方法 Download PDFInfo
- Publication number
- CN1809057A CN1809057A CN 200510004545 CN200510004545A CN1809057A CN 1809057 A CN1809057 A CN 1809057A CN 200510004545 CN200510004545 CN 200510004545 CN 200510004545 A CN200510004545 A CN 200510004545A CN 1809057 A CN1809057 A CN 1809057A
- Authority
- CN
- China
- Prior art keywords
- socket
- ssl
- online
- toe
- load
- 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
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种通过装置卸载减轻主机负载的系统及其方法,该系统包括有一Socket导向库,一TOE/SSL驱动程序,以及一TOE/SSL装置。其主要在主机进行网络封包传送时,可以通过硬件装置卸载(offload)来处理Socket联机(即网络连结对象联机,以下称Socket联机)中需耗费大量中央处理器运算资源的部分,特别是针对TCP/IP协议(传输控制/因特网协议,以下称TCP/IP协议)及SSL(Secure Socket Layer,即安全网络连结对象层,以下称SSL)数据安全编码的部分,借此减轻主机在网络封包传送过程中的负担,进而提升整体主机的运算效能。
Description
技术领域
本发明涉及一种硬件装置卸载系统及其方法,尤其涉及一种应用在网络封包传送上,可减轻主机在TCP/IP协议及SSL数据安全编码上的运算负担的系统及其方法。
背景技术
过去对于网络封包传送上,不论是在TCP/IP协议或者是在SSL数据安全编码的部分,完全都是采取计算机可执行软件的方式来达成的。
如图1A中所示,包括TCP/IP协议以及SSL数据安全编码运作的部分,都属于软件层面的执行处理,其运作过程简单描述如下:
首先,当应用程序(图中未显示)所传送的网络封包需要进行加解密的时候,便会先产生一个Socket联机,然后通过SSL函数库40来建立一个新的SSL联机,接着便通过SSL应用程序41来对这些传送的网络封包的内容进行加密的动作,完成加密之后传回给TCP/IP函数库30进行有关TCP/IP协议部分的处理,产生可传送的网络封包,最后再通过网络装置20传送至网络10中。
然而,由于TCP/IP协议以及SSL数据安全编码的部分都通过软件运作所达成的,因此在处理的过程中必须耗费许多主机中央处理器的运算资源,特别是在当网络封包的数量庞大的时候,其对于主机的效能将产生极大的影响。
因此,便开始有人提出以硬件装置的卸载机制来减轻主机在网络封包处理上的运算负载,其主要都针对TCP/IP协议处理的部分,亦即利用TOE装置(Traffic Offioad Engine Device,即流量卸载引擎装置,以下称TOE装置)来实现TCP/IP协议处理的部分,其运作示意图如图1B所示,此种方式主要是在主机上安装并执行TOE驱动程序31,然后在主机上安装一个独立的TOE装置32,专门负责处理有关TCP/IP协议的部分。其主要的网络封包传送运作方式大致与图1A相似,只不过此时为了将Socket联机导向给TOE装置32来处理,因此在主机上多执行了一个Socket导向库50,负责将经过SSL应用程序处理的Socket联机给导向至TOE驱动程序中31再交由TOE装置32来进行TCP/IP协议部分的处理,最后通过网络10传送出去。
此种通过装置卸载方式来减轻主机负载的机制,确实能够大幅减少主机中央处理器的运算资源耗费。然而,随着电子商务的蓬勃发展,网络上数据传递的安全性也越来越重要,因此通过SSL数据安全编码方式来处理网络封包的比例也越来越重,几乎所有的网络封包在传送的时候都必须经过SSL数据安全编码的处理,因此事实上这部分也耗费掉许多主机中央处理器的运算资源。
由于目前仍未见到有相关技术手段能够来解决网络封包传送时在SSL数据安全编码上所产生的运算资源耗费的问题,因此如何有效通过硬件装置的方式来彻底改善主机负载的问题,使主机在网络封包的处理上能够更加有效率,便成为目前相当重要的课题。
发明内容
鉴于以上的问题,本发明的主要目的在于提供一种通过装置卸载减轻主机负载的系统及其方法,借以利用硬件装置来解决以往通过软件执行TCP/IP协议以及SSL数据安全编码时所造成的主机中央处理器运算资源大量耗费的问题,达到提升主机运作效率的目的功效。
因此,为达成上述目的,本发明提供一种通过装置卸载减轻主机负载的系统,包括有:执行于主机操作系统中的Socket导向库,用以当产生一Socket联机时,修改该Socket联机的一区域属性,并传送该Socket联机;TOE/SSL驱动程序,执行于该主机的操作系统上,用以接收该Socket导向库所传送来的该Socket联机,并根据该区域属性重新导向该Socket联机;以及连接于主机的硬件TOE/SSL装置,连接于该主机上,接收该TOE/SSL驱动程序所重新导向的该Socket联机,并根据该Socket联机是否存在一SSL标志来执行对该Socket联机的一SSL协议处理,最后对该Socket联机进行一TCP/IP协议处理并产生网络封包加以发送。
本发明还提供一种通过装置卸载减轻主机负载的方法中,主要包含下列步骤:当产Socket联机时,修改Socket联机的区域属性并传送Socket联机至TOE/SSL驱动程序;根据区域属性重新导向Socket联机至TOE/SSL装置;当发现Socket联机中具有SSL标志时,对Socket联机进行SSL协议处理;以及最后对Socket联机进行TCP/IP协议处理并产生网络发送。
为对本发明的目的、构造、特征、及其功能有进一步的了解,有关本发明的特征与实作,下面配合附图作最佳实施例详细说明如下。
附图说明
图1A是公知主机在TCP/IP协议及SSL数据安全编码的运作示意图;
图1B是公知主机结合TOE硬件装置在TCP/IP协议及SSL数据安全编码的运作示意图;
图2是本发明系统的运作示意图;以及
图3是本发明方法的运作流程图。
其中,附图标记说明如下:
10 网络 20 网络装置
30 TCP/IP函数库 31 TOE驱动程序
32 TOE装置 33 TOE/SSL驱动程序
34 TOE/SSL装置 40 SSL函数库
41 SSL应用程序 50 Socket导向库
步骤100 产生一Socket联机
步骤110 持续等待该Socket联机
步骤120 修改该Socket联机的一区域属性并传送该Socket联机至一TOE/SSL驱动程序
步骤130 根据该区域属性重新导向该Socket联机至一TOE/SSL装置
步骤140 具有一SSL标志
步骤150 对该Socket联机进行一SSL协议处理
步骤160 对该Socket联机进行一TCP/IP协议处理并产生网络封包加以发送
具体实施方式
本发明提出一种可通过装置卸载方式来减轻主机负载的系统及其方法,其主要将在进行网络封包传送时有关TCP/IP协议及SSL数据安全编码的部分改由独立连接于主机的硬件装置来达成,因此可以大幅减轻主机的负载,并提升主机整体的运算效率。
图2是本发明系统的运作示意图。其中主要包括有Socket导向库50、TOE/SSL驱动程序33及TOE/SSL装置34三大部分,分别说明如下:
(1)Socket导向库50,执行于主机的操作系统上,当应用程序需要进行网络封包传送时并产生Socket联机时,负责修改Socket联机中的区域属性,并传送Socket联机给TOE/SSL驱动程序33。
举例来说,一般在Socket联机中会存在有一个区域属性,这个区域属性主要用来指定网络封包处理的对象,假设原本的Socket联机中设定的区域属性为:AF_INET,表示要将网络封包传送至相关的SSL应用程序来作处理,但是为了将此Socket联机导向给TOE/SSL装置34来处理,因此必须先通过Socket导向库50来进行导向的动作,此时就必须通过更改其区域属性的方式来达成将Socket联机导向的目的,因此便必须将原本的AF_INET更改为AF_TOE,以便使Socket联机能够顺利地被导向到实际要进行处理的TOE/SSL装置34上。事实上有关Socket联机中的区域属性设定可依照实际状况作定义,只需要定义完整可顺利达成将Socket联机重新导向的目的即可,并不以上述例子为限制。
(2)TOE/SSL驱动程序33,同样执行于主机的操作系统上,用以接收Socket导向库50所传送来的Socket联机,并根据区域属性实际执行Socket联机的重新导向工作。
其中,TOE/SSL驱动程序33除了必须与TOE/SSL装置34进行沟通之外,更包含以下两个部分的功能:一是与主机沟通的部分,以主机操作系统为Linux为例,便主要通过Linux Kernel(即Linux核心程序,以下称LinuxKernel)来达成的;另一是与TOE/SSL装置34中有关SSL数据安全编码的控制与沟通,主要通过在TOE/SSL驱动程序33中建立一些ioctl的命令,将这些SSL数据安全编码的控制与沟通的数据传递给TOE/SSL装置34来达成。
(3)TOE/SSL装置34,通过特定的连接接口(如:PCIX,即扩充外围组件组件连接接口,以下称PCIX)连接于主机上,用以接收TOE/SSL驱动程序33所重新导向的Socket联机,并根据Socket联机是否存在SSL标志来执行对Socket联机的SSL协议处理,最后对Socket联机进行TCP/IP协议处理并产生网络封包通过网络10加以发送。
由于有些网络封包需要SSL数据安全编码的处理,而有些网络封包不需要,因此本发明会在建立Socket联机的时候,于Socket联机的标头字段中增加一个用来识别是否需要SSL数据安全编码处理的标志,即SSL标志,当TOE/SSL装置34发现Socket联机中存在这个标志时,便可知道此网络封包必须要先经过SSL数据安全编码处理,否则便仅需要直接进行TCP/IP协议部分的处理即可。
倘若需要进行SSL数据安全编码处理时,便会通过预先建立在TOE/SSL装置34中的应用程序(如:openSSL,即开放式安全网络连结对象层,以下称openSSL但并不以此为限)来执行对网络封包的处理,处理完毕后再交回TOE/SSL装置34进行后续的TCP/IP协议处理,然后通过网络10传送出去。
图3则为本发明方法的详细流程步骤,说明如下:首先,必须判断主机上的应用程序是否需要进行网络封包的传送并产生Socket联机?(步骤100)如果没有发现任何的Socket联机时,将持续等待Socket联机的建立(步骤110),当发现建立起新的Socket联机时,则在接收到Socket联机后,便先修改Socket联机的区域属性并传送Socket联机至TOE/SSL驱动程序33(步骤120),此时Socket联机的区域属性可能由AF_INET更改为AF_TOE,借此达到重新导向Socket联机的目的。
当Socket联机被重新导向之后,Socket联机会先被传送到执行于主机的TOE/SSL驱动程序33中,此时TOE/SSL驱动程序33会根据所解析出来的区域属性重新导向该Socket联机至TOE/SSL装置32上(步骤130);接着通过TOE/SSL装置32中来判断在Socket联机的标头字段处是否存在有SSL标志?(步骤140)此SSL标志用来判断Socket联机是否需要进行SSL数据安全编码的处理,如果有则对Socket联机进行SSL协议处理(步骤150),其主要系通过预先建立在TOE/SSL装置32上的SSL协议来处理的,其中关于SSL协议的实施例中可以用openSSL来达成。
完成SSL数据安全编码的处理之后便可以继续进行有关TCP/IP协议部分的处理,然后通过网络10将此网络封包给传送出去(步骤160),完成整个通过装置卸载方式来减轻主机负载的流程。
反之,如果在Socket联机的标头字段处没有SSL标志的话,就表示此网络封包并不需要进行SSL协议的处理,而仅单纯的网络封包而已,此时便可直接将Socket联机进行TCP/IP协议的处理,然后通过网络10传送出去即可(步骤160),至此亦完成通过装置卸载方式来减轻主机负载的流程。
通过上述的系统与方法,主机在进行网络封包处理的时候,便可以将以往大量耗费运算资源的TCP/IP协议及SSL数据安全编码两部分,转而由独立的TOE/SSL装置34来进行即可,而主机部分则仅需要执行TOE/SSL驱动程序33以及作为重新导向使用的Socket导向库50即可,如此一来,主机便可以保留更多的运算资源来执行其它更重要程序的处理,因此也能够大幅提升主机整体的运作效能。
虽然本发明以前述的较佳实施例揭示如上,然而其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,可作一些更动与润饰。
Claims (14)
1、一种通过装置卸载减轻主机负载的系统,该系统包括有:
一Socket导向库,执行于该主机的操作系统上,当产生一Socket联机时,修改该Socket联机的一区域属性,并传送该Socket联机;
一TOE/SSL驱动程序,执行于该主机的操作系统上,接收该Socket导向库所传送来的该Socket联机,并根据该区域属性重新导向该Socket联机;以及
一TOE/SSL装置,连接于该主机上,接收该TOE/SSL驱动程序所重新导向的该Socket联机,并根据该Socket联机是否存在一SSL标志来执行对该Socket联机的一SSL协议处理,最后对该Socket联机进行一TCP/IP协议处理并产生网络封包加以发送。
2、如权利要求1所述的通过装置卸载减轻主机负载的系统,其中该TOE/SSL驱动程序还通过ioctl命令来控制该TOE/SSL装置及沟通。
3、如权利要求1所述的通过装置卸载减轻主机负载的系统,其中该TOE/SSL装置还通过Linux Kernel协议来与该主机进行沟通。
4、如权利要求1所述的通过装置卸载减轻主机负载的系统,其中该TOE/SSL装置通过PCIX接口与该主机进行连接。
5、如权利要求1所述的通过装置卸载减轻主机负载的系统,其中该SSL标志记录在该Socket联机的标头字段。
6、如权利要求1所述的通过装置卸载减轻主机负载的系统,其中该SSL协议指openSSL协议。
7、一种通过装置卸载减轻主机负载的方法,该方法包括有下列步骤:
当产生一Socket联机时,修改该Socket联机的一区域属性并传送该Socket联机至一TOE/SSL驱动程序;
根据该区域属性重新导向该Socket联机至一TOE/SSL装置;
当发现该Socket联机中具有一SSL标志时,对该Socket联机进行一SSL协议处理;以及
对该Socket联机进行一TCP/IP协议处理并产生网络加以发送。
8、如权利要求7所述的通过装置卸载减轻主机负载的方法,其中该方法还包含当未产生该Socket联机时,持续执行等待该Socket联机的步骤。
9、如权利要求7所述的通过装置卸载减轻主机负载的方法,其中该TOE/SSL驱动程序还通过ioctl命令来执行控制该TOE/SSL装置及沟通的步骤。
10、如权利要求7所述的通过装置卸载减轻主机负载的方法,其中该TOE/SSL装置还通过Linux Kernel协议来执行与该主机进行沟通的步骤。
11、如权利要求7所述的通过装置卸载减轻主机负载的方法,其中该SSL标志记录在该Socket联机的标头字段。
12、如权利要求7所述的通过装置卸载减轻主机负载的方法,其中该SSL协议指openSSL协议。
13、如权利要求7所述的通过装置卸载减轻主机负载的方法,其中该方法还包含当发现该Socket联机中未具有该SSL标志时,直接执行对该Socket联机进行该TCP/IP协议处理并产生网络加以发送的步骤。
14、如权利要求7所述的通过装置卸载减轻主机负载的方法,其中该TOE/SSL装置通过PCIX接口与该主机进行连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510004545 CN1809057A (zh) | 2005-01-18 | 2005-01-18 | 通过装置卸载减轻主机负载的系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510004545 CN1809057A (zh) | 2005-01-18 | 2005-01-18 | 通过装置卸载减轻主机负载的系统及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1809057A true CN1809057A (zh) | 2006-07-26 |
Family
ID=36840746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510004545 Pending CN1809057A (zh) | 2005-01-18 | 2005-01-18 | 通过装置卸载减轻主机负载的系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1809057A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103607417A (zh) * | 2012-12-03 | 2014-02-26 | 深圳市证通电子股份有限公司 | 支持ssl协议的网络服务器 |
CN109714302A (zh) * | 2017-10-25 | 2019-05-03 | 阿里巴巴集团控股有限公司 | 算法的卸载方法、装置和系统 |
CN110999248A (zh) * | 2017-07-28 | 2020-04-10 | 阿里巴巴集团控股有限公司 | 使用片上系统(SoC)体系结构的安全通信加速 |
CN116382715A (zh) * | 2023-03-21 | 2023-07-04 | 安芯网盾(北京)科技有限公司 | 一种Windows驱动程序卸载方法及装置 |
-
2005
- 2005-01-18 CN CN 200510004545 patent/CN1809057A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103607417A (zh) * | 2012-12-03 | 2014-02-26 | 深圳市证通电子股份有限公司 | 支持ssl协议的网络服务器 |
CN110999248A (zh) * | 2017-07-28 | 2020-04-10 | 阿里巴巴集团控股有限公司 | 使用片上系统(SoC)体系结构的安全通信加速 |
CN110999248B (zh) * | 2017-07-28 | 2022-07-08 | 阿里巴巴集团控股有限公司 | 使用片上系统(SoC)体系结构的安全通信加速 |
CN109714302A (zh) * | 2017-10-25 | 2019-05-03 | 阿里巴巴集团控股有限公司 | 算法的卸载方法、装置和系统 |
US11171936B2 (en) | 2017-10-25 | 2021-11-09 | Alibaba Group Holding Limited | Method, device, and system for offloading algorithms |
CN109714302B (zh) * | 2017-10-25 | 2022-06-14 | 阿里巴巴集团控股有限公司 | 算法的卸载方法、装置和系统 |
CN116382715A (zh) * | 2023-03-21 | 2023-07-04 | 安芯网盾(北京)科技有限公司 | 一种Windows驱动程序卸载方法及装置 |
CN116382715B (zh) * | 2023-03-21 | 2023-09-08 | 安芯网盾(北京)科技有限公司 | 一种Windows驱动程序卸载方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1112784C (zh) | 用于在下载的程序之间建立保密对等通信的系统和方法 | |
US9509619B2 (en) | Distributed parallel computation with acceleration devices | |
US20050021680A1 (en) | System and method for interfacing TCP offload engines using an interposed socket library | |
CN1694453A (zh) | 透明协商的方法和设备 | |
JP2012511777A (ja) | ユーザモードベースのリモートデスクトッププロトコル(rdp)コード化アーキテクチャ | |
CN1809057A (zh) | 通过装置卸载减轻主机负载的系统及其方法 | |
JP2010272055A (ja) | 情報処理装置および方法、並びにプログラム | |
CN1770048A (zh) | 一种嵌入式网页服务器 | |
CN1818876A (zh) | 在微处理器实现的设备上执行进程的系统和方法 | |
US8886699B2 (en) | Offloading the processing of signals | |
CN1545788A (zh) | 用于服务等级协议检查的具有代理业务能力服务器的安全网关 | |
CN1606286A (zh) | 一种基于can总线的燃料电池汽车整车控制器监控系统 | |
CN1313931C (zh) | 程序处理装置 | |
CN1809058A (zh) | 通过装置卸载来减轻主机负载的系统及其方法 | |
CN101046783A (zh) | 外围设备运行方法、外围设备及主机 | |
CN1866828A (zh) | 一种数据处理系统及其方法 | |
US20140173635A1 (en) | System and method for adding local resources for use by a mobile agent object | |
CN2743897Y (zh) | 基于can总线的燃料电池汽车整车控制器监控系统 | |
CN1901724A (zh) | 一种移动通讯系统软件版本升级的调度方法 | |
CN1845535A (zh) | 一种消息匹配的方法及系统 | |
CN110572438A (zh) | 一种网络连接建立方法、装置、网络设备和存储介质 | |
US7512664B1 (en) | System and method for loading resolved java class files to a client device | |
CN1961559A (zh) | 校验数据完整性 | |
CN201657103U (zh) | 一种机顶盒应用功能仿真开发装置 | |
CN1601479A (zh) | 应用程序中图形资源处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |