JPWO2006018895A1 - 通信装置、通信システムおよび通信方法 - Google Patents

通信装置、通信システムおよび通信方法 Download PDF

Info

Publication number
JPWO2006018895A1
JPWO2006018895A1 JP2006531141A JP2006531141A JPWO2006018895A1 JP WO2006018895 A1 JPWO2006018895 A1 JP WO2006018895A1 JP 2006531141 A JP2006531141 A JP 2006531141A JP 2006531141 A JP2006531141 A JP 2006531141A JP WO2006018895 A1 JPWO2006018895 A1 JP WO2006018895A1
Authority
JP
Japan
Prior art keywords
packet
main body
body data
header
communication
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
Application number
JP2006531141A
Other languages
English (en)
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2006018895A1 publication Critical patent/JPWO2006018895A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

判断処理部(210a)が、ユーザプロセス空間(220a)に蓄積された本体データを、カーネル空間(220b)にコピーすること無しに、ドライバ(230)を介して直接ネットワークアダプタ(100)に送信する。そして、ヘッダ生成処理部(210b)は、ヘッダおよびDMAディスクプリタを生成し、該生成したデータを、ドライバ(230)を介して、ネットワークアダプタ(100)に送信する。そして、パケット生成処理部(150a)は、DMAディスクプリタ、ヘッダおよび本体データを基にしてパケットを生成し、該生成したパケットをネットワークインターフェース部(140)を介して、ヘッダのよって特定される宛先に送信する。

Description

この発明は、パケット生成に利用されるヘッダ部や本体データ部を作成する送信ホストに接続されるとともに、ネットワークを介して、外部とパケット通信を行う通信装置などに関し、特にパケット通信に係る実行効率を向上させることができる通信装置、通信システムおよび通信方法に関するものである。
現在、一般に広く普及しているSocketAPI(Application Program Interface)や、TCP(Transmission Control Protocol)/IP(Internet Protocol)の通信プロトコルを利用したパケット通信は、データを送受信する処理が完了するまで、データを保護するため、中間的なバッファを用意し、該バッファにデータを一旦蓄積させている。
しかし、バッファにデータを一旦蓄積してからデータを送受信する処理は大変重く、ネットワークの高速化が急速に進展するにしたがって、オーバーフローなどが発生してしまい、ネットワークの高速化に対応できなくなりつつある。
そこで、非特許文献1に公開された技術では、COW(Copy-On-Write)やPage Flippingなどの技術を利用して、対象となるデータを保護し、中間的なバッファにデータを蓄積させる必要性を無くすことで、ネットワークの高速化に対応させている。
なお、特許文献1に公開された技術では、ネットワークアダプタに通信プロトコル処理を実行させ、ホストコンピュータに係る負荷を軽減させることで、通信効率を向上させ、ネットワークの高速化に対応している。
米国特許第6,434,620号明細書 "Zero copy sockets and NFS patches for FreeBSD"、[2004年3月29日検索]、インターネット<URL: HYPERLINK "http://people.freebsd.org/" http://people.freebsd.org/〜ken/zero_copy/>
しかしながら従来に係る技術では、必ずしも、パケット通信に係る実行効率を向上させることができないという問題があった。
具体的には、COWは、アプリケーションが送信バッファに存在するデータをすぐに書き換えてしまう場合には効果が無いという問題があり、Page Flippingは、所定バイトのページ単位でメモリを管理するため、送受信に係るデータのアドレスを、任意のアドレスに変換できず、技術的に、通信処理を行うことが非常に困難であった。
一方、ネットワークアダプタに、通信プロトコル処理を実行させることも考えられるが、消費電力やコストの観点から、複雑な通信プロトコルを十分に処理可能なプロセッサをネットワークカードに搭載することは困難である。
また、プロセッサの代わりに、プロトコル処理の一部をハードウェア化し、ネットワークアダプタに搭載する場合でも、TCP/IPの通信プロトコルやその中で用いられるアルゴリズムは変更される可能性があるため、ハードウェアによってプロトコル処理を実行させることも難しい。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、特定の条件に制約を受けることなく、パケット通信にかかる実行効率を向上させることができる通信装置、通信システムおよび通信方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、パケット生成に利用されるヘッダ部や本体データ部を作成する送信ホストに接続されるとともに、ネットワークを介して、外部とパケット通信を行う通信装置であって、前記送信ホストからヘッダ部と、本体データ部とを別々に受信する受信手段と、前記受信手段が受信したヘッダ部と、本体データ部とを蓄積する蓄積手段と、前記蓄積手段によって蓄積されたヘッダ部および本体データ部を結合してパケットを生成するパケット生成手段と、を備えたことを特徴とする。
また、本発明は、上記発明において、外部からパケットを受信した際に、該パケットをヘッダ部と、本体データ部とに分離させて前記蓄積手段に蓄積させると共に、前記ヘッダ部と、前記本体データの位置を特定する位置特定情報とを前記送信ホストに送信する分離処理手段を更に備えたことを特徴とする。
また、本発明は、上記発明において、外部からパケットを受信した際に、該パケットのサイズが所定値よりも大きいか否かを判定する判定手段を更に備え、前記判定手段が所定値よりも大きいと判定した場合に、前記分離処理手段は、前記パケットをヘッダ部と、本体データ部とに分離させて前記蓄積手段に蓄積させると共に、前記ヘッダ部と、前記本体データの位置を特定する位置特定情報とを前記送信ホストに送信することを特徴とする。
また、本発明は、パケット生成に利用されるヘッダ部および本体データ部を作成する送信ホストと、ネットワークを介して外部とパケット通信を行う通信装置とからなる通信システムであって、前記送信ホストは、前記本体データのサイズが所定値よりも大きいか否かを判定する判定手段と、前記判定手段が、所定値よりも大きいと判定した場合に、前記本体データを、メモリ間コピーをすること無しに前記通信装置に直接送信する送信処理手段と、を備え、前記通信装置は、前記送信ホストからヘッダ部と、本体データ部とを別々に受信する受信手段と、前記受信手段が受信したヘッダ部と、本体データ部とを蓄積する蓄積手段と、前記蓄積手段によって蓄積されたヘッダ部および本体データ部を結合してパケットを生成するパケット生成手段と、を備えたことを特徴とする。
また、本発明は、ネットワークを介して、外部とパケット通信を行う通信方法であって、パケットを構成するヘッダ部と、本体データ部とを別々に受信する受信工程と、前記受信工程によって受信したヘッダ部と、本体データ部とを記憶装置に蓄積させる蓄積工程と、前記記憶装置に蓄積されたヘッダ部および本体データ部を結合してパケットを生成するパケット生成工程と、を含んだことを特徴とする。
本発明によれば、送信ホストからヘッダ部と、本体データ部とを別々に受信し、該受信したヘッダ部と、本体データ部とを蓄積し、蓄積したヘッダ部と本体データ部とを結合してパケットを生成するので、パケット通信に係る実行効率を向上させることができる。
また、本発明によれば、外部からパケットを受信した際に、該パケットをヘッダ部と、本体データ部とに分離して蓄積し、ヘッダ部と、本体データ部の位置を特定する位置特定情報を送信ホストに送信するので、送信ホストの負担を軽減させることができ、ネットワークの高速化にも対応することができる。
図1は、本実施例に係る通信システムのシステム構成を示す図である。 図2は、DMAディスクプリタのデータ構造の一例を示す図である。 図3は、送信ホストが行う送信前処理を示すフローチャートである。 図4は、送信ホストが行う送信処理を示すフローチャートである。 図5は、パケット生成処理部がパケットを生成する処理を示すフローチャートである。 図6は、ヘッダ分離処理部が行う分離処理を示すフローチャートである。
符号の説明
100 ネットワークアダプタ
110 DMA機構部
120 チェックサム演算機構部
130 バッファ
140 ネットワークインターフェース部
150,210 制御部
150a パケット生成処理部
150b ヘッダ分離処理部
150c 暗号化・復号化処理部
150d,210a 判定処理部
200 ホスト計算機
210b ヘッダ生成処理部
210c プロトコル処理部
220 メインメモリ
220a ユーザプロセス空間
220b カーネル空間
230 ドライバ
以下に添付図面を参照して、この発明に係る通信装置、通信システムおよび通信方法の好適な実施の形態を詳細に説明する。
まず、本実施例に係るパケット通信の概念について説明する。本実施例に示す送信ホストは、本体データのメモリ間コピーを行わず、本体データを、直接ネットワークアダプタに送信し、ネットワークアダプタは、受信した本体データをバッファに蓄積する。
その後、送信ホストは、ヘッダをネットワークアダプタに送信し、ネットワークアダプタは、バッファに蓄積された本体データと、ヘッダとを結合してパケットを生成し、該生成したパケットを、ネットワークインターフェース部を介して宛先に送信することで、通信性能を向上させる。
次に、本実施例に係る通信システムのシステム構成について説明する。図1は、本実施例に係る通信システムのシステム構成を示す図である。同図に示すように、この通信システムは、ネットワークアダプタ100およびホスト計算機200から構成される。また、このネットワークアダプタ100およびホスト計算機200は、バスなどによって相互に接続される。
ネットワークアダプタ100は、送信ホストから送信される本体データと、ヘッダとを基にしてパケットを生成し、該作成したパケットをヘッダによって特定される宛先に送信する。なお、本体データとは、パケットを構成するヘッダ以外のデータを示す。
また、ネットワークアダプタ100は、パケットを受信した際に、受信したパケットをヘッダと本体データとに分解し、ヘッダと本体データとを別々にホスト計算機200に送信する。なお、ここでは説明の便宜上、一台のネットワークアダプタ100のみを示したが、この通信システムは、任意の台数のネットワークアダプタに接続される。
ホスト計算機200は、ユーザアプリケーションから送信要求を受付け、本体データをメモリ間コピーすること無しに、ネットワークアダプタ100に送信する。また、ホスト計算機200は、ヘッダを作成し、該作成したヘッダをネットワークアダプタ100に送信する。
次に、ネットワークアダプタ100の構成について説明する。図1に示すように、ネットワークアダプタ100は、DMA(Direct Memory Access)機構部110と、チェックサム演算機構部120と、バッファ130と、ネットワークインターフェース部140と、制御部150とを有する。
DMA機構部110は、送信ホスト300から本体データやヘッダなどを受信し、受信したデータをチェックサム演算機構部120に渡す。また、DMA機構部110は、制御部150の指示に従って、バッファ120に蓄積されたデータをホスト計算機200に送信する。
チェックサム演算機構部120は、DMA機構部110または、ネットワークインターフェース部140からデータを受取り、受取ったデータに対してチェックサム演算を行い、チェックサム演算結果を制御部150に通知する。なお、チェックサムを実行する際に必要となる情報は、制御部150から渡される。また、チェックサム演算機構部120は、チェックサム演算実行済みデータをバッファ130に蓄積させる。
バッファ130は、チェックサム演算機構部120から渡されるデータを蓄積する。ネットワークインターフェース部140は、外部のネットワークと接続するためのネットワークカードであり、バッファ130から受取ったパケットを、ヘッダによって特定される宛先に送信する。また、ネットワークインターフェース部140は、外部から受信したパケットをチェックサム演算機構部120に渡す。
制御部150は、パケット生成処理部150aと、ヘッダ分離処理部150bと、暗号化・復号化処理部150cと、判定処理部150dとを有する。
パケット生成処理部150aは、バッファ130に蓄積された本体データおよびヘッダを結合してパケットを生成し、生成したパケットをネットワークインターフェース部140に渡す。なお、パケット生成部150aは、パケットを生成する際に、ホスト計算機200から送信されるDMAディスクプリタを基にして、パケットを生成する。
図2にDMAディスクプリタのデータ構造の一例を示す。同図に示すように、DMAディスクプリタは、アドレス、識別フラグ、データ長およびシーケンス番号を含む。アドレスは、ヘッダまたは本体データの位置を特定するための情報であり、識別フラグは、対応するデータが、ホスト計算機200のメインメモリに存在するか、またはネットワークアダプタ100内のバッファに存在するかを示す情報である。
例えば、識別フラグが「識別1」の場合には、ホスト計算機200のメインメモリに、対応するデータが存在することを示し、識別フラグが「識別2」の場合には、ネットワークアダプタ100のバッファに、対応するデータが存在することを示す。なお、データ長
は、対応するデータのサイズを示す。
また、シーケンス番号は、ホスト計算機200内の本体データが全てネットワークアダプタ100に送信されたか否かを判定するための情報である。
すなわち、パケット生成処理部150aは、DMAディスクプリタに含まれるシーケンス番号を基にして、本体データが全てバッファ130に蓄積されたか否かを判定した後に、パケットをネットワークインターフェース部140に渡すことになる。
ヘッダ分離処理部150bは、外部から受信したパケットを解析し、パケットをヘッダと本体データとに分離する処理部である。また、ヘッダ分離処理部150bは、DMA機構部110に指示を出し、分離したヘッダおよび本体データのアドレスをホスト計算機200に送信させる。なお、ヘッダおよび本体データのアドレスは、後述するホスト計算機200のカーネル空間220bに蓄積されることになる。
暗号化・復号化処理部150cは、パケット生成処理部150aが生成したパケットを暗号化する場合に、パケットを暗号化する処理部である。また、暗号化・復号化処理部150cは、外部から受信したパケットが暗号化されている場合に、該暗号化されたパケットを復号化する。
判定処理部150dは、外部から受信したパケットサイズなどを基にして、通常の処理を行うか、本発明の動作を行うかを判断する。具体的には、パケットサイズが所定の大きさより小さい場合には、判定処理部150dは、ヘッダ分離処理部150bに指示を出し、パケットの分離を行わせず、受信した状態のまま、パケットをホスト計算機200に送信する。
一方、判定処理部150dは、外部から受信したパケットサイズが所定の大きさ以上の場合には、ヘッダ分離処理部150に通常の処理を行わせる。このように、判断処理部150dが、ヘッダ分離処理部150bの動作を切り替えることによって、小さいサイズのパケットで性能が劣化するような事態を避けることができる。
次に、ホスト計算機200の構成について説明する。図1に示すように、ホスト計算機200は、制御部210と、メインメモリ220と、ドライバ230とを有する。制御部210は、判定処理部210aと、ヘッダ生成処理部210と、プロトコル処理部210cとを有する。
判定処理部210aは、図示しないユーザアプリケーションから送信要求を受付け、パケットサイズなどの条件から、通常の処理を行うか、本発明の動作を行うかを判断する。具体的に判定処理部210aは、パケットサイズが所定の大きさよりも小さい場合には、通常の処理を行うと判定する。
判定処理部210aは、通常の処理を行うと判定した場合には、ユーザプロセス空間220aに記録された本体データを、カーネル空間220bにコピーする。そして、判定処理部210aは、後述するヘッダ生成処理部210によって生成されるヘッダとともに、ネットワークアダプタ100に送信する。
また、判定処理部210aは、パケットサイズが所定の大きさ以上の場合には、本発明の動作を行うと判定する。この場合、ユーザプロセス空間220aに記録された本体データは、カーネル空間220にコピーされず、ドライバ230によってネットワークアダプタ100に直接送信される。
この場合、判定処理部210aは、全ての本体データが、ネットワークアダプタ100に送信されるまで、ユーザプロセス空間の本体データを、メインメモリに固定し、本体データがハードディスク(図示しない)にページアウトされることを防ぐ。
このように、ユーザプロセス空間220aに記録された本体データを直接ネットワークアダプタに送信することによって、ユーザプロセス空間220aおよびカーネル空間220bの間で、本体データのコピーの必要性をなくすことができるので、通信に伴うメインメモリ220の負荷を低減させることができる。
ヘッダ生成処理部210bは、カーネル空間220bにヘッダおよびDMAディスクプリタを生成し、該生成したヘッダおよびDMAディスクプリタを、ドライバ230を介してネットワークアダプタ100に送信する。
プロトコル処理部210cは、ドライバ230を介して、ネットワークアダプタ100が外部から受信したパケットに係るチェックサムの計算結果や、ヘッダおよび、ネットワークアダプタ100に蓄積された本体データのアドレスなどを受信する。
そして、プロトコル処理部210cは、ヘッダを基にしてプロトコル処理を行い、最終的な配送先を決定する。そして、プロトコル処理部210cは、対象となるユーザプロセス空間220aがページアウトされないように設定した上で、本体データのアドレスを基にして、ネットワークアダプタ100から、ドライバ230を介してユーザプロセス空間220aに本体データを送信する。
次に、ホスト計算機200が行う送信前処理について説明する。図3は、ホスト計算機200が行う送信前処理を示すフローチャートである。なお、図3では、判定処理部210aが、本発明の処理を行うと判断した場合の処理について示し、通常の処理に関する説明は省略する。
同図に示すように、判定処理部210aは、ユーザアプリケーションから送信要求を受付け(ステップS101)、ユーザプロセス空間220aのデータをメモリに固定し(ステップS102)、ヘッダ生成処理部210bは、カーネル空間220bの領域を確保する(ステップS103)。
そして、ホスト計算機200は、ネットワークアダプタ100内のバッファ130を確保し(ステップS109)、1パケット分のデータをネットワークアダプタ100に送信し(ステップS105)、送信したデータに対するネットワークアダプタ100内のアドレスと、DMAシーケンス番号とをカーネル空間220bに記録する(ステップS106)。
そして、ヘッダ生成処理部は、カーネル空間220b内のヘッダを生成する領域をキューに繋ぎ(ステップS107)、判定処理部210aは、ユーザプロセス空間220aに本体データが有るか否かを判定する(ステップS108)。
ユーザプロセス空間220aに本体データが有る場合には(ステップS108,Yes)、ステップS103に移行し、ユーザプロセス空間220aに本体データが無い場合には(ステップS108,No)、全てのデータ転送が完了するのを待ち(ステップS109)、判定処理部210aは、ユーザプロセス空間220aのメモリの固定を解除する(ステップS110)。
次に、ホスト計算機200が行う送信処理について説明する。図4は、ホスト計算機200が行う送信処理を示すフローチャートである。同図に示すように、ヘッダ生成処理部210bは、キューに繋がれたカーネル空間220b内にヘッダを生成し(ステップS201)、ヘッダをキューから取り出す(ステップS202)。
そして、ヘッダ生成処理部210bは、ヘッダのアドレスをDMAディスクプリタに設定し(ステップS203)、ヘッダのデータ長をDMAディスクプリタに設定する(ステップS204)。
そして、ヘッダ生成処理部210bは、ネットワークアダプタ100内の本体データのアドレスを、DMAディスクプリタに設定し(ステップS205)、ネットワークアダプタ100内の本体データのデータ長を、DMAディスクプリタに設定する(ステップS206)。
そして、ヘッダ生成処理部210bは、ヘッダに関連する本体データ部分のシーケンス番号をDMAディスクプリタに設定し(ステップS207)、DMAディスクプリタおよびヘッダをネットワークアダプタ100に送信する(ステップS208)。
次に、パケット生成処理部150aがパケットを生成する処理について説明する。図5は、パケット生成処理部150aがパケットを生成する処理を示すフローチャートである。同図に示すように、本体データがバッファ130に蓄積され(ステップS301)、ヘッダがバッファ130に蓄積される(ステップS302)。
そして、パケット生成処理部150aは、DMAディスクプリタを受信し(ステップS303)、DMAディスクプリタを基に、全ての本体データをバッファ130に蓄積したか否かを判定する(ステップS304)。
全ての本体データをバッファ130に蓄積していない場合には(ステップS305,No)、一定時間待ち(ステップS306)、ステップS304に移行する。一方、全ての本体データをバッファ130に蓄積した場合には(ステップS305,Yes)、対応するヘッダおよび本体データを結合し(ステップS307)、ネットワークインターフェース部140に渡す(ステップS307)。
次に、ヘッダ分離処理部150bが行う分離処理について説明する。図6は、ヘッダ分離処理部150bが行う分離処理を示すフローチャートである。同図に示すように、ヘッダ分離処理部150bは、チェックサム演算機構部120からチェックサム演算結果を受取り(ステップS401)、外部からのパケットがバッファ130に蓄積される(ステップS402)。
そして、ヘッダ分離処理部150bは、ヘッダと本体データをと分離させ(ステップS403)、ヘッダと、チェックサム演算結果と、本体データのアドレスをホスト計算機200に送信する(ステップS404)。
上述してきたように、本実施例では、判断処理部210aが、ユーザプロセス空間220aに蓄積された本体データを、カーネル空間220bにコピーすること無しに、ドライバ230を介して直接ネットワークアダプタ100に送信する。また、ヘッダ生成処理部210bは、ヘッダおよびDMAディスクプリタを生成し、該生成したデータを、ドライバ230を介して、ネットワークアダプタ100に送信する。そして、パケット生成処理部150aは、DMAディスクプリタ、ヘッダおよび本体データを基にしてパケットを生成し、該生成したパケットをネットワークインターフェース部140を介して、宛先に送
信するので、メモリバスなどの資源の浪費を減らし、通信システムのデータ通信に係る実効効率を向上させることができる。
以上説明したように、本発明に係る通信装置、通信システムおよび通信方法は、パケット通信を行うネットワークアダプタなどに有用であり、特に、大量のパケットの送受信に対する実行効率を向上させる場合に適している。

Claims (5)

  1. パケット生成に利用されるヘッダ部や本体データ部を作成する送信ホストに接続されるとともに、ネットワークを介して、外部とパケット通信を行う通信装置であって、
    前記送信ホストからヘッダ部と、本体データ部とを別々に受信する受信手段と、
    前記受信手段が受信したヘッダ部と、本体データ部とを蓄積する蓄積手段と、
    前記蓄積手段によって蓄積されたヘッダ部および本体データ部を結合してパケットを生成するパケット生成手段と、
    を備えたことを特徴とする通信装置。
  2. 外部からパケットを受信した際に、該パケットをヘッダ部と、本体データ部とに分離させて前記蓄積手段に蓄積させると共に、前記ヘッダ部と、前記本体データの位置を特定する位置特定情報とを前記送信ホストに送信する分離処理手段を更に備えたことを特徴とする請求項1に記載の通信装置。
  3. 外部からパケットを受信した際に、該パケットのサイズが所定値よりも大きいか否かを判定する判定手段を更に備え、前記判定手段が所定値よりも大きいと判定した場合に、前記分離処理手段は、前記パケットをヘッダ部と、本体データ部とに分離させて前記蓄積手段に蓄積させると共に、前記ヘッダ部と、前記本体データの位置を特定する位置特定情報とを前記送信ホストに送信することを特徴とする請求項2に記載の通信装置。
  4. パケット生成に利用されるヘッダ部および本体データ部を作成する送信ホストと、ネットワークを介して外部とパケット通信を行う通信装置とからなる通信システムであって、
    前記送信ホストは、
    前記本体データのサイズが所定値よりも大きいか否かを判定する判定手段と、
    前記判定手段が、所定値よりも大きいと判定した場合に、前記本体データを、メモリ間コピーをすること無しに前記通信装置に直接送信する送信処理手段と、
    を備え、
    前記通信装置は、
    前記送信ホストからヘッダ部と、本体データ部とを別々に受信する受信手段と、
    前記受信手段が受信したヘッダ部と、本体データ部とを蓄積する蓄積手段と、
    前記蓄積手段によって蓄積されたヘッダ部および本体データ部を結合してパケットを生成するパケット生成手段と、
    を備えたことを特徴とする通信システム。
  5. ネットワークを介して、外部とパケット通信を行う通信方法であって、
    パケットを構成するヘッダ部と、本体データ部とを別々に受信する受信工程と、
    前記受信工程によって受信したヘッダ部と、本体データ部とを記憶装置に蓄積させる蓄積工程と、
    前記記憶装置に蓄積されたヘッダ部および本体データ部を結合してパケットを生成するパケット生成工程と、
    を含んだことを特徴とする通信方法。
JP2006531141A 2004-08-20 2004-08-20 通信装置、通信システムおよび通信方法 Pending JPWO2006018895A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2004/012006 WO2006018895A1 (ja) 2004-08-20 2004-08-20 通信装置、通信システムおよび通信方法

Publications (1)

Publication Number Publication Date
JPWO2006018895A1 true JPWO2006018895A1 (ja) 2008-05-01

Family

ID=35907292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006531141A Pending JPWO2006018895A1 (ja) 2004-08-20 2004-08-20 通信装置、通信システムおよび通信方法

Country Status (3)

Country Link
US (1) US20070116001A1 (ja)
JP (1) JPWO2006018895A1 (ja)
WO (1) WO2006018895A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610345B2 (en) 2005-07-28 2009-10-27 Vaporstream Incorporated Reduced traceability electronic message system and method
US9282081B2 (en) 2005-07-28 2016-03-08 Vaporstream Incorporated Reduced traceability electronic message system and method
US11184113B2 (en) * 2019-05-24 2021-11-23 International Business Machines Corporation Packet replay in response to checksum error

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2745521B2 (ja) * 1988-02-23 1998-04-28 株式会社日立製作所 フレーム送信方法
JPH02310649A (ja) * 1989-05-26 1990-12-26 Hitachi Ltd 受信フレーム転送方式および通信制御装置
JPH04108242A (ja) * 1990-08-28 1992-04-09 Nec Corp 通信制御装置のデータ転送方式
JP4181645B2 (ja) * 1996-02-29 2008-11-19 富士通株式会社 データ処理装置
JP3601950B2 (ja) * 1997-09-16 2004-12-15 株式会社東芝 通信装置およびネットワーク情報提示方法
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US6304914B1 (en) * 1998-09-22 2001-10-16 Microsoft Corporation Method and apparatus for pre-compression packaging
JP3608441B2 (ja) * 1999-07-15 2005-01-12 セイコーエプソン株式会社 データ転送制御装置及び電子機器
DE10007602A1 (de) * 2000-02-18 2001-08-30 Siemens Ag Verfahren zum Übertragen von Paketdateninformationen in einem Funk-Kommunikationssystem
US7512952B1 (en) * 2001-04-06 2009-03-31 Palmsource, Inc. Task switching with state preservation for programs running on an electronic device

Also Published As

Publication number Publication date
WO2006018895A1 (ja) 2006-02-23
US20070116001A1 (en) 2007-05-24

Similar Documents

Publication Publication Date Title
US8671152B2 (en) Network processor system and network protocol processing method
CN105531685B (zh) 通用pci express端口
US7525967B2 (en) Techniques to control access to logic
US7561573B2 (en) Network adaptor, communication system and communication method
US9411775B2 (en) iWARP send with immediate data operations
EP0753817B1 (en) Method and apparatus for data communication
US7260631B1 (en) System and method for receiving iSCSI protocol data units
US20050060538A1 (en) Method, system, and program for processing of fragmented datagrams
US8271669B2 (en) Method and system for extended steering tags (STAGS) to minimize memory bandwidth for content delivery servers
US20080080508A1 (en) Integrated Tunneling and Network Address Translation: Performance Improvement for an Interception Proxy Server
JP2008016037A (ja) iSCSIのためのデータ加速装置及びこれを用いたiSCSI記憶システム
JP2008517565A (ja) Rxfifoバッファを用いて高速ネットワークアプリケーションにてrxパケットを処理するシステムおよび方法
US20060034283A1 (en) Method and system for providing direct data placement support
JP2005044353A (ja) 複数のnicrdma対応デバイスにおける状態の移行
US20040190516A1 (en) Direct data placement
US20070171927A1 (en) Multicast traffic forwarding in system supporting point-to-point (PPP) multi-link
CN114817121A (zh) 用于处理数据的方法、电子设备和计算机程序产品
US20070127485A1 (en) Apparatus and method for transmitting packet IP offload
JP5880551B2 (ja) 再送制御システム及び再送制御方法
JPWO2006018895A1 (ja) 通信装置、通信システムおよび通信方法
KR20090065128A (ko) 정적 파일 전송 시스템콜 처리 toe 장치 및 방법
US20110258444A1 (en) Network Controller Decryption
US20100228895A1 (en) Data transfer apparatus, system and method using the same
US20050086390A1 (en) Efficient packet desegmentation on a network adapter
JP2009116386A (ja) 情報処理装置および方法、並びにプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090630

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091027