JP5481485B2 - 通信装置とそれを用いた受信処理方法及び送信処理方法 - Google Patents
通信装置とそれを用いた受信処理方法及び送信処理方法 Download PDFInfo
- Publication number
- JP5481485B2 JP5481485B2 JP2011531639A JP2011531639A JP5481485B2 JP 5481485 B2 JP5481485 B2 JP 5481485B2 JP 2011531639 A JP2011531639 A JP 2011531639A JP 2011531639 A JP2011531639 A JP 2011531639A JP 5481485 B2 JP5481485 B2 JP 5481485B2
- Authority
- JP
- Japan
- Prior art keywords
- protocol processing
- processing unit
- hardware
- software
- protocol
- 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
- 230000005540 biological transmission Effects 0.000 title claims description 81
- 238000004891 communication Methods 0.000 title claims description 71
- 238000003672 processing method Methods 0.000 title claims 4
- 238000012545 processing Methods 0.000 claims description 656
- 238000000034 method Methods 0.000 claims description 49
- 230000008569 process Effects 0.000 claims description 46
- 230000004044 response Effects 0.000 claims description 10
- 238000012790 confirmation Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 239000012634 fragment Substances 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/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
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- 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/164—Adaptation or special uses of UDP protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Description
2、2a、2b、2c ソフトウェア処理部
11、11a、11b ネットワークコントローラ
12、12a、12b ハードウェアプロトコル処理部
13、13a ハードウェアプロトコル処理情報生成部
14、14b ハードウェアプロトコル処理再開部
15、15a、15b Ethernet(R)処理部
16、16a、16b IPv4処理部
17、17a、17b UDP処理部
19 ソケット情報伝達部
21、21a、21b アプリケーション
22、22a、30、40 ソフトウェアプロトコル処理部
23、23a ソフトウェアプロトコル処理再開部
24、24b ソフトウェアプロトコル処理情報生成部
25、25a、25b ARP処理部
26、26a、26b IPv6処理部
27、27a、27b ICMPv4処理部
28、28a、28b DCCP処理部
29 TCP制御処理部
31 IPv4送信処理部
32 Ethernet(R)送信処理部
41 IPv4受信処理部
42 Ethernet(R)受信処理部
70 ネットワーク
80、80a 通信装置
211 バージョン
212 ヘッダ長
213 サービスタイプ
214 IPパケット長
215 識別子
216 コントロールフラグ
217 フラグメントオフセット
218 生存時間
219 プロトコル番号
220 ヘッダチェックサム
221 始点IPアドレス
222 終点IPアドレス
311、411 始点ポート番号
312、412 終点ポート番号
313 UDPパケット長
314 UDPチェックサム
413 シーケンス番号
414 確認応答番号
415 データオフセット
416 未使用(予約)
417 コントロールフラグ
418 ウィンドウサイズ
419 TCPチェックサム
420 緊急ポインタ
Claims (18)
- 受信データのフレームに対しハードウェアにより、前記フレームの内容に応じて異なるプロトコル処理を行うハードウェアプロトコル処理部と、
前記ハードウェアプロトコル処理部とは異なるハードウェアで実現され、前記受信データのフレームに対しソフトウェアによるプロトコル処理を行うソフトウェアプロトコル処理部と、
前記受信データのフレーム毎に、前記ハードウェアプロトコル処理部により処理が完了したプロトコル処理を示す情報又は前記ソフトウェアプロトコル処理部で処理すべきプロトコル処理を示す情報と、前記ハードウェアプロトコル処理部によるプロトコル処理によって得られた値を含むプロトコル処理情報を生成するハードウェアプロトコル処理情報生成部と、
前記プロトコル処理情報を用いて、前記ハードウェアプロトコル処理部で処理が未完了となっているプロトコル処理を前記ソフトウェアプロトコル処理部に行わせるソフトウェアプロトコル処理再開部と、
を具備することを特徴とする通信装置。 - 前記ハードウェアプロトコル処理部によるハードウェアプロトコル処理とソフトウェアプロトコル処理部によるソフトウェアプロトコル処理は、トランスポート層以下の階層のプロトコル処理を互いに分担して実行することを特徴とする請求項1に記載の通信装置。
- 前記ハードウェアプロトコル処理部が実行し、前記フレームの内容に応じて異なるプロトコル処理は、前記フレームの内容に応じて異なる階層のプロトコル処理であることを特徴とする請求項1に記載の通信装置。
- 前記ソフトウェアプロトコル処理部が実施するプロトコル処理は、前記ハードウェアプロトコル処理部で処理できないプロトコル処理であることを特徴とする請求項1に記載の通信装置。
- 前記プロトコル処理情報は、前記ハードウェアプロトコル処理部で処理が完了した層の上位層のプロトコル識別子を含み、
前記ソフトウェアプロトコル処理再開部は、上位層のプロトコル処理を前記ソフトウェアプロトコル処理部に行わせることを特徴とする請求項1に記載の通信装置。 - 送信データのフレームに対しソフトウェアにより、前記フレームの内容に応じて異なるプロトコル処理を行うソフトウェアプロトコル処理部と、
前記ソフトウェアプロトコル処理部とは異なるハードウェアで実現され、前記送信データのフレームに対しハードウェアによるプロトコル処理を行うハードウェアプロトコル処理部と、
前記送信データのフレーム毎に、前記ソフトウェアプロトコル処理部により処理が完了したプロトコル処理を示す情報又は前記ハードウェアプロトコル処理部で処理すべきプロトコル処理を示す情報と、前記ソフトウェアプロトコル処理部によるプロトコル処理で得られた値を含むプロトコル処理情報を生成するソフトウェアプロトコル処理情報生成部と、
前記プロトコル処理情報を用いて、前記ソフトウェアプロトコル処理部で処理が未完了となっているプロトコル処理を前記ハードウェアプロトコル処理部に行わせるハードウェアプロトコル処理再開部と、
を具備することを特徴とする通信装置。 - 前記ハードウェアプロトコル処理部によるハードウェアプロトコル処理とソフトウェアプロトコル処理部によるソフトウェアプロトコル処理は、トランスポート層以下の階層のプロトコル処理を互いに分担して実行することを特徴とする請求項6に記載の通信装置。
- 前記ハードウェアプロトコル処理部が実行し、前記フレームの内容に応じて異なるプロトコル処理は、前記フレームの内容に応じて異なる階層のプロトコル処理であることを特徴とする請求項6に記載の通信装置。
- 前記ソフトウェアプロトコル処理部が実施するプロトコル処理は、前記ハードウェアプロトコル処理部で処理できないプロトコル処理であることを特徴とする請求項6に記載の通信装置。
- 前記プロトコル処理情報は、前記ソフトウェアプロトコル処理部で処理が完了した層の下位層のプロトコル識別子を含み、
前記ハードウェアプロトコル処理再開部は、下位層のプロトコル処理を前記ハードウェアプロトコル処理部に行わせることを特徴とする請求項6に記載の通信装置。 - 受信データのフレーム及び送信データのフレームに対しハードウェアにより、前記フレームの内容に応じて異なるプロトコル処理を行うハードウェアプロトコル処理部と、
前記ハードウェアプロトコル処理部とは異なるハードウェアで実現され、前記受信データのフレーム及び前記送信データのフレームに対しソフトウェアによるプロトコル処理を行うソフトウェアプロトコル処理部と、
受信のときに、前記受信データのフレーム毎に、前記ハードウェアプロトコル処理部により処理が完了したプロトコル処理を示す情報又は前記ソフトウェアプロトコル処理部で処理すべきプロトコル処理を示す情報と、前記ハードウェアプロトコル処理部によるプロトコル処理によって得られた値を含むプロトコル処理情報を生成するハードウェアプロトコル処理情報生成部と、
受信のときに、前記ハードウェアプロトコル処理情報生成部のプロトコル処理情報を用いて、前記ハードウェアプロトコル処理部で処理が未完了となっているプロトコル処理を前記ソフトウェアプロトコル処理部に行わせるソフトウェアプロトコル処理再開部と、
送信のときに、前記送信データのフレーム毎に、前記ソフトウェアプロトコル処理部により処理が完了したプロトコル処理を示す情報又は前記ハードウェアプロトコル処理部で処理すべきプロトコル処理を示す情報と、前記ソフトウェアプロトコル処理部によるプロトコル処理によって得られた値を含むプロトコル処理情報を生成するソフトウェアプロトコル処理情報生成部と、
送信のときに、前記ソフトウェアプロトコル処理情報生成部のプロトコル処理情報を用いて、前記ソフトウェアプロトコル処理部で処理が未完了となっているプロトコル処理を前記ハードウェアプロトコル処理部に行わせるハードウェアプロトコル処理再開部と、
を具備することを特徴とする通信装置。 - 前記ハードウェアプロトコル処理部は、Ethernet(R)処理部、IP処理部、及びUDP処理部を有し、
前記プロトコル処理情報は、前記ハードウェアプロトコル処理部の各処理の完了の有無、始点MACアドレス、終点MACアドレス、フレームのタイプ値、始点IPアドレス、終点IPアドレス、パケット長、プロトコル番号、ペイロードの内少なくとも1つを含み、
前記ソフトウェアプロトコル処理部は、通信プロトコルの内、前記Ethernet(R)処理部、前記IP処理部、及び前記UDP処理部以外のプロトコル処理部を備えることを特徴とする請求項11に記載の通信装置。 - 前記ハードウェアプロトコル処理部は、Ethernet(R)処理部、IP処理部、UDP処理部、及びTCPデータ処理部を有し、
前記プロトコル処理情報は、前記ハードウェアプロトコル処理部の各処理の完了の有無、TCPのコントロールフラグ、シーケンス番号、確認応答番号、始点IPアドレス、終点IPアドレス、始点ポート番号、終点ポート番号の内少なくとも1つを含み、
前記ソフトウェアプロトコル処理部は、TCP処理の内、TCPセグメントのコントロールフラグのSYN、FIN、或いはRSTフラグ処理を行うTCP制御処理部を備えることを特徴とする請求項11に記載の通信装置。 - 前記ハードウェアプロトコル処理部と前記ソフトウェアプロトコル処理部の間に、ソケット情報を伝達するソケット情報伝達部を有し、
前記ハードウェアプロトコル処理部或いは前記ソフトウェアプロトコル処理部は、前記ソケット情報を用いてプロトコル処理を行うことを特徴とする請求項11に記載の通信装置。 - 前記TCPデータ処理部は、シーケンス番号が連続なセグメントの受信を行い、
前記ソフトウェアプロトコル処理部はシーケンス番号が不連続なセグメントの受信処理を行うことを特徴とする請求項13に記載の通信装置。 - 前記TCPデータ処理部は、再送以外のデータ送信処理を行い、
前記ソフトウェアプロトコル処理部は再送のデータ送信処理を行うことを特徴とする請求項13に記載の通信装置。 - ハードウェアプロトコル処理部が、入力された受信データのフレームに対し、前記フレーム内容に応じて異なるプロトコル処理を実行し、
前記ハードウェアプロトコル処理部が、ハードウェア処理による全てのプロトコル処理が完了しているかどうかの判定を行い、
全てのプロトコル処理が完了していない場合、
ハードウェアプロトコル処理情報生成部が、前記受信データのフレーム毎に、前記ハードウェアプロトコル処理部により処理が完了したプロトコル処理を示す情報又は前記ソフトウェアプロトコル処理部で処理すべきプロトコル処理を示す情報と、前記ハードウェアプロトコル処理部によるプロトコル処理によって得られた値を含むプロトコル処理情報を生成し、
ソフトウェアプロトコル処理再開部が、前記プロトコル処理情報を用いて、前記ハードウェアプロトコル処理部で処理が未完了となっているプロトコル処理を前記ソフトウェアプロトコル処理部に実行させる
を具備することを特徴とする通信装置の受信処理方法。 - ソフトウェアプロトコル処理部が、読み出された送信データに対し、全てのプロトコル処理がハードウェアプロトコル処理部で処理を実行できるかどうかの判定を行い、
前記ハードウェアプロトコル処理部で全てのプロトコル処理を実行できない場合、
ソフトウェアプロトコル処理情報生成部が、前記送信データのフレーム毎に、前記ソフトウェアプロトコル処理部により処理が完了したプロトコル処理を示す情報又は前記ハードウェアプロトコル処理部で処理すべきプロトコル処理を示す情報と、前記ソフトウェアプロトコル処理部によるプロトコル処理で得られた値を含むプロトコル処理情報を生成し、
ハードウェアプロトコル処理再開部が、前記プロトコル処理情報を用いて、前記ソフトウェアプロトコル処理部で処理が未完了となっているプロトコル処理を前記ハードウェアプロトコル処理部に実行させる
を具備することを特徴とする通信装置の送信処理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/004651 WO2011033562A1 (ja) | 2009-09-16 | 2009-09-16 | 通信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011033562A1 JPWO2011033562A1 (ja) | 2013-02-07 |
JP5481485B2 true JP5481485B2 (ja) | 2014-04-23 |
Family
ID=43758191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011531639A Active JP5481485B2 (ja) | 2009-09-16 | 2009-09-16 | 通信装置とそれを用いた受信処理方法及び送信処理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8943214B2 (ja) |
JP (1) | JP5481485B2 (ja) |
WO (1) | WO2011033562A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5361924B2 (ja) | 2011-02-28 | 2013-12-04 | 株式会社東芝 | データ送信装置、データ通信装置および通信プログラム |
JP6080968B2 (ja) | 2013-09-30 | 2017-02-15 | 三菱電機株式会社 | 受信装置および通信装置 |
JP6175389B2 (ja) | 2014-03-13 | 2017-08-02 | 株式会社東芝 | 通信装置、情報処理装置、通信方法および通信プログラム |
JP6463898B2 (ja) | 2014-03-13 | 2019-02-06 | 株式会社東芝 | 通信装置、情報処理装置、通信方法及び通信プログラム |
JP6800514B2 (ja) * | 2016-12-08 | 2020-12-16 | キヤノン株式会社 | 通信装置、その制御方法、およびプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000235536A (ja) * | 1999-02-15 | 2000-08-29 | Fuji Xerox Co Ltd | データ通信方式及び装置 |
JP2001339462A (ja) * | 2000-05-29 | 2001-12-07 | Toshiba Corp | 通信プロトコル処理方法および通信プロトコル処理装置 |
JP2003308262A (ja) * | 2002-04-08 | 2003-10-31 | Wiznot Corp | ハードウェアプロトコルプロセシングロジックで実現されたインタネット通信プロトコル装置、及びその装置を用いたデータ並列処理方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6434620B1 (en) | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
JP3491626B2 (ja) * | 2001-05-29 | 2004-01-26 | ソニー株式会社 | 送信装置、受信装置、及び送受信装置 |
US7389462B1 (en) * | 2003-02-14 | 2008-06-17 | Istor Networks, Inc. | System and methods for high rate hardware-accelerated network protocol processing |
US8549345B1 (en) * | 2003-10-31 | 2013-10-01 | Oracle America, Inc. | Methods and apparatus for recovering from a failed network interface card |
KR20050049864A (ko) * | 2003-11-24 | 2005-05-27 | 삼성전자주식회사 | 소프트웨어 프로토콜 스택과 하드웨어 프로토콜 스택을사용한 멀티미디어 통신 장치 및 그 통신 방법 |
JP2006031145A (ja) | 2004-07-13 | 2006-02-02 | Matsushita Electric Ind Co Ltd | データ受信装置 |
KR100530856B1 (ko) * | 2005-05-11 | 2005-11-23 | (주) 위즈네트 | 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는통신방법 및 그 장치 |
US7760741B2 (en) * | 2005-05-18 | 2010-07-20 | International Business Machines Corporation | Network acceleration architecture |
JP2007142582A (ja) | 2005-11-15 | 2007-06-07 | Canon Inc | データ通信装置、データ通信方法、プログラム及び記憶媒体 |
JP5587530B2 (ja) | 2007-03-29 | 2014-09-10 | 日本電気株式会社 | エンジン・プロセッサ連携システム及び連携方法 |
US8054779B2 (en) * | 2007-05-08 | 2011-11-08 | Microsoft Corporation | Simultaneous wireless support in software defined radio |
JP4964683B2 (ja) | 2007-06-18 | 2012-07-04 | 株式会社リコー | 通信装置およびプログラム |
JP2009055134A (ja) * | 2007-08-23 | 2009-03-12 | Ricoh Co Ltd | 通信制御装置、通信制御方法及び通信制御プログラム |
JP5049834B2 (ja) | 2008-03-26 | 2012-10-17 | 株式会社東芝 | データ受信装置、データ受信方法およびデータ処理プログラム |
-
2009
- 2009-09-16 WO PCT/JP2009/004651 patent/WO2011033562A1/ja active Application Filing
- 2009-09-16 JP JP2011531639A patent/JP5481485B2/ja active Active
-
2012
- 2012-03-16 US US13/422,587 patent/US8943214B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000235536A (ja) * | 1999-02-15 | 2000-08-29 | Fuji Xerox Co Ltd | データ通信方式及び装置 |
JP2001339462A (ja) * | 2000-05-29 | 2001-12-07 | Toshiba Corp | 通信プロトコル処理方法および通信プロトコル処理装置 |
JP2003308262A (ja) * | 2002-04-08 | 2003-10-31 | Wiznot Corp | ハードウェアプロトコルプロセシングロジックで実現されたインタネット通信プロトコル装置、及びその装置を用いたデータ並列処理方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2011033562A1 (ja) | 2011-03-24 |
US8943214B2 (en) | 2015-01-27 |
US20120233344A1 (en) | 2012-09-13 |
JPWO2011033562A1 (ja) | 2013-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7171489B2 (en) | Method to synchronize and upload an offloaded network stack connection with a network stack | |
US7590755B2 (en) | Method to offload a network stack | |
US7526577B2 (en) | Multiple offload of network state objects with support for failover events | |
US7716731B2 (en) | Method for dynamically tunneling over an unreliable protocol or a reliable protocol, based on network conditions | |
US7773546B2 (en) | System and method for a software-based TCP/IP offload engine for digital media renderers | |
US8583831B2 (en) | Thin client discovery | |
JP2010510715A (ja) | 冗長の接続を除去する方法 | |
WO2018128597A1 (en) | Cross-device segmentation offload | |
WO2010097978A1 (ja) | 通信装置、方法及びプログラム | |
JP5481485B2 (ja) | 通信装置とそれを用いた受信処理方法及び送信処理方法 | |
JP4658546B2 (ja) | フェイルオーバーイベントをサポートするネットワーク状態オブジェクトの多重オフロード | |
US8578040B2 (en) | Method, system and article for client application control of network transmission loss tolerance | |
Herrero et al. | Network and Transport Layers | |
JP2017163346A (ja) | 通信装置、方法、及びプログラム | |
JP2020043486A (ja) | 通信装置、通信装置の制御方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130521 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130722 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130729 |
|
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: 20140122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140217 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5481485 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |