JP2001510947A - コンピュータシステムにおけるネットワークパケットの高速転送及びフィルタリング - Google Patents

コンピュータシステムにおけるネットワークパケットの高速転送及びフィルタリング

Info

Publication number
JP2001510947A
JP2001510947A JP2000502461A JP2000502461A JP2001510947A JP 2001510947 A JP2001510947 A JP 2001510947A JP 2000502461 A JP2000502461 A JP 2000502461A JP 2000502461 A JP2000502461 A JP 2000502461A JP 2001510947 A JP2001510947 A JP 2001510947A
Authority
JP
Japan
Prior art keywords
network
packet
network card
card
processing 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.)
Granted
Application number
JP2000502461A
Other languages
English (en)
Other versions
JP3399928B2 (ja
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2001510947A publication Critical patent/JP2001510947A/ja
Application granted granted Critical
Publication of JP3399928B2 publication Critical patent/JP3399928B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • 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/9063Intermediate storage in different physical parts of a node or terminal
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/325Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 コンピュータシステムが、フィルタリングと、ネットワークパケットの高速転送とを同時に容易にする。コンピュータシステムは、複数のコンピュータネットワークと接続するためのネットワークカードを有し、ネットワークアダプタが、それが受信するネットワークパケットを、コンピュータシステムのメイン中央演算処理装置からの助けなしで、他のネットワーク宛先に高速転送することができる。高速転送キャッシュは、かかる高速転送を容易にするためにネットワークカードにストアされる。高速転送されないネットワークパケットは、フィルタリングをネットワークパケットに適用し、それに応じてネットワークパケットをルーティングするコンピュータシステムのメイン中央演算処理装置によって処理される。メイン中央演算処理装置は、ルーティング情報をネットワークカードに提供し、その結果、次に受信されるネットワークパケットが、メイン中央演算処理装置による介入なしでネットワーク宛先に伝送されうる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、一般的にデータ処理システムに関し、特に、ネットワーク化された
コンピュータ環境におけるネットワークパケットのルーティング及びフィルタリ
ングに関する。
【0002】
【従来の技術】
コンピュータシステムはしばしば、広大なコンピュータネットワークに接続さ
れる。かかるネットワークに接続されたコンピュータシステムは、それらの電気
的な接続を介して情報を送信することによって互いに通信する。ネットワークは
、種々のタイプのトポロジーに編成される。図1は、かかるトポロジーのひとつ
を図示する。ネットワーク100は、ルーティングシステム103に接続された
種々のローカルエリアネットワーク101−102を含む。各ローカルエリアネ
ットワークのコンピュータシステムは、通信リンク101a−102aで接続さ
れる。ローカルエリアネットワークのソースコンピュータシステムが情報を同じ
ローカルエリアネットワークの宛先コンピュータシステムに送信するとき、ソー
スコンピュータシステムは、宛先コンピュータシステムのアドレスを含むパケッ
トを準備し、通信リンクでパケットを伝送する。同じローカルエリアネットワー
ク(即ち、通信リンクに接続されている)他のコンピュータシステムは、伝送さ
れたパケットを読む。宛先コンピュータシステムは、そのアドレスがそのパケッ
トに含まれていることを検出し、それに応じてパケットを処理する。地理的及び
速度を考慮するので、ローカルエリアネットワークは典型的には、近接している
制限された数のコンピュータシステムだけを含む。例えば、様々な場所にオフィ
スを有する会社は、各場所でローカルエリアネットワークを有する。しかしなが
ら、コンピュータシステムのユーザは、ローカルエリアネットワークに関係なく
パケットを互いに送信する必要があり、ユーザのコンピュータシステムは接続さ
れる。
【0003】 パケットをあるローカルエリアネットワークから他のローカルエリアネットワ
ークへ送信することができることにより、ルーティングシステムが開発された。
ルーティングシステムは典型的には、各ローカルエリアネットワークが接続され
る専用の特定の目的のコンピュータシステムである。ルーティングシステムは、
コンピュータシステムアドレスと、各コンピュータシステムが接続されるローカ
ルエリアネットワークとの間でクロスリファレンスを維持する。あるローカルエ
リアネットワークのコンピュータシステムが、他のローカルエリアネットワーク
のコンピュータシステムにパケットを送信するとき、ルーティングシステムは、
各ローカルエリアネットワークに送信されたパケットを監視する。ルーティング
システムがかかるパケットを検出するとき、それは、宛先コンピュータシステム
が接続されるローカルエリアネットワークに関する通信リンクにそのパケットを
転送する。この場合、ルーティングシステムは、ルーティングシステムは、全体
的なネットワーク内に各ローカルエリアネットワークを相互接続する。同様なル
ーティング技術は、ローカルエリアネットワークではないネットワークを相互接
続するのに使用される。例えば、かかるルーティング技術は、ワイドエリアネッ
トワーク及びインターネットで使用することができる。
【0004】 多くの異なるプロトコルが、2つのコンピュータシステムで情報交換すること
ができるように開発されてきた。2つのコンピュータシステムが同じプロトコル
をサポートするならば、それらは情報を交換することができる。あるプロトコル
が、あるタイプの情報交換を十分にサポートするために作られた。例えば、イン
ターネットプロトコル(「IP」)は、地理的に離隔したコンピュータシステム
の間で情報の交換を容易にするために米国国防省によって指定された。IPは、
データを交換するためにソース及び宛先コンピュータシステムを識別するパケッ
トフォーマットにおいて宛先を指定するが、データ自身のフォーマットは指定し
ない。種々の更なるプロトコルが、データのフォーマットを指定するためにIP
と一緒に使用されうる。一つの更なるプロトコルは、伝送制御プロトコル(「T
CP」)である。TCPは更に、パケットのデータのフォーマットを特定するハ
イパーテキスト伝送プロトコル(「HPPT」)及びファイル転送プロトコル(
「FTP」)のようなサブプロトコルを特定する。
【0005】 図2は、ローカルエリアネットワークで送信される典型的なパケットを図示す
る概略図である。パケットは、プロトコル特定データが続くネットワークルーテ
ィングヘッダを含む。ネットワークルーティングヘッダは、宛先コンピュータア
ドレスと、ソースコンピュータアドレスと、パケットの長さとを含む。IPがI
P宛先アドレスと、IPソースアドレスと、パケットのIP部分の長さとを含む
場合、プロトコル特定データは、プロトコルの識別を含む。パケットのデータ部
分は、パケットの他のデータのサブプロトコル識別を含む。
【0006】 在来のルーティングシステムは、パケットのルーティングを高速化するために
キャッシュ機構をしばしば利用する。パケットが受信されたとき、ルーティング
システムは、ローカルエリアネットワークのそのクロスリファレンスにアクセス
し、パケットがルーティングされるべきローカルエリアネットワークを判断する
。次いで、ルーティングシステムは、キャッシュにそのルーティング情報をスト
アする。次のパケットが受信されるとき、ルーティングシステムはそのキャッシ
ュをチェックし、パケットに関するルーティング情報がキャッシュにあるならば
、ルーティングシステムはキャッシュの情報に従ってパケットを転送する。かか
るキャッシュ技術がパケットのルーティングの高速化を助けるけれども、パケッ
トフィルタリングが適用されるとき、かかるキャッシュ技術は、ルーティングシ
ステムによって使用されない。
【0007】 パケットフィルタリングはしばしば、ネットワークにわたって送信されるパケ
ットのタイプ及びタイミングを制限するためにネットワーク管理者によって適用
される。例えば、ネットワーク管理者は、通常のビジネスアワー中にネットワー
クにわたって伝送されているコンピュータゲームによって生成されたパケットを
制限したいと思う。例えば、パケットを受信するIP宛先アドレスによって識別
されたコンピュータシステムのアプリケーションを示すTCP宛先アドレスによ
って、コンピュータゲームに関するパケットが識別可能である。従って、ネット
ワーク管理者は、通常のビジネスアワー中にかかるいかなるパケットを転送しな
いようにルーティングシステムを構成することができる。また、ネットワーク管
理者は、それらのソース及び宛先アドレスに基づいてパケットをフィルタアウト
したいと思う。例えば、会社のCEOだけが、ネットワークの全てコンピュータ
システムでない所定のソースコンピュータシステムからのパケットを受信したい
と思う。フィルタリングが在来のルーティングシステムに適用されるとき、キャ
ッシングは不能であり、クロスリファレンス情報及びフィルタリング情報をチェ
ックするより遅いプロシージャが全てのパケットに関して使用される。従って、
キャッシュが使用できないので、かかるフィルタリングされたパケットの処理だ
けでなく、全てのパケットの処理が遅くなる。
【0008】
【課題を解決するための手段】
本発明の第1の態様によれば、ネットワークパケットを高速転送する方法が、
汎用コンピュータシステムで実施される。「高速転送」は、メイン中央演算処理
装置がルーティングを実行することではなく、ネットワークカードがルーティン
グを実行することを指す。コンピュータシステムは、メイン中央演算処理装置と
、該コンピュータシステムを複数のネットワークと接続するためのネットワーク
カードとを有する。ネットワークパケットは、ネットワークカードに受信され、
ネットワークの選択された1つに運命付けられる。受信されたネットワークパケ
ットは、ネットワークパケットがネットワークカードによってその宛先ネットワ
ークに転送されるべきか、又は、メイン中央演算処理装置によってルーティング
されるべきかどうかを判断するためにネットワークカードによって解析される。
ネットワークパケットがネットワークカードによって宛先ネットワークに転送さ
れるべきであると判断されたとき、それはメイン中央演算処理装置の介入なしで
高速転送される。
【0009】 本発明の別の態様によれば、ネットワークカードは、コンピュータを複数のネ
ットワークに接続するために提供される。ネットワークカードは、高速転送機構
と、複数のネットワークと接続するための複数のポートとを含む。高速転送機構
は、ネットワークカードに受信されたネットワークパケットを、コンピュータシ
ステムのメイン中央演算処理装置による介入なしで宛先ネットワークに高速転送
する。
【0010】 本発明の更に別の態様によれば、高速転送及びフィルタリングは、同時にアク
ティブになる。特に、ネットワークカードで受信されるネットワークパケットを
処理するための方法が、コンピュータシステムで実施される。高速転送は、ネッ
トワークカードに受信された選択されたネットワークパケットが、メイン中央演
算処理装置の介入なしでネットワークカードによって少なくとも1つの宛先ネッ
トワークに高速転送されるようにアクティブである。フィルタリングは、メイン
中央演算処理装置が、ネットワークパケットが受信されたか又はドロップされた
かどうかを判断するためにネットワークカードに受信されたネットワークパケッ
トの少なくともいくつかにフィルタリングを適用するような高速転送で同時にア
クティブである。
【0011】
【発明の実施の形態】
本発明は、フィルタリングがいくつかのパケットに適用されるべきときに、キ
ャッシュ機構を使用するルーティングパケットに関する方法及び装置を提供する
。高速転送システムとも呼ばれる本発明のルーティングシステムは、ルーティン
グ情報のキャッシングをすることができる仕方において、及び、コンピュータシ
ステムのメイン中央処理装置に位置決められたオーバーヘッドを最小にする仕方
において、汎用コンピュータシステムで実施される。従って、高速転送システム
は、フィルタリングのときにキャッシングすることができるだけでなく、キャッ
シュ機構を採用する汎用コンピュータで行うことができる。
【0012】 高速転送システムに関して、インターネットプロトコル(IP)パケット、並
びに、インターネットプロトコル拡張(IPX)パケットを転送及びフィルタリ
ングする実施形態に対して以下に記載する。それにもかかわらず、当業者は、本
発明が、これらのタイプのネットワークパケットで単独で作動する実施形態に限
定されず、むしろ、本発明がまた他のタイプのネットワークパケットで実施され
ることを認識するであろう。
【0013】 図3は、高速転送システムが実行される汎用コンピュータシステムのブロック
図である。コンピュータシステムは、多数の異なるコンピュータネットワークに
接続される。コンピュータシステムは、バス16を介してネットワークカード1
4に接続される中央演算処理装置(CPU)12を含む。ネットワークカードは
、ネットワークインターフェース接続(「NIC」)と呼ばれる複数のポートを
含む。各NICは、ネットワークの通信リンクと接続され、ネットワークでパケ
ットを送信及び受信するのに使用される。典型的なタイプのネットワークカード
は、802.3、DIX、TR、FastEthernet及びFDDIカードを含む。コンピュ ータシステムは、ネットワークオペレーティングシステムのようなオペレーティ
ングシステム18を稼働させる。以下に議論の目的で、オペレーティングシステ
ムが米国ワシントン州レドモンドにあるマイクロソフトコーポレーションによっ
て販売されているMicrosoft(登録商標)Windows(登録商標)NTネットワーク
オペレーティングシステムであると仮定する。オペレーティングシステムは、I
Pネットワークパケットのフィルタリングを実施するためのIPフィルタリング
コンポーネント22、及び、IPネットワークパケットをルーティングするため
のIP転送コンポーネント24という多数の異なるコンポーネントを含む。オペ
レーティングシステムはまた、IPXフィルタリングコンポーネント26と、I
PXネットワークパケットをルーティングするためのIPX転送コンポーネント
を含む。オペレーティングシステムはまた、ネットワークドライバインターフェ
ーススペシフィケーション(NDIS)ドライバコンポーネント30を有する。
NDISドライバコンポーネントは、オペレーティングシステムとネットワーク
カードとの間にインターフェースを提供する。オペレーティングシステムは、ネ
ットワークパケットを送信及び受信するために、NDISドライバのサービスを
呼び出す。
【0014】 図4は、ネットワークカードのコンポーネントをより詳細に図示するブロック
図である。ネットワークカードは、多数の異なるコンピュータネットワークを伴
うルーティングシステムを接続するためのコンポーネントを含む。ネットワーク
カードは、多数のNICを含む。これらのNICは、NIC1,NIC2,NI
C3及びNIC4として指定される。ネットワークカードはまた、マイクロプロ
セッサ32,イーサネットチップ34、ランダムアクセスメモリ(RAM)のよ
うなストレージ36とを含む。ストレージは、高速転送キャッシュ76及び入力
パケットキャッシュ80を含む。1つの高速転送キャッシュと1つの入力パケッ
トキャッシュとが示されているが、当業者は、別個のバージョンのこれらのキャ
ッシュがIPネットワークパケット及びIPXネットワークパケットに関して使
用されうることを認識するであろう。高速転送キャッシュは、ネットワークカー
ドによってネットワークパケットの高速転送を容易にする情報を保持する。以下
により詳細に記載するように、高速転送キャッシュは、入力ネットワークパケッ
トが、ネットワークカードによって高速転送されるべきかどうか判断するために
比較されるルックアップテーブルとして機能する。
【0015】 複数のネットワークカードが採用される別の実施形態では、キャッシュはコン
ピュータシステム10の共用のメモリにストアされる。ネットワークカードがパ
ケットを受信するとき、メイン中央演算ユニットを中断することなく高速転送キ
ャッシュにアクセスするために共用メモリにアクセスする。また、各ネットワー
クカードは、各ネットワークカードに接続されたローカルエリアネットワークの
間のマッピングに対するアクセスを有する。この場合、各ネットワークカードは
、他のネットワークカードに接続されたローカルエリアネットワークにパケット
をルーティングすることができる。
【0016】 図5A−5Dは、受信及び送信されるパケットとして高速転送キャッシュのコ
ンテンツを図示する。キャッシュは、高速転送されるべきパケットの各一意的な
パケット識別子に関する行を有する。各行は、高速転送されるべきパケットを識
別するパケット識別子と、宛先コンピュータシステムを示すネットワークアドレ
スと、パケットに適用されるべきフレーミングのタイプを示すフレーミングフィ
ールドと、そのパケット識別子を備えるパケットが伝送されるべきネットワーク
カードのポートを識別するNICポート番号とを包含する。パケット識別子は、
同じ方法で高速転送されるべきパケットを識別するパケットからのフィールドの
結合である。図5Aに示したように、高速転送キャッシュは、最初は空である。
ネットワークカードがパケットを受信するとき、対応するパケット識別子を備え
る行がキャッシュにあるかどうか判断するためにキャッシュをチェックする。こ
の場合、キャッシュが空なので、行がなく、ネットワークカードはNDISドラ
イバを介してパケットをオペレーティングシステムに転送する。ネットワークカ
ードはまた、パケットを入力パケットキャッシュにストアする。オペレーティン
グシステムがパケットを受信するとき、どんなフィルタを適用するか、パケット
が別のネットワークに転送される必要があるかどうかを判断する。適用するフィ
ルタがなく、パケットが転送されるべきならば、オペレーティングシステムは、
適当なローカルエリアネットワークに転送するためにNDISドライバを介して
ネットワークカードにパケットを戻す。ネットワークカードがパケットを受信す
るとき、それは、図5Bに示したような高速転送キャッシュにエントリをストア
する。この場合、パケット識別子「<A5,B2,TCP,14,25>」は、IPソースアドレ スが「A5」であり、IP宛先がアドレス「B2」であり、プロトコルが「TCP」で あり、TCPソースポートが14であり、TCP宛先ポートが25であることを示す
。そのパケット識別子を備えるパケットがルーティングされるべきネットワーク
アドレスは「E7」である。出力パケットは、802.3プロトコルに従ってフレーム され、パケットはNICポート番号3を介してルーティングされるべきである。
次いで、ネットワークカードは、入力パケットキャッシュからパケットを受信し
、ルーティングのためにパケットを準備し、NICポートを介してパケットを伝
送する。ネットワークカードがそのパケット識別子を備える次のパケットを受信
するとき、それはパケット識別子を生成し、そのパケット識別子を備える行が高
速転送キャッシュにあるかどうか判断する。もしそうならば、ネットワークカー
ドは、行を受信し、パケットに関するネットワークアドレスを更新し、802.3プ ロトコルに従うフレーミングを調整し、パケットをNICポート番号3に伝送す
る。処理のパートのように、ネットワークカードはまた、パケットのtime-to-li
veフラグを減少させる。time-to-liveフラグは、最初に時間の数に設定され、パ
ケットは宛先のその道にルーティングされる。time-to-liveフラグがゼロに下が
ったならば、パケットは再びルーティングされず、ネットワークカードはそれを
転送しないことによってパケットを落とす。また、パケットのチェックサムが正
しくないとき、ネットワークカードはまたパケットを落とす。
【0017】 結局、ネットワークカードは、異なるパケット識別を備えるパケットを受信す
る。ネットワークカードは、そのパケットに関するパケット識別子を生成し、そ
のパケット識別子に関するキャッシュに行がないかどうか判断する。次いで、ネ
ットワークカードは、そのパケットをオペレーティングシステムに転送する。オ
ペレーティングシステムは、適当なフィルタリングを適用する。この場合、オペ
レーティングシステムは、パケットが転送されないべきかどうか判断する。従っ
て、オペレーティングシステムは、パケットをネットワークカードに転送しない
。従って、ネットワークカードは、パケット識別子に関する行を包含するように
キャッシュを更新しない。従って、次のパケットがパケット識別子で受信される
とき、ネットワークカードはパケット識別子を生成し、そのパケット識別子に関
するキャッシュに行がなく、オペレーティングシステムにパケットを送信するか
どうか判断する。図5Cは、別のパケットに関するパケットが受信され、高速転
送キャッシュがそのパケットに関して更新された後のキャッシュのコンテンツを
図示する。この場合、パケット識別子は、「<E1,B2,UDP,36,97>」であり、ネッ トワークキャッシュアドレスは「A5」であり、フレーミングはイーサネットであ
り、NICポートアドレスは1である。時折、オペレーティングシステムは、そ
のルーティング情報を変更するための要求を受信する。例えば、コンピュータシ
ステムが、あるローカルエリアネットワークから取り除かれ、別のローカルエリ
アネットワークに取り付けられる。かかる場合、そのコンピュータシステムにル
ーティングされたパケットは、異なるNICポートを介して伝送される必要があ
る。オペレーティングシステムがそのルーティング情報を更新するとき、それは
また、キャッシュにおける情報がもはや正当でないので、その高速転送キャッシ
ュをフラッシュするようにネットワークカードに指示する。ネットワークカード
は、図5Dに示したようにそのキャッシュから全てのエントリを除去することに
よってそのキャッシュをフラッシュする。
【0018】 ある状況では、オペレーティングシステムは、全体の高速転送キャッシュに影
響しない特定の情報を更新する。かかる状況では、オペレーティングシステムは
、ルーティング情報の更新された部分に関してその高速転送キャッシュの部分だ
けをフラッシュするようにネットワークカードに指示する。例えば、オペレーテ
ィングシステムは、イーサネットアドレスに対するIPアドレスのマッピングを
保持しうる。パケットが、所定の時間で所定のイーサネットアドレスに送信され
なければ、オペレーティングシステムは、そのイーサネットアドレスに関するマ
ッピングを削除し、イーサネットアドレスに関する高速転送キャッシュの部分だ
けをフラッシュするようにネットワークカードに指示する。この場合、ネットワ
ークカードは、フラッシュされないキャッシュの部分に基づいて高速転送パケッ
トを続けることができる。
【0019】 図6A乃至6Eは、多数の異なるタイプのパケットの関連したフィールドを示
す。図6Aは、IPパケットヘッダ38から高速転送する際に使用されるフィー
ルドを示す。IPパケットヘッダ38内のオフセット12には、パケットが生成
されるソースに関するアドレスを保持するソースアドレスフィールド40がある
。オフセット16には、パケットが予定付けられた宛先に関するアドレスを保持
する宛先アドレスフィールド42がある。IPパケットヘッダ38内のオフセッ
ト9にはプロトコルフィールド44があり、TCPのようなプロトコルを示す。
図6Bは、TCPパケットヘッダ44のフィールドを示す。オフセット0にはソ
ースポートフィールド46が見られ、パケットを送信するアプリケーションのソ
ースポートを識別する値を保持する。宛先ポートフィールド48がオフセット2
に見られ、パケットが送信されるアプリケーションの宛先ポートを識別する値を
保持する。図6Cは、オフセット0にソースポートフィールド52と、オフセッ
ト2に宛先ポートフィールド54とを含むUDPパケットヘッダ50の一部を示
す。図6Dは、オフセット0でタイプフィールドと、オフセット1でコードフィ
ールドとを保持するICMPパケット56を示す。最後に、図6Eは、オフセッ
ト6に宛先アドレス66と、オフセット18にソースアドレスフィールド68と
、オフセット5にパケットフィールド64とを有するIPXヘッダ62を示す。
【0020】 ときどき、パケット自身がパケットフラグメントに細分化され、それらは個別
に伝送される。パケットフラグメントが受信されるとき、それらはパケットに再
構築される。しかしながら、パケットフラグメントは、高速転送キャッシュにお
ける情報を一意的に識別するのに使用されるパケット識別子の全ての情報を包含
するわけではない。むしろ、パケットフラグメントは、フラグメント化されたフ
ラグと、識別子フィールドとを包含する。パケットがフラグメント化されるとき
、一意的なパケット識別子が各パケットフラグメントに位置決めされ、フラグメ
ント化されたフラグが設定される。フラグメント化されたパケットが受信される
とき、ネットワークカードは、識別子がフラグメントキャッシュにあるかどうか
最初にチェックする。もしそうならば、ネットワークカードはパケットを高速転
送し、そうでなければ、フラグメントをオペレーティングシステムにパスし、伝
送されるときそれをフラグメントキャッシュに加える。この場合、ネットワーク
カードはパケットフラグメントを高速転送することができる。
【0021】 図7乃至10は、パケットを処理するときに、ネットワークカード及びオペレ
ーティングシステムによって実施される処理を図示する流れ図である。図7は、
ネットワークからパケットを受信するネットワークカードのルーチンの流れ図で
ある。このルーチンは、パケットを受信し、パケットに関する高速転送情報が高
速転送キャッシュにあるかどうか判断する。高速転送情報がキャッシュにあるな
らば、ルーチンはパケットを高速転送し、さもなければ、ルーチンはパケットを
NDISドライバに送信する。ステップ701では、ルーチンは、受信されたネ
ットワークパケットからパケット識別子を抽出する。ステップ702では、高速
転送キャッシュにおける行が抽出されたパケットと適合するならば、ルーチンは
ステップ704に続き、そうでなければルーチンはステップ703に続く。ステ
ップ703では、ルーチンは、パケットを入力キャッシュにストアし、パケット
をオペレーティングシステムに転送し、完了するNDISドライバにパケットを
転送する。ステップ704乃至706では、ルーチンは、パケットを高速転送す
る。ステップ705では、ルーチンはネットワークソースと、高速転送キャッシ
ュからの情報を備えるパケットにおける宛先アドレスとを更新する。ステップ7
06では、ルーチンは、必要ならば、パケットのフレーミングを調整する。ステ
ップ707では、ルーチンは、更新されたパッケージを、キャッシュに示された
NICポートに伝送し、完了する。更に、ルーチンは、パケットにおけるtime-t
o-liveフィールドを更新する。time-to-liveフィールドの値がゼロに落ちるなら
ば、ルーチンはパケットを落とす。ルーチンはまた、適当にパケットのチェック
サムを更新する。例えば、ルーチンは、time-to-liveフィールドの更新された値
に基づいてIPヘッダチェックサムを再計算する。パケットにおけるオプション
フィールドが設定されるならば、ルーチンは、パケットを高速転送するのではな
く、オペレーティングシステムにパケットを送信する。オプションフィールドは
、パケットが転送される前に、更なる処理が必要であることを示す。いかなる理
由によってでも、ネットワークカードがパケットを処理することができないなら
ば、それは更なる処理に関してオペレーティングシステムにパケットを送信する
。例えば、IPヘッダチェックサムが正しくなく、又は、IPヘッダtime-to-li
veがゼロであるならば、ネットワークカードはパケットをオペレーティングシス
テムに転送する。
【0022】 図8は、パケットをNDISドライバから受信するためのネットワークカード
に関するルーチンの流れ図である。ルーチンがパケットをNDISドライバから
受信するとき、それは結果的に高速転送キャッシュを更新し、パケットを転送す
る。ステップ801では、ルーチンは行を生成し、行を高速転送キャッシュに追
加する。ステップ802では、ルーチンは、パケットを入力パケットキャッシュ
から検索し、必要に応じてパケットのフレーミングを調整する。ステップ803
では、ルーチンはパケットを行によって示されたNICポートに伝送し、完了す
る。
【0023】 図9は、NDISドライバから受信されたパケットを処理するためのオペレー
ティングシステムのルーチンの流れ図である。このルーチンは、パケットを落と
すかどうか判断するためのその種々のフィルタリング基準をチェックする。パケ
ットが落ちるならば、ルーチンは、ネットワークカードに対するパケットの転送
を抑制する。ステップ901では、ルーチンは、受信されたパケットに対する種
々のフィルタリング基準を適用する。フィルタリング基準は、あるIP宛先アド
レスに送信されるパケットを落とすこと、又は、あるTCP宛先ポートに差し向
けられたパケットを落とすことを含む。フィルタリング情報は、ネットワーク管
理者によって典型的には保持される。ステップ902では、受信されたパケット
がフィルタアウトされているならば、ルーチンは完了し、そうでなければ、ルー
チンはステップ903に続く。完了することにより、パケットがフィルタアウト
されるとき、ルーチンはパケットのドロップに影響する。ステップ903では、
ルーチンは、新しいネットワークソースと、ルーティングテーブルからのパケッ
トに関する宛先アドレスとを検索する。ステップ905では、ルーチンは、パケ
ットをネットワークカードに転送するNDISドライバにパケットを送信する。
次いで、ルーチンは終了する。
【0024】 図10は、ルーティングテーブルを更新するためのオペレーティングシステム
ルーチンの流れ図を示す。ルーチンは、新しいルーティング指令を受信し、その
ルーティングテーブルを更新し、高速転送キャッシュをフラッシュするためにN
DISドライバを通知する。NDISドライバは、その高速転送キャッシュをフ
ラッシュするために、ネットワークカードを順番に通知する。
【0025】 本発明を好ましい実施形態を参照して記載してきたけれども、当業者は、請求
の範囲に記載された本発明の範囲から逸脱することなく種々の変更がなされるこ
とを認識しているだろう。例えば、本発明の高速転送技術は変形実施形態として
、ネットワークカードではなく、NDISドライバによって実施されうる。かか
る実施では、標準のネットワークカードは修正なく使用されうる。NDISドラ
イバは高速転送キャッシュを維持し、パケットの高速転送を制御する。NDIS
ドライバは、パケットをネットワークカードから受信するとき、パケットが高速
転送されるべきかどうか判断するためにそのキャッシュをチェックする。パケッ
トが高速転送されるべきならば、NDISドライバは、パケットを転送するため
に適当なネットワークカードに差し向ける。さもなければ、NDISドライバは
パケットをオペレーティングシステムに送信する。また、本発明の技術を、プロ
セッサを備えるネットワークカードで実行されるソフトウェアとして実施される
として記載したけれども、本技術は、ソフトウェアではなく論理回路を使用する
ハードワイヤであってもよい。また、パケットからの異なるフィールドは、関連
するパケットに関するパケット識別子を形成するために選択され、即ち、同じ方
法で高速転送されうる。
【図面の簡単な説明】
【図1】 相互接続されたネットワークの1つのトポロジーを図示する。
【図2】 ローカルエリアネットワークに送信された典型的なパケットを図示する図であ
る。
【図3】 高速転送システムが実行される汎用コンピュータシステムのブロック図である
【図4】 ネットワークカードのコンポーネントをより詳細に図示するブロック図である
【図5A】 パケットが送受信されるときの、高速転送キャッシュのコンテンツを図示する
【図5B】 パケットが送受信されるときの、高速転送キャッシュのコンテンツを図示する
【図5C】 パケットが送受信されるときの、高速転送キャッシュのコンテンツを図示する
【図5D】 パケットが送受信されるときの、高速転送キャッシュのコンテンツを図示する
【図6A】 多数の異なるタイプのパケットにおけるフィールドを示す。
【図6B】 多数の異なるタイプのパケットにおけるフィールドを示す。
【図6C】 多数の異なるタイプのパケットにおけるフィールドを示す。
【図6D】 多数の異なるタイプのパケットにおけるフィールドを示す。
【図6E】 多数の異なるタイプのパケットにおけるフィールドを示す。
【図7】 パケットをネットワークから受信するネットワークカードのルーチンの流れ図
である。
【図8】 パケットをNDISドライバから受信するためのネットワークカードに関する
ルーチンの流れ図である。
【図9】 NDISドライバから受信されたパケットを処理するためのオペレーティング
システムのルーチンの流れ図である。
【図10】 ルーティングテーブルを更新するためのオペレーティングシステムルーチンの
流れ図である。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成12年1月11日(2000.1.11)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正内容】
【0007】 パケットフィルタリングはしばしば、ネットワークにわたって送信されるパケ
ットのタイプ及びタイミングを制限するためにネットワーク管理者によって適用
される。例えば、ネットワーク管理者は、通常のビジネスアワー中にネットワー
クにわたって伝送されているコンピュータゲームによって生成されたパケットを
制限したいと思う。例えば、パケットを受信するIP宛先アドレスによって識別
されたコンピュータシステムのアプリケーションを示すTCP宛先アドレスによ
って、コンピュータゲームに関するパケットが識別可能である。従って、ネット
ワーク管理者は、通常のビジネスアワー中にかかるいかなるパケットを転送しな
いようにルーティングシステムを構成することができる。また、ネットワーク管
理者は、それらのソース及び宛先アドレスに基づいてパケットをフィルタアウト
したいと思う。例えば、会社のCEOだけが、ネットワークの全てコンピュータ
システムでない所定のソースコンピュータシステムからのパケットを受信したい
と思う。フィルタリングが在来のルーティングシステムに適用されるとき、キャ
ッシングは不能であり、クロスリファレンス情報及びフィルタリング情報をチェ
ックするより遅いプロシージャが全てのパケットに関して使用される。従って、
キャッシュが使用できないので、かかるフィルタリングされたパケットの処理だ
けでなく、全てのパケットの処理が遅くなる。 書類WO-A-96/35988は、中央制御ボックスと、複数の入力/出力モジュールと を包含するネットワーキングブリッジ/ルータを開示する。該モジュールは、2
,5又は8のネットワーク接続を有する。モジュール及び中央制御ボックスは、
バスによって相互接続される。モジュールは、異なるレベルのインテリジェンス
で処理をサポートし、いくつかのモジュールは比較的パッシブタイプのインター
フェースデバイスであり、他のモジュールは中間のレベルのセミ・インテリジェ
ンス処理デバイスであり、第3の種類のモジュールは、より強力な処理モジュー
ルである。これらのより強力な処理モジュールは、カードとして具現化される。
作動中に、パケットは、パケットの宛先を参照するために解析される。パケッ
トは、同じモジュールで送受信される。他の場合では、受信されたパケットは、
セントラルプロセッサに送信される。即ち、あるクラスのパケットは、モジュー
ルで局所的にルーティングされ、他のものは、中央のエンジンに転送される。こ
の目的に関して、モジュールはキャッシュを包含する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正内容】
【0008】
【課題を解決するための手段】 本発明は、独立の請求項1に記載したように、汎用コンピュータシステムにお
いて、ネットワークパケットを転送する方法を提供する。本発明は更に、独立の
請求項10に記載したように、対応する汎用コンピュータシステムを提供する。
好ましい実施形態は、従属請求項に定義されている。 本発明の第1の態様によれば、ネットワークパケットを高速転送する方法が、
汎用コンピュータシステムで実施される。「高速転送」は、メイン中央演算処理
装置がルーティングを実行することではなく、ネットワークカードがルーティン
グを実行することを指す。コンピュータシステムは、メイン中央演算処理装置と
、該コンピュータシステムを複数のネットワークと接続するためのネットワーク
カードとを有する。ネットワークパケットは、ネットワークカードに受信され、
ネットワークの選択された1つに運命付けられる。受信されたネットワークパケ
ットは、ネットワークパケットがネットワークカードによってその宛先ネットワ
ークに転送されるべきか、又は、メイン中央演算処理装置によってルーティング
されるべきかどうかを判断するためにネットワークカードによって解析される。
ネットワークパケットがネットワークカードによって宛先ネットワークに転送さ
れるべきであると判断されたとき、それはメイン中央演算処理装置の介入なしで
高速転送される。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 パール ガーディープ シング アメリカ合衆国 ワシントン州 98033 カークランド ウォヴァーリー ウェイ 220

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】 ソースネットワークから宛先ネットワークにデータのパケットを転送するため
    のコンピュータシステムにおける方法において、 各パケットがメッセージの一部であり、 コンピュータシステムが、バスを介してネットワークカードに接続されたメイ
    ン中央演算処理装置を備え、 ネットワークカードがソース及び宛先ネットワークに接続され、 ネットワークカードが、キャッシュメモリを備え、 コンピュータシステムが、メイン中央演算処理装置によって実行される命令を
    備えるオペレーティングシステムを備える、 方法であって、 ネットワークカードの制御下で、 ソースネットワークからパケットを受信し、 キャッシュメモリがパケットに関するルーティング情報を包含するかどうか
    判断し、 キャッシュメモリがかかるルーティング情報を包含するとき、ルーティング
    情報に従って宛先ネットワークの受信したパケットを伝送し、 キャッシュメモリがかかるルーティング情報を包含しないとき、受信された
    パケットをオペレーティングシステムに送信し、 オペレーティングシステムの制御下で、 送信されたパケットを受信し、 受信されたパケットがフィルタリング情報に基づいてドロップされるかどう
    か判断し、 受信されたパケットがドロップされなかったとき、 受信パケットが宛先ネットワークに伝送されることを示すルーティング
    情報を検索し、 ルーティング情報をネットワークカードに送信し、 ネットワークカードの制御下で、 送信ルーティング情報を受信し、 次のパケットがオペレーティングシステムに送信されることなく、該次のパ
    ケットが宛先ネットワークに伝送されるように、受信されたルーティング情報を
    メモリキャッシュにストアし、 ルーティング情報に従って宛先ネットワークに受信されたパケットが伝送さ
    れ、 同じパケット識別子を備えるパケットが、オペレーティングシステムによる処
    理なしで宛先ネットワークに転送され、他のパケット識別子を備えるパケットが
    、オペレーティングシステムのフィルタリング基準処理に基づいてドロップされ
    る、ことを特徴とする方法。
  2. 【請求項2】 オペレーティングシステムの制御下で、 ルーティング情報の更新を受信し、 該更新の受信に対応して、そのキャッシュメモリをフラッシュするためにネッ
    トワークカードに通知する、 ことを含む、請求項1に記載の方法。
  3. 【請求項3】 コンピュータシステムは、複数のネットワークカードを有し、キャッシュメモ
    リが、メイン中央演算処理装置を中断させることなく各ネットワークカードによ
    ってアクセス可能である、請求項1に記載の方法。
  4. 【請求項4】 汎用コンピュータシステムにおいてネットワークパケットをソースネットワー
    クから宛先ネットワークに転送する方法において、 コンピュータシステムが、メイン中央演算処理装置とネットワークカードとを
    有し、該ネットワークカードがソース及び宛先ネットワークに接続されている方
    法であって、 ネットワークカードでネットワークパケットを受信し、該ネットワークカード
    が宛先アドレスを有し、 ネットワークパケットが、ネットワークカードによってその宛先に転送される
    か、又は、メイン中央演算処理装置に転送されるかどうかを判断するために受信
    されたネットワークパケットを解析し、 ネットワークパケットがネットワークカードによってその宛先に転送されるべ
    きであると判断されたとき、メイン中央演算処理装置による介入なくネットワー
    クカードによって宛先ネットワークにネットワークパケットを伝送し、 ネットワークパケットが、メイン中央演算処理装置に転送されるべきであると
    判断されたとき、更なる処理のために、受信されたネットワークパケットをメイ
    ン中央演算処理装置に提供する、 ことを有する方法。
  5. 【請求項5】 ネットワークカードがマルチポートネットワークカードであり、ネットワーク
    パケットが、第1のポートに受信され、第2のポートを介して伝送される、こと
    を特徴とする請求項4に記載の方法。
  6. 【請求項6】 コンピュータシステムが更に、メイン中央演算処理装置及びネットワークカー
    ドと通信するバスを有し、ネットワークパケットの伝送が、バスを超えてネット
    ワークパケットを送信することなく達成される、ことを特徴とする請求項4に記
    載の方法。
  7. 【請求項7】 解析の際に、使用のためにネットワークカードに高速転送キャッシュを保持す
    ることを更に有し、高速転送キャッシュが、どちらのネットワークパケットがメ
    イン中央演算処理装置による加入なしでネットワークカードによって伝送される
    か判断するためにアクセスされるルーティング情報を有することを特徴とする、
    請求項4に記載の方法。
  8. 【請求項8】 メイン中央演算処理装置が、ネットワークパケットを受信するか又はドロップ
    するかどうかを判断するために、フィルタリングをネットワークパケットに適用
    し、 かかるフィルタリングが利用可能であり、メイン中央演算処理装置による介入
    なしでネットワークカードによる伝送がまた利用可能である、 ことを特徴とする請求項4に記載の方法。
  9. 【請求項9】 メイン中央演算処理装置と、コンピュータシステムを複数のネットワークと接
    続させるネットワークカードとを有するコンピュータシステムにおいて、ネット
    ワークカードで受信されるネットワークパケットを処理するための方法であって
    、 ネットワークカードで受信される選択されたネットワークパケットが、メイン
    中央演算処理装置なしでネットワークカードによって少なくとも1つの宛先ネッ
    トワークに高速転送されるような、高速転送アクティブを有することと、 メイン中央演算処理装置が、ネットワークパケットを受信するか又はドロップ
    するかどうかを判断するために、ネットワークカードで受信されたネットワーク
    パケットの少なくともいくつかにフィルタリングを適用するような、フィルタリ
    ングアクティブを同時に有すること、 とを含む方法。
  10. 【請求項10】 ネットワークパケットの少なくともいくつかが、インターネットプロトコル(
    IP)ネットワークパケットであることを特徴とする、請求項9に記載の方法。
  11. 【請求項11】 メイン中央演算処理装置が、選択されたネットワークパケットを高速転送する
    ためのルーティング情報をネットワークカードに提供する、請求項9に記載の方
    法。
  12. 【請求項12】 ネットワークカードが、高速転送されるべきでないそれらのネットワークパケ
    ットを、メイン中央演算処理装置に提供することを特徴とする、請求項9に記載
    の方法。
  13. 【請求項13】 汎用コンピュータシステムにおいてネットワークパケットをソースネットワー
    クから宛先ネットワークに転送することができる命令を包含するコンピュータ読
    み取り可能媒体であって、コンピュータシステムがメイン中央演算処理装置及び
    ネットワークカードを有し、該ネットワークカードが ネットワークカードでネットワークパケットを受信し、該ネットワークパケッ
    トが宛先アドレスを有し、 ネットワークパケットが、ネットワークカードによってその宛先に転送される
    べきか、又は、メイン中央演算処理装置に転送されるべきかどうかを判断するた
    めに、受信されたネットワークパケットを解析し、 ネットワークパケットがネットワークカードによってその宛先に転送されるべ
    きであると判断されたとき、メイン中央演算処理装置による介入なしでネットワ
    ークカードによって宛先ネットワークにネットワークパケットを伝送し、 ネットワークパケットがメイン中央演算処理装置に転送されるべきであると判
    断されたとき、ネットワークパケットがドロップされるか又は宛先に転送される
    べきか判断するために、受信したネットワークパケットをメイン中央演算処理装
    置に提供する、 ことによってソース及び宛先ネットワークに接続される、コンピュータ読み取り
    可能媒体。
  14. 【請求項14】 ネットワークカードがマルチポートネットワークカードであり、ネットワーク
    パケットが第1のポートで受信され、第2のポートを介して伝送されることを特
    徴とする、請求項13に記載のコンピュータ読み取り可能媒体。
  15. 【請求項15】 コンピュータシステムが、メイン中央演算処理装置及びネットワークカードと
    通信するバスを更に有し、ネットワークパケットの伝送が、バスを超えてネット
    ワークパケットを送信することなく達成される、ことを特徴とする請求項13に
    記載のコンピュータ読み取り可能媒体。
  16. 【請求項16】 解析の際に、使用するためにネットワークカードに高速転送キャッシュを保持
    することを更に有し、 高速転送キャッシュが、どちらのネットワークパケットがメイン中央演算処理
    装置による介入なしでネットワークカードによって伝送されるべきであるか判断
    するためにアクセスされるルーティング情報を有する、 ことを特徴とする請求項13に記載のコンピュータ読み取り可能媒体。
  17. 【請求項17】 メイン中央演算処理装置が、ネットワークパケットを受信し又はドロップする
    かどうかを判断するためにフィルタリングをネットワークパケットに適用し、 かかるフィルタリングが、メイン中央演算処理装置による介入なしでネットワ
    ークカードによって伝送される間、利用可能である、 ことを特徴とする請求項13に記載のコンピュータ読み取り可能媒体。
  18. 【請求項18】 メイン中央演算処理装置と、コンピュータシステムをマルチプルネットワーク
    と接続するためのネットワークカードとを有するコンピュータシステムであって
    、 メイン中央演算処理装置の介入なしでネットワークカードによって少なくとも
    1つの宛先ネットワークに高速転送されるように、高速転送がアクティブであり
    、メイン中央演算処理装置が、ネットワークパケットを受信するか又はドロップ
    するかどうかを判断するためにネットワークカードで受信されたネットワークパ
    ケットの少なくともいくつかにフィルタリングを適用するようにフィルタリング
    が同時にアクティブである、ネットワークカードで受信されるネットワークパケ
    ットを処理する、コンピュータシステム。
  19. 【請求項19】 少なくともいくつかのネットワークパケットがインターネットプロトコル(I
    P)ネットワークパケットであることを特徴とする、請求項18に記載のシステ
    ム。
  20. 【請求項20】 メイン中央演算処理装置が、選択されたネットワークパケットを高速転送する
    ためのルーティング情報をネットワークカードに提供することを特徴とする請求
    項18に記載のシステム。
  21. 【請求項21】 ネットワークカードが、高速転送されるべきでないそれらのネットワークパケ
    ットをメイン中央演算処理装置に提供する、ことを特徴とする請求項18に記載
    のシステム。
  22. 【請求項22】 汎用コンピュータにおいて、ネットワークパケットをソースネットワークから
    宛先ネットワークに転送する方法であって、 コンピュータシステムがオペレーティングシステムと、ネットワークドライバ
    と、ネットワークカードとを有し、該ネットワークカードがソース及び宛先ネッ
    トワークに接続される、方法において、 ネットワークカードの制御下で、 ソースネットワークからの宛先アドレスを有するネットワークパケットを受
    信し、 受信したネットワークパケットをネットワークドライバに転送し、 ネットワークドライバの制御下で、 ネットワークパケットが、ネットワークカードによってその宛先に転送され
    るべきか、又は、オペレーティングシステムに提供されるべきかどうか判断する
    ために、受信したネットワークパケットを解析し、 ネットワークパケットがネットワークカードによってその宛先に転送される
    べきであると判断したとき、ネットワークパケットを宛先ネットワークに伝送す
    るようにネットワークカードに命令し、 ネットワークパケットがオペレーティングシステムに提供されるべきである
    と判断したとき、受信したネットワークパケットを、更なる処理のためにオペレ
    ーティングシステムに提供し、 ネットワークカードの制御下で、 受信したパケットを伝送するように命令されたとき、ネットワークパケット
    を宛先ネットワークに伝送し、 ネットワークパケットを転送する判断が、ネットワークドライバによってなさ
    れる、 ことを特徴とする方法。
  23. 【請求項23】 コンピュータシステムが複数のネットワークカードを有し、ネットワークパケ
    ットが第1のネットワークカードで受信され、第2のネットワークカードを介し
    て伝送される、ことを特徴とする請求項22に記載の方法。
  24. 【請求項24】 解析の際に使用するためにネットワークドライバによって高速転送キャッシュ
    を保持することを更に有し、 高速転送キャッシュが、どちらのネットワークパケットがオペレーティングシ
    ステムからの介入なしでネットワークカードによって伝送されるべきか判断する
    ためにアクセスされるルーティング情報を有する、 ことを特徴とする請求項22に記載の方法。
  25. 【請求項25】 オペレーティングシステムが、ネットワークパケットを受信するか又はドロッ
    プするかどうか判断するためにネットワークパケットにフィルタリングを適用し
    、 かかるフィルタリングが、ネットワークパケットがオペレーティングシステム
    による介入なしでネットワークドライバによって高速転送される間、利用可能で
    ある、 ことを特徴とする請求項22に記載の方法。
  26. 【請求項26】 ネットワークドライバがNDISドライバであることを特徴とする、請求項2
    2に記載の方法。
JP2000502461A 1997-07-10 1998-07-08 コンピュータシステムにおけるネットワークパケットの高速転送及びフィルタリング Expired - Fee Related JP3399928B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/891,020 US6067569A (en) 1997-07-10 1997-07-10 Fast-forwarding and filtering of network packets in a computer system
US08/891,020 1997-07-10
PCT/US1998/014135 WO1999003044A2 (en) 1997-07-10 1998-07-08 Fast-forwarding and filtering of network packets in a computer system

Publications (2)

Publication Number Publication Date
JP2001510947A true JP2001510947A (ja) 2001-08-07
JP3399928B2 JP3399928B2 (ja) 2003-04-28

Family

ID=25397495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000502461A Expired - Fee Related JP3399928B2 (ja) 1997-07-10 1998-07-08 コンピュータシステムにおけるネットワークパケットの高速転送及びフィルタリング

Country Status (6)

Country Link
US (1) US6067569A (ja)
EP (1) EP0993638B1 (ja)
JP (1) JP3399928B2 (ja)
AT (1) ATE297570T1 (ja)
DE (1) DE69830491T2 (ja)
WO (1) WO1999003044A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251906A (ja) * 2006-03-20 2007-09-27 Fujitsu Ltd フレーム中継装置及びフレーム検査装置
JP2011526135A (ja) * 2008-06-23 2011-09-29 クゥアルコム・インコーポレイテッド マルチプロセッサコンピューティング環境においてデータサービスを管理する方法および装置

Families Citing this family (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165969A (ja) * 1997-08-19 1999-03-09 Toshiba Corp サーバ装置および通信接続方法並びに通信の接続を行うプログラムを記録した記録媒体
US6061742A (en) * 1997-10-10 2000-05-09 Nortel Networks Corporation Computer network adaptor
US8782199B2 (en) 1997-10-14 2014-07-15 A-Tech Llc Parsing a packet header
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
US8621101B1 (en) 2000-09-29 2013-12-31 Alacritech, Inc. Intelligent network storage interface device
US6687758B2 (en) * 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
US7167927B2 (en) 1997-10-14 2007-01-23 Alacritech, Inc. TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism
US7089326B2 (en) * 1997-10-14 2006-08-08 Alacritech, Inc. Fast-path processing for receiving data on TCP connection offload devices
US6658480B2 (en) * 1997-10-14 2003-12-02 Alacritech, Inc. Intelligent network interface system and method for accelerated protocol processing
US6226680B1 (en) * 1997-10-14 2001-05-01 Alacritech, Inc. Intelligent network interface system method for protocol processing
US6697868B2 (en) * 2000-02-28 2004-02-24 Alacritech, Inc. Protocol processing stack for use with intelligent network interface device
US7237036B2 (en) * 1997-10-14 2007-06-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding a TCP connection
US7133940B2 (en) * 1997-10-14 2006-11-07 Alacritech, Inc. Network interface device employing a DMA command queue
US8539112B2 (en) 1997-10-14 2013-09-17 Alacritech, Inc. TCP/IP offload device
US6807581B1 (en) 2000-09-29 2004-10-19 Alacritech, Inc. Intelligent network storage interface system
US7174393B2 (en) 2000-12-26 2007-02-06 Alacritech, Inc. TCP/IP offload network interface device
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
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
US6330610B1 (en) * 1997-12-04 2001-12-11 Eric E. Docter Multi-stage data filtering system employing multiple filtering criteria
US6401171B1 (en) 1998-02-27 2002-06-04 Cisco Technology, Inc. Method and device for storing an IP header in a cache memory of a network node
US6335935B2 (en) * 1998-07-08 2002-01-01 Broadcom Corporation Network switching architecture with fast filtering processor
US7664883B2 (en) * 1998-08-28 2010-02-16 Alacritech, Inc. Network interface device that fast-path processes solicited session layer read commands
US6295296B1 (en) * 1998-09-08 2001-09-25 Cisco Technology, Inc. Use of a single data structure for label forwarding and imposition
US20020188720A1 (en) * 1998-12-28 2002-12-12 William F. Terrell Method and apparatus for dynamically controlling the provision of differentiated services
US6678283B1 (en) * 1999-03-10 2004-01-13 Lucent Technologies Inc. System and method for distributing packet processing in an internetworking device
FR2797056B1 (fr) 1999-07-28 2001-09-07 Inst Francais Du Petrole Methode d'analyse de signaux acquis pour pointer automatiquement sur eux au moins un instant significatif
US6795866B1 (en) * 1999-10-21 2004-09-21 Sun Microsystems, Inc. Method and apparatus for forwarding packet fragments
US6529983B1 (en) 1999-11-03 2003-03-04 Cisco Technology, Inc. Group and virtual locking mechanism for inter processor synchronization
US6854063B1 (en) * 2000-03-03 2005-02-08 Cisco Technology, Inc. Method and apparatus for optimizing firewall processing
US6892237B1 (en) * 2000-03-28 2005-05-10 Cisco Technology, Inc. Method and apparatus for high-speed parsing of network messages
US8463839B2 (en) 2000-03-28 2013-06-11 Cybernet Systems Corporation Distributed computing environment
US6711558B1 (en) * 2000-04-07 2004-03-23 Washington University Associative database scanning and information retrieval
US8095508B2 (en) * 2000-04-07 2012-01-10 Washington University Intelligent data storage and processing using FPGA devices
US7139743B2 (en) 2000-04-07 2006-11-21 Washington University Associative database scanning and information retrieval using FPGA devices
US6505269B1 (en) 2000-05-16 2003-01-07 Cisco Technology, Inc. Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system
US20020010800A1 (en) * 2000-05-18 2002-01-24 Riley Richard T. Network access control system and method
WO2001090838A2 (en) * 2000-05-24 2001-11-29 Voltaire Advanced Data Security Ltd. Filtered application-to-application communication
WO2002017034A2 (en) * 2000-08-24 2002-02-28 Voltaire Advanced Data Security Ltd. System and method for highly scalable high-speed content-based filtering and load balancing in interconnected fabrics
US20020032871A1 (en) * 2000-09-08 2002-03-14 The Regents Of The University Of Michigan Method and system for detecting, tracking and blocking denial of service attacks over a computer network
US6944673B2 (en) * 2000-09-08 2005-09-13 The Regents Of The University Of Michigan Method and system for profiling network flows at a measurement point within a computer network
US8019901B2 (en) * 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
EP1330725B1 (en) 2000-09-29 2012-03-21 Alacritech, Inc. Intelligent network storage interface system and devices
ATE468562T1 (de) 2000-12-15 2010-06-15 Ibm Virtualisierung von e/a-adapterressourcen
EP1215585B1 (en) 2000-12-15 2010-05-19 International Business Machines Corporation Virtualization of i/o adapter resources
US7716330B2 (en) 2001-10-19 2010-05-11 Global Velocity, Inc. System and method for controlling transmission of data packets over an information network
US20030081599A1 (en) * 2001-10-30 2003-05-01 Chui-Tsang Wu System and method for data transmission control
US7240123B2 (en) * 2001-12-10 2007-07-03 Nortel Networks Limited Distributed routing core
US20030188021A1 (en) * 2001-12-19 2003-10-02 International Business Machines Corporation Method and system for processing multiple fragment requests in a single message
US7412535B2 (en) * 2001-12-19 2008-08-12 International Business Machines Corporation Method and system for caching fragments while avoiding parsing of pages that do not contain fragments
US7509393B2 (en) * 2001-12-19 2009-03-24 International Business Machines Corporation Method and system for caching role-specific fragments
US7426534B2 (en) * 2001-12-19 2008-09-16 International Business Machines Corporation Method and system for caching message fragments using an expansion attribute in a fragment link tag
US7730154B2 (en) * 2001-12-19 2010-06-01 International Business Machines Corporation Method and system for fragment linking and fragment caching
US7587515B2 (en) * 2001-12-19 2009-09-08 International Business Machines Corporation Method and system for restrictive caching of user-specific fragments limited to a fragment cache closest to a user
US7403999B2 (en) 2001-12-28 2008-07-22 International Business Machines Corporation Classification support system and method for fragmented IP packets
US7496689B2 (en) * 2002-04-22 2009-02-24 Alacritech, Inc. TCP/IP offload device
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
US7711844B2 (en) * 2002-08-15 2010-05-04 Washington University Of St. Louis TCP-splitter: reliable packet monitoring methods and apparatus for high speed networks
US7337241B2 (en) * 2002-09-27 2008-02-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US7191241B2 (en) * 2002-09-27 2007-03-13 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US20040088262A1 (en) * 2002-11-06 2004-05-06 Alacritech, Inc. Enabling an enhanced function of an electronic device
US10572824B2 (en) 2003-05-23 2020-02-25 Ip Reservoir, Llc System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines
US20070277036A1 (en) 2003-05-23 2007-11-29 Washington University, A Corporation Of The State Of Missouri Intelligent data storage and processing using fpga devices
US7565454B2 (en) * 2003-07-18 2009-07-21 Microsoft Corporation State migration in multiple NIC RDMA enabled devices
US7444515B2 (en) * 2003-08-14 2008-10-28 Washington University Method and apparatus for detecting predefined signatures in packet payload using Bloom filters
US7181675B2 (en) * 2003-10-06 2007-02-20 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for checksum offloading
US8090871B2 (en) * 2003-10-20 2012-01-03 International Business Machines Corporation Determining a remote management processor's IP address
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US7602785B2 (en) 2004-02-09 2009-10-13 Washington University Method and system for performing longest prefix matching for network address lookup using bloom filters
US7206872B2 (en) * 2004-02-20 2007-04-17 Nvidia Corporation System and method for insertion of markers into a data stream
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
KR20070039597A (ko) 2004-07-23 2007-04-12 사이트릭스 시스템스, 인크. 사설망에 대한 원격 액세스를 보안화하기 위한 방법 및시스템
AU2005266943C1 (en) 2004-07-23 2011-01-06 Citrix Systems, Inc. Systems and methods for optimizing communications between network nodes
EP1776825B1 (en) * 2004-08-13 2012-12-19 Citrix Systems, Inc. A method for maintaining transaction integrity across multiple remote access servers
US8248939B1 (en) 2004-10-08 2012-08-21 Alacritech, Inc. Transferring control of TCP connections between hierarchy of processing mechanisms
US8776206B1 (en) * 2004-10-18 2014-07-08 Gtb Technologies, Inc. Method, a system, and an apparatus for content security in computer networks
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
KR20070104566A (ko) * 2005-01-24 2007-10-26 사이트릭스 시스템스, 인크. 네트워크에서 동적으로 발생된 객체들의 캐싱을 수행하는시스템 및 방법
JP2008532177A (ja) 2005-03-03 2008-08-14 ワシントン ユニヴァーシティー 生物学的配列類似検索を実行するための方法および装置
JP4674502B2 (ja) * 2005-07-22 2011-04-20 ソニー株式会社 情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラム
US7702629B2 (en) * 2005-12-02 2010-04-20 Exegy Incorporated Method and device for high performance regular expression pattern matching
US7738500B1 (en) 2005-12-14 2010-06-15 Alacritech, Inc. TCP timestamp synchronization for network connections that are offloaded to network interface devices
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US7954114B2 (en) * 2006-01-26 2011-05-31 Exegy Incorporated Firmware socket module for FPGA-based pipeline processing
US8566840B2 (en) * 2006-02-27 2013-10-22 Red Hat, Inc. Method and system for kernel level filtering
WO2007121035A2 (en) 2006-03-23 2007-10-25 Exegy Incorporated Method and system for high throughput blockwise independent encryption/decryption
US7636703B2 (en) * 2006-05-02 2009-12-22 Exegy Incorporated Method and apparatus for approximate pattern matching
US7840482B2 (en) 2006-06-19 2010-11-23 Exegy Incorporated Method and system for high speed options pricing
US7921046B2 (en) 2006-06-19 2011-04-05 Exegy Incorporated High speed processing of financial information using FPGA devices
US20080086274A1 (en) * 2006-08-10 2008-04-10 Chamberlain Roger D Method and Apparatus for Protein Sequence Alignment Using FPGA Devices
US8051474B1 (en) * 2006-09-26 2011-11-01 Avaya Inc. Method and apparatus for identifying trusted sources based on access point
US7660793B2 (en) 2006-11-13 2010-02-09 Exegy Incorporated Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors
US8326819B2 (en) 2006-11-13 2012-12-04 Exegy Incorporated Method and system for high performance data metatagging and data indexing using coprocessors
US8879727B2 (en) * 2007-08-31 2014-11-04 Ip Reservoir, Llc Method and apparatus for hardware-accelerated encryption/decryption
US8046492B1 (en) * 2007-11-06 2011-10-25 Juniper Networks, Inc. Offset independent filtering
US10229453B2 (en) * 2008-01-11 2019-03-12 Ip Reservoir, Llc Method and system for low latency basket calculation
US8539513B1 (en) 2008-04-01 2013-09-17 Alacritech, Inc. Accelerating data transfer in a virtual computer system with tightly coupled TCP connections
US8374986B2 (en) * 2008-05-15 2013-02-12 Exegy Incorporated Method and system for accelerated stream processing
US8341286B1 (en) 2008-07-31 2012-12-25 Alacritech, Inc. TCP offload send optimization
US9306793B1 (en) 2008-10-22 2016-04-05 Alacritech, Inc. TCP offload device that batches session layer headers to reduce interrupts as well as CPU copies
CA3184014A1 (en) 2008-12-15 2010-07-08 Exegy Incorporated Method and apparatus for high-speed processing of financial market depth data
WO2012079041A1 (en) 2010-12-09 2012-06-14 Exegy Incorporated Method and apparatus for managing orders in financial markets
US9047243B2 (en) 2011-12-14 2015-06-02 Ip Reservoir, Llc Method and apparatus for low latency data distribution
US9990393B2 (en) 2012-03-27 2018-06-05 Ip Reservoir, Llc Intelligent feed switch
US10650452B2 (en) 2012-03-27 2020-05-12 Ip Reservoir, Llc Offload processing of data packets
US10121196B2 (en) 2012-03-27 2018-11-06 Ip Reservoir, Llc Offload processing of data packets containing financial market data
US11436672B2 (en) 2012-03-27 2022-09-06 Exegy Incorporated Intelligent switch for processing financial market data
US10133802B2 (en) 2012-10-23 2018-11-20 Ip Reservoir, Llc Method and apparatus for accelerated record layout detection
WO2014066416A2 (en) 2012-10-23 2014-05-01 Ip Reservoir, Llc Method and apparatus for accelerated format translation of data in a delimited data format
US9633093B2 (en) 2012-10-23 2017-04-25 Ip Reservoir, Llc Method and apparatus for accelerated format translation of data in a delimited data format
WO2015164639A1 (en) 2014-04-23 2015-10-29 Ip Reservoir, Llc Method and apparatus for accelerated data translation
US10942943B2 (en) 2015-10-29 2021-03-09 Ip Reservoir, Llc Dynamic field data translation to support high performance stream data processing
WO2018009468A1 (en) 2016-07-05 2018-01-11 Idac Holdings, Inc. Latency reduction by fast forward in multi-hop communication systems
WO2018119035A1 (en) 2016-12-22 2018-06-28 Ip Reservoir, Llc Pipelines for hardware-accelerated machine learning

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3560666A (en) * 1968-09-12 1971-02-02 Telectronics Corp Of America Single drive dual cassette tape recorder with radio and tape duplicating
US5842224A (en) * 1989-06-16 1998-11-24 Fenner; Peter R. Method and apparatus for source filtering data packets between networks of differing media
GB9212655D0 (en) * 1992-06-15 1992-07-29 Digital Equipment Int Communications system
KR960014983B1 (ko) * 1992-08-31 1996-10-23 가부시끼가이샤 도시바 LAN(Local Area Network) 접속장치
US5619648A (en) * 1994-11-30 1997-04-08 Lucent Technologies Inc. Message filtering techniques
US5598410A (en) * 1994-12-29 1997-01-28 Storage Technology Corporation Method and apparatus for accelerated packet processing
US5802278A (en) * 1995-05-10 1998-09-01 3Com Corporation Bridge/router architecture for high performance scalable networking
US5802320A (en) * 1995-05-18 1998-09-01 Sun Microsystems, Inc. System for packet filtering of data packets at a computer network interface
GB9518522D0 (en) * 1995-09-11 1995-11-08 Madge Networks Ltd Bridge device
US5850523A (en) * 1996-06-21 1998-12-15 National Instruments Corporation Method and system for monitoring fieldbus network with multiple packet filters

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251906A (ja) * 2006-03-20 2007-09-27 Fujitsu Ltd フレーム中継装置及びフレーム検査装置
JP2011526135A (ja) * 2008-06-23 2011-09-29 クゥアルコム・インコーポレイテッド マルチプロセッサコンピューティング環境においてデータサービスを管理する方法および装置
JP2013153486A (ja) * 2008-06-23 2013-08-08 Qualcomm Inc マルチプロセッサコンピューティング環境においてデータサービスを管理する方法および装置
US8638790B2 (en) 2008-06-23 2014-01-28 Qualcomm Incorporated Method and apparatus for managing data services in a multi-processor computing environment
JP5536051B6 (ja) 2008-06-23 2023-11-08 クゥアルコム・インコーポレイテッド マルチプロセッサコンピューティング環境においてデータサービスを管理する方法および装置

Also Published As

Publication number Publication date
ATE297570T1 (de) 2005-06-15
US6067569A (en) 2000-05-23
DE69830491D1 (de) 2005-07-14
DE69830491T2 (de) 2005-11-03
WO1999003044A2 (en) 1999-01-21
EP0993638A2 (en) 2000-04-19
JP3399928B2 (ja) 2003-04-28
EP0993638B1 (en) 2005-06-08
WO1999003044A3 (en) 1999-04-01

Similar Documents

Publication Publication Date Title
JP3399928B2 (ja) コンピュータシステムにおけるネットワークパケットの高速転送及びフィルタリング
US7630368B2 (en) Virtual network interface card loopback fastpath
US6683885B1 (en) Network relaying apparatus and network relaying method
US8094660B2 (en) VLAN server
US8477609B1 (en) Method and system for scaling network traffic managers
US7769873B1 (en) Dynamically inserting filters into forwarding paths of a network device
US6731652B2 (en) Dynamic packet processor architecture
US6650642B1 (en) Network relaying apparatus and network relaying method capable of high-speed routing and packet transfer
US6871235B1 (en) Fast path forwarding of link state advertisements using reverse path forwarding
EP1713214B1 (en) Multiprotocol routing method
US20070183415A1 (en) Method and system for internal data loop back in a high data rate switch
US7664045B2 (en) Sampling to a next hop
US7269661B2 (en) Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
US7864788B2 (en) System and method for bridging proxy traffic in an electronic network
JP4398354B2 (ja) 中継システム
US6658003B1 (en) Network relaying apparatus and network relaying method capable of high-speed flow detection
US6763375B1 (en) Method for defining and controlling the overall behavior of a network processor device
US20070291782A1 (en) Acknowledgement filtering
US20030229713A1 (en) Server network controller including server-directed packet forwarding and method therefor
US6671277B1 (en) Network relaying apparatus and network relaying method capable of high quality transfer of packets under stable service quality control
US20030123387A1 (en) Device and method for filtering network traffic
JP4461017B2 (ja) データパケットルーティング方法及び当該方法を実現するための装置
JP3635660B2 (ja) パケット処理装置とそのパケット転送方法
US7006532B1 (en) Dynamically building encapsulation and decapsulation chains at run time

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030106

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080221

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090221

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100221

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100221

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110221

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120221

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120221

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130221

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees