JP6600241B2 - 演算装置及び演算方法、通信装置 - Google Patents
演算装置及び演算方法、通信装置 Download PDFInfo
- Publication number
- JP6600241B2 JP6600241B2 JP2015242644A JP2015242644A JP6600241B2 JP 6600241 B2 JP6600241 B2 JP 6600241B2 JP 2015242644 A JP2015242644 A JP 2015242644A JP 2015242644 A JP2015242644 A JP 2015242644A JP 6600241 B2 JP6600241 B2 JP 6600241B2
- Authority
- JP
- Japan
- Prior art keywords
- target data
- transfer
- memory
- checksum
- unit
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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]
Description
(1)メモリからチェックサム未処理パケットの読み込み処理。
(2)未処理パケットのヘッダの解析処理。
(3)解析結果に応じたチェックサム演算処理。
(4)未処理パケットに対するチェックサム演算結果の上書き処理。
(5)上書き処理により完成したパケットをインターフェースへ送信する処理。
上記機能を持つ転送器でチェックサム演算を実施したデータ転送には、以下の2つの課題がある。
通信対象のデータに対してチェックサム演算を行う演算装置であって、
複数のメモリと、
チェックサムが付与されたデータを出力するインターフェースと、
前記複数のメモリの間で対象データを転送すると共に、当該対象データに対してチェックサム演算を行う機能を備えた第1の転送手段と、
前記複数のメモリに含まれるメモリと前記インターフェースとの間で対象データを転送すると共に、当該対象データに対してチェックサム演算を行う機能を備えた第2の転送手段と、
前記対象データの通信方式に基づき、前記第1の転送手段及び前記第2の転送手段のうちのいずれかの転送手段にチェックサム演算を行わせるように制御する制御手段と、
を備える。
(通信装置)
以下、本発明の一実施形態(実施形態1)を説明する。図1は、本実施形態に係る通信装置001の構成を示すブロック図である。通信装置001のシステムバス100には、CPU101、メモリ1(102)、メモリ2(103)、メモリ3(104)、暗号・認証処理部105、転送器1(110)、転送器2(120)の7つのモジュールが接続されている。
次に、通信装置001が、TCP/IPパケットを暗号化せずに送信する場合のフローについて図2を用いて説明する。図2は、平文を通信する際の処理手順を示すシーケンスチャートである。また、各フローにおける各メモリのデータ格納状態に関して図3を補足的に用いて説明する。図3は、メモリ1(102)、メモリ2(103)の使用状態を示す図である。
次に、暗号(例えば、IPSec)を用いたTCP/IPパケットの送信時の動作フローについて図4を用いて説明する。図4は、暗号通信を行う際の処理手順を示すシーケンスチャートである。なお、ここではESP(Encapsulating Security Payload)を用いたトランスポートモードを例に説明する。また、各フローにおける各メモリのデータ格納状態に関して図5を補足的に用いて説明する。図5は、メモリ1(102)、メモリ2(103)、メモリ3(104)の使用状態を示す図である。
次に、Ethenet(登録商標)のMTU(1500Bytes)より大きなUDP/IPパケットの送信時の動作フローについて図6を用いて説明する。図6は、UDP(ユーザ・データグラム・プロトコル)通信を行う際の処理手順を示すシーケンスチャートである。また、各フローにおける各メモリのデータ格納状態に関して図7を補足的に用いて説明する。図7は、メモリ1(102)、メモリ2(103)の使用状態を示す図である。
(1)TCP/IP(暗号なし)送信。
(2)TCP/IP(暗号あり)送信。
(3)MTUサイズ以上のUDP(暗号なし)送信。
について説明した。いずれのケースも、演算部1(112)は演算部2(122)よりも機能的に簡易なものにより実現できる。「簡易」とは、例えば、以下のような機能の一部又は全部を備えないことをいう。
(1)疑似ヘッダの演算機能。
(2)チェックサムの上書き機能。
(3)パケットのバッファリング機能。
したがって、演算部1(112)は、演算部2(122)が持つこのような機能を必ずしも備える必要はない。よって、転送器毎に演算部を持たせたいが、ゲートサイズを小さくする必要がある場合は、演算部1(112)の機能を演算部2(122)より落としてもよい。
実施形態1では、各転送器(転送器1、転送器2)が、それぞれ独立に演算部を有する構成例を説明した。本発明の第二の実施形態(実施形態2)では、2つの転送器で1つの演算部を共用する構成をもつ通信装置002について、図8を用いて説明する。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (15)
- 通信対象のデータに対してチェックサム演算を行う演算装置であって、
複数のメモリと、
チェックサムが付与されたデータを出力するインターフェースと、
前記複数のメモリの間で対象データを転送すると共に、当該対象データに対してチェックサム演算を行う機能を備えた第1の転送手段と、
前記複数のメモリに含まれるメモリと前記インターフェースとの間で対象データを転送すると共に、当該対象データに対してチェックサム演算を行う機能を備えた第2の転送手段と、
前記対象データの通信方式に基づき、前記第1の転送手段及び前記第2の転送手段のうちのいずれかの転送手段にチェックサム演算を行わせるように制御する制御手段と、
を備えることを特徴とする演算装置。 - 前記第1の転送手段は、前記複数のメモリのうちの第1のメモリから前記対象データを読み出して前記複数のメモリのうちの第2のメモリへ転送し、
前記第2の転送手段は、前記第2のメモリから前記対象データを読み出して前記インターフェースへ転送し、
前記制御手段は、前記対象データのサイズが所定のサイズよりも大きい通信方式の場合は、前記第1の転送手段にチェックサム演算を行わせることを特徴とする請求項1に記載の演算装置。 - 前記制御手段は、前記対象データのサイズが前記所定のサイズよりも大きくない通信方式の場合は、前記第2の転送手段にチェックサム演算を行わせることを特徴とする請求項2に記載の演算装置。
- 前記制御手段は、前記対象データがユーザ・データグラム・プロトコルにより通信される場合に、前記第1の転送手段にチェックサム演算を行わせることを特徴とする請求項1に記載の演算装置。
- 前記制御手段は、前記対象データがトランスミッション・コントロール・プロトコルにより通信される場合に、前記第2の転送手段にチェックサム演算を行わせることを特徴とする請求項1または4に記載の演算装置。
- データに対して暗号処理を施す暗号処理手段をさらに備え、
前記制御手段は、前記対象データが暗号通信の対象であるか否かに基づき、前記対象データの転送先を前記第1の転送手段に設定するとともに前記対象データの転送元を第2の転送手段に設定することを特徴とする請求項1に記載の演算装置。 - 前記制御手段は、前記対象データが暗号通信の対象である場合に、
前記第1の転送手段に、前記複数のメモリのうちの第1のメモリから前記対象データを読み出し、チェックサム演算を行って、前記複数のメモリのうちの第2のメモリへ転送させ、
前記暗号処理手段に、前記第2のメモリから前記対象データを読み出し、当該対象データに対して暗号処理を施して、前記複数のメモリのうちの第3のメモリへ転送させ、
前記第2の転送手段に、前記第3のメモリから前記対象データを読み出して前記インターフェースへ転送させることを特徴とする請求項6に記載の演算装置。 - 前記制御手段は、前記対象データが暗号通信の対象でない場合に、
前記第1の転送手段に、前記第1のメモリから前記対象データを読み出して前記第2のメモリへ転送させ、
前記第2の転送手段に、前記第2のメモリから前記対象データを読み出して前記インターフェースへ転送させ、
前記対象データのサイズが所定のサイズよりも大きい通信方式の場合は、前記第1の転送手段にチェックサム演算を行わせることを特徴とする請求項7に記載の演算装置。 - 前記制御手段は、前記対象データが暗号通信の対象でない場合であって、該対象データのサイズが前記所定のサイズよりも大きくない通信方式の場合は、前記第2の転送手段にチェックサム演算を行わせることを特徴とする請求項8に記載の演算装置。
- 前記第1の転送手段及び前記第2の転送手段は、対象データにチェックサム演算を行う演算手段をそれぞれ備えることを特徴とする請求項1から9のいずれか1項に記載の演算装置。
- 対象データにチェックサム演算を行う演算手段をさらに備え、
前記第1の転送手段及び前記第2の転送手段は、前記演算手段を用いて対象データにチェックサム演算を行うことを特徴とする請求項1から9のいずれか1項に記載の演算装置。 - 前記制御手段は、前記複数のメモリの間の転送と、前記メモリ及び前記インターフェースの間の転送とを並列して行わせることを特徴とする請求項1から11のいずれか1項に記載の演算装置。
- 請求項1から12のいずれか1項に記載の演算装置を備えた通信装置。
- 複数のメモリと、チェックサムが付与されたデータを出力するインターフェースと、を備える演算装置における演算方法であって、
前記複数のメモリの間で対象データを転送する第1の転送工程と、
前記複数のメモリに含まれるメモリと前記インターフェースとの間で対象データを転送する第2の転送工程と、
前記対象データの通信方式に基づき、前記第1の転送工程及び前記第2の転送工程のうちのいずれかの転送工程において、前記対象データを転送すると共に、前記対象データに対してチェックサム演算を行うように制御する制御工程と、
を備えることを特徴とする演算方法。 - コンピュータに請求項14に記載の演算方法の各工程を実行させることを特徴とするコンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015242644A JP6600241B2 (ja) | 2015-12-11 | 2015-12-11 | 演算装置及び演算方法、通信装置 |
US15/370,925 US10701041B2 (en) | 2015-12-11 | 2016-12-06 | Calculation device, calculation method, communication apparatus, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015242644A JP6600241B2 (ja) | 2015-12-11 | 2015-12-11 | 演算装置及び演算方法、通信装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017108357A JP2017108357A (ja) | 2017-06-15 |
JP2017108357A5 JP2017108357A5 (ja) | 2019-01-10 |
JP6600241B2 true JP6600241B2 (ja) | 2019-10-30 |
Family
ID=59020302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015242644A Active JP6600241B2 (ja) | 2015-12-11 | 2015-12-11 | 演算装置及び演算方法、通信装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10701041B2 (ja) |
JP (1) | JP6600241B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11190462B2 (en) * | 2017-02-12 | 2021-11-30 | Mellanox Technologies, Ltd. | Direct packet placement |
US11252464B2 (en) | 2017-06-14 | 2022-02-15 | Mellanox Technologies, Ltd. | Regrouping of video data in host memory |
US10833703B2 (en) | 2017-12-13 | 2020-11-10 | Canon Kabushiki Kaisha | DMA transfer apparatus, method of controlling the same, communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium |
JP7145607B2 (ja) * | 2017-12-13 | 2022-10-03 | キヤノン株式会社 | Dma転送装置、dma転送装置の制御方法、および通信装置 |
JP7142462B2 (ja) * | 2018-05-14 | 2022-09-27 | キヤノン株式会社 | 通信装置、通信装置の制御方法、およびプログラム |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5430842A (en) | 1992-05-29 | 1995-07-04 | Hewlett-Packard Company | Insertion of network data checksums by a network adapter |
US6122670A (en) * | 1997-10-30 | 2000-09-19 | Tsi Telsys, Inc. | Apparatus and method for constructing data for transmission within a reliable communication protocol by performing portions of the protocol suite concurrently |
US6907466B2 (en) * | 2001-11-08 | 2005-06-14 | Extreme Networks, Inc. | Methods and systems for efficiently delivering data to a plurality of destinations in a computer network |
US7843968B2 (en) * | 2002-09-30 | 2010-11-30 | Sanyo Electric Co., Ltd. | Communication apparatus and applications thereof |
US7188250B1 (en) * | 2002-12-13 | 2007-03-06 | Nvidia Corporation | Method and apparatus for performing network processing functions |
US6963946B1 (en) * | 2003-10-01 | 2005-11-08 | Advanced Micro Devices, Inc. | Descriptor management systems and methods for transferring data between a host and a peripheral |
US7685434B2 (en) * | 2004-03-02 | 2010-03-23 | Advanced Micro Devices, Inc. | Two parallel engines for high speed transmit IPsec processing |
US7502925B2 (en) * | 2004-04-19 | 2009-03-10 | Nvidia Corporation | Method and apparatus for reducing TCP frame transmit latency |
US7502474B2 (en) * | 2004-05-06 | 2009-03-10 | Advanced Micro Devices, Inc. | Network interface with security association data prefetch for high speed offloaded security processing |
JP2006303765A (ja) | 2005-04-19 | 2006-11-02 | Seiko Epson Corp | Tcp/ip送信処理回路及びそれを具備する半導体集積回路 |
US7886146B2 (en) * | 2006-03-15 | 2011-02-08 | Koolspan, Inc. | Network cryptography system and method |
JP4845674B2 (ja) * | 2006-10-26 | 2011-12-28 | キヤノン株式会社 | データ処理装置及び方法、通信装置、並びにプログラム |
US7849214B2 (en) * | 2006-12-04 | 2010-12-07 | Electronics And Telecommunications Research Institute | Packet receiving hardware apparatus for TCP offload engine and receiving system and method using the same |
JP5094482B2 (ja) * | 2008-03-07 | 2012-12-12 | キヤノン株式会社 | 処理装置及びその処理方法 |
JP2010057033A (ja) * | 2008-08-29 | 2010-03-11 | Nec Electronics Corp | 通信装置及び方法 |
JP5060572B2 (ja) * | 2010-03-09 | 2012-10-31 | 株式会社東芝 | データ通信装置及び方法 |
JP6024318B2 (ja) * | 2012-09-10 | 2016-11-16 | 富士通株式会社 | 無線lan基地局、無線lan端末、及びパケット転送方法 |
JP2015170955A (ja) * | 2014-03-06 | 2015-09-28 | 富士通株式会社 | 通信方法、通信制御プログラム、及び、通信装置 |
JP6433146B2 (ja) * | 2014-04-22 | 2018-12-05 | キヤノン株式会社 | 情報処理装置、システム、情報処理方法、コンピュータプログラム |
-
2015
- 2015-12-11 JP JP2015242644A patent/JP6600241B2/ja active Active
-
2016
- 2016-12-06 US US15/370,925 patent/US10701041B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017108357A (ja) | 2017-06-15 |
US10701041B2 (en) | 2020-06-30 |
US20170171167A1 (en) | 2017-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6600241B2 (ja) | 演算装置及び演算方法、通信装置 | |
US10404674B1 (en) | Efficient memory management in multi-tenant virtualized environment | |
CN105279439B (zh) | 用于就地执行的存储器的加密方法 | |
EP2803012B1 (en) | Using storage controller bus interfaces to secure data transfer between storage devices and hosts | |
US8413153B2 (en) | Methods and systems for sharing common job information | |
US20070041383A1 (en) | Third party node initiated remote direct memory access | |
EP1435717A2 (en) | Encapsulation mechanism for packet processing | |
JP6433146B2 (ja) | 情報処理装置、システム、情報処理方法、コンピュータプログラム | |
US20050060538A1 (en) | Method, system, and program for processing of fragmented datagrams | |
JP4845674B2 (ja) | データ処理装置及び方法、通信装置、並びにプログラム | |
EP2932690B1 (en) | Copy offload for disparate offload providers | |
US9419972B2 (en) | Two dimensional direct memory access scheme for enhanced network protocol processing performance | |
US11722467B2 (en) | Secured communication from within non-volatile memory device | |
CN113055269B (zh) | 虚拟专用网络数据的传输方法及装置 | |
US20090240925A1 (en) | Device, method, and computer program product that process message | |
US8316431B2 (en) | Concurrent IPsec processing system and method | |
US20230185745A1 (en) | Data flow control module for autonomous flow control of multiple dma engines | |
US20060013397A1 (en) | Channel adapter managed trusted queue pairs | |
CN110958216A (zh) | 安全的在线网络分组传输 | |
EP1049292A2 (en) | System and method for network monitoring | |
CN111052100A (zh) | 可位操作的直接存储器访问 | |
JP7049140B2 (ja) | 通信装置およびその制御方法 | |
US8380137B2 (en) | Circuit, process, and use of a memory for transmitting and/or receiving in a radio network | |
Kvelstad et al. | VPN on Nexys2 | |
JP6614948B2 (ja) | 演算装置、演算方法、通信装置、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181116 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190822 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190906 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191004 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6600241 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |