JPH0678024A - ネットワークアダプタシステム - Google Patents

ネットワークアダプタシステム

Info

Publication number
JPH0678024A
JPH0678024A JP5151356A JP15135693A JPH0678024A JP H0678024 A JPH0678024 A JP H0678024A JP 5151356 A JP5151356 A JP 5151356A JP 15135693 A JP15135693 A JP 15135693A JP H0678024 A JPH0678024 A JP H0678024A
Authority
JP
Japan
Prior art keywords
network
packet
checksum
data
network adapter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5151356A
Other languages
English (en)
Inventor
Michael I Thompson
マイケル・アイ・トンプソン
Paul T Congdon
ポール・ティー・コンドン
John L Burnett
ジョン・エル・バーネット
Frank Fiduccia
フランク・フィドゥシア
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH0678024A publication Critical patent/JPH0678024A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • 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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Correction Of Errors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【目的】チェックサムを計算し挿入するネットワークア
ダプタを構成することでプロセッサの追加のオーバヘッ
ドを減少させたネットワークシステムを提供する。 【構成】外方向には、プロセッサ15は記憶装置11内にネ
ットワークパケットを構成する。パケットはネットワー
クアダプタ12内のパケット貯蔵記憶装置に転送される。
転送の間にネットワークアダプタ12はチェックサムを計
算し、転送終了後パケット貯蔵記憶装置内のパケットに
チェックサムを挿入する。ネットワークアダプタ12は、
パケットをネットワーク30に送信する。内方向には、ネ
ットワークアダプタ22は、ネットワーク30からネットワ
ークアダプタ22内のパケット貯蔵記憶装置にパケットを
受け取り、次に記憶装置21に転送する。転送の間にネッ
トワークアダプタ22はチェックサムを計算し、記憶装置
21に転送されるパケット上にチェックサムを追加する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はネットワークデータの
チェックサムの挿入を行うハードウエアシステムに関す
る。
【0002】
【従来技術と発明が解決しようとする課題】ほとんどの
複合ネットワークはそれぞれがネットワークの異なる層
で動作するいくつかのレベルのプロトコルを用いて動作
する。例えば、ISO OSI標準アーキテクチャで動作する
複合ネットワークは、物理層、リンク層、ネットワーク
層およびトランスポート層を備える。1983年8月のProce
edings of the IEEE、Vol. 71、No. 12を参照された
い。
【0003】プロトコルの各層には、一般にネットワー
クを介して送られるデータに備えられるべきさまざまな
ヘッダフィールドを必要とする。これらのヘッダフィー
ルドは行先アドレスや出所アドレスの提供、効率的なデ
ータフローの保証、およびデータ伝送におけるエラーの
検出と訂正といったさまざまな機能に用いられる。典型
的には、ヘッダフィールドの生成、ヘッダフィールド中
の情報の解読およびデータの複製にかなりのCPU時間が
費やされる。
【0004】
【課題を解決するための手段】この発明の好適実施例で
は、ネットワークを介して送られるネットワークパケッ
トのチェックサムを取るようにインプリメントする方法
を提供する。プロセッサは主記憶装置内にネットワーク
パケットを構成する。ネットワークパケットは主記憶装
置からネットワークアダプタ内のパケット貯蔵記憶装置
に転送される。転送の間にネットワークアダプタはネッ
トワークパケットのためのチェックサムを計算する。ネ
ットワークアダプタは次に、パケット貯蔵記憶装置内の
ネットワークパケットにチェックサムを挿入する。ネッ
トワークアダプタは更に、このネットワークパケットを
ネットワークに送信する。
【0005】ネットワークパケット用にチェックサムを
計算するために、ネットワークパケットがパケット貯蔵
記憶装置に転送されるときにネットワークアダプタ内の
ハードウエアはネットワークアダプタ内の内部バスをス
ヌープ(snoop)する。加えて、この好適実施例では、チ
ェックサムヘッダがチェックサムのための制御情報を含
んだネットワークパケットに付けられる。この制御情報
には、例えば、ネットワークアダプタがチェックサムを
計算すべきかどうかの表示とネットワークパケット中の
どのデータがチェックサムされるべきかの仕様を含む。
制御情報は更に、チェックサムが挿入されるべきネット
ワークパケット内の位置を含んでいてもよい。
【0006】ネットワークアダプタはネットワークから
受信したネットワークパケットのために、ネットワーク
からネットワークパケットを例えばパケット貯蔵記憶装
置に受け取る。ネットワークパケットはネットワークア
ダプタから主記憶装置に転送される。この転送中にネッ
トワークアダプタはネットワークパケットのためのチェ
ックサムを計算する。ネットワークアダプタは主記憶装
置に転送されるネットワークパケット上にチェックサム
を追加する。
【0007】チェックサムを計算するために、ネットワ
ークアダプタ内のハードウエアは、ネットワークアダプ
タが主記憶装置に転送されるときに、ネットワークアダ
プタ内の内部バスをスヌープする。内方向のネットワー
クパケットのために、チェックサムコンフィグレーショ
ン情報がネットワークパケットの最初に付けられてもよ
い。他方、チェックサムコンフィグレーション情報はプ
ロセッサにより提供されてもよい。チェックサムコンフ
ィグレーション情報は、例えば、ネットワークアダプタ
がチェックサムを計算すべきかどうかの指示、ネットワ
ークパケット中のどのデータがチェックサムされるべき
かの明細が含まれる。
【0008】本発明はホストプロセッサ時間を使用した
り、ネットワークアダプタ内のDMA転送の性能低下を招
くことなしにチェックサムを取る性能を向上させる。
【0009】
【実施例】図1はネットワーク30を介して計算機システ
ム20に接続された計算機システム10を示す簡略化したブ
ロック図である。計算機システム10はプロセッサ15、キ
ャッシュ14、主記憶装置11およびネットワークアダプタ
12を有する。メモリバス13はプロセッサ15(キャッシュ
14を介して)、記憶装置11およびネットワークアダプタ
12を接続する。ネットワークアダプタ12はネットワーク
30へのインターフェースとして機能する。計算機システ
ム20はプロセッサ25、キャッシュ24、記憶装置21および
ネットワークアダプタ22を備える。メモリバス23はプロ
セッサ25(キャッシュ24を介して)、記憶装置21および
ネットワークアダプタ22を接続する。ネットワークアダ
プタ22はネットワーク30へのインターフェースとして機
能する。この発明はネットワーク30を介して送られるデ
ータのヘッダフィールドの構成と解読を簡略化するため
のネットワークデータの性能に関する。
【0010】図2はネットワーク30を介して転送される
メッセージのデータフローを示す。データパス51とデー
タパス52はヘッダ或いはメッセージを形成するデータの
一部として用いられるキャッシュ14中の任意の情報のキ
ャッシュ14から記憶装置11へのフラッシング(或いはラ
イトスルー)を表わす。データパス54はネットワーク30
を介したデータフローを表す。データパス55はネットワ
ーク22から記憶装置21へのDMA転送を表す。データパス5
3は記憶装置11からネットワークアダプタ12へのDMA転送
動作を表わす。データパス56及びデータパス57は、ネッ
トワークアダプタ22から記憶装置21へのDMA転送によっ
て古くなったデータを有するキャッシュ24中の記憶場所
の無効化を表わす。
【0011】メッセージ用の簡略化されたデータパスを
達成するために、ネットワークアダプタ12とネットワー
クアダプタ22は通常はそれぞれプロセッサ15とプロセッ
サ25によって実行される三つの動作を実行する。以下の
説明はこれらの動作がネットワークアダプタ12によって
実行される態様に関する。しかしながら、ネットワーク
アダプタ12とネットワークアダプタ22は性能上同じであ
るため、以下の説明はネットワークアダプタ22の動作に
もあてはまる。
【0012】第1の動作はネットワークアダプタ12によ
るネットワークデータチェックサムの生成と挿入であ
る。ネットワークアダプタによってチェックサム計算を
実施することによって、プロセッサ15が負う追加のオー
バヘッドや時間をほとんど要することなくチェックサム
の生成と挿入を行うことができる。
【0013】外方向には、プロセッサ15は適正なチェッ
クサム方法とその結果を挿入する位置を示すネットワー
クアダプタ12チェックサム制御情報を提供する。この制
御情報はデータパス53に沿って伝わるDMAデータストリ
ーム中のパケットに付加される。データが記憶装置11か
ら転送されるとき、ネットワークアダプタ12はチェック
サムを計算する。転送が終わったとき、ネットワークア
ダプタ12はパケットをネットワーク30上に送出する前に
このチェックサムをパケット中の適当な位置に挿入す
る。
【0014】内方向には、ネットワークアダプタ12はパ
ケットヘッダをデコードし、チェックサム制御情報を内
部レジスタに直接プログラムする。ネットワークアダプ
タ12はパケットを記憶装置11に転送するときチェックサ
ムを計算する。ネットワークアダプタ12がチェックサム
の計算を終えると、ネットワークアダプタ12はその結果
を記憶装置11に転送されているデータストリームに付け
加える。プロセッサ15はこのチェックサム結果をパケッ
トチェックサムと比較してデータを確かめる。
【0015】ネットワークアダプタが実行する第2の動
作はネットワークアダプタ12から記憶装置11への着信パ
ケットの転送中のヘッダとデータの自動分離である。転
送中にヘッダとデータを分割することによって、データ
をホストメモリ中のページ調整された境界に置くことが
できる。メモリページは仮想ページ再マッピング(remap
ping)によって適当なアプリケーションに引き渡すこと
ができる。この処理は簡単な仮想ポインタ操作によって
行うことができ、パケットがネットワークアダプタ12に
よって記憶装置11に転送された後にデータを複写する必
要がなくなる。
【0016】ネットワークアダプタ12はヘッダ/データ
分割位置を判定し、この値を用いてDMAハードウエアを
プログラムする。このDMAハードウエアは分割位置に達
するまでヘッダのバイトをカウントダウンする。パッド
データを加えることによって、DMAハードウエアはパケ
ットのデータ部分の始まりが確実にメモリページ境界に
来るようにする。この処理は上述したチェックサム処理
と平行して実行される。
【0017】ネットワークアダプタ12が実行する第3の
動作は、ネットワークヘッダの位置合わせである。これ
は、ネットワークリンクヘッダ中に見つけ出される特定
の値に基づくパッドバイトの挿入によって行われる。多
くのプロセッサは対応する複数バイト境界に位置合わせ
されていない複数バイトフィールドにアクセスすること
ができない。プロセッサはデータにアクセスするために
このバイトを補助バッファに複写しなければならない。
ネットワークアダプタ12はこの複写を不要にする。
【0018】ネットワークアダプタ12はネットワークリ
ンクヘッダの行先サービスアクセスポイント(DSAP)フィ
ールド中の特定の値に対する着信バイトストリームを探
索する。ハードウエアはこのDSAPフィールド中の値に基
づいてDSAPフィールドと出所サービスアクセスポイント
(SSAP)フィールドの間に0から3個の数のパッドバイトを
挿入する。それに続くヘッダはこのデータストリーム中
で4バイトに調整される。
【0019】図3から図6はこの発明の好適実施例にした
がって送出されるメッセージのヘッダの例を示す。図3
はDSAPパッドバイトの挿入前のFDDIスナップへッダ110
を示す。媒体ヘッダ110は1バイトのフレーム制御(FC)フ
ィールド111を含む。6バイトの行先アドレスフィールド
112によってパケットを受信する局の媒体アドレスが与
えられる。6バイトの出所アドレスフィールド113によっ
てパケットを送信する局の媒体アドレスが与えられる。
【0020】1バイトのDSAPフィールド114が現在使用さ
れており、媒体ヘッダフォーマットにサービスの型を定
義する。DSAPがAA(16進値)に等しい場合、媒体ヘッダ
110はSNAPヘッダであり、3バイトのパッドがDSAPフィー
ルド114の後に挿入される。DSAPがFC(16進値)に等し
い場合、媒体ヘッダ110はHP拡張サービスアクセスポイ
ントであり、1個のパッドバイトがDSAPフィールド114の
後に挿入される。この発明では、他のすべてのDSAP値に
ついてはパッドバイトの挿入は発生しない。これは、例
えばFDDI 802.2ヘッダ等の他のヘッダは追加のパッドの
挿入を要しないためである。
【0021】1バイトのSSAPフィールド116は出所サービ
スアクセスポイントを含む。この好適実施例のLLC 802.
2タイプ1制御(CTRL)フィールド117は常に、番号の付い
ていない情報を示す3に設定される。3バイトの編成IDフ
ィールド118はこの好適実施例では処理されない。2バイ
トのSNAP型フィールド119はこの好適実施例では処理さ
れない。
【0022】リンクヘッダの上述のフィールドの後、IP
ヘッダ120の後にTCPヘッダ或いはUDPヘッダが続く。IP
ヘッダ120の長さは20バイト以上である。TCPヘッダの長
さは20バイト以上である。UDPヘッダの長さは8バイトで
ある。
【0023】ヘッダを位置合わせするために、この好適
実施例ではDSAPフィールド中の値に基づいてDSAPフィー
ルド114とSSAPフィールド116の間に0から3個のパッドバ
イトを挿入する。後続のヘッダはデータストリーム中で
4バイト調整される。媒体ヘッダ110において、DSAPはAA
(16進値)に等しく、これは媒体ヘッダ110がSNAPヘッ
ダであることを示す。したがって、3バイトのパッド115
が図4に示されるようにDSAPフィールド114の後に挿入さ
れる。
【0024】図5はDSAPパッドバイトの挿入前のFDDI HP
拡張ヘッダ130を示す。媒体ヘッダ130は1バイトフレー
ム制御(FC)フィールド131を含む。6バイト行先アドレス
フィールド132によってパケットを受信する局の媒体ア
ドレスが与えられる。6バイト出所アドレスフィールド1
33によってパケットを送信する局の媒体アドレスが与え
られる。
【0025】1バイトのDSAPフィールド134が使用されて
おり、媒体ヘッダのフォーマットに従ったサービスの型
を定義する。DSAPがFC(16進値)に等しい場合、媒体ヘ
ッダ130はHP拡張サービスアクセスポイントであり、1個
のパッドバイトがDSAPフィールド134の後に挿入され
る。1バイトのSSAPフィールド136は出所サービスアクセ
スポイントを含む。この好適実施例のLLC 802.2タイプ1
制御(CTRL)フィールド137は常に、番号の付いていない
情報を示す3に設定される。3バイトのHP拡張サービスア
クセスポイント(HPXSAP)スペーシングフィールド138が
確保される。2バイトの行先拡張サービスアクセスポイ
ント(DXSAP)フィールド139と2バイトの出所拡張サービ
スアクセスポイント(SXSAP)フィールド140は特定のプロ
トコルの一部として用いられる。
【0026】リンクヘッダの上述のフィールドの後、IP
ヘッダ141の後にTCPヘッダ或いはUDPヘッダが続く。
【0027】ヘッダを位置合わせするために、この好適
実施例ではDSAPフィールド中の値に基づいてDSAPフィー
ルド134とSSAPフィールド136の間にパッドバイトを挿入
する。後続のヘッダはデータストリーム中で4バイト調
整される。媒体ヘッダ130において、DSAPはFC(16進
値)に等しく、これは媒体ヘッダ130がHP拡張サービス
アクセスポイントヘッダであることを示す。したがっ
て、一個のパッドバイト135が図6に示されるようにDSAP
フィールド134の後に挿入される。
【0028】図7はこの好適実施例のネットワークアダ
プタ12の実施に用いられる論理の一部のブロック図であ
る。ネットワークアダプタ12はバックプレーンバス33を
介して計算機システム10のバックプレーンDMAコントロ
ーラ31に接続されている。バックプレーンDMAコントロ
ーラ31は記憶装置11とネットワークアダプタ12の間のDM
Aを実行する。
【0029】ネットワークアダプタ12はフロントプレー
ンコントローラ32を介してネットワーク30に接続されて
いる。例えば、この好適実施例では、ネットワーク30は
FDDIネットワークであり、フロントプレーンコントロー
ラ32はCalifornia 95051, Santa Clara, Semiconductor
Drive 2900のCalifornia州法人、National Semiconduc
tor Corporationの販売するLANコントローラDP83261の
ようなLANコントローラである。
【0030】フロントプレーン論理セルアレー(LCA)45
はフロントプレーンコントローラ32を介してネットワー
ク30との間でデータの送受信を行う。LANコントローラ3
2はネットワーク30との間のデータパケットの送出と受
信をつかさどる。
【0031】送出転送を行う場合、フロントプレーンLC
A 45はLANコントローラ32による転送を行うべく、DMAバ
ス49からの32ビットワードを8ビットバイトにアンパッ
クする。フロントプレーンLCA 45はまたプロセッサ15に
よって挿入されたFCパッドバイトのカウント値を備える
出力ストリームの第1のバイトを見て、このFCパッドバ
イトを取り除いて、パケットの残りをLANコントローラ3
2に送る。フロントプレーンLCA 45は外方向先入れ先出
し記憶装置(FIFO)に送出用のデータをロードする。フロ
ントプレーンLCA 45は次にパケットの送出を行うために
LANコントローラ32とのハンドシェークを制御する。
【0032】着信転送については、フロントプレーンLC
A 45はLANコントローラ32からの状態表示行を見て着信
パケットのフラッシングを発生させるエラー条件を監視
しながら、着信FIFOにデータをハンドシェークする。フ
ロントプレーンLCA 45はLANコントローラ32からのバイ
トストリームを取り、それをDMAバス49用の32ビットワ
ードストリームにパックする。フロントプレーンLCA 45
はデータをパックしながら、受信中のパケットの長さを
追跡し、この長さをパケットの最後にパケット状態の一
部として挿入する。フロントプレーンLCA 45はまたDSAP
フィールド用の入力ストリームを走査して、残りのヘッ
ダとデータを位置合わせするためにどのような種類のパ
ッドが必要であるかを判定する。DSAPフィールドを発見
すると、フロントプレーンLCA 45は0-3バイトのDSAPパ
ッドを挿入する。フロントプレーンLCA 45はEDRCVD行を
検知してパケットの終わりを検出すると、LANコントロ
ーラ32から検知されたパケットの状態とパケットの長さ
を挿入する。0-3バイトのパッドを挿入して、この状態
と長さが単一の32ビットワードに確実に納まるようにす
る。この長さフィールドは状態および長さのワード、す
なわちSLLW、或いはチェックサムLCA 42に加えられたチ
ェックサム結果を位置合わせするために詰め込まれたバ
イト数を含まない。
【0033】バックプレーン論理セルアレー(LCA)41
は、バックプレーンDMAコントローラ31を介してメモリ
バス13との間のデータの送受信を行う。
【0034】DMAバス49はラッチ46によってプロセッサ
バス38から分離されている。中央処理装置(CPU)37、ラ
ンダムアクセスメモリ(RAM)36、不揮発性RAM(NOVRAM)3
5、読み出し専用記憶装置(ROM)34がプロセッサバス38に
接続されている。例えば、プロセッサバス38の幅は32ビ
ットであり、CPU 37はCalifronia, Milpitas, Ames Ave
nue 801のMotorola Communications and Electronics I
nc. から販売している25メガヘルツ(MHz)のプロセッサ
クロック速度を有する68020プロセッサである。CPU 37
は自己テスト機能、(例えば初期設定のための)フロン
トプレーンのチップセット制御、FDDIリンクの接続管
理、およびその他のさまざまな機能を提供するのに用い
られる。CPU 37用のコードはROM 34に備えられている。
スタートアップ時に、CPU 37はこのコードをRAM 36に複
写し、コードをそこから実行する。これによって、CPU
37は待ち状態命令サイクルなしで実行することができ
る。
【0035】チェックサム論理セルアレー(LCA)42、DMA
制御論理セルアレー(LCA)43およびスロットメモリ44がD
MAバス49に接続されている。
【0036】DMAバス49は、チェックサムLCA 42、DMA制
御LCA 43、バックプレーンLCA 41およびスロットメモリ
44とともにLANコントローラ32とバックプレーンDMAコン
トローラ31の間で高スループット、低待ち時間でデータ
を移動させるためのデータパイプとして機能する。この
データパイプはまた、チェックサムハードウエアを支援
し、データを操作してヘッダ、データおよびバッファの
不適切な位置合わせを修正する。また副次的な機能とし
ては、このデータパイプはCPU 37によるデータストリー
ムへの限定されたアクセスを提供し、そのさい転送性能
にほとんど影響を与えない。
【0037】スロットメモリ44は50メガバイト/秒の帯
域幅を提供するように設計された高速スタティックRAM
のブロックである。この帯域幅はLANコントローラ32、
バックプレーンDMAコントローラ31、およびCPU 37の間
で時分割多重によって共用される。スロットメモリ44へ
のアクセスはすべてDMAコントローラLCA 43によって制
御される。スロットメモリ44は論理的には(最大サイズ
のFDDIパケットに十分な)8Kバイトに分割され、これに
パケットが入る。このスロットの概念はメモリ管理の簡
単な方法を提供する。
【0038】DMAコントローラLCA 43の主たる機能は、
スロットメモリ44を管理することである。DMAコントロ
ーラLCA 43はスロットメモリ44との間のデータ転送要求
を受理し、適切なクライアントにデータを移動させるの
に必要なアドレスとデータストローブを生成する。他に
はスロットメモリ44に直接アクセスできる装置はない。
このメモリ管理法は、すべてのアクセスが短時間にす
み、装置間で相互に遅延を発生させないことを保証す
る。
【0039】DMAコントローラLCA 43は二つのDMAチャン
ネルを提供する。一つはバックプレーンDMAコントロー
ラ31との間の転送のためのチャンネルであり、もう一つ
はLANコントローラ32との間の転送のためのチャンネル
である。DMAコントローラLCA 43はまたCPU 37によるス
ロットメモリ44へのアクセスのための代理として機能す
る。DMAコントローラLCA 43はCPU 37がロードできるCPU
アドレスレジスタを有し、これはCPU 37がスロットメモ
リ44へのアクセスを要求するときに用いられる。CPU 37
がデータを要求するとき、DMAコントローラLCA 43はCPU
アドレスレジスタによって指示された場所からデータを
取り出し、それをラッチ46でラッチしてCPU 37が後でア
クセスできるようにする。DMAコントローラLCA 43はま
たもう一つのアドレスレジスタを有し、このアドレスレ
ジスタはチェックサムLCA 42が送出パケットにチェック
サムを挿入できるようにする。
【0040】チェックサムLCA 42はデータ転送中にデー
タバスを探索し、バックプレーンDMAコントローラ31と
スロットメモリ44の間でデータが移動されるときチェッ
クサムを計算する。チェックサム動作を実行するため
に、チェックサムのさまざまなパラメータはまずチェッ
クサムLCA 42にプログラムされなければならない。これ
はこの構成をデータストリームに挿入することによって
達成される。
【0041】チェックサムLCA 42はチェックサム型(無
し、TCP、UDP)、チェックサム開始オフセット、チェッ
クサム停止オフセットおよびチェックサム挿入オフセッ
ト(送出データパケットにのみ用いられる)で構成され
る。すべてのチェックサムオフセットパラメータは、パ
ケットのBYTEオフセットである。
【0042】この好適実施例では、チェックサムLCA 42
はARPAサービスだけを処理する。チェックサムLCA 42は
任意のバイトオフセットである開始および停止オフセッ
トを正しく処理する。これは、ARPAチェックサムの性質
が単純であるために行うことができるが、他のチェック
サム(すなわちOSI)については、これでは十分ではな
い。
【0043】チェックサム停止オフセット値はチェック
サムが停止する正確なオフセットでなければならない。
チェックサムがパケットの最後まで実行されねばならな
い場合にも正確なオフセットを有しなければならない。
チェックサムLCA 42はパケット終端(EOP)ビットに達し
た場合、チェックサムを停止するが、チェックサムLCA4
2はそのワードのすべてのバイトが有効であるかどうか
がわからず、有効であると仮定する。したがって、停止
オフセットが正確でないと不要バイトが含まれることが
ある。
【0044】図15はチェックサムLCA 42のブロック図を
示す。型および状態レジスタ186がチェックサムの型を
記憶する。開始オフセットレジスタ187が開始オフセッ
トを記憶する。停止オフセットレジスタ188が停止オフ
セットを記憶する。挿入オフセットレジスタ189が挿入
オフセットを記憶する。チェックサム累算器182がDMAバ
ス49上のデータストリームのチェックサムを計算する。
チェックサムはチェックサムレジスタ184に記憶され
る。マルチプレクサ183がチェックサムレジスタ184に入
れるべきチェックサム累算器182の結果或いはDMAバス49
上の値を選択する。ラッチ185はチェックサム184をDMA
バス49にラッチするのに用いられる。制御181はチェッ
クサムLCA 42の動作を制御する。図15のブロック図は一
つのチェックサム累算器だけを示すが、異なるチェック
サムアルゴリズムのための追加のチェックサム累算器を
設けることもできる。これらはチェックサムレジスタ18
4に多重化することができる。
【0045】バックプレーンLCA 41はバックプレーンDM
Aコントローラ31とデータをハンドシェークし、データ
をパックおよびアンパックし、またバックプレーンDMA
コントローラ31を介して転送されるデータの適正な位置
合わせを提供するのに用いられる。
【0046】以下にチェックサム挿入を含む送出転送を
説明する。この好適実施例において、ネットワークアダ
プタ12は常に読み出し保留状態にある。これによって、
着信パケットはプロセッサ15に迅速に達することができ
る。このため、プロセッサ15はまずネットワークアダプ
タ12に送出転送が来ていることを知らせて、ネットワー
クアダプタ12がそれを受ける準備ができるようにしなけ
ればならない。また、送出パケットはデータストリーム
にチェックサムが挿入されていなければならないため、
パケットはチェックサムが挿入されるまでは送出されて
はならない。このため送出パケットはチェックサム処理
が終わるまでスロットメモリ44に止められる。
【0047】以下にチェックサムを挿入し送出パケット
を送るために行われなければならないことを説明する。
送出パケットは記憶装置11に構成されねばならない。プ
ロセッサ15はパケットに適当なチェックサム制御ヘッダ
を付けねばならない。
【0048】例えば、図8は記憶装置11中に構成された
送出パケット60を示す。送出パケット60はチェックサム
制御ヘッダ61、リンクレベルヘッダ62、IPヘッダ63、ト
ランスポートヘッダ64およびユーザデータ65を含む。チ
ェックサム制御ヘッダは開始オフセットフィールド71、
停止オフセットフィールド75、アルゴフィールド72、方
向フィールド73、挿入フィールド74および挿入オフセッ
トフィールド76を含むものとして示されている。開始オ
フセットフィールド71は、チェックサムを開始すべきバ
イトを示す。停止オフセットフィールド75は停止オフセ
ット、すなわち、チェックサムを行うべきバイト数を示
す。またフィールド72は使用されるチェックサムアルゴ
リズム(TCP、UDPその他)を示す。方向フィールド73は
データフローの方向(送信或いは着信)を示す。挿入フ
ィールド74は送出パケットにチェックサムを挿入すべき
かどうかを示す。挿入オフセットフィールド76はチェッ
クサムを挿入すべき場所を示す。
【0049】図9はFCパッドバイト160を記憶装置11にい
かに挿入してヘッダを複数バイト境界、例えば16バイト
境界に沿って位置合わせするかを示す。図9において、
リンクレベルヘッダ62は1バイトのフレーム制御(FC)フ
ィールド161、6バイトの行先アドレスフィールド162、6
バイトの出所アドレスフィールド163、1バイトの行先サ
ービスアクセスポイント(DSAP)フィールド164、1バイト
のSSAPフィールド166、制御(CTRL)フィールド167、およ
び他のフィールド(図示せず)を含む。DMAのためのヘ
ッダの位置合わせを可能にするために、FCフィールド16
1の前にFCパッドバイトが加えられる。FCパッドカウン
トフィールド159は加えられるFCパッドバイトの数を示
す。
【0050】FCパッドを用いると、プロセッサ15上で動
作するネットワーキングプロトコルソフトウエアは、リ
ンクヘッダを特別の複数バイト境界に強制することなく
主記憶装置11中にそのヘッダを構成することができる。
一般に、ヘッダは後ろから前へ構成される。したがっ
て、ヘッダの第1バイトは必ずしも特定のバイト境界に
位置合わせされない。従来の技術では、ヘッダが主記憶
装置11からのDMA用に適正に位置合わせされていないと
き、ネットワークアダプタ12へのDMAの前にこのヘッダ
を複写する必要があった。この好適実施例では、DMA転
送の第1のバイトはこのDMAが位置合わせされた(すなわ
ち、キャッシュ行境界)場所で開始されうるようにする
ためにヘッダの前のFCパッドバイトの数の信号を発する
FCカウントである。DMA転送が16バイト境界で始まるよ
うに追加のFCパッドバイトが加えられる。
【0051】記憶装置11中に送出パケットが構成される
と、バックプレーンDMAコントローラ31が記憶装置11か
らネットワークアダプタ12へのデータの移送を開始す
る。DMAコントローラLCA 43はバックプレーンLCA 41か
らスロットメモリ44に、チェックサムLCA 42とDMAコン
トローラLCA 43の構成データを含むチェックサム制御61
以外のデータを移送する。
【0052】DMAコントローラLCA 43はチェックサム制
御ヘッダ60の挿入フィールド74をチェックして、このパ
ケットにチェックサムを挿入すべきが否かを判定しなけ
ればならない。チェックサムを挿入すべき場合には、チ
ェックサムが挿入されるまで送出パケット60をスロット
メモリ44に格納しなければならない。これを図10に示
す。
【0053】DMAコントローラLCA 43がバックプレーンL
CA 41からスロットメモリ44にデータを移送するとき、
チェックサムLCA 42はDMAバス49上のデータを探索し、
そのデータが通過する際にそれをチェックサムする。こ
の好適実施例では、16ビット桁上げ加算が用いられる。
チェックサムは開始オフセットフィールド71によって指
定されるバイトから開始され、停止オフセットに達する
か、或いはパケット終端(EOP)が検出されるまで続けら
れる。チェックサムLCA 42はチェックサムの一部ではな
いバイトをマスクする。これによってチェックサムは任
意のバイト境界で開始および停止しうることになる。こ
れはARPAサービスでは良好に機能するが、他の種類のチ
ェックサムについてはアルゴリズムを多少変更する必要
がある。
【0054】図11はネットワークパケットに付加される
チェックサムを示す。データの最終ワードがバックプレ
ーンLCA 41によってラッチされると、バックプレーンDM
Aコントローラ31に示すように、バックプレーンLCA 41
がその旨の信号をチェックサムLCA 42に送る。この信号
を受け取ると、チェックサムLCA 42はデータバス49上に
チェックサム値77をアサート(assert)し、DMAコントロ
ーラLCA 43に挿入オフセットフィールド76に与えられた
オフセットでスロットメモリ44へのチェックサム値77の
書き込みを行うよう信号を出す。また、パケットの終端
を検出すると、バックプレーンDMAコントローラ31はプ
ロセッサ15に割り込みをかける。プロセッサ15が送出転
送を終えれば、プロセッサ15はネットワークアダプタ12
に読み出しを通知する。プロセッサ15が別の送出転送を
行いたい場合、プロセッサ15は次の送出転送に進む。
【0055】チェックサム値77がスロットメモリ44に書
き込まれると、DMAコントローラLCA43はネットワーク30
への転送のためにスロットメモリ44からLANコントロー
ラ32へのデータの移動を開始する。フロントプレーン制
御LCA 45が32ビットデータストリームを8ビットデータ
ストリームにアンパックする。このデータストリームは
フレーム制御バイトとその前のFCパッドバイトを含む。
フロントプレーン制御LCA 45はFCパッドバイトを取り除
き、残りのデータストリームをLANコントローラ32に送
る。
【0056】送出転送はまたチェックサムの挿入を行わ
ずに送ることもできる。この送出パケットにはチェック
サムを挿入する必要がないため、このパケットは送出の
ために直ちにLANコントローラ32に流すことができる。
チェックサムの挿入を行わないことは、このパケットに
ついてチェックサムを計算することができないという意
味ではない。例えば、IPフラグメント列を処理している
とき、初めのN個のパケットについてチェックサムが計
算され、N+1番目のパケットにはその総計が挿入され
る。初めのN個のパケットは直ちにLANコントローラ32に
流すことができる。
【0057】以下の処理は着信パケットを受信するため
に行われる。着信パケットがLANコントローラ32に到着
し初める。LANコントローラ32はフロントプレーン制御L
CA 45にデータの到着を知らせる信号を発する。フロン
トプレーン制御LCA 45はこのデータをフロントプレーン
制御LCA 45内のバッファにクロックする。受信されたバ
イトの数が一定のしきい値を超えると、DMAコントロー
ラLCA 43に信号が与えられて、スロットメモリ44へのデ
ータの移送が開始される。
【0058】図12はスロットメモリ44に移送される着信
パケット80を示す。データがスロットメモリ44に入ると
き、フロントプレーン制御LCA 45は着信パケット内のDS
APフィールドを探す。これが発見されると、フロントプ
レーン制御LCA 45はDSAPの値に基づいてパッドバイトを
挿入し、パケットのデータとヘッダ部分を位置合わせす
る。
【0059】パッドバイトが挿入された後、DMAコント
ローラLCA 43が残りのデータをスロットメモリ44に移動
する。パケットの終端に達すると、フロントプレーン制
御LCA 45がLANコントローラ32からの状態ビットとパケ
ット長をデータストリームの最後に付け加える。フロン
トプレーン制御LCA 45はまた、先行パッドを付けること
によって状態/長さワードを調整された長いワードにす
る。フロントプレーン制御LCA 45は状態/長さワードの
最終バイト上にEOPビットをアサートする。
【0060】DMAコントローラLCA 43はデータをスロッ
トメモリ44のスロットに移動する。移動されたバイトの
数が一定のしきい値を超えると(例えば32バイト)、CP
U 37に割り込みが発生し、スロットメモリ44からのヘッ
ダの読み出しを開始できる旨の信号が発せられる。CPU
37はこのヘッダを分析してチェックサムの型、開始オフ
セットおよび停止オフセットを判定する。CPUはまた、
ヘッダをどこでデータから分離するかを判定する。
【0061】DMAコントローラLCA 43はCPU 37による分
析を待つ処理待ちパケットの数を追跡するカウンタを有
する。
【0062】CPU 37はヘッダを分析し、ヘッダ/データ
分割情報とチェックサム情報を、DMAコントローラLCA 4
3内のCPUアドレスレジスタを用いてスロットメモリ44に
書き込む。チェックサム型が無しである場合、開始フィ
ールドと停止フィールドは無視され、書き込みの必要は
ない。
【0063】転送の最初の3ワードはバックプレーンLCA
41には与えられないが、現在の着信パケットのチェッ
クサム構成をロードするためにチェックサムLCA 42によ
ってラッチされる。
【0064】次のワードはプロセッサ15へのデータとし
て渡されるのと同様に、バックプレーンLCA 41によって
バックプレーンLCA 41内の内部分割オフセットカウンタ
にロードされる。内部分割オフセットカウントはヘッダ
バッファ長に基づき、ヘッダがいつプロセッサ15に送ら
れたか、またいつデータバイトのパッドを開始してその
データ連鎖の最初のバッファを満たすべきかを判定する
のに用いられる。
【0065】バックプレーンLCA 41は32ビットデータス
トリームをミッドプレーンバス49からバックプレーンDM
Aコントローラ31に転送するための16ビットデータスト
リームにアンパックする。これはDMA転送を終了させる
パケット終端(EOP)が検出されるまで続けられる。
【0066】DSAPパッドはヘッダ/データ分割が4バイ
ト境界上であることを確実にし、したがって奇数バイト
の位置合わせを行う必要がなくなる。CPU 37がヘッダ/
データ分割が偶数バイト境界上でないと判定する場合、
着信パケットはいずれにしても記憶装置に転送されなけ
ればならず、位置合わせはプロセッサ15によって修正さ
れねばならない。バックプレーンLCA 41は奇数分割オフ
セットを検出すると、プロセッサ15によってアクセス可
能な状態レジスタにエラー表示をセットする。
【0067】データが記憶装置11に送られると、バック
プレーンLCA 41は分割オフセットカウントとヘッダバッ
ファ長カウントをデクリメントする。ヘッダバッファ長
カウントはメモリバッファ中のバイト数に初期設定され
る。分割オフセットカウントがゼロになると、バックプ
レーンLCA 41はパッドデータの送出を開始し、またヘッ
ダバッファ長カウントがゼロになるまでそのデクリメン
トを開始する。これによってヘッダだけが入るように設
計された最初のバッファがいっぱいになる。このとき、
バックプレーンLCA 41はスロットメモリ44からのデータ
の送出を再開する。これがページ調整されて終了するデ
ータペイロードとなる。代替好適実施例において、分割
オフセットカウントがゼロになるとき、バックプレーン
LCA 41はパッドデータを送ることなく次のメモリバッフ
ァへのデータの送出を開始する。この代替好適実施例で
は、より効率的な転送が可能であり、バックプレーンDM
Aコントローラがこれを実施できることが望ましい。
【0068】図13はその結果得られる記憶装置11中の位
置合わせを示す。記憶装置11には、ヘッダバッファ91、
データバッファ92およびデータバッファ93を示す。ヘッ
ダバッファは記憶装置の小部分である。データバッファ
92および93はそれぞれ記憶装置11の一つのページを表わ
す。例えば、記憶装置の各ページは2048バイトのデータ
を含む。データのページ調整を確実に行うために、パケ
ットヘッダ101の後にパッドデータ102が加えられて、ヘ
ッダバッファ91が満たされる。これによってパケットデ
ータ103はデータバッファ92の始めに置かれる。必要で
あれば、次のデータバッファ93に追加のパケットデータ
104を入れることもできる。
【0069】データの最終ワードがバックプレーンLCA
41にラッチされるとき、EOPビットがセットされる。こ
のワードは状態長ロングワード(Status Length Long Wo
rd (SLLW))である。バックプレーンLCA 41はこの最後の
32ビットのデータが記憶装置11中の8バイト境界上に来
るかどうかを見る。そうでない場合、パッドバイトを送
ってこの位置合わせをさせる。これは、プロセッサ15が
状態情報およびチェックサム情報を迅速に発見する上で
助けになる。次に、SLLWが送られる。
【0070】図14にネットワークアダプタによりホスト
システムに送られるネットワークパケットを示す。バッ
クプレーンLCA 41はSLLWを送った後、チェックサム結果
87の入ったパイプラインデータバスからのさらにもう一
つのワードを読み込む。チェックサム結果87はDMA転送
終了の信号とともにバックプレーンDMAコントローラ31
に転送される。これでDMA転送が終わり、バックプレー
ンDMAコントローラ31がプロセッサ15に対する割り込み
を発生してDMA転送終了を知らせる。プロセッサ15はこ
の割り込みがあると、着信転送の長さを(ワードで)示
すバックプレーンLCA 41内の状態レジスタを読み出す。
この状態レジスタはまたネットワークアダプタ12上でエ
ラーが発生したかどうか、及び、それ以上の着信或いは
送出処理を行うバッファがネットワークアダプタ12上に
存在するかどうかを示す。
【0071】以上の説明はこの発明の方法の例と実施例
を開示し説明するものにすぎない。当業者には理解され
るように、この発明はその精神或いは基本的特性から離
れることなく他の形態で実施することができる。したが
って、この発明の開示は例として行うものであり、本発
明の特許請求の範囲を限定するものではない。
【0072】
【発明の効果】以上のように、本発明を用いるとチェッ
クサムを取る性能を向上させる効果がある。
【図面の簡単な説明】
【図1】ネットワークで接続された2つの計算機システ
ムを示すブロック図。
【図2】本発明の好適実施例に従ったネットワークを介
したデータフロー図。
【図3】本発明の好適実施例に従って送られるメッセー
ジのためのヘッダの例を示す図。
【図4】本発明の好適実施例に従って送られるメッセー
ジのためのヘッダの例を示す図。
【図5】本発明の好適実施例に従って送られるメッセー
ジのためのヘッダの例を示す図。
【図6】本発明の好適実施例に従って送られるメッセー
ジのためのヘッダの例を示す図。
【図7】本発明の好適実施例に従ったネットワークアダ
プタのブロック図。
【図8】本発明の好適実施例に従ってネットワークアダ
プタに送られるネットワークパケットのヘッダを示す
図。
【図9】本発明の好適実施例に従って記憶装置上に構築
されるパケットに付加されたパッドを示す図。
【図10a】本発明の好適実施例に従ってホストシステ
ムからネットワークパケットを受信したネットワークア
ダプタを示す図。
【図10b】本発明の好適実施例に従ってホストシステ
ムからネットワークパケットを受信したネットワークア
ダプタを示す図。
【図10c】本発明の好適実施例に従ってホストシステ
ムからネットワークパケットを受信したネットワークア
ダプタを示す図。
【図11a】本発明の好適実施例に従ってネットワーク
パケットに付加されたチェックサムを示すブロック図。
【図11b】本発明の好適実施例に従ってネットワーク
パケットに付加されたチェックサムを示すブロック図。
【図11c】本発明の好適実施例に従ってネットワーク
パケットに付加されたチェックサムを示すブロック図。
【図12a】本発明の好適実施例に従ってネットワーク
からネットワークアダプタにより受信されたネットワー
クパケットを示すブロック図。
【図12b】本発明の好適実施例に従ってネットワーク
からネットワークアダプタにより受信されたネットワー
クパケットを示すブロック図。
【図12c】本発明の好適実施例に従ってネットワーク
からネットワークアダプタにより受信されたネットワー
クパケットを示すブロック図。
【図13】本発明の好適実施例に従って主記憶装置に記
憶されたネットワークパケットを示す図。
【図14a】本発明の好適実施例に従ってホストシステ
ムへネットワークアダプタより送られたネットワークパ
ケットを示すブロック図。
【図14b】本発明の好適実施例に従ってホストシステ
ムへネットワークアダプタより送られたネットワークパ
ケットを示すブロック図。
【図14c】本発明の好適実施例に従ってホストシステ
ムへネットワークアダプタより送られたネットワークパ
ケットを示すブロック図。
【図15】本発明の好適実施例に従ったチェックサムロ
ジックセルアレイのブロック図。
【符号の説明】
10、20:計算機システム 11、21:記憶装置 12、22:ネットワークアダプタ 13、23:メモリバス 14、24:キャッシュ 15、25:プロセッサ 30:ネットワーク
フロントページの続き (72)発明者 ジョン・エル・バーネット アメリカ合衆国カリフォルニア州クパチー ノ、バレー・グリーン・ドライブ 20990 アパートメント・ナンバー667 (72)発明者 フランク・フィドゥシア アメリカ合衆国カリフォルニア州クパチー ノ、テラス・ドライブ 21711

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】ネットワークに接続され、プロセッサ、主
    記憶装置及びネットワークアダプタを有する計算機シス
    テムにおいて、次の(a)ないし(d)のステップを有する前
    記ネットワークを介して送信されるネットワークパケッ
    トのチェックサムを取る方法: (a)前記プロセッサにより前記主記憶装置中に前記ネッ
    トワークパケットを構成するステップ; (b)前記主記憶装置から前記ネットワークアダプタ中の
    パケット貯蔵記憶装置に前記ネットワークパケットを転
    送し、また前記ネットワークパケットの転送中に前記ネ
    ットワークアダプタにより前記ネットワークパケットの
    前記チェックサムを計算するステップ; (c)前記ネットワークアダプタにより前記パケット貯蔵
    メモリ中の前記ネットワークパケットに前記チェックサ
    ムを挿入するステップ; (d)前記ネットワークアダプタにより前記ネットワーク
    パケットを前記ネットワークに転送するステップ。
  2. 【請求項2】ネットワークに接続され、主記憶装置及び
    ネットワークアダプタを有する計算機システムにおい
    て、次の(a)ないし(c)のステップを有する前記ネットワ
    ークから受信したネットワークパケットのチェックサム
    を取る方法: (a)前記ネットワークアダプタにより前記ネットワーク
    から前記ネットワークパケットを受信するステップ; (b)前記ネットワークアダプタから前記主記憶装置に前
    記ネットワークパケットを転送するために次のステップ
    (1)を有し、また前記ネットワークパケットの転送中に
    前記ネットワークアダプタにより前記ネットワークパケ
    ットの前記チェックサムを計算するステップ; (c)前記ネットワークアダプタにより前記主記憶装置に
    転送された前記ネットワークパケットに前記チェックサ
    ムを追加するステップ。
  3. 【請求項3】ネットワークに接続され、プロセッサ、主
    記憶装置、及びネットワークアダプタを有することを特
    徴するシステム:前記ネットワークアダプタは、次の
    (a)ないし(d)を有する: (a)DMAバス; (b)前記DMAバスに接続され、ネットワークパケットを貯
    蔵する手段; (c)前記DMAバスに接続され、前記主記憶装置と前記パケ
    ット貯蔵手段との間でネットワークパケットを転送する
    手段; (d)前記DMAバスに接続され、前記ネットワークパケット
    の転送中に前記ネットワークパケットのチェックサムを
    計算する手段:前記チェックサム計算手段は前記DMAバ
    ス上の転送データを監視するためのスヌープ手段を有す
    る。
JP5151356A 1992-05-29 1993-05-28 ネットワークアダプタシステム Pending JPH0678024A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/891,505 US5430842A (en) 1992-05-29 1992-05-29 Insertion of network data checksums by a network adapter
US891,505 1992-05-29

Publications (1)

Publication Number Publication Date
JPH0678024A true JPH0678024A (ja) 1994-03-18

Family

ID=25398309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5151356A Pending JPH0678024A (ja) 1992-05-29 1993-05-28 ネットワークアダプタシステム

Country Status (4)

Country Link
US (1) US5430842A (ja)
EP (1) EP0572146B1 (ja)
JP (1) JPH0678024A (ja)
DE (1) DE69329216T2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105160A (en) * 1996-12-24 2000-08-15 Nec Corporation Packet error detecting device in a DMA transfer
JP2006279801A (ja) * 2005-03-30 2006-10-12 Oki Techno Creation:Kk パケット処理装置
JP2007189296A (ja) * 2006-01-11 2007-07-26 Renesas Technology Corp ストリームデータ通信方法及びストリームデータ通信装置
JP2008109473A (ja) * 2006-10-26 2008-05-08 Canon Inc データ処理装置及び方法
JP2017103648A (ja) * 2015-12-02 2017-06-08 キヤノン株式会社 演算装置及び演算方法、通信装置
JP2019201249A (ja) * 2018-05-14 2019-11-21 キヤノン株式会社 通信装置、通信装置の制御方法、およびプログラム
US10701041B2 (en) 2015-12-11 2020-06-30 Canon Kabushiki Kaisha Calculation device, calculation method, communication apparatus, and storage medium
US10833703B2 (en) 2017-12-13 2020-11-10 Canon Kabushiki Kaisha DMA transfer apparatus, method of controlling the same, communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9300942D0 (en) * 1993-01-19 1993-03-10 Int Computers Ltd Parallel computer system
US5522039A (en) * 1993-09-09 1996-05-28 Hewlett-Packard Company Calculation of network data check sums by dedicated hardware with software corrections
US5895499A (en) 1995-07-03 1999-04-20 Sun Microsystems, Inc. Cross-domain data transfer using deferred page remapping
US5663952A (en) * 1995-07-07 1997-09-02 Sun Microsystems, Inc. Checksum generation circuit and method
US5737638A (en) * 1995-07-14 1998-04-07 International Business Machines Corporation System for determining plurality of data transformations to be performed upon single set of data during single transfer by examining communication data structure
US5826032A (en) * 1996-02-12 1998-10-20 University Of Southern California Method and network interface logic for providing embedded checksums
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
US6311226B1 (en) 1997-08-29 2001-10-30 Cisco Technology, Inc. Method and apparatus for dynamic link name negotiation
US5898713A (en) * 1997-08-29 1999-04-27 Cisco Technology, Inc. IP checksum offload
US5983272A (en) * 1997-08-29 1999-11-09 Cisco Technology, Inc. Option request protocol
US6289023B1 (en) * 1997-09-25 2001-09-11 Hewlett-Packard Company Hardware checksum assist for network protocol stacks
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
US6330614B1 (en) * 1998-03-20 2001-12-11 Nexabit Networks Llc Internet and related networks, a method of and system for substitute use of checksum field space in information processing datagram headers for obviating processing speed and addressing space limitations and providing other features
US6310884B1 (en) 1998-05-21 2001-10-30 Lsi Logic Corporation Data transfer method and apparatus that allocate storage based upon a received relative offset
EP0978977A1 (en) 1998-08-07 2000-02-09 International Business Machines Corporation A method and system for improving high speed internetwork data transfers
US6711178B1 (en) 1998-09-08 2004-03-23 Cisco Technology, Inc. Enhanced claw packing protocol
US6182267B1 (en) 1998-11-20 2001-01-30 Cisco Technology, Inc. Ensuring accurate data checksum
US6279140B1 (en) * 1999-01-07 2001-08-21 International Business Machines Corporation Method and apparatus for checksum verification with receive packet processing
US6327691B1 (en) * 1999-02-12 2001-12-04 Sony Corporation System and method for computing and encoding error detection sequences
JP2001027877A (ja) * 1999-04-30 2001-01-30 Hewlett Packard Co <Hp> データ・ストリームに対してアルゴリズムを実行する装置
US6530061B1 (en) * 1999-12-23 2003-03-04 Intel Corporation Method and apparatus for offloading checksum
US7274706B1 (en) 2001-04-24 2007-09-25 Syrus Ziai Methods and systems for processing network data
BR0211568A (pt) * 2001-07-30 2004-07-13 Siemens Ag Processo para suporte de vários algoritmos de soma de teste em um nó de rede
US6976205B1 (en) * 2001-09-21 2005-12-13 Syrus Ziai Method and apparatus for calculating TCP and UDP checksums while preserving CPU resources
US8325716B2 (en) * 2001-10-22 2012-12-04 Broadcom Corporation Data path optimization algorithm
US7844697B1 (en) * 2002-01-25 2010-11-30 Juniper Networks, Inc. Measuring network traffic based on predicted amount of padding
US7269661B2 (en) 2002-02-12 2007-09-11 Bradley Richard Ree Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
US7737134B2 (en) * 2002-03-13 2010-06-15 The Texas A & M University System Anticancer agents and use
US20040006636A1 (en) * 2002-04-19 2004-01-08 Oesterreicher Richard T. Optimized digital media delivery engine
US7899924B2 (en) * 2002-04-19 2011-03-01 Oesterreicher Richard T Flexible streaming hardware
US20040006635A1 (en) * 2002-04-19 2004-01-08 Oesterreicher Richard T. Hybrid streaming platform
US7284181B1 (en) * 2002-04-24 2007-10-16 Juniper Networks, Inc. Systems and methods for implementing end-to-end checksum
US7020836B2 (en) * 2002-07-30 2006-03-28 Intel Corporation One's complement pipelined checksum
US7120858B2 (en) * 2002-08-21 2006-10-10 Sun Microsystems, Inc. Method and device for off-loading message digest calculations
US7949732B1 (en) 2003-05-12 2011-05-24 Sourcefire, Inc. Systems and methods for determining characteristics of a network and enforcing policy
US7676621B2 (en) 2003-09-12 2010-03-09 Hewlett-Packard Development Company, L.P. Communications bus transceiver
US7103683B2 (en) * 2003-10-27 2006-09-05 Intel Corporation Method, apparatus, system, and article of manufacture for processing control data by an offload adapter
US7617438B2 (en) * 2004-04-15 2009-11-10 International Business Machines Corporation Method and apparatus for supporting checksum offload in partitioned data processing systems
US7539681B2 (en) * 2004-07-26 2009-05-26 Sourcefire, Inc. Methods and systems for multi-pattern searching
US7881332B2 (en) * 2005-04-01 2011-02-01 International Business Machines Corporation Configurable ports for a host ethernet adapter
US7586936B2 (en) 2005-04-01 2009-09-08 International Business Machines Corporation Host Ethernet adapter for networking offload in server environment
US7697536B2 (en) * 2005-04-01 2010-04-13 International Business Machines Corporation Network communications for operating system partitions
US20060221953A1 (en) * 2005-04-01 2006-10-05 Claude Basso Method and apparatus for blind checksum and correction for network transmissions
US7508771B2 (en) 2005-04-01 2009-03-24 International Business Machines Corporation Method for reducing latency in a host ethernet adapter (HEA)
US7577151B2 (en) * 2005-04-01 2009-08-18 International Business Machines Corporation Method and apparatus for providing a network connection table
US7706409B2 (en) 2005-04-01 2010-04-27 International Business Machines Corporation System and method for parsing, filtering, and computing the checksum in a host Ethernet adapter (HEA)
US7903687B2 (en) 2005-04-01 2011-03-08 International Business Machines Corporation Method for scheduling, writing, and reading data inside the partitioned buffer of a switch, router or packet processing device
US7606166B2 (en) 2005-04-01 2009-10-20 International Business Machines Corporation System and method for computing a blind checksum in a host ethernet adapter (HEA)
US7492771B2 (en) 2005-04-01 2009-02-17 International Business Machines Corporation Method for performing a packet header lookup
US8046833B2 (en) 2005-11-14 2011-10-25 Sourcefire, Inc. Intrusion event correlation with network discovery information
US7733803B2 (en) * 2005-11-14 2010-06-08 Sourcefire, Inc. Systems and methods for modifying network map attributes
US7948988B2 (en) * 2006-07-27 2011-05-24 Sourcefire, Inc. Device, system and method for analysis of fragments in a fragment train
US7701945B2 (en) * 2006-08-10 2010-04-20 Sourcefire, Inc. Device, system and method for analysis of segments in a transmission control protocol (TCP) session
DE102007046190A1 (de) * 2006-10-27 2008-04-30 Feig Electronic Gmbh Verfahren und Schreib-/Lesestation und Transponder eines RFID-Systems zur Datenübertragung
US8069352B2 (en) * 2007-02-28 2011-11-29 Sourcefire, Inc. Device, system and method for timestamp analysis of segments in a transmission control protocol (TCP) session
US8127353B2 (en) * 2007-04-30 2012-02-28 Sourcefire, Inc. Real-time user awareness for a computer network
US8151177B2 (en) * 2007-11-28 2012-04-03 International Business Machines Corporation Methods and arrangements for partial word stores in networking adapters
US8474043B2 (en) * 2008-04-17 2013-06-25 Sourcefire, Inc. Speed and memory optimization of intrusion detection system (IDS) and intrusion prevention system (IPS) rule processing
WO2010045089A1 (en) 2008-10-08 2010-04-22 Sourcefire, Inc. Target-based smb and dce/rpc processing for an intrusion detection system or intrusion prevention system
EP2559217B1 (en) 2010-04-16 2019-08-14 Cisco Technology, Inc. System and method for near-real time network attack detection, and system and method for unified detection via detection routing
US8433790B2 (en) 2010-06-11 2013-04-30 Sourcefire, Inc. System and method for assigning network blocks to sensors
US8671182B2 (en) 2010-06-22 2014-03-11 Sourcefire, Inc. System and method for resolving operating system or service identity conflicts
US8601034B2 (en) 2011-03-11 2013-12-03 Sourcefire, Inc. System and method for real time data awareness
CN109643391B (zh) * 2018-01-15 2023-06-13 深圳鲲云信息科技有限公司 流水处理接口结构、电子器件及电子装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4168469A (en) * 1977-10-04 1979-09-18 Ncr Corporation Digital data communication adapter
US5058110A (en) * 1989-05-03 1991-10-15 Ultra Network Technologies Protocol processor
EP0473102B1 (en) * 1990-08-29 1995-11-22 Honeywell Inc. Data communication system with checksum calculating means

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105160A (en) * 1996-12-24 2000-08-15 Nec Corporation Packet error detecting device in a DMA transfer
JP2006279801A (ja) * 2005-03-30 2006-10-12 Oki Techno Creation:Kk パケット処理装置
JP2007189296A (ja) * 2006-01-11 2007-07-26 Renesas Technology Corp ストリームデータ通信方法及びストリームデータ通信装置
JP2008109473A (ja) * 2006-10-26 2008-05-08 Canon Inc データ処理装置及び方法
US8219866B2 (en) 2006-10-26 2012-07-10 Canon Kabushiki Kaisha Apparatus and method for calculating and storing checksums based on communication protocol
JP2017103648A (ja) * 2015-12-02 2017-06-08 キヤノン株式会社 演算装置及び演算方法、通信装置
US10701041B2 (en) 2015-12-11 2020-06-30 Canon Kabushiki Kaisha Calculation device, calculation method, communication apparatus, and storage medium
US10833703B2 (en) 2017-12-13 2020-11-10 Canon Kabushiki Kaisha DMA transfer apparatus, method of controlling the same, communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium
US11336297B2 (en) 2017-12-13 2022-05-17 Canon Kabushiki Kaisha DMA transfer apparatus, method of controlling the same, communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium
JP2019201249A (ja) * 2018-05-14 2019-11-21 キヤノン株式会社 通信装置、通信装置の制御方法、およびプログラム

Also Published As

Publication number Publication date
DE69329216T2 (de) 2000-12-28
DE69329216D1 (de) 2000-09-21
US5430842A (en) 1995-07-04
EP0572146A3 (en) 1995-01-25
EP0572146A2 (en) 1993-12-01
EP0572146B1 (en) 2000-08-16

Similar Documents

Publication Publication Date Title
JPH0678024A (ja) ネットワークアダプタシステム
JPH0662075A (ja) ネットワークアダプタシステム
US7773599B1 (en) Packet fragment handling
US9380134B2 (en) RoCE packet sequence acceleration
US7916632B1 (en) Systems and methods for handling packet fragmentation
US5909546A (en) Network interface having support for allowing remote operations with reply that bypass host computer interaction
JP5066707B2 (ja) 順次処理を減らしたtcp/ipオフロードデバイス
US7936758B2 (en) Logical separation and accessing of descriptor memories
US6310884B1 (en) Data transfer method and apparatus that allocate storage based upon a received relative offset
US8225188B2 (en) Apparatus for blind checksum and correction for network transmissions
US7689738B1 (en) Peripheral devices and methods for transferring incoming data status entries from a peripheral to a host
US6668299B1 (en) Software interface between a parallel bus and a packet network
US8085780B1 (en) Optimized buffer loading for packet header processing
EP0905938A2 (en) Hardware checksum assist for network protocol stacks
JPH09321828A (ja) 保護メモリ・オペレーティング・システムにおけるデータ・コピー・オーバーヘッドを削減する機構
JPH0678001A (ja) ネットワークアダプタシステム
US7701973B2 (en) Processing receive protocol data units
KR20010076328A (ko) 티씨피/아이피를 하드웨어적으로 처리하는 장치 및 그동작방법
US5802064A (en) Protocol header alignment
US6279052B1 (en) Dynamic sizing of FIFOs and packets in high speed serial bus applications
US7239630B1 (en) Dedicated processing resources for packet header generation
US7158520B1 (en) Mailbox registers for synchronizing header processing execution
US7180893B1 (en) Parallel layer 2 and layer 3 processing components in a network router
US7532644B1 (en) Method and system for associating multiple payload buffers with multidata message
JP2001027877A (ja) データ・ストリームに対してアルゴリズムを実行する装置