JP2005184846A - 接続管理システムおよびトランスポートオフロードエンジン - Google Patents

接続管理システムおよびトランスポートオフロードエンジン Download PDF

Info

Publication number
JP2005184846A
JP2005184846A JP2004368520A JP2004368520A JP2005184846A JP 2005184846 A JP2005184846 A JP 2005184846A JP 2004368520 A JP2004368520 A JP 2004368520A JP 2004368520 A JP2004368520 A JP 2004368520A JP 2005184846 A JP2005184846 A JP 2005184846A
Authority
JP
Japan
Prior art keywords
memory
connection
packet
network
attempt
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.)
Granted
Application number
JP2004368520A
Other languages
English (en)
Other versions
JP4575137B2 (ja
Inventor
John S Minami
シゲト ミナミ ジョン
Michael W Johnson
ウォード ジョンソン マイケル
Robin Y Uyeshiro
ヤス ウエシロ ロビン
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of JP2005184846A publication Critical patent/JP2005184846A/ja
Application granted granted Critical
Publication of JP4575137B2 publication Critical patent/JP4575137B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • 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/163In-band adaptation of TCP data exchange; In-band control procedures
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Facsimiles In General (AREA)
  • Computer And Data Communications (AREA)
  • Supply And Installment Of Electrical Components (AREA)
  • Sewing Machines And Sewing (AREA)

Abstract

【課題】
ネットワーク過負荷の問題を避ける様式でネットワーク接続試行を管理するより有効な技法を提供すること。
【解決手段】
本発明は、ネットワーク接続を確立するための方法であって:ネットワーク上の接続を確立するための試行を識別する工程;および該接続に関連するデータを記憶するためのメモリの部分を割り当てる工程、を包含する、方法を提供する。メモリ過負荷の派生を避けながらネットワーク接続を確立するためのオフロードサブシステムであって:ネットワーク上の接続を確立する試行を識別し、かつ該接続と関連するデータを記憶するためのメモリの部分を割り当てるためのオフロードエンジンを備え、ここで、該メモリの部分が、該メモリの過負荷をされるために上書きされる、オフロードサブシステムもまた提供される。
【選択図】 図2

Description

(発明の分野)
本発明は、ネットワーク通信を管理すること、そしてより詳細には、ネットワーク接続管理に関する。
(発明の背景)
先行技術の図1は、先行技術によってネットワーク通信が確立される方法100を示す。種々のプロトコル(TCPなど)を利用するネットワーク通信(例えば、インターネット通信など)は、しばしば、接続を確立するための努力で開始される。
TCP接続試行が始まるとき、デスティネーションホストは、操作102に示されるように、ソースホストから同期(SYN)パケットを受ける。このようなSYNパケットを受信することに応答して、代表的には限定サイズの指定されたメモリが接続の確立を探知するために割り当てられる。操作103に注目のこと。
その後、操作104で、デスティネーションホストは、SYN受取りパケット(SYN/ACK)を送り返す。このデスティネーションホストは、次いで、決定106に提示されるように、接続が確立する前にハンドシェイクACKの受信を待たなければならない。これは、代表的には、「TCP三方向オープンハンドシェイク」と呼ばれる。
ハンドシェイクACKを待つ間、デスティネーションホストの限定サイズのメモリは、終了されるのを待つその他の接続の探知を維持する。これは、代表的には、エンプティを迅速に待ち行列に入れる。なぜなら、ハンドシェイクACKは、SYN/ACKパケットが送信された後数ミリ秒で到着することが予想されるからである。
ハンドシェイクACKを受信すると、この接続はオープンであり、そして限定サイズのメモリの関連する部分は、現在オープンの接続を探知かつ維持するために用いられる。操作110を注目のこと。その一方、ハンドシェイクACKが所定のタイムアウト期間内に受信されない場合(決定108に注目のこと)、最大数のSYN/ACK再送信が生じたか否かを決定するための試験がなされる(決定112に注目のこと)。この最大数の再送信がまだ生じていない場合、SYN/ACKパケットが再送信される。操作114に注目のこと。この最大数の再送信が生じた場合、このプロセスは終了し、そしてメモリの割り当ては解かれる。操作116に注目のこと。
サービス否認(DoS)アタックは、ビクティムデスティネーションホストに向かうランダムソースIPアドレスおよびソースポートをもつ、攻撃ソースホスト発生TCP SYNパケットを有することにより、この設計を開発する。このビクティムデスティネーションホストは、次に、ランダムソースアドレスに戻るSYN/ACKパケットを送信し(図1の方法100の操作104に従う)、そしてメモリの接続待ち行列へのエントリーを付加する。
このSYN/ACKは、不正確または不在ホストに向かうことになっているので、「三方向オープンハンドシェイク」の最後の部分は、決して終わることはなく、メモリは、この接続試行に割り当てられたままであり、そして上記エントリーは、最大数の再試行が送信され、そしてタイマーの期限が切れるまで(代表的には約1分)接続待ち行列(キュー)中に残る。ランダムアドレスから偽TCP SYNパケットを高速で生成することにより、メモリの接続キューを充填することが可能であり、そして正規ユーザーへのTCPサービス(eメール、ファイル移送、WWWなど)を否認することが可能である。
この攻撃の発信者を探知する容易な方法はない。なぜなら、このソースのIPアドレスは、代表的には、偽造されているからである。従って、これらおよびその他の因子に起因するネットワーク過負荷の問題を避ける様式でネットワーク接続試行を管理するより有効な技法に対する必要性が存在する。
(発明の要旨)
ネットワーク接続を確立するためのシステムおよび方法が提供される。最初に、ネットワーク上の接続を確立するための試行が識別される。次いで、メモリの一部分が、この接続に関連するデータを記憶するために割り当てられる。
1つの実施形態では、このメモリの部分は、接続を確立するための第2の試行が先の試行と関連する少なくとも1つの局面を有する場合上書きされ得る。このような局面は、制限されずに、IPアドレス、TCPポートなどを含む接続の任意の局面を含み得る。
必要に応じて、ネットワーク上の接続を確立するための各試行は、パケット[すなわち、同期(SYN)パケットなど]を利用して識別され得る。なおさらに、このシステムおよび方法は、同期/受取り(SYN/ACK)パケットでこのパケットに応答し得る。
別の実施形態では、ハシュが、ネットワーク上の接続を確立する試行と対応する各パケットと関連して生成され得る。このようなハシュは、次に、接続を確立するための第2の試行が前記の様式で先の試行と関連する少なくとも1つの局面を有するか否かを決定するために利用される。
なおさらに、このハシュは、上記メモリの部分に記憶されたデータへのポインタとして供され得、ここで、このデータは、コントロールブロックを含む。必要に応じて、半オープン状態にある接続と関連する複数のコントロールブロックは、オープン接続と関連する複数のコントロールブロックに対してより小さいサイズであり得る。さらに、もこのコントロールブロックは、接続、IPアドレス、ポート番号、タイムスタンプなどを識別するために用いられるハンドルを含み得る。半オープン状態は、第1のSYNが、リモートホストから少なくとも受信されたが、対応するハンドシェイクACKがいまだ受信されていない接続試行として規定される。
なおさらなる別の実施形態では、上記メモリは、半オープン接続と関連するデータに割り当てられる第1のメモリを含み得る。さらに、この第1のメモリから論理的または物理的に分離された第2のメモリが、この第1のメモリの過剰負荷がオープンソケットに影響しないように、オープン接続と関連するデータに割り当てられ得る。必要に応じて、先に記載のように、上記第2のメモリは、上記第1のメモリが割り当てられる第1のタイプのコントロールブロックに対してより大きいサイズである第2のタイプのコントロールブロックのために割り当てられ得る。
使用において、上記メモリの部分は、接続試行のハンドシェイクACKの受信に際して割り当てを解かれ得る。なおさらに、別のメモリの部分(すなわち、第2のメモリ、など)が、上記接続試行が成功する際、オープン接続のために割り当てられ得る。
本発明は、以下を提供する。
(1)ネットワーク接続を確立するための方法であって:
ネットワーク上の接続を確立するための試行を識別する工程;および
上記接続に関連するデータを記憶するためのメモリの部分を割り当てる工程、を包含する、方法。
(2)項1に記載の方法であって、接続を確立するための第2の試行が先の試行と関連する少なくとも1つの局面を有する場合に、上記メモリの部分がメモリ過負荷を避けるために上書きされる、方法。
(3)上記ネットワーク上の接続を確立するための各々の試行が、パケットを識別することにより実施される、項2に記載の方法。
(4)上記パケットが、同期パケットである、項3に記載の方法。
(5)上記パケットにパケット受取りで応答する工程をさらに包含する、項3に記載の方法。
(6)上記ネットワーク上の接続を確立するための試行と関連する各パケットと関連するハシュを生成する工程をさらに包含する、項3に記載の方法。
(7)上記ハシュが、接続を確立するための次の試行が、先の試行と関連する少なくとも1つの局面を有するか否かを決定するために利用される、項6に記載の方法。
(8)上記少なくとも1つの局面が、IPアドレスを含む、項7に記載の方法。
(9)上記少なくとも1つの局面が、TCPポートを含む、項7に記載の方法。
(10)上記ハシュが上記メモリの部分に記憶されたデータへのポインタとして供され、そして上記データがコントロールブロックを含む、項7に記載の方法。
(11)接続試行と関連する複数のコントロールブロックが、オープン接続と関連する複数のコントロールブロックに対してサイズがより小さい、項10に記載の方法。
(12)上記コントロールブロックが、ハンドル、IPアドレス、TCPポート、およびタイムスタンプを含む、項10に記載の方法。
(13)上記メモリが、接続試行と関連するデータのために割り当てられる第1のメモリを含む、項1に記載の方法。
(14)上記第1のメモリから論理的に分離された第2のメモリが、オープン接続と関連するデータのために割り当てられ、上記第1のメモリの過負荷が上記オープン接続に影響しない、項13に記載の方法。
(15)上記第2のメモリが、上記第1のメモリが割り当てられる第1のタイプのコントロールブロックに対してサイズがより大きい第2のタイプのコントロールブロックに対し割り当てられる、項14に記載の方法。
(16)上記接続試行のハンドシェイク受取りの受信に際し、上記メモリの部分の割り当てを解く工程をさらに包含する、項1に記載の方法。
(17)上記接続試行が成功する際に、オープン接続のために別のメモリ部分を割り当てる工程をさらに包含する、項16に記載の方法。
(18)上記メモリ過負荷が、サービス否認アタックから生じる、項2に記載の方法。
(19)上記ネットワーク上の接続を確立する各試行が、プロセッサに同期パケットを送信することにより処理され、上記同期パケットが受取りされるか否かを決定する、項1に記載の方法。
(20)上記ネットワーク上の接続を確立する各試行が、オフロードエンジンを利用することにより処理され、同期パケットが受取りされるか否かを決定する、項1に記載の方法。
(21)メモリ過負荷の派生を避けながらネットワーク接続を確立するためのオフロードサブシステムであって:
ネットワーク上の接続を確立する試行を識別し、かつ上記接続と関連するデータを記憶するためのメモリの部分を割り当てるためのオフロードエンジンを備え、
ここで、上記メモリの部分が、上記メモリの過負荷をされるために上書きされる、オフロードサブシステム。
(22)メモリ過負荷の問題を避けながらネットワーク接続を確立するためのシステムであって:
プロセッサ;
バスを経由して上記プロセッサおよびネットワークと通信するオフロードエンジンであって、上記ネットワーク上の接続を確立する試行を識別し、かつ上記接続と関連するデータを記憶するためのメモリの部分を割り当てるためのオフロードエンジン;を備え、
ここで、上記メモリの部分が、上記メモリの過負荷をされるために上書きされる、システム。
ネットワーク過負荷の問題を避ける様式でネットワーク接続試行を管理するより有効な技法が提供される。
(詳細な説明)
図2は、1つの実施形態による、ネットワークシステム200を示す。示されるようにネットワーク202が提供される。本発明のネットワークシステム200の文脈では、ネットワーク202は、制限されないで、ローカルエリアネットワーク(LAN)、インターネットのようなワイドエリアネットワーク(WAN)などを含む任意の形態をとり得る。
このネットワークに接続されて、ネットワーク202上で通信し得るローカルホスト204およびリモートホスト206がある。本明細書の文脈では、このようなホスト204、206は、ウェブサーバー、デスクトップコンピューター、ラップトップコンピューター、ハンドヘルドコンピューター、プリンターまたは任意のその他のタイプのハードウェア/ソフトウェアを含み得る。前記のコンポーネントの各々および任意のその他の示されていないデバイスが1つ以上のネットワークにより相互接続され得ることが注記される。
図3は、例示のアーキテクチャー300を示し、ここでは、1つの実施形態が履行され得る。1つの実施形態では、このアーキテクチャー300は、図2のホスト204、206の1つが提示され得る。しかし、勿論、このアーキテクチャー300は、任意の所望のコンテクストで履行され得ることに注目すべきである。
例えば、このアーキテクチャー300は、汎用コンピューターシステム、回路基板システム、娯楽目的に供されるゲームコンソールシステム、セットトップボックス、ルータ、ネットワークシステム、ストレージシステム、アプリケーション特異的システム、またはネットワーク202に関連する任意のその他の所望のシステムのコンテクストで履行され得る。
示されるように、このアーキテクチャー300は、バス302を経由して接続される複数のコンポーネントを含む。データを処理するための少なくとも1つのプロセッサ304が含められる。このプロセッサ304は、任意の形態をとり得るが、それは、1つの実施形態では、中央処理ユニット(CPU)、チップセット(すなわち、関連する機能を実施するためのユニットとして作動および販売されるよう設計された集積回路の群)、またはデータを処理し得る任意のその他の所望の処理デバイス(単数または複数)の形態をとり得る。
さらに、データを記憶するために、プロセッサ304と通信して存在するプロセッサシステムメモリ306が含められる。このようなプロセッサシステムメモリ306は、オンボードまたはオフボードのランダムアクセスメモリ(RAM)、ハードディスクドライブ、リムーバブル記憶デバイス(すなわち、フロッピー(登録商標)ディスク(登録商標)ドライブ、磁気テープドライブ、コンパクトディスクドライブなど)、および/またはデータを記憶し得る任意のその他のタイプの所望のメモリの形態をとり得る。
使用において、プログラム、または制御論理アルゴリズムが、必要に応じて、このプロセッサシステムメモリ306中に記憶され得る。このようなプログラムは、実行されるとき、アーキテクチャー300が種々の機能を実施することを可能にする。勿論、このアーキテクチャー300は、ハードワイヤ化されている。
さらに、このプロセッサ304およびネットワーク(例えば、図2のネットワーク202を参照のこと)と通信しているオフロードエンジン312が示される。1つの実施形態では、このオフロードエンジン312は、バス302を経由してプロセッサ304と通信して維持され得る。しかし、勿論、このオフロードエンジン312は、それらの間の通信を提供する任意の機構を経由して、プロセッサ304との通信を維持し得る。このオフロードエンジン312は、輸送(すなわち、TCP/IP)オフロードエンジン(TOE)、またはネットワーク中を送信されるデータを管理し得る任意の集積回路(単数または複数)を含み得る。
操作の間に、このオフロードエンジン312は、メモリ過負荷の問題[すなわち、ネットワークのサービス否認(denial−of−service;DoS)アタック、重いトラフィックなどに起因する]を避けながら、ネットワーク通信を確立するために、プロセッサ304と組み合わせて作動するために供される。これを達成するために、ネットワーク上の通信を確立する試行が最初に識別される。次に、メモリの一部分が、この接続に関連するデータを記憶するために割り当てられる。残り説明の文脈では、このようなメモリは、本明細書の上記に記載の任意のメモリ(すなわち、メモリ306など)、オフロードエンジン312に関連するメモリ、またはアーキテクチャー300および/またはネットワークシステム200と関連する全く他の任意のメモリを含み得る。
使用の間、メモリの前記部分は、メモリ過負荷を避ける特有の目的のために上書きされ得る。前記の機能性は、メモリ過負荷を避け得る任意の所望の様式で実施され得ることに注目すべきである。ここで、オフロードエンジン312が前記の様式でメモリを上書きする例示の方法に関するより多くの情報が提示される。
図4Aは、1つの実施形態による、メモリ過負荷の問題を避けながら、ネットワーク接続を確立するための例示の方法400を示す。オプションとして、この方法400は、図3の例示のアーキテクチャー300および図2のネットワークシステム200のコンテクストで実施され得る。しかし、勿論、この方法400は、任意の所望のコンテクストで履行され得ることに注目すべきである。さらに、種々の機能は、例示のコンポーネント(すなわち、本明細書で上記に提示されるようなもの)に起因し得るが、種々の機能性が任意の所望の実体により実施され得ることを理解することは重要である。
最初に、決定402において、サーバーソケットに関連する第1の同期(SYN)パケットが、ローカルホスト(すなわち、例えば、図2のローカルホスト204を参照のこと)において、オフロードエンジン(すなわち、例えば、図3のオフロードエンジン312を参照のこと)によって受信されるか否かが決定される。本明細書の説明の文脈では、SYNパケットは、接続を確立するために必要な同期プロセスを開始する任意のパケット、シグナルなどを含み得る。使用において、SYNパケットは、パケット内のフラッグによりマークされ得る。さらに、サーバーソケットは、ネットワーク上で稼動する2つのプログラム間の二方向通信リンクの1つの終点である。ソケットは、TCP層が、データが送信されることになっているアプリケーションを識別し得るように、ポート番号に結合され得る。
SYNパケットが決定402について受信されない場合、他のパケットタイプが操作404で処理される。その場合、しかし、ローカルホストのプロセッサ(すなわち、例えば、図2のプロセッサ304を参照のこと)によって、第1のSYNパケットが受容されているか否かが決定される。決定406に注目のこと。上記の決定は、SYNパケットと関連するデスティネーションポート、および/またはSYNパケットが受信されたインターフェースに基づいて実施され得ることに注目すべきである。
あるいは、第1のSYNパケットを受容する決定406は、オフロードエンジンによってのみなされ得る。上記の決定は、再び、SYNパケットと関連するデスティネーションポート、および/またはSYNパケットが受信されたインターフェースに基づいて実施され得る。
第1のSYNパケットが受容されるべきでないことが決定されると、リセット(RST)パケットが生成される。操作414を注目のこと。RSTパケットは、次いで、第1のSYNパケットをもたらしたリモートホストに送信されて戻る。操作416を注目のこと。次いで方法400はリセットされる。しかし、この第1のSYNが実際に受容されることが決定されると、第1のハシュが、第1のSYNパケット中に受信されたパラメータを基に操作408中で生成される。本明細書の文脈では、このハシュは、より短い固定長の値または当初の文字を表すキーである文字列(すなわち、この場合においては、第1のSYNパケット中のIPアドレスおよびポート番号)を含み得る。このハュは、この第1のパケットの少なくとも1つの局面と関連する任意の識別子をさらに含み得ることに注目すべきである。例えば、このハシュは、インターネットプロトコール(IP)アドレスと第1のSYNパケットと関連するポートのペアに基づいて生成され得る。
次に、操作410において、第1のメモリの第1の部分が、第1タイプのコントロールブロック(すなわち、「半オープン」コントロールブロックまたはHO−CB)のためのサーバーソケットについて割り当てられる。再び、このようなメモリは、本明細書で上記に記載の任意のメモリ(すなわち、図3のメモリ306など)、オフロードエンジンに関連するメモリ、またはアーキテクチャー300および/またはネットワークシステム200と関連する全く他のメモリを含み得る。
本明細書の文脈では、コントロールブロックは、接続試行および/または接続を探知するために用いられ得る任意の情報を含み得る。さらに、この第1タイプのコントロールブロックは、特に、接続試行を探知するために用いられ得る任意の情報を含み得る。例示のみの目的で、この第1タイプのコントロールブロックは、ハンドル、IPアドレス、ポート番号、タイムスタンプ、および/またはSYNパケットと関連する任意の情報を含み得る。
前記の割り当て操作410を開始するために、プロセッサは、第1タイプのコントロールブロックを生成するために必要な情報を提供する目的のために、オフロードエンジンに指示ブロック(IB)を発行し得る。このIBが与えられれば、オフロードエンジンは、前述の様式で第1のメモリの第1の部分を割り当て得る。間もなく明らかになるように、このハシュは、第1タイプのコントロールブロックへのポインタとして利用され得る。
あるいは、オフロードエンジンそれ自身が、第1のSYNパケットにおける接続を受容する決定をなし得、そして第1タイプのコントロールブロックを生成するために、第1のSYNパケットおよびメモリソースからすべての必要な情報を得てもよい。次いで、オフロードエンジンは、前述の様式で第1のメモリの第1の部分を割り当て得る。
第1タイプのコントロールブロックにメモリが割り当てられて、オフロードエンジンは、引き続き、第1のSYNパケットについて同期受取り(SYN/ACK)パケットを送信する。操作412を注目のこと。このようなSYN/ACKパケットは、第1のSYN/ACKパケットが受信され、しかもリモートホストに戻る同期化がリクエストされたことを示す任意の信号の形態をとり得る。その後、ローカルホストは、リモートホストにおいてSYN/ACKパケットの受信を受取りする任意の信号の形態をとり得る、ハンドシェイクACKである「TCP三方向オープンハンドシェイク」の最終コンポーネントを待つ。
この時点で、この方法400の機能性は、ハンドシェイクACKが受信されるか、別のSYNパケットが受信されるか、またはいずれもが受信されないかに基づき変動する。以下の図は、前述の場合のシナリオの各々を説明するために割り当てられる。例えば、図4Bは、1つの実施形態による、図4Aの第1のSYN/ACKパケットに応答してハンドシェイクACKが受信される場合におけるネットワーク接続確立法を示す。さらに、図4Cおよび4Dは、図4Aの第1のSYNパケットの後であるが、第1のSYN/ACKパケットに応答するハンドシェイクACKが受信される前に別のSYNパケットが受信される場合の、ネットワーク接続確立法を示す。なおさらに、図4Eは、ハンドシェイクACKも別のSYNも受信されない場合のネットワーク接続確立法を示す。
前と同様に、図4B〜4Eの方法は、図3の例示のアーキテクチャー300および図2のネットワークシステム200と関連して、図4の方法400のコンテクストで実施され得る。勿論、しかし、図4B〜4Eの方法は、任意の所望の独立のコンテクストで履行され得ることに注目すべきである。さらに、種々の機能は、例示のコンポーネント(すなわち、本明細書で上記に提示されたもののように)に起因し得るが、種々の機能は、任意の所望の実体によって実施され得ることを理解することが重要である。
図4Bを参照して、操作420においてパケットを待った後、パケットがACKパケットを受信したか否かがオフロードエンジンによって決定される。決定422に注目のこと。パケットがACKパケットでない場合、どのタイプのパケットが受信されかを観察するためにさらなるチェックがなされる。図4Cを参照のこと。受信されたパケットがACKパケットである場合、操作424に示されるように、ハシュが生成される。このようなハシュは、同一でないとしても、SYNパケットに関して本明細書で上記に提示された様式と類似の様式で生成され得る。例えば、このハシュは、IPアドレスおよびハンドシェイクACKパケットのペアに基づいて生成され得る。
受信されたACKパケットのハシュによって識別されたとき、第1タイプのコントロールブロック(すなわち、HO−CB)中のパラメータは、次いで、操作426に示されるように取り出される。前述のHO−CBから取り出されたパラメータは、次に、受信されたACKがハンドシェイクACKであるか否かを決定するために用いられる。そうであれば、次に、HO−CB中のパラメータは、ハンドシェイクACKパケット内に受信されたものと比較され、受信されたハンドシェイクACKパケットが識別されたHO−CB中に記憶されたのと同じ接続試行に属するか否かを観察する。決定428を参照のこと。パラメータが一致しない場合、受信されたハンドシェイクACKは、操作436に示されるように棄てられ、そしてこの方法400はリセットされて戻り、受信されたパケットを待つ。パラメータがまさに一致する場合、次いで、「TCP三方向オープンハンドシェイク」の最終コンポーネントが終了したことが確認される。この目的に、サーバーソケットが開放されてオープンソケットを生成する。操作430を参照のこと。
さらに、さらなる接続試行を探知するために第1のメモリを自由にするため、第1のSYNパケットに先に割り当てられた第1のメモリの部分は、ここで、割り当てを解かれる。操作432に注目のこと。この割り当てを解くことにより、第1タイプのコントロールブロックは無効にされる。
オープンを容易にするため、操作426でHO−CBから読み取られたパラメータは、第2タイプのコントロールブロック(すなわち、オープンコントロールブロックまたはオープンCB)を生成するために用いられる。操作434を参照のこと。このオープンCBは、現在オープン接続の状態を探知するために用いられる。第1タイプのコントロールブロックと同様に、第2タイプのコントロールブロックは、オープン接続を探知かつ維持するために用いられ得る任意の情報を含み得る。しかし、オープン接続を探知するために、より多くの情報がしばしば必要であるので、第2タイプのコントロールブロックは、第1タイプのコントロールブロックよりサイズがより大きい。
さらに、第2タイプのコントロールブロックを記憶する第2のメモリは、本明細書に上記で述べた任意のメモリ(すなわち、図3のメモリ306など)、オフロードエンジンに関連するメモリ、またはアーキテクチャー300および/またはネットワークシステム200と関連する全く別の任意のその他のメモリを含み得る。しかし、この第2のメモリは、論理的に(そして恐らくは論理的に加えてさらに物理的に)、第1のメモリから、第1のメモリの過負荷(すなわち、過剰数の接続試行、アタックなどに起因する)が第2のメモリによるオープン接続の探知に影響しないように分離して維持されるか、または独立している。第2タイプのコントロールブロックは、第1タイプのコントロールブロックよりサイズがより大きいので、第2のメモリは、第1のメモリよりサイズがより大きいことでこれに順応し得る。
先に記載のように、適切なハンドシェイクACKが(図4Bの決定422で決定されるように)受信されない場合、そのときは、別のSYNが受信されているか否かが決定される。
ここで、図4Cを参照して、最初に、別のSYNパケットがオフロードエンジンによって受信されているか否かが決定される。決定441に注目のこと。別のSYNパケットが決定441につき受信されていない場合、その他のパケットタイプが、操作454中で処理される。そうであれば、しかし、図4Aの決定406と同様に、次に、次のSYNパケットが決定442で受取りされるべきである。第1の受信されたSYNパケットについて注記したように、第2の受信されたSYNパケットを受取りする決定は、ローカルホストによって、またはオフロードエンジンによってなされ得る。この第2の受信されたSYNパケットが受取りされない場合、操作450によって示されるように、RSTパケットが生成され、そしてこの第2の受信されたSYNパケットをもたらしたリモートホストに送信される。操作452を参照のこと。次いで、この方法400は、リセットされて戻され、操作440によって示されるように、次のパケットを待つ。
第2の受信されたSYNパケットが決定442によって受容されるとき、操作444によって示されるように、ハシュが前述のSYNパケットのために生成される。操作444で生成されたハシュが第1の受信されたSYNパケットについて生成されたハシュと異なる場合、第1のメモリの異なる部分が第2の受信されたSYNパケットに割り当てられる。操作446を参照のこと。
操作444で生成されたハシュが、第1の受信されたSYNパケットについて生成されたハシュと一致する場合、第1の受信されたSYNパケットについて第1のメモリ中に割り当てられたメモリの部分は、操作446において第2の受信されたSYNパケットのための接続パラメータによって上書きされる。換言すれば、第1のSYNパケットに関連する上書きされたコントロールブロックのパラメータは、ハシュ衝突の場合には、第2のSYNパケットのパラメータで置換され得る。
この第2のSYNパケットがリモートホストによる再送信SYNパケットである場合、これらパラメータは、CB中で上書きされない。なぜなら、この第2のSYNパケットは、同じ接続試行のためであるからである。受信されたSYNに対するハシュが、第1または第2の受信されたSYNパケットのいずれか(または両方)に一致するときは、アタックのコンポーネントであり得るか、または、それは、SYNパケットを再送信するリモートホストによって引き起こされているかも知れない。さらにより多くのSYNパケットが「TCP三方向オープンハンドシェイク」を終了する接続なくして受信されるとき、第1のメモリは、過負荷であるリスクにある。いずれの場合にも、先に受信されたSYNパケットと一致するハシュ値の引き続き受信された受取りSYNパケットが、第1のメモリの対応する部分を上書きすることを可能にすることは、この第1のメモリが過負荷でないことを確実にする。
第2の受信されたSYNパケットが第1の受信されたSYNパケットと一致するか否かにかかわらず、SYNパケットが受取りされる場合、操作448に示されるように、SYN/ACKパケットが生成され、そして第2の受信されたSYNパケットをもたらしたリモートホストに戻って送信される。
ここで、図4Dを参照して、方法400は、図4Cから継続して、操作460におけると同じに待つことにより、次のパケットを収容する。特に、SYNパケットに対するハンドシェイクACKが受信されたか否かが最初に決定される。決定462を注目のこと。ハンドシェイクACKがないとき、この方法は、操作464に示されるように、従って、受信されたパケットを所有している。
しかし、受信されたパケットがACKである場合、ハシュが生成される。操作466を参照のこと。生成されたハシュにより指定されたHO−CBは、次に、操作467に示されるように取り出される。このHO−CBから取り出されたパラメータは、次いで、受信されたACKがハンドシェイクACKであるか否かを決定するために用いられる。そうであれば、ハンドシェイクACKからのパラメータは、このHO−CB内に含まれたパラメータと比較される。
それらが一致しない場合、ACKパケットは棄てられ、そしてこのプロセスは、パケットを待つことに復帰する。操作470を参照のこと。これは、第1のSYNパケットについてのハンドシェイクACKが、第1の受信されたSYNパケットと一致したハシュを有した第2のSYNパケットを受けた後に受信される場合である。この場合、第1の受信されたSYNのHO−CBパラメータは、第2の受信されたSYNが受信されたときに上書きされていたのであろう。従って、第1の受信されたSYNに対するハンドシェイクACKが受信され、そして対応するHO−CBが取り出され、取り出されたパラメータは、第2の受信されたSYNパケットのパラメータであり得、そしてそれ故、第1の受信されたSYNパケットに対するハンドシェイクACKのパラメータに一致しないであろう。
HO−CBから取り出されたパラメータが、決定468において、受信されたハンドシェイクACK中のパラメータにまさに一致する場合、このプロセスは、図4Bに概説されるのと同じステップに従う。詳細には、操作472においてサーバーソケットが開放される。受信されたハンドシェイクACKと関連する接続のHO−CBを記憶するために用いられた第1のメモリ中の部分は、操作474に示されるように割り当てを解かれる。さらに、第2のメモリの部分が、操作476に示されるように、ここで、オープン接続を探知かつ維持するために割り当てられる。
図4Eは、図4B/4DのハンドシェイクACKまたは図4Cの別のSYNパケットのいずれもが受信されない場合を示す。使用において、さらなるSYN/ACKパケットが、適切なハンドシェイクACK応答を引き出す目的で、SYNパケットに応答して定期的に再送信される。操作482に注目のこと、オプションとして、このSYN/ACKパケットは、対応するコントロールブロックと関連するタイムスタンプに基づき再送信される。多くのSYN/ACKパケットの再送信の後、ハンドシェイクACKが凝視しても受信されない場合、オフロードエンジンは、接続試行が打ち切られたと見なし得る。決定480を参照のこと。試行される再送信の数は、予備決定され得るか、および/またはユーザーが構成し得る。接続試行が打ち切られたと見なされる場合、この接続試行のために割り当てられた第1のメモリ中の部分は、割り当てを解かれ、そして将来の試行のために用いられるように自由になる。操作484を参照のこと。
図5は、例示の実施形態による、メモリ過負荷の問題を避けながら、ネットワーク接続を確立するための例示の設計および操作500を示す。オプションとして、この設計および操作500は、先の図に開示のコンテクストで実施され得る。しかし、勿論、この設計および操作500は、任意の所望のコンテクストで履行され得ることに注目すべきである。最も重要なことは、この設計および操作500は、例示目的のみのために提示され、そしていかなる様式においても限定すると解釈されるべきではない。本明細書の文脈では、ホストドライバは、オフロードエンジンと組み合わせて稼動するローカルホストにあるSWコンポーネント(単数または複数)として規定される。
示されるように、例示の設計および操作500は、プロセッサと関連し、次に、複数の例示のコンポーネントを備えるオフロードエンジン501と通信するホストドライバ502を示す。例えば、このオフロードエンジン501は、レシーバー518、例外処理器520、コントロールブロック(CB)ポラー516、指示ブロック(IB)FIFOキュー504、ステータスメッセージ発生器522、IBパーサ506、CBメモリ512/514、CBインターフェース508、先入れ先出し(FIFO)バッファ510、およびデータパケット発生器(図示せず)を含んで示され、これらは、示されるように接続される。種々のコンポーネントの機能性は、例示の設計および操作500の使用の論議の間に本明細書で以後により詳細に提示される。
使用において、オフロードエンジン501は、レシーバー518を経由してSYNパケケットを受信する。このSYNパケットに関連するチェックサムが、次いで確認される。この確認が成功すると、SYNパケットは、例外パケットとして、例外処理器520を利用して、ホストドライバ502を経由しホストに送信される。ステータスメッセージがまた、ステータスメッセージ発生器522によって生成され、そしてSYNパケットが受信されたことを示すホストドライバ502に送信される。
ホストにおいて、ドライバ502が、SYNパケットを、デスティネーションポート、IPアドレス、およびSYNパケットが受信されたインターフェースを再調査することによって調査し、オープンされるべき接続と関連しているか否かを決定する。インターネットプロトコールセキュリティ(IPSEC)が用いられているとき、用いられている(または用いられていない)保護が、戦略テーブル中で確認される。
ドライバ502が即座の接続を可能にすることを希望する場合、それは、SYNACKIBを発行する。このIBは、次いで、オフロードエンジン501によって、最初FIFOキュー504を利用して記憶/待ち行列に入れ、そして次にIBパーサ506を利用して解析されることにより、ハードウェア処理され得る。このIBは、一旦ソケットが確立された状態に移動すると用いられるべきCBハンドルを含めて、接続のために半オープン(HO)コントロールブロック(CB)を生成するために必要なすべての情報を含み得る。
オフロードエンジン501は、一旦、これが、SYNACKを受けると、インターフェース508および関連するコンポーネントを利用してHOCBを生成し得、そしてSYNパケットに応答してSYN/ACKパケットを送り出す。ハンドシェイクACKが、リモートホストから受信されると、このHOCBは、提供されたハンドルを用いてオープンCBに移され得る。その時点で、「ソケット確立された」ステータスメッセージが生成され得る。
しかし、ホストが、先の接続が確立されたステータスに到達する前に、先に受信した接続試行と一致するハシュを生成する別のSYNパケットを受信すると、先のHOCBは、新たな接続試行パラメータで上書きされる。これは、オフロードエンジン501のための過負荷保護を提供する。ステータスメッセージが、この状況においてホストドライバ502に送信され得、先のHOCBで用いられたCBハンドルが自由であり、かつ再び使用され得ることを示す。この時点で、CBポラー516が、必要に応じて本明細書で上記に提示される様式で、SYN/ACKパケット再送信を取り扱い得る。
図6は、例示の実施形態による、メモリ過負荷の問題を避けながら、ネットワーク接続を確立するための代替の設計および操作600を示す。オプションとして、この設計および操作600は、先の図に開示のコンテクストで実施され得る。しかし、勿論、この設計および操作600は、任意の所望のコンテクストで履行され得ることに注目すべきである。最も重要なことは、この例示の設計および操作600は、例示目的のみのために提示され、そしていかなる様式においても限定すると解釈されるべきではない。
示されるように、この例示の設計および操作600は、図5に描写されるのと同じコンポーネントを示し、サーバーポートおよび情報テーブル602、ならびにCBアロケータ604をさらに備える。
使用において、オフロードエンジン501は、レシーバー518を経由してSYNパケケットを受信する。このSYNパケットに関連するチェックサムが、次いで確認される。この確認が成功すると、SYNパケットにより特定されるTCPポートが、サーバーポートおよび情報テーブル602中でチェックされる。
ポートが接続を受取りするために許可されていると見なされると、HO−CBが、SYNパケット中に受信されたパラメータおよびサーバーポート中のデスティネーションポートと関連するパラメータ、ならびに情報テーブル602を用いて、HOCBメモリ514中に生成される。次いで、SYN/ACK応答が、FIFO510を経由してレシーバー518によってリクエストされる。この接続試行のためのハンドシェイクACKが、リモートホストから受信されるとき、HOCBは、CBアロケータ604によって提供されるハンドルを用いてオープンCBに移され得る。その時点で、「ソケット確立された」ステータスメッセージが、ステータスメッセージ発生器522を経由して生成され得る。
しかし、オフロードエンジン501が、先の接続が確立されたステータスに到達する前に、別のSYNパケットを受信すると、先のHOCBは、第2の受信されたSYNパケットにより生成されたハシュが先の接続試行の受信されたSYNのハシュと一致する場合、新たな接続試行パラメータで上書きされ得る。これは、オフロードエンジン501のための過負荷保護を再び提供する。ステータスメッセージは、この場合、ホストドライバに送信される必要はなくてもよい。なぜなら、ホストドライバは、接続が確立されたときのみ情報を得ればよいからである。
種々の実施形態を上記に記載したが、それらは例示のみであって、そして限定ではなく提示されていることを理解すべきである。従って、好適な実施形態の幅および範囲は、上記の例示の実施形態のいずれによっても限定されるべきではなく、上記の請求項およびそれらの均等物に従ってのみ規定されるべきである。
(要約)
ネットワーク接続を確立するためのシステムおよび方法が提供される。最初、ネットワーク上の接続を確立するための試行が識別される。メモリの一部分が、次に、この接続に関連するデータを記憶するために割り当てられる。
ネットワーク接続を確立するためのシステムおよび方法を利用する任意の産業において有用である。
先行技術の図1は、先行技術による、ネットワーク接続が確立される方法を示す。 図2は、1つの実施形態による、ネットワークシステムを示す。 図3は、1つの実施形態が実行され得る例示のアーキテクチャーを示す。 図4Aは、1つの実施形態による、メモリ過負荷の問題を避けながらネットワーク接続を確立するための例示の方法を示す。 図4Bは、1つの実施形態による、ハンドシェィク受取り(ACK)が、図4Aの第1の同期(SYN)パケットACKに応答して受信される場合におけるネットワーク接続確立法を示す。 図4Cは、図4Aの第1のSYNパケット後、別のSYNパケットが受信されるが、ハンドシェイク前に、ACKが第1のSYN/ACKに応答して受信される場合における、ネットワーク接続確立法を示す。 図4Dは、1つの実施形態による、図4Cのネットワーク接続確立法の続きを示す。 図4Eは、接続試行に対し、さらなるACKまたはその他のSYNが受信されない場合における、ネットワーク接続確立法を示す。 図5は、SYNパケットを受取りする決定がホストドライバによって実施される場合について、例示の実施形態による、メモリ過負荷の問題を避けながら、ネットワーク接続を確立するための例示の設計および操作を示す。 図6は、SYNパケットを受取りする決定がオフロードエンジンによって実施される場合について、例示の実施形態による、メモリ過負荷の問題を避けながら、ネットワーク接続を確立するための例示の設計および操作を示す。

Claims (22)

  1. ネットワーク接続を確立するための方法であって:
    ネットワーク上の接続を確立するための試行を識別する工程;および
    該接続に関連するデータを記憶するためのメモリの部分を割り当てる工程、を包含する、方法。
  2. 請求項1に記載の方法であって、接続を確立するための第2の試行が先の試行と関連する少なくとも1つの局面を有する場合に、前記メモリの部分がメモリ過負荷を避けるために上書きされる、方法。
  3. 前記ネットワーク上の接続を確立するための各々の試行が、パケットを識別することにより実施される、請求項2に記載の方法。
  4. 前記パケットが、同期パケットである、請求項3に記載の方法。
  5. 前記パケットにパケット受取りで応答する工程をさらに包含する、請求項3に記載の方法。
  6. 前記ネットワーク上の接続を確立するための試行と関連する各パケットと関連するハシュを生成する工程をさらに包含する、請求項3に記載の方法。
  7. 前記ハシュが、接続を確立するための次の試行が、先の試行と関連する少なくとも1つの局面を有するか否かを決定するために利用される、請求項6に記載の方法。
  8. 前記少なくとも1つの局面が、IPアドレスを含む、請求項7に記載の方法。
  9. 前記少なくとも1つの局面が、TCPポートを含む、請求項7に記載の方法。
  10. 前記ハシュが前記メモリの部分に記憶されたデータへのポインタとして供され、そして該データがコントロールブロックを含む、請求項7に記載の方法。
  11. 接続試行と関連する複数のコントロールブロックが、オープン接続と関連する複数のコントロールブロックに対してサイズがより小さい、請求項10に記載の方法。
  12. 前記コントロールブロックが、ハンドル、IPアドレス、TCPポート、およびタイムスタンプを含む、請求項10に記載の方法。
  13. 前記メモリが、接続試行と関連するデータのために割り当てられる第1のメモリを含む、請求項1に記載の方法。
  14. 前記第1のメモリから論理的に分離された第2のメモリが、オープン接続と関連するデータのために割り当てられ、前記第1のメモリの過負荷が前記オープン接続に影響しない、請求項13に記載の方法。
  15. 前記第2のメモリが、前記第1のメモリが割り当てられる第1のタイプのコントロールブロックに対してサイズがより大きい第2のタイプのコントロールブロックに対し割り当てられる、請求項14に記載の方法。
  16. 前記接続試行のハンドシェイク受取りの受信に際し、前記メモリの部分の割り当てを解く工程をさらに包含する、請求項1に記載の方法。
  17. 前記接続試行が成功する際に、オープン接続のために別のメモリ部分を割り当てる工程をさらに包含する、請求項16に記載の方法。
  18. 前記メモリ過負荷が、サービス否認アタックから生じる、請求項2に記載の方法。
  19. 前記ネットワーク上の接続を確立する各試行が、プロセッサに同期パケットを送信することにより処理され、該同期パケットが受取りされるか否かを決定する、請求項1に記載の方法。
  20. 前記ネットワーク上の接続を確立する各試行が、オフロードエンジンを利用することにより処理され、同期パケットが受取りされるか否かを決定する、請求項1に記載の方法。
  21. メモリ過負荷の派生を避けながらネットワーク接続を確立するためのオフロードサブシステムであって:
    ネットワーク上の接続を確立する試行を識別し、かつ該接続と関連するデータを記憶するためのメモリの部分を割り当てるためのオフロードエンジンを備え、
    ここで、該メモリの部分が、該メモリの過負荷をされるために上書きされる、オフロードサブシステム。
  22. メモリ過負荷の問題を避けながらネットワーク接続を確立するためのシステムであって:
    プロセッサ;
    バスを経由して該プロセッサおよびネットワークと通信するオフロードエンジンであって、該ネットワーク上の接続を確立する試行を識別し、かつ該接続と関連するデータを記憶するためのメモリの部分を割り当てるためのオフロードエンジン;を備え、
    ここで、該メモリの部分が、該メモリの過負荷をされるために上書きされる、システム。
JP2004368520A 2003-12-19 2004-12-20 接続管理システムおよびトランスポートオフロードエンジン Active JP4575137B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/742,358 US7899913B2 (en) 2003-12-19 2003-12-19 Connection management system and method for a transport offload engine

Publications (2)

Publication Number Publication Date
JP2005184846A true JP2005184846A (ja) 2005-07-07
JP4575137B2 JP4575137B2 (ja) 2010-11-04

Family

ID=34523249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004368520A Active JP4575137B2 (ja) 2003-12-19 2004-12-20 接続管理システムおよびトランスポートオフロードエンジン

Country Status (7)

Country Link
US (2) US7899913B2 (ja)
EP (1) EP1545089B1 (ja)
JP (1) JP4575137B2 (ja)
CN (1) CN1638343A (ja)
AT (1) ATE372019T1 (ja)
DE (1) DE602004008563T2 (ja)
TW (1) TWI384802B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015177261A (ja) * 2014-03-13 2015-10-05 株式会社東芝 通信装置、情報処理装置、通信方法及び通信プログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572289B1 (en) 2003-12-19 2013-10-29 Nvidia Corporation System, method and computer program product for stateless offloading of upper level network protocol operations
US7899913B2 (en) 2003-12-19 2011-03-01 Nvidia Corporation Connection management system and method for a transport offload engine
US20070220153A1 (en) * 2006-03-17 2007-09-20 Veerapuneni Satish K Wireless traffic prioritization
US8832024B2 (en) * 2012-10-26 2014-09-09 Netapp, Inc. Simplified copy offload
CN102946387B (zh) * 2012-11-01 2016-12-21 惠州Tcl移动通信有限公司 一种防御拒接服务攻击的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030165160A1 (en) * 2001-04-24 2003-09-04 Minami John Shigeto Gigabit Ethernet adapter
WO2003105011A1 (en) * 2002-06-06 2003-12-18 Iready Corporation Gigabit ethernet adapter supporting the iscsi and ipsec protocols

Family Cites Families (181)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US212889A (en) * 1879-03-04 Improvement in road-engines
US4807111A (en) 1987-06-19 1989-02-21 International Business Machines Corporation Dynamic queueing method
US4839851A (en) 1987-07-13 1989-06-13 Idaho Research Foundation, Inc. Programmable data path device
US5012489A (en) 1988-11-07 1991-04-30 Hayes Microcomputer Products, Inc. Method for sending a plurality of data channels over a single communications line
JP2986802B2 (ja) 1989-03-13 1999-12-06 株式会社日立製作所 プロトコル高速処理方法
US5687314A (en) 1989-06-02 1997-11-11 Tele Digital Development, Inc. Method and apparatus for assisting data bus transfer protocol
US5163131A (en) 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
US5161193A (en) 1990-06-29 1992-11-03 Digital Equipment Corporation Pipelined cryptography processor and method for its use in communication networks
US5251205A (en) 1990-09-04 1993-10-05 Digital Equipment Corporation Multiple protocol routing
US5367643A (en) 1991-02-06 1994-11-22 International Business Machines Corporation Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
AU1587592A (en) 1991-03-18 1992-10-21 Echelon Corporation Networked variables
US5307413A (en) 1991-07-19 1994-04-26 Process Software Corporation Method and apparatus for adding data compression and other services in a computer network
US6098188A (en) 1992-02-14 2000-08-01 Lucent Technologies Inc. Packet framer
US5742760A (en) 1992-05-12 1998-04-21 Compaq Computer Corporation Network packet switch using shared memory for repeating and bridging packets at media rate
US5877764A (en) 1992-10-23 1999-03-02 International Business Machines Corporation Graphical user interface for managing text i/o between a user and a parallel program
US5696899A (en) 1992-11-18 1997-12-09 Canon Kabushiki Kaisha Method and apparatus for adaptively determining the format of data packets carried on a local area network
EP0672277B1 (en) 1992-12-01 1998-05-13 Microsoft Corporation A method and system for in-place interaction with embedded objects
US5619650A (en) 1992-12-31 1997-04-08 International Business Machines Corporation Network processor for transforming a message transported from an I/O channel to a network by adding a message identifier and then converting the message
JPH0763161B2 (ja) 1993-01-05 1995-07-05 日本電気株式会社 マルチメディアパケット通信方式
WO1994023374A2 (en) 1993-03-30 1994-10-13 Ast Research Inc STROBOSCOPIC LOGIC FOR TRIGGERING SIMULATED BUS CONTROL CYCLES
US5596702A (en) 1993-04-16 1997-01-21 International Business Machines Corporation Method and system for dynamically sharing user interface displays among a plurality of application program
US5495480A (en) 1993-06-21 1996-02-27 Nec Corporation Packet transmission system having timer for circuit disconnection
US5621434A (en) 1993-08-11 1997-04-15 Object Technology Licensing Corp. Cursor manipulation system and method
US5426694A (en) 1993-10-08 1995-06-20 Excel, Inc. Telecommunication switch having programmable network protocols and communications services
US5802287A (en) 1993-10-20 1998-09-01 Lsi Logic Corporation Single chip universal protocol multi-function ATM network interface
US5625825A (en) 1993-10-21 1997-04-29 Lsi Logic Corporation Random number generating apparatus for an interface unit of a carrier sense with multiple access and collision detect (CSMA/CD) ethernet data network
JP3358254B2 (ja) 1993-10-28 2002-12-16 株式会社日立製作所 通信制御装置および通信制御用回路装置
JP3454828B2 (ja) 1993-11-02 2003-10-06 オブジェクト テクノロジー ライセンシング コーポレイション オブジェクト指向グラフィック・システム
AU7965794A (en) 1993-11-02 1995-05-23 Paracom Corporation Apparatus for accelerating processing of transactions on computer databases
US5524110A (en) 1993-11-24 1996-06-04 Intel Corporation Conferencing over multiple transports
AU6018294A (en) 1993-12-02 1995-06-19 Taligent, Inc. Method and apparatus for displaying hardware dependent graphics in an object-oriented operating system
US5485455A (en) 1994-01-28 1996-01-16 Cabletron Systems, Inc. Network having secure fast packet switching and guaranteed quality of service
US5577105A (en) 1994-03-11 1996-11-19 U.S. Robotics, Inc. Telephone call routing and switching techniques for data communications
US6185619B1 (en) 1996-12-09 2001-02-06 Genuity Inc. Method and apparatus for balancing the process load on network servers according to network and serve based policies
US5519704A (en) 1994-04-21 1996-05-21 Cisco Systems, Inc. Reliable transport protocol for internetwork routing
US5650941A (en) 1994-09-07 1997-07-22 Intel Corporation Computer architecture for creating and manipulating displayable objects
US5870549A (en) 1995-04-28 1999-02-09 Bobo, Ii; Charles R. Systems and methods for storing, delivering, and managing messages
US5675507A (en) 1995-04-28 1997-10-07 Bobo, Ii; Charles R. Message storage and delivery system
US5664162A (en) 1994-05-23 1997-09-02 Cirrus Logic, Inc. Graphics accelerator with dual memory controllers
US5577172A (en) 1994-07-01 1996-11-19 Lasermaster Corporation High-capacity protocol for packet-based networks
US5485460A (en) 1994-08-19 1996-01-16 Microsoft Corporation System and method for running multiple incompatible network protocol stacks
US5812951A (en) 1994-11-23 1998-09-22 Hughes Electronics Corporation Wireless personal communication system
JPH08180006A (ja) 1994-12-22 1996-07-12 Hitachi Ltd ネットワークインタフェースおよび計算機ネットワークシステム
US5566170A (en) 1994-12-29 1996-10-15 Storage Technology Corporation Method and apparatus for accelerated packet forwarding
US5598410A (en) 1994-12-29 1997-01-28 Storage Technology Corporation Method and apparatus for accelerated packet processing
US5577237A (en) 1995-01-23 1996-11-19 Tandem Computers, Incorporated Protocol timer and method of using same
US5680605A (en) 1995-02-07 1997-10-21 Torres; Robert J. Method and apparatus for searching a large volume of data with a pointer-based device in a data processing system
US5625678A (en) 1995-05-24 1997-04-29 Microsoft Corporation Method and system for allowing switched voice and data communication among multiple application programs
US5870622A (en) 1995-06-07 1999-02-09 Advanced Micro Devices, Inc. Computer system and method for transferring commands and data to a dedicated multimedia engine
US5636371A (en) 1995-06-07 1997-06-03 Bull Hn Information Systems Inc. Virtual network mechanism to access well known port application programs running on a single host system
US5734865A (en) 1995-06-07 1998-03-31 Bull Hn Information Systems Inc. Virtual local area network well-known port routing mechanism for mult--emulators in an open system environment
US5754540A (en) 1995-07-18 1998-05-19 Macronix International Co., Ltd. Expandable integrated circuit multiport repeater controller with multiple media independent interfaces and mixed media connections
US5918051A (en) 1995-07-19 1999-06-29 Ricoh Company, Ltd. Object-oriented communication system with support for multiple remote machine types
US5666362A (en) 1995-07-25 1997-09-09 3Com Corporation Method and apparatus for asynchronous PPP and synchronous PPP conversion
US5701316A (en) 1995-08-31 1997-12-23 Unisys Corporation Method for generating an internet protocol suite checksum in a single macro instruction
US5699350A (en) 1995-10-06 1997-12-16 Canon Kabushiki Kaisha Reconfiguration of protocol stacks and/or frame type assignments in a network interface device
US5802306A (en) 1995-10-31 1998-09-01 International Business Machines Corporation Supporting multiple client-server sessions from a protocol stack associated with a single physical adapter through use of a plurality of logical adapters
US5778178A (en) 1995-11-13 1998-07-07 Arunachalam; Lakshmi Method and apparatus for enabling real-time bi-directional transactions on a network
US5826032A (en) 1996-02-12 1998-10-20 University Of Southern California Method and network interface logic for providing embedded checksums
US5909546A (en) 1996-03-08 1999-06-01 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Network interface having support for allowing remote operations with reply that bypass host computer interaction
US5809235A (en) 1996-03-08 1998-09-15 International Business Machines Corporation Object oriented network event management framework
US5894557A (en) 1996-03-29 1999-04-13 International Business Machines Corporation Flexible point-to-point protocol framework
US5815516A (en) 1996-04-05 1998-09-29 International Business Machines Corporation Method and apparatus for producing transmission control protocol checksums using internet protocol fragmentation
US5946487A (en) 1996-06-10 1999-08-31 Lsi Logic Corporation Object-oriented multi-media architecture
US5983332A (en) 1996-07-01 1999-11-09 Sun Microsystems, Inc. Asynchronous transfer mode (ATM) segmentation and reassembly unit virtual address translation unit architecture
US5920732A (en) 1996-07-01 1999-07-06 Apple Computer, Inc. System for preallocating additional larger buffer sizes in accordance with packet sizes of discarded packets that can't be stored in existing preallocated buffer sizes
US5754556A (en) 1996-07-18 1998-05-19 Teradyne, Inc. Semiconductor memory tester with hardware accelerators
US5968161A (en) 1996-08-29 1999-10-19 Altera Corporation FPGA based configurable CPU additionally including second programmable section for implementation of custom hardware support
US5748905A (en) 1996-08-30 1998-05-05 Fujitsu Network Communications, Inc. Frame classification using classification keys
US5854750A (en) 1996-09-03 1998-12-29 Insession, Inc. System and method for processing transactions in an environment containing a number of object oriented applications
US6092229A (en) 1996-10-09 2000-07-18 Lsi Logic Corporation Single chip systems using general purpose processors
US6101543A (en) 1996-10-25 2000-08-08 Digital Equipment Corporation Pseudo network adapter for frame capture, encapsulation and encryption
US6230193B1 (en) 1996-10-31 2001-05-08 3Com Corporation Method and apparatus supporting network communications
US6034963A (en) 1996-10-31 2000-03-07 Iready Corporation Multiple network protocol encoder/decoder and data processor
US7035291B2 (en) 2001-05-02 2006-04-25 Ron Grinfeld TCP transmission acceleration
US6046980A (en) 1996-12-09 2000-04-04 Packeteer, Inc. System for managing flow bandwidth utilization at network, transport and application layers in store and forward network
US5941988A (en) 1997-01-27 1999-08-24 International Business Machines Corporation Session and transport layer proxies via TCP glue
US6172990B1 (en) 1997-06-19 2001-01-09 Xaqti Corporation Media access control micro-RISC stream processor and method for implementing the same
US6076115A (en) 1997-02-11 2000-06-13 Xaqti Corporation Media access control receiver and network management system
US6247068B1 (en) 1997-03-07 2001-06-12 Advanced Micro Devices Inc. Winsock-data link library transcoder
US5818935A (en) 1997-03-10 1998-10-06 Maa; Chia-Yiu Internet enhanced video system
US5974518A (en) 1997-04-10 1999-10-26 Milgo Solutions, Inc. Smart buffer size adaptation apparatus and method
US5943481A (en) 1997-05-07 1999-08-24 Advanced Micro Devices, Inc. Computer communication network having a packet processor with subsystems that are variably configured for flexible protocol handling
US5872919A (en) 1997-05-07 1999-02-16 Advanced Micro Devices, Inc. Computer communication network having a packet processor with an execution unit which is variably configured from a programmable state machine and logic
US6081846A (en) 1997-05-08 2000-06-27 Microsoft Corporation Method and computer program product for reducing intra-system data copying during network packet processing
US6330659B1 (en) 1997-11-06 2001-12-11 Iready Corporation Hardware accelerator for an object-oriented programming language
US5935268A (en) 1997-06-03 1999-08-10 Bay Networks, Inc. Method and apparatus for generating an error detection code for a modified data packet derived from an original data packet
US6208651B1 (en) 1997-06-10 2001-03-27 Cornell Research Foundation, Inc. Method and system for masking the overhead of protocol layering
US5966534A (en) 1997-06-27 1999-10-12 Cooke; Laurence H. Method for compiling high level programming languages into an integrated processor with reconfigurable logic
WO1999004343A1 (en) 1997-07-18 1999-01-28 Interprophet Corporation Tcp/ip network accelerator system and method
US6397316B2 (en) 1997-07-24 2002-05-28 Intel Corporation System for reducing bus overhead for communication with a network interface
US6078736A (en) 1997-08-28 2000-06-20 Xilinx, Inc. Method of designing FPGAs for dynamically reconfigurable computing
US6014699A (en) 1997-08-29 2000-01-11 International Business Machines Corporation Internet protocol assists for high performance LAN connections
US5999974A (en) 1997-08-29 1999-12-07 International Business Machines Corporation Internet protocol assists for high performance LAN connections
US6151625A (en) 1997-09-10 2000-11-21 Schneider Automation Inc. Internet web interface including programmable logic controller for controlling output devices based on status of input devices
US5991299A (en) 1997-09-11 1999-11-23 3Com Corporation High speed header translation processing
US6172980B1 (en) 1997-09-11 2001-01-09 3Com Corporation Multiple protocol support
US6061742A (en) 1997-10-10 2000-05-09 Nortel Networks Corporation Computer network adaptor
US7174393B2 (en) 2000-12-26 2007-02-06 Alacritech, Inc. TCP/IP offload network interface device
US6807581B1 (en) 2000-09-29 2004-10-19 Alacritech, Inc. Intelligent network storage interface system
US6687758B2 (en) 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
US6226680B1 (en) 1997-10-14 2001-05-01 Alacritech, Inc. Intelligent network interface system method for protocol processing
US7089326B2 (en) 1997-10-14 2006-08-08 Alacritech, Inc. Fast-path processing for receiving data on TCP connection offload devices
US7167927B2 (en) 1997-10-14 2007-01-23 Alacritech, Inc. TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism
US7185266B2 (en) 2003-02-12 2007-02-27 Alacritech, Inc. Network interface device for error detection using partial CRCS of variable length message portions
US6434620B1 (en) 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US7133940B2 (en) 1997-10-14 2006-11-07 Alacritech, Inc. Network interface device employing a DMA command queue
US8782199B2 (en) 1997-10-14 2014-07-15 A-Tech Llc Parsing a packet header
US6658480B2 (en) 1997-10-14 2003-12-02 Alacritech, Inc. Intelligent network interface system and method for accelerated protocol processing
US6470415B1 (en) 1999-10-13 2002-10-22 Alacritech, Inc. Queue system involving SRAM head, SRAM tail and DRAM body
US7284070B2 (en) 1997-10-14 2007-10-16 Alacritech, Inc. TCP offload network interface device
US6389479B1 (en) 1997-10-14 2002-05-14 Alacritech, Inc. Intelligent network interface device and system for accelerated communication
US6757746B2 (en) 1997-10-14 2004-06-29 Alacritech, Inc. Obtaining a destination address so that a network interface device can write network data without headers directly into host memory
US7076568B2 (en) 1997-10-14 2006-07-11 Alacritech, Inc. Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket
US6697868B2 (en) 2000-02-28 2004-02-24 Alacritech, Inc. Protocol processing stack for use with intelligent network interface device
US7042898B2 (en) 1997-10-14 2006-05-09 Alacritech, Inc. Reducing delays associated with inserting a checksum into a network message
US7237036B2 (en) 1997-10-14 2007-06-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding a TCP connection
US6427173B1 (en) 1997-10-14 2002-07-30 Alacritech, Inc. Intelligent network interfaced device and system for accelerated communication
US6591302B2 (en) 1997-10-14 2003-07-08 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US6427171B1 (en) 1997-10-14 2002-07-30 Alacritech, Inc. Protocol processing stack for use with intelligent network interface device
US6092110A (en) 1997-10-23 2000-07-18 At&T Wireless Svcs. Inc. Apparatus for filtering packets using a dedicated processor
US5923892A (en) 1997-10-27 1999-07-13 Levy; Paul S. Host processor and coprocessor arrangement for processing platform-independent code
US5937169A (en) 1997-10-29 1999-08-10 3Com Corporation Offload of TCP segmentation to a smart 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
US6061368A (en) 1997-11-05 2000-05-09 Xylan Corporation Custom circuitry for adaptive hardware routing engine
US6341129B1 (en) 1998-04-03 2002-01-22 Alteon Networks, Inc. TCP resegmentation
US6157955A (en) 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6182228B1 (en) 1998-08-17 2001-01-30 International Business Machines Corporation System and method for very fast IP packet filtering
US6233626B1 (en) 1998-10-06 2001-05-15 Schneider Automation Inc. System for a modular terminal input/output interface for communicating messaging application layer over encoded ethernet to transport layer
US6430628B1 (en) 1998-12-08 2002-08-06 Intel Corporation Method and apparatus for reducing direct memory access transfers using smart coalescing
US6347337B1 (en) 1999-01-08 2002-02-12 Intel Corporation Credit based flow control scheme over virtual interface architecture for system area networks
US6345301B1 (en) 1999-03-30 2002-02-05 Unisys Corporation Split data path distributed network protocol
US6389537B1 (en) 1999-04-23 2002-05-14 Intel Corporation Platform and method for assuring integrity of trusted agent communications
US6952409B2 (en) 1999-05-17 2005-10-04 Jolitz Lynne G Accelerator system and method
US6347347B1 (en) 1999-07-15 2002-02-12 3Com Corporation Multicast direct memory access storing selected ones of data segments into a first-in-first-out buffer and a memory simultaneously when enabled by a processor
US6427169B1 (en) 1999-07-30 2002-07-30 Intel Corporation Parsing a packet header
US6449656B1 (en) 1999-07-30 2002-09-10 Intel Corporation Storing a frame header
WO2001013583A2 (en) 1999-08-16 2001-02-22 Iready Corporation Internet jack
US6327625B1 (en) 1999-11-30 2001-12-04 3Com Corporation FIFO-based network interface supporting out-of-order processing
US6530061B1 (en) 1999-12-23 2003-03-04 Intel Corporation Method and apparatus for offloading checksum
US6823387B1 (en) * 2000-06-23 2004-11-23 Microsoft Corporation System and method for enhancing a server's ability to withstand a “SYN flood” denial of service attack
US8019901B2 (en) 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
US7039717B2 (en) 2000-11-10 2006-05-02 Nvidia Corporation Internet modem streaming socket method
US20020085562A1 (en) 2000-12-13 2002-07-04 International Business Machines Corporation IP headers for remote direct memory access and upper level protocol framing
US6609225B1 (en) 2000-12-21 2003-08-19 Cisco Technology, Inc. Method and apparatus for generating and checking cyclic redundancy code (CRC) values using a multi-byte CRC generator on a variable number of bytes
US7287090B1 (en) * 2000-12-21 2007-10-23 Noatak Software, Llc Method and system for identifying a computing device in response to a request packet
US7149817B2 (en) 2001-02-15 2006-12-12 Neteffect, Inc. Infiniband TM work queue to TCP/IP translation
GB2372680B (en) 2001-02-27 2003-02-19 3Com Corp Calculation and transmission of error check codes
US7065702B2 (en) 2001-04-12 2006-06-20 Siliquent Technologies Ltd. Out-of-order calculation of error detection codes
US6820127B2 (en) * 2001-05-03 2004-11-16 International Business Machines Corporation Method, system, and product for improving performance of network connections
WO2002097580A2 (en) 2001-05-31 2002-12-05 Espeed, Inc. Securities trading system with multiple levels-of-interest
WO2003005672A2 (en) 2001-07-06 2003-01-16 Livedevices Limited Improvements relating to reduction of resource usage in tcp/ip implementation
US6980551B2 (en) 2001-07-12 2005-12-27 International Business Machines Corporation Full transmission control protocol off-load
US7020716B2 (en) 2001-08-31 2006-03-28 Adaptec, Inc. Method and system for verifying the hardware implementation of TCP/IP
WO2003021447A1 (en) 2001-08-31 2003-03-13 Adaptec, Inc. Methods and apparatus for partially reordering data packets
US20030046330A1 (en) 2001-09-04 2003-03-06 Hayes John W. Selective offloading of protocol processing
US7953093B2 (en) 2001-09-06 2011-05-31 Broadcom Corporation TCP/IP reordering
US8255567B2 (en) 2001-09-06 2012-08-28 Broadcom Corporation Efficient IP datagram reassembly
US7620692B2 (en) 2001-09-06 2009-11-17 Broadcom Corporation iSCSI receiver implementation
US7124198B2 (en) 2001-10-30 2006-10-17 Microsoft Corporation Apparatus and method for scaling TCP off load buffer requirements by segment size
US20030095567A1 (en) 2001-11-20 2003-05-22 Lo Man Kuk Real time protocol packet handler
US20030115350A1 (en) 2001-12-14 2003-06-19 Silverback Systems, Inc. System and method for efficient handling of network data
US6760814B2 (en) 2001-12-17 2004-07-06 Lsi Logic Corporation Methods and apparatus for loading CRC values into a CRC cache in a storage controller
US7315976B2 (en) 2002-01-31 2008-01-01 Lsi Logic Corporation Method for using CRC as metadata to protect against drive anomaly errors in a storage array
US7543087B2 (en) 2002-04-22 2009-06-02 Alacritech, Inc. Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device
US7496689B2 (en) * 2002-04-22 2009-02-24 Alacritech, Inc. TCP/IP offload device
US7016895B2 (en) * 2002-07-05 2006-03-21 Word Data Corp. Text-classification system and method
US7224692B2 (en) * 2002-09-04 2007-05-29 Broadcom Corporation System and method for fault tolerant TCP offload
US7313623B2 (en) * 2002-08-30 2007-12-25 Broadcom Corporation System and method for TCP/IP offload independent of bandwidth delay product
US7191241B2 (en) 2002-09-27 2007-03-13 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US7337241B2 (en) 2002-09-27 2008-02-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US7716737B2 (en) * 2002-11-04 2010-05-11 Riverbed Technology, Inc. Connection based detection of scanning attacks
US20040088262A1 (en) 2002-11-06 2004-05-06 Alacritech, Inc. Enabling an enhanced function of an electronic device
US7287092B2 (en) 2003-08-11 2007-10-23 Sharp Colin C Generating a hash for a TCP/IP offload device
US7346680B2 (en) * 2003-09-22 2008-03-18 Intel Corporation Speculative prefetch of a protocol control block from an external memory unit
JP2005158117A (ja) * 2003-11-21 2005-06-16 Pioneer Electronic Corp 記録再生ヘッド、該記録再生ヘッドの製造方法、並びに記録装置及び再生装置
US6996070B2 (en) 2003-12-05 2006-02-07 Alacritech, Inc. TCP/IP offload device with reduced sequential processing
US7899913B2 (en) * 2003-12-19 2011-03-01 Nvidia Corporation Connection management system and method for a transport offload engine
US7698413B1 (en) * 2004-04-12 2010-04-13 Nvidia Corporation Method and apparatus for accessing and maintaining socket control information for high speed network connections
US7613813B2 (en) * 2004-09-10 2009-11-03 Cavium Networks, Inc. Method and apparatus for reducing host overhead in a socket server implementation
DE102005041460A1 (de) 2005-08-31 2007-03-01 Daimlerchrysler Ag Umformwerkzeugsystem und Verfahren zu seiner Herstellung

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030165160A1 (en) * 2001-04-24 2003-09-04 Minami John Shigeto Gigabit Ethernet adapter
JP2005502225A (ja) * 2001-04-24 2005-01-20 アイレディ コーポレーション ギガビット・イーサネット・アダプタ
WO2003105011A1 (en) * 2002-06-06 2003-12-18 Iready Corporation Gigabit ethernet adapter supporting the iscsi and ipsec protocols
JP2005529523A (ja) * 2002-06-06 2005-09-29 エヌビディア コーポレイション Iscsiおよびipsecプロトコルをサポートするギガビットイーサネットアダプタ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015177261A (ja) * 2014-03-13 2015-10-05 株式会社東芝 通信装置、情報処理装置、通信方法及び通信プログラム
US9961147B2 (en) 2014-03-13 2018-05-01 Kabushiki Kaisha Toshiba Communication apparatus, information processor, communication method, and computer-readable storage medium

Also Published As

Publication number Publication date
US7899913B2 (en) 2011-03-01
US7979526B2 (en) 2011-07-12
US20050138180A1 (en) 2005-06-23
CN1638343A (zh) 2005-07-13
TW200531470A (en) 2005-09-16
DE602004008563D1 (de) 2007-10-11
US20100106840A1 (en) 2010-04-29
TWI384802B (zh) 2013-02-01
ATE372019T1 (de) 2007-09-15
EP1545089A1 (en) 2005-06-22
JP4575137B2 (ja) 2010-11-04
DE602004008563T2 (de) 2008-04-17
EP1545089B1 (en) 2007-08-29

Similar Documents

Publication Publication Date Title
US8014312B2 (en) Method and system for handling connection setup in a network
EP1622334B1 (en) Server device, method for controlling a server device, and method for establishing a connection using the server device
CN101019405B (zh) 用于在通信网络中缓解拒绝服务的方法和系统
US7391725B2 (en) System and method for defeating SYN attacks
US7535907B2 (en) TCP engine
JP5025941B2 (ja) 統合ホストプロトコルスタック管理を使用するセキュアなインターネットプロトコル(ipsec)オフロードのための方法および装置
JP4638658B2 (ja) オフロードされたネットワークスタックの状態オブジェクトをアップロードする方法及びそれを同期する方法
JP4743894B2 (ja) データ・パケットを伝送しながらセキュリティを改良するための方法及び装置
US7715416B2 (en) Generalized serialization queue framework for protocol processing
US7979526B2 (en) Connection management system and method for a transport offload engine
US7343485B1 (en) System and method for maintaining protocol status information in a network device
EP1575236B1 (en) Connectivity confirmation method for network storage device and host computer
US7848331B2 (en) Multi-level packet classification
JP2003163681A (ja) パケット転送装置、パケット転送方法およびプログラム
US7672299B2 (en) Network interface card virtualization based on hardware resources and software rings
US8149709B2 (en) Serialization queue framework for transmitting packets
JP3648211B2 (ja) パケット中継プログラム、パケット中継装置および記録媒体
KR101333305B1 (ko) 안전한 tcp 연결 관리 장치 및 방법
JP4481780B2 (ja) Tcpサーバへのsynパケット帯域幅攻撃から防御する方法および装置
Mohamed et al. Strengthening and securing the TCP/IP stack against SYN attacks
JP2003186766A (ja) 通信装置及びそのコネクション確立方法、コンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070209

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070912

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091117

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100217

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100316

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: 20100720

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100819

R150 Certificate of patent or registration of utility model

Ref document number: 4575137

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130827

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250