JP2985511B2 - データ受信方式および通信制御装置 - Google Patents

データ受信方式および通信制御装置

Info

Publication number
JP2985511B2
JP2985511B2 JP4154736A JP15473692A JP2985511B2 JP 2985511 B2 JP2985511 B2 JP 2985511B2 JP 4154736 A JP4154736 A JP 4154736A JP 15473692 A JP15473692 A JP 15473692A JP 2985511 B2 JP2985511 B2 JP 2985511B2
Authority
JP
Japan
Prior art keywords
header
received
data
reception
predicted
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.)
Expired - Fee Related
Application number
JP4154736A
Other languages
English (en)
Other versions
JPH05347650A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4154736A priority Critical patent/JP2985511B2/ja
Publication of JPH05347650A publication Critical patent/JPH05347650A/ja
Application granted granted Critical
Publication of JP2985511B2 publication Critical patent/JP2985511B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ受信方式および通
信制御装置に関し、更に詳しくは、計算機等の機器を通
信ネットワークに接続するための通信制御装置における
データ受信処理の高速化方式に関する。
【0002】
【従来の技術】データ通信システムにおいて、データ受
信時の通信プロトコル処理を高速化する方式として、例
えば、特願平1−57701号公報に記載の「プロトコ
ル高速処理方式およびネットワーク・システム」があ
る。上記公報に記載の発明は、フレームを受信した際
に、複数のヘッダ要素から成るプロトコルヘッダをヘッ
ダ要素毎に逐次解析するのではなく、自局が以前に送信
したフレームのヘッダまたは自局が以前に受信したフレ
ームのヘッダに基づき、次に受信するであろうフレーム
に対する一つ又は複数レイヤのヘッダをまとめて予測
し、実際にフレームを受信した際、受信したヘッダと予
測ヘッダとを一括して比較することにより、受信したフ
レームに対するヘッダ解析処理を高速化するものである
(以下、上記従来の発明をヘッダ予測方式という)。
【0003】更に、データ受信時のプロトコル処理を高
速化する他の技術として、特開昭62−164345号
公報に記載の「通信制御装置」がある。上記公報に記載
の発明は、ネットワークからのフレーム受信が完了した
後でプロトコル処理を開始するのではなく、ある固定長
分のデータ(ヘッダ部分)の受信完了をハードウエアで
検出し、このタイミングをプロトコルヘッダの受信完了
とみなし、フレームの受信が完了する前にマイクロプロ
グラムによるプロトコルヘッダの解析処理を開始するこ
とにより、フレーム受信時のプロトコル処理時間を短縮
するようにしている。
【0004】
【発明が解決しようとする課題】或る計算機が同時に複
数の計算機と通信する環境下では、複数の予測ヘッダが
存在することになる。例えば、トランスポートレイヤで
設定するコネクション単位にヘッダ予測を行なう場合に
は、コネクション数分の予測ヘッダが存在する。このよ
うな場合に、特願平1−57701号公報に記載のヘッ
ダ予測方式によれば、フレーム受信時に、受信フレーム
中のトランスポートヘッダの中からコネクション識別子
を抽出し、比較対象となる予測ヘッダを特定する必要が
ある。
【0005】また、LAN環境で使用されるOSIプロ
トコルのトランスポートプロトコル・クラス4(TP
4)、コネクションレス・ネットワークプロトコル(C
LNP)、ロジカルリンクコントロール・タイプ1(L
LCタイプ1)の組合せにおいては、トランスポートヘ
ッダに先行するネットワークレイヤのヘッダは可変長で
あり、コネクション識別子を抽出するためには、ネット
ワークレイヤのヘッダ解析が必須である。すなわち、複
数の予測ヘッダの中から比較すべき予測ヘッダを特定す
るためには、結局、プロトコルヘッダを下位レイヤから
逐次解析しなければならないという問題があった。
【0006】すなわち、上記特願平1−57701号公
報に記載のヘッダ予測方式は、予測するヘッダが複数存
在する場合、複数の予測ヘッダを逐次比較しすることに
よって、対象となる予測ヘッダを特定する必要があり、
高速化の面において改善の余地を残している。
【0007】一方、特開昭62−164345号公報に
記載されたプロトコルヘッダの解析処理をフレーム受信
完了前に開始する方式は、ヘッダが可変長のプロトコル
に対して、プロトコルヘッダを解析することなく、プロ
トコルヘッダの受信完了タイミングをハードウエアで正
確に抽出することは困難であり、また、一旦バッファメ
モリに格納したプロトコルヘッダをマイクロプログラム
によって解析するようにしているため、高速化の面で改
善の余地を残している。
【0008】本発明の目的は、フレーム受信時のプロト
コル処理を高速化したフレーム受信方式および通信制御
装置を提供することにある。
【0009】本発明の他の目的は、予測ヘッダ数に関係
なく、プロトコルヘッダの解析処理を高速化したフレー
ム受信方式および通信制御装置を提供することにある。
【0010】
【課題を解決するための手段】上記目的を達成するため
に、本発明では、ネットワークからのフレーム受信、プ
ロトコル処理、および受信データの計算機への転送処理
の三つの処理をそれぞれオーバラップさせ、通信制御装
置全体の受信処理時間を短縮することを特徴とする。
【0011】本発明の他の側面は、自局が以前に送信し
たフレームのヘッダまたは自局が以前に受信したフレー
ムのヘッダに基づき、次に受信するであろうフレームの
ヘッダを予測しておき、実際にフレームを受信したと
き、複数の予測ヘッダの中から、上記受信ヘッダと一致
するものを高速に検索し、予測ヘッダ数に関係なくプロ
トコルヘッダの解析処理を高速化したことにある。
【0012】本発明の他の側面は、プロトコルヘッダが
可変長のプロトコルあるいはヘッダ長が異なる複数のプ
ロトコルを扱う場合において、プロトコルヘッダの受信
完了タイミングを正確に抽出し、プロトコルヘッダを一
旦バッファメモリに格納することなく、ハードウェアに
よって受信中のプロトコルヘッダをリアルタイムに解析
することにより、フレーム受信時のプロトコル処理を高
速化したことにある。更に具体的に述べると、本発明に
よる通信制御装置は、通信制御処理を実行するマイクロ
プロセッサと、送受信データを一時的に格納するバッフ
ァメモリ、計算機内の主メモリと、バッファメモリとの
間でデータの転送制御を行なうDMAコントローラと、
LANとの接続制御を行なうLANコントローラと、計
算機インタフェース回路とを有する。また、高速化のた
めに、内部バスを、送受信データを転送するためのバス
と、マイクロプロセッサが通信制御処理に使用するバス
とを分離した形とし、以下の手段を備える。
【0013】(a):自局が以前に送信したフレームの
ヘッダまたは自局が以前に受信したフレームのヘッダに
基づいて作成され、次に受信が期待されるフレーム(予
測ヘッダ)と予測ヘッダ長とを複数登録でき、ネットワ
ークから受信される受信データを取り込みながら、登録
済みの複数の予測ヘッダと受信データを同時に比較する
手段、および複数の予測ヘッダ長と比較時点での受信デ
ータ数とを同時に比較する手段。
【0014】(b):手段(a)の比較結果に基づき、
予測ヘッダと受信ヘッダの一致を示す信号と、一致した
予測ヘッダの識別子を出力するための手段。
【0015】(c):手段(b)から出力される一致信
号およびヘッダ識別子に応答して、DMAコントローラ
を起動し、受信データの計算機への転送を開始するため
の手段。
【0016】(d):ネットワークからのフレーム受信
完了時に、受信異常をチェックし、受信異常の場合に
は、当該受信フレームを廃棄し、通信制御処理の状態を
フレーム受信前の状態に戻すための手段。
【0017】
【作用】手段(a)により、受信ヘッダと複数の予測ヘ
ッダを同時に比較することによって、予測ヘッダの数に
関係なく、プロトコルヘッダの解析処理を高速化でき
る。また、予測したヘッダの長さおよび受信データ数を
比較することにより、プロトコルヘッダが可変長のプロ
トコルに対しても、プロトコルヘッダの受信完了タイミ
ングを正確にハードウエアで抽出できる。更に、ネット
ワークから受信される受信データを取り込みながら予測
ヘッダと比較することにより、プロトコルヘッダを一旦
バッファメモリに格納することなく、受信中のプロトコ
ルヘッダをリアルタイムに解析できる。
【0018】手段(b)、(c)により、ネットワーク
からのフレーム受信と、受信データの計算機への転送を
オーバラップして実行できる。
【0019】手段(a)、(b)、(c)により、通信
制御装置内で発生するネットワークからのフレーム受
信、プロトコル処理、受信データの計算機への転送処理
の三つの処理をそれぞれオーバラップさせることがで
き、通信制御装置全体の受信処理時間を短縮することが
できる。
【0020】手段(d)により、フレーム受信完了前に
プロトコル処理が開始されたことによる不具合を防止で
きる。
【0021】
【実施例】以下、本発明の実施例を図面を参照しながら
説明する。
【0022】〔実施例1〕まず、本実施例の前提となる
システムの概要を説明する。
【0023】図2は、本発明に係る通信ネットワークシ
ステムの一例を示し、複数の計算機1(1A〜1D)
が、それぞれ通信制御装置2(2A〜2D)を介してネ
ットワーク3に接続されている。
【0024】図3は、ネットワーク3としてローカルエ
リアネットワーク(LAN)を適用した場合の通信制御
装置2の構成の1例を示すブロック図である。
【0025】通信制御装置2は、計算機1内のシステム
バス6と接続されている。計算機1は、上記システムバ
ス6で接続された主プロセッサ4と主メモリ5とからな
っている。
【0026】通信制御装置2は、通信制御処理を実行す
るマイクロプロセッサ10と、プログラムメモリ20
と、ローカルメモリ30と、本発明の主要部をなすヘッ
ダ予測回路100αと、送受信データを一時的に格納す
るバッファメモリ40と、計算機1内の主メモリ5と、
バッファメモリ40との間でデータの転送制御を行なう
DMAコントローラ50(以下、DMAC50と記す)
と、LANとの接続制御を行なうLANコントローラ6
0と、計算機インタフェース回路70で構成される。
【0027】通信制御装置2の内部バスは、2系統の内
部バスから成る。一つは、送受信データが転送されるデ
ータバス90(90A、90B)であり、もう一つは、
マイクロプロセッサ10が接続され、通信制御処理が行
なわれる制御バス80である。
【0028】ヘッダ予測回路100αは、次に受信を期
待する複数の予測ヘッダの中から実際に受信したヘッダ
と一致するものを高速に検索する回路である。バッファ
メモリ40は、3ポートメモリを形成し、DMAC5
0、LANコントローラ60、マイクロプロセッサ10
から同時にアクセスできるように構成する。ヘッダ予測
回路100α、DMAC50及び、LANコントローラ
60は、マイクロプロセッサ10により制御される。
【0029】マイクロプロセッサ10は、計算機1から
データ送信要求を受けると、DMAC50を用いて主メ
モリ5に格納された送信データをバッファメモリ40に
転送し、プロトコル処理を行った後、LANコントロー
ラ60を起動してフレームをネットワーク3に送出す
る。一方、LANコントローラ60からデータ受信通知
を受けると、プロトコル処理を行った後、DMAC50
を用いて受信データを主メモリ5に転送し、計算機に対
してデータ受信を通知する。
【0030】図4は、計算機1と通信制御装置2が実行
する通信プロトコルの階層を示す図である。本実施例で
は、7階層から成るOSIプロトコルに対して、レイヤ
5(プレゼンテーションレイヤ)以上を計算機の主プロ
セッサで実行し、レイヤ4(トランスポートレイヤ)か
らレイヤ2(LLCサブレイヤ)までを通信制御装置2
内のマイクロプロセッサ10で実行し、レイヤ2(MA
Cサブレイヤ)以下を通信制御装置2内のLANコント
ローラ60で実行する。
【0031】図5は、通信制御装置2間でやりとりされ
るフレームのフォーマットを示す図である。計算機1間
で転送されるデータ46には、レイヤ4以下のヘッダ
(TLヘッダ45、NLヘッダ44、LLCヘッダ4
3、MACヘッダ42、PHYヘッダ41)とトレイラ
47とが付加されて、1つのフレーム48を形成する。
【0032】TLヘッダ45、NLヘッダ44、LLC
ヘッダ43は、通信制御装置2内のマイクロプロセッサ
10によって処理され、MACヘッダ42、PHYヘッ
ダ41、トレイラ47は、LANコントローラ60によ
って処理される。
【0033】図6は、マイクロプロセッサ10が処理す
るOSIプロトコルのレイヤ4からレイヤ2(LLCサ
ブレイヤ)のプロトコルの内、主にLAN環境で使用さ
れるTP4、CLNP、LLCタイプ1の主なヘッダ形
式(a)〜(h)を示した図である。
【0034】図7は、OSIトランスポート・プロトコ
ル(TP4)の通信シーケンスと、データ受信局(通信
制御装置2B)におけるヘッダ予測手順の一例を示した
図である。通信制御装置2は、データ転送に先立ち、C
Rパケット500、CCパケット501、AKパケット
503を送受信し、コネクションを設定する。コネクシ
ョン設定が完了した時点で、最初に受信するであろうD
Tパケット502のレイヤ4からレイヤ2(LLCサブ
レイヤ)までのヘッダをまとめて予測し、DTパケット
502を受信すると、予測したヘッダと受信ヘッダを一
括して比較する。受信ヘッダと予測ヘッダが一致すれ
ば、受信したパケットは正常なパケットである。
【0035】すなわち、本発明によるヘッダ予測方式に
よれば、予測ヘッダと受信ヘッダを比較することによ
り、受信ヘッダの解析処理が行える。受信ヘッダが予測
ヘッダと一致すると、必要に応じてAKパケット503
を返信し、次のデータ受信に備え、予測ヘッダを更新し
ておく。例えば、パケットの転送順序が示されるシーケ
ンス番号を更新しておく。データの転送が終了すると、
DRパケット504、DCパケット505を送受信しコ
ネクションを解放する。
【0036】図8は、複数の予測ヘッダの中から受信ヘ
ッダと一致するものを高速に検索する機能を備えたヘッ
ダ予測回路100αの構成の1例を示すブロック図であ
る。ヘッダ予測回路100αは、複数のエントリと、登
録・検索制御回路160とで構成され、各エントリは、
予測ヘッダを格納するためのnバイト幅の予測ヘッダレ
ジスタ110(110A、110B)と、受信ヘッダを
格納するためのnバイト幅の受信ヘッダレジスタ150
(150A、150B)と、予測ヘッダと受信ヘッダを
比較するためのヘッダ比較器120(120A、120
B)と、ヘッダの比較において比較対象外のエリア(予
測できない部分や、nバイト以下の予測ヘッダに対する
パディング部分など)を指定したマスクデータを保持す
るためのnバイト幅のマスクレジスタ140(140
A、140B)と、受信ヘッダの内容をマスクデータで
マスクしたデータをヘッダ比較器120に与えるための
マスク回路130(130A、130B)とからなる。
【0037】登録・検索制御回路160は、マイクロプ
ロセッサ10からのコマンドに応答して、予測ヘッダの
登録処理、登録済みの予測ヘッダの中から受信ヘッダと
一致するものの検索処理、および、登録されている予測
ヘッダの削除処理を行う。
【0038】図9は、登録・検索制御回路160の構成
の1例を示すブロック図である。
【0039】登録・検索制御回路160は、ヘッダ予測
回路100αに対するコマンドを保持するためのコマン
ドレジスタ160−1と、登録する予測ヘッダを一時的
に保持するための予測ヘッダ登録レジスタ160−2
と、登録するマスクデータを一時的に保持するためのマ
スクデータ登録レジスタ160−3と、予測ヘッダを識
別するための予測ヘッダ識別子を保持するヘッダ識別子
レジスタ160−4と、受信したデータ(ヘッダ)を一
時的に保持するための受信ヘッダ入力レジスタ160−
5と、検索結果を保持するためのステータスレジスタ1
60−6と、ヘッダ識別子レジスタ160−4の内容に
基づいて選択されたエントリに、比較許可信号162
(162A、162B)と予測ヘッダ161(161
A、161B)とマスクデータ164(164A、16
4B)とを与える選択回路160−9〜11と、各エン
トリから出力される予測ヘッダと受信ヘッダの一致信号
163(163A、163B)の論理和(OR)を取る
OR回路160−12と、上記一致信号163をコード
化し、一致したエントリの番号に変換するコーダ160
−13と、一致したエントリの番号を予測ヘッダ識別子
として保持する一致ヘッダ通知レジスタ160−7と、
マイクロプロセッサ10に割り込みを発生させる割り込
み発生回路160−14と、上記ハードウエアを制御す
るコントローラ160−8で構成される。
【0040】本実施例では、登録・検索制御回路160
は、予測ヘッダ識別子がエントリの番号に等しくなるよ
うに構成してある。
【0041】図10は、通信制御装置2で行なわれるヘ
ッダ予測処理に関するフローチャートを示す。
【0042】マイクロプロセッサ10は、通信制御装置
2間でコネクションを設定した後、当該コネクションに
対して最初に受信すべきデータパケットのレイヤ4から
レイヤ2(LLCサブレイヤ)に対する予測ヘッダ、マ
スクデータ及び上記予測ヘッダに対する予測ヘッダ識別
子を作成し(ステップ200)、ヘッダ予測回路100
αに登録する(201)。次に、ローカルメモリ30に
定義した図11に示す受信処理定義テーブル31に、上
記予測ヘッダ識別子及びヘッダ解析処理以外の受信処理
を登録し(202)、フレームの受信を待つ(20
3)。
【0043】LANコントローラ60からフレームの受
信完了通知を受けると、受信異常がないかどうかをチェ
ックし(204)、受信異常がなければ、受信バッファ
40内に受信されたデータの先頭からnバイトのデータ
を読み込み、ヘッダ予測回路100α内の受信ヘッダ入
力レジスタ160−5に設定し、検索コマンドを発行す
る(205)。
【0044】検索結果が一致すれば、一致ヘッダ通知レ
ジスタ160−7から予測ヘッダ識別子を取りだし、予
測ヘッダに対応した受信処理を受信処理定義テーブル3
1から求め実行する(207)。プロトコル処理が完了
すると、次のデータ受信に備えて予測ヘッダを更新し、
再度、ヘッダ予測回路100αに登録しておく(21
0)。次に、DMAC50を起動して、受信データを計
算機1に転送し(211)、計算機1へのデータ転送が
完了すると(212)、計算機に対してデータ受信を通
知する(213)。
【0045】一方、ステップ204において、受信異常
があれば、受信したフレームを廃棄する(208)。ス
テップ206において、検索結果が不一致の場合、すな
わち、受信ヘッダがいかなる予測ヘッダとも一致しなか
った場合には、従来通り、受信ヘッダを逐次解析しプロ
トコル処理を行う(209)。
【0046】図12は、ヘッダ予測回路100αの動作
を示すフローチャートである。
【0047】登録・検索制御回路160は、コマンドレ
ジスタ160−1の内容を判定し(ステップ220)、
予測ヘッダの登録要求であれば、ヘッダ識別子レジスタ
160−4で指定されたエントリ内の予測ヘッダレジス
タ110とマスクレジスタ140に、予測ヘッダとマス
クデータを転送し、比較許可信号162をONにする
(227)。予測ヘッダの削除要求であれば(22
1)、指定されたエントリの比較許可信号162をOF
Fにする(228)。検索要求であれば(222)、受
信ヘッダ入力レジスタ160−5の内容を各エントリの
受信ヘッダレジスタ150に並列転送し、ヘッダ比較器
120に対して比較要求信号166をONにする(22
3)。
【0048】ヘッダ比較器120は、受信ヘッダレジス
タ150の内容をマスクレジスタ140の内容でマスク
し、マスクした値と予測ヘッダレジスタ110の内容を
比較する(224)。OR回路160−12によってヘ
ッダ比較器120からの一致信号163をチェックし
(225)、一致信号163が出力されているエントリ
が存在すれば、ステータスレジスタ160−6に一致を
示すコード設定し、コーダ160−13によって一致信
号163から予測ヘッダ識別子を生成し、一致ヘッダ通
知レジスタ160−7に設定し、マイクロプロセッサ1
0に対して割り込みを発生する(226)。一方、一致
したエントリが存在しなければ、ステータスレジスタ1
60−6に不一致を示すコードを設定し、割り込みを発
生する(229)。
【0049】上記動作フローチャートによって、通信制
御装置2内でのフレーム受信動作は、図13に示すタイ
ムチャートのように行なわれる。
【0050】上記実施例においては、ヘッダ予測回路1
00αで最初に予測ヘッダを登録するタイミングが、コ
ネクション設定後となっているが、これはいかなる規則
に基づいて予測しても良い。
【0051】また、予測ヘッダの登録・検索に関し、ヘ
ッダ予測回路100αに登録する予測ヘッダはヘッダそ
のものである必要はなく、例えば、パケットをヘッダを
含めて暗号化して転送する場合には、暗号化した予測ヘ
ッダを登録しておき、暗号化された受信ヘッダを復号化
せずに比較するようにしても良い。
【0052】本実施例によれば、予測ヘッダの数が多い
場合においても、予測ヘッダ数に関係なく、ヘッダ予測
回路100αにより、複数の予測ヘッダの中から受信し
たヘッダと一致するものを高速に検索できるため、ヘッ
ダ予測処理を高速化できる。
【0053】〔実施例2〕上述した実施例1では、図1
3に示した動作シーケンスから判るように、通信制御装
置2で行なうネットワークからのフレーム受信、プロト
コル処理、及び、受信データの計算機への転送処理がシ
ーケンシャルになっており、更に改良できる余地があ
る。
【0054】本発明の第2の実施例では、フレーム受信
時に通信制御装置2で発生する上記三つの処理を互いに
オーバラップさせ、通信制御装置全体の受信処理時間を
更に短縮することを特徴とする。
【0055】図1は、上記オーバラップ実行機能を備え
た通信制御装置2の構成を示すブロック図である。この
実施例では、ヘッダ予測回路100βが、LANコント
ローラ60からバッファメモリ40に転送される受信デ
ータをリアルタイムに取り込めるように、2つの内部バ
ス80、90間に配置された構成となっている。ヘッダ
予測回路100βは、LANコントローラ60から出力
されるフレーム受信中信号61に応答して、受信データ
の取り込みを開始する。
【0056】図14は、上記ヘッダ予測回路100βの
構成を示すブロック図である。ヘッダ予測回路100β
は、図8で示したヘッダ予測回路100αの構成に、更
に受信ヘッダ転送制御回路170を追加した構成となっ
ている。受信ヘッダ転送制御回路170は、LANコン
トローラ60から得られるフレーム受信中信号61に応
答し、LANコントローラ60からバッファメモリ40
に転送される受信データをリアルタイムに取り込み、取
り込んだデータを各エントリ内の受信ヘッダレジスタ1
50に並列転送する機能を有する。
【0057】図15と図16は、本実施例における通信
制御装置2の動作を示すフローチャートである。図15
において、受信フレームを予測し、予測ヘッダをヘッダ
予測回路100βに登録するまでの処理(ステップ20
0〜201)は、実施例1と同じである。
【0058】予測ヘッダの登録を終えると、マイクロプ
ロセッサ10は、図17に示す受信処理定義テーブル3
1αに、予測ヘッダ識別子と、対応する受信処理を前処
理と後処理に分けて登録した後(ステップ300)、ヘ
ッダ予測回路100βからの予測ヘッダ一致割り込み、
または、LANコントローラ60からの受信完了割り込
みを待つ(301、203)。
【0059】ヘッダ予測回路100βから割り込みを受
けると、受信処理定義テーブル31αから一致した予測
ヘッダに対応する前処理を求め、これを実行する(30
2)。次のステップで、図18に示す予測完了フレーム
登録テーブル32に、受信フレームの先頭アドレスと、
予測ヘッダ識別子とを登録し(303)、次のデータ受
信に備え、予測ヘッダを更新し、再度、ヘッダ予測回路
100βに登録する(210)。次に、DMAC50を
起動し、計算機1への受信データの転送を開始し(21
1)、フレームの受信完了を待つ(203)。
【0060】フレームの受信完了割り込みを受けると、
図16のステップ204で、受信異常がないかどうかを
チェックする。もし、受信異常がなければ、当該受信フ
レームが予測完了フレーム登録テーブル32に登録され
ているかどうかをチェックし(305)、登録されてい
れば、受信処理定義テーブル31αから当該受信フレー
ムに対する後処理をより求め実行する(306)。次
に、当該受信フレームを予測完了フレーム登録テーブル
32から削除し(307)、DMAC50による計算機
1への受信データの転送完了を待つ(212)。計算機
1への転送が終了すると、計算機1にデータ受信を通知
する(213)。
【0061】ステップ204において、受信異常があっ
た場合には、当該受信フレームが、予測完了フレーム登
録テーブル32に登録されているかどうかをチェックし
(308)、登録されていれば、既に実行している前処
理が実行される前の状態に戻し(309)、予測完了フ
レーム登録テーブル32から、当該受信フレームを削除
する(310)。次に、受信した異常フレームを廃棄す
る(208)。
【0062】ステップ308において、受信した異常フ
レームが予測完了フレーム登録テーブル32に登録され
ていなければ、何もせずに受信フレームを廃棄する(2
08)。ステップ305において、正常受信でありなが
ら、当該受信フレームが予測完了フレーム登録テーブル
32に登録されていなければ、従来通り、受信フレーム
を逐次解析し、プロトコル処理を行う(209)。
【0063】図19は、本実施例においてヘッダ予測回
路100βが実行する動作のフローチャートを示す。予
測ヘッダの登録・削除に関する動作(ステップ220、
221、227、228)は、実施例1と同じである。
【0064】受信ヘッダ転送制御回路170は、LAN
コントローラ60から出力されるフレーム受信中信号6
1によりフレームの受信開始を検出すると(320)、
データバス90B上を流れる1ワードのデータを取り込
み、各エントリの受信ヘッダレジスタに並列に転送し、
受信ヘッダレジスタの大きさであるnバイトに達したと
ころで、受信データの取り込みを停止し、各エントリの
ヘッダ比較器120に対して比較要求信号166を出力
する(321)。
【0065】予測ヘッダが登録されているエントリのヘ
ッダ比較器120は、受信ヘッダレジスタ150の内容
をマスクレジスタ140の内容でマスクしたデータと、
予測ヘッダレジスタ110の内容を比較する(22
4)。
【0066】登録・検索制御回路160は、各エントリ
からの一致信号163をチェックし(225)、予測ヘ
ッダと受信ヘッダが一致するエントリが存在すれば、ス
テータスレジスタ160−6に一致を示すコードを設定
し、一致ヘッダ通知レジスタ160−7に予測ヘッダ識
別子を設定した後、マイクロプロセッサ10に割り込み
を発生する(226)。
【0067】図20は、受信ヘッダ転送制御回路170
の構成を示すブロック図である。
【0068】受信ヘッダ転送制御回路170は、データ
バス90Bを流れる受信データをヘッダ予測回路100
βに取り込むためのデータ取り込み回路170−1と、
フレーム受信中信号61からフレームの受信開始タイミ
ングを抽出するためのフレーム受信開始タイミング生成
回路170−6と、受信データのワード数をカウントす
るための受信データカウンタ170−5と、ヘッダ予測
回路100βに取り込むデータ数を指定するための受信
ヘッダレジスタ長170−4と、受信データカウンタ1
70−5と受信ヘッダレジスタ長170−4を比較する
ための比較器170−3と、データの取り込み終了のタ
イミングを生成するためのOR回路170−7と、各エ
ントリのヘッダ比較器120に対する比較要求信号16
6を生成するための比較要求信号生成回路170−2で
構成される。
【0069】図21は、上記受信ヘッダ転送制御回路1
70の詳細な動作を示すフローチャートである。
【0070】フレーム受信開始タイミング生成回路17
0−6は、フレーム受信中信号61からフレームの受信
開始を検出すると(330)、受信データカウンタ17
0−5をクリアする(331)。比較要求信号生成回路
170−2は、比較要求信号166をOFFにする(3
32)。データ取り込み回路170−1は、データバス
90Bを流れる1ワードの受信データを取り込み、各エ
ントリの受信ヘッダレジスタ150に並列転送する(3
33)。
【0071】受信データカウンタ170−5は、受信デ
ータ数をカウントアップする(334)。受信データ数
が受信ヘッダレジスタ長(n)に達するか、又は、フレ
ームの受信が完了するまで、ステップ333、334が
繰り返される。比較器170−3は、受信データカウン
タ170−5の内容と、受信ヘッダレジスタ長170−
4を比較し(335)、受信データ数が受信ヘッダレジ
スタ長に達すれば、受信データの取り込みを停止した後
(339)、ヘッダ比較器120に対して比較要求信号
166を出し(340)、フレーム受信完了を待つ(3
41)。受信データ数が受信ヘッダレジスタ長に達する
前であっても、フレームの受信が完了すれば、受信デー
タの取り込みを停止し(337)、ヘッダ比較器120
に対して比較要求信号166を出す(338)。
【0072】図22は、上記フローに基づくヘッダ予測
回路100βの動作を示すタイムチャートである。図2
2に示すように、受信データ数が受信ヘッダレジスタ長
(n)に達した時点で、受信ヘッダ転送制御回路170
からヘッダ比較器120に比較要求信号166が出力さ
れ、受信したヘッダと一致する予測ヘッダが登録されて
いるエントリから一致信号163が出力され、予測した
ヘッダの解析処理が完了する。
【0073】図23に、本実施例における通信制御装置
2のフレーム受信時のタイムチャートを示す。
【0074】本実施例によれば、プロトコルヘッダを一
旦バッファメモリに格納することなく、受信プロトコル
ヘッダをヘッダ予測回路100βによってリアルタイム
に解析できるという効果がある。また、通信制御装置2
で発生するネットワークからのデータ受信、プロトコル
処理、計算機への受信データの転送の3つの処理を互い
にオーバラップして処理できるため、通信制御装置全体
の受信処理時間を短縮できるという効果がある。
【0075】〔実施例3〕実施例2で述べたヘッダ予測
回路100βは、受信ヘッダレジスタ150の長さ(n
バイト)分の受信データを取り込んだ後に予測ヘッダと
の比較を開始するようにしているため、ヘッダの長さが
可変長のプロトコルにおいては、予測したヘッダがnバ
イト以下の場合に、nバイトに達するまでヘッダの解析
処理を待たせる必要がある。
【0076】以下に述べる第3の実施例は、ヘッダが可
変長のプロトコルにおいて、プロトコルヘッダの受信が
完了したタイミングをハードウエアにより正確に抽出
し、ヘッダ解析処理を開始できるようにしたことを特徴
とする。
【0077】図24は、本実施例におけるヘッダ予測回
路100γの構成を示すブロック図である。ヘッダ予測
回路100γを構成するブロックは、実施例2と同じで
あるが、受信ヘッダ転送制御回路170γからヘッダ比
較器120に、受信データカウント167が入力されて
いる点で異なる。
【0078】図25は、本実施例におけるヘッダ比較器
120による予測ヘッダと受信ヘッダとの比較方法を示
した図である。マイクロプロセッサ10は、予測ヘッダ
を登録する時、予測ヘッダの他に予測ヘッダ長も登録し
ておく。
【0079】ヘッダ比較器120は、受信ヘッダレジス
タ150の内容をマスクレジスタ140でマスクしたデ
ータと予測ヘッダとの比較と、予測ヘッダ長と受信デー
タカウント167との比較を同時に行うように構成され
ている。すなわち、予測ヘッダ長と受信データカウント
を比較することにより、予測したヘッダの受信完了タイ
ミングを抽出する。
【0080】図26は、本実施例におけるヘッダ予測回
路100γの動作を示すフローチャートである。図26
において、フレームの受信が開始されるまでのフロー
(ステップ220、221、227、228、320)
は、実施例2と同じである。
【0081】フレームの受信が開始されると、受信ヘッ
ダ転送制御回路170γは、データバス90Bを流れる
1ワードの受信データを取り込み、各エントリの受信ヘ
ッダレジスタに並列転送し、比較要求信号166をON
にする(350)。
【0082】ヘッダ比較器120は、予測ヘッダと受信
ヘッダとの比較と、予測ヘッダ長と受信データカウンタ
との比較を同時に行う(351)。
【0083】登録・検索制御回路160は、一致したエ
ントリがあるかどうかをチェックし(225)、一致し
たエントリがあれば、マイクロプロセッサ10に通知す
る(226)。一致したエントリがなければ、nバイト
の受信が完了するまで、又は、フレームの受信が完了す
るまで、ステップ350、351、225を繰り返す
(352)。
【0084】図27は、本実施例における受信ヘッダ転
送制御回路170γの構成を示すブロック図である。受
信ヘッダ転送制御回路170γを構成するブロックは、
実施例2と同じであるが、受信データカウンタ170−
5の出力信号である受信データカウント167がヘッダ
比較器120に入力されている点、比較要求信号生成回
路170−2のセット端子Sとリセット端子Rに入力さ
れる信号が逆になっている点で、実施例2と異なる。
【0085】図28は、本実施例における受信ヘッダ転
送制御回路170γの動作を示すフローチャートであ
る。図28において、実施例2のフローチャート(図2
1)と異なる部分は、比較要求信号生成回路170−2
がフレームの受信を開始すると、比較要求信号166を
ONにし(ステップ360)、データの取り込みを停止
すると、比較要求信号166をOFFにする(361、
362)点である。すなわち、実施例2では、nバイト
のデータを受信した時点で比較要求信号166をONに
していたが、本実施例では、1ワードの受信データを取
り込んだ時点から、比較要求信号166をONにするよ
うにしている。
【0086】図29は、本実施例におけるヘッダ予測回
路100γの動作を示すタイムチャートである。図29
に示すように、予測ヘッダ長がmバイトであった場合、
mバイトの受信が完了した時点で、予測したヘッダとの
一致信号163が出力され、マイクロプロセッサ10に
通知される。
【0087】受信中のデータをリアルタイムに取り込
み、予測したヘッダと比較するようにすると、受信中の
データ部が予測ヘッダと偶然一致し、データ部を誤って
プロトコルヘッダの受信完了と解釈する場合も考えられ
るが、本実施例では、予測ヘッダ長と比較時点での受信
データタウントを比較することにより、誤ったヘッダ解
析が発生しないように構成されている。
【0088】本実施例によれば、ヘッダの長さが可変長
のプロトコルにおいても、ヘッダ予測回路100γによ
って、予測したヘッダの受信が完了したタイミングを正
確に抽出でき、プロトコルヘッダを一旦バッファメモリ
に格納することなく、リアルタイムに解析できるという
効果がある。
【0089】
【発明の効果】以上の説明から明らかなように、本発明
によれば、自局が以前に送信したフレームのヘッダまた
は自局が以前に受信したフレームのヘッダに基づき、次
に受信するであろうフレームのヘッダを予測し、フレー
ムを受信した際に、受信したヘッダと複数の予測ヘッダ
とを一括して比較することにより、受信したフレームの
ヘッダ解析処理を高速化できるようになっている。複数
の予測ヘッダと受信ヘッダの比較をハードウェアで同時
に行うことにより、予測ヘッダの個数に関係なく、プロ
トコルヘッダの解析処理を高速化できる。
【図面の簡単な説明】
【図1】本発明による通信制御装置の構成の1例を示す
ブロック図。
【図2】本発明の適用対象となるネットワークシステム
の構成を示す図。
【図3】本発明による通信制御装置の他の構成例を示す
ブロック図。
【図4】プロトコル階層を示す図。
【図5】通信制御装置間でやりとりされるフレームフォ
ーマットを示す図。
【図6】レイヤ4、レイヤ3、レイヤ2の主なパケット
フォーマットを示す図。
【図7】OSIプロトコル(レイヤ4)における通信シ
ーケンスとヘッダ予測処理の概要を示す図。
【図8】ヘッダ予測回路の構成を示すブロック図。
【図9】登録・検索制御回路の構成を示すブロック図。
【図10】通信制御装置の動作の1実施例を示すフロー
チャート。
【図11】受信処理定義テーブルの構成を示す図。
【図12】ヘッダ予測回路の詳細な動作を示すフローチ
ャート。
【図13】フレーム受信時における通信制御装置の動作
を示すタイムチャート。
【図14】ヘッダ予測回路の他の構成を示すブロック
図。
【図15】通信制御装置の動作の他の実施例を示すフロ
ーチャートの前半部。
【図16】通信制御装置の動作の他の実施例を示すフロ
ーチャートの後半分。
【図17】受信処理定義テーブルの他の構成を示す図
【図18】予測完了フレーム登録テーブルの構成を示す
図。
【図19】ヘッダ予測回路の動作の他の実施例を示すフ
ローチャート。
【図20】受信ヘッダ転送制御回路の構成を示すブロッ
ク図。
【図21】受信ヘッダ転送制御回路の動作を示すフロー
チャート。
【図22】ヘッダ予測回路の動作を示すタイムチャー
ト。
【図23】通信制御装置の動作の他の実施例を示すタイ
ムチャート。
【図24】ヘッダ予測回路の他の構成例を示すブロック
図。
【図25】ヘッダの比較方法を説明するためのブロック
図。
【図26】ヘッダ予測回路の動作の他の実施例を示すフ
ローチャート。
【図27】受信ヘッダ転送制御回路の構成の他の実施例
を示すブロック図。
【図28】受信ヘッダ転送制御回路の動作の他の実施例
を示すフローチャート。
【図29】ヘッダ予測回路の動作の他の実施例を示すタ
イムチャート。
【符号の説明】
1…計算機 2…通信制御装置 3…ネットワーク 10…マイクロプロセッサ 40…バッファメモリ 50…DMAC 60…LANコントローラ 61…フレーム受信中信号 100…ヘッダ予測回路 110…予測ヘッダレジスタ 120…比較器 130…マスク回路 140…マスクレジスタ 150…受信ヘッダレジスタ 160…登録・検索制御回路 170…受信ヘッダ転送制御回路 180…受信データ長カウンタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 平田 哲彦 神奈川県川崎市麻生区王禅寺1099番地 株式会社 日立製作所 システム開発研 究所内 (56)参考文献 特開 平2−238544(JP,A) 特開 平3−183236(JP,A) 特開 平3−273350(JP,A) 特開 平6−133001(JP,A) 特開 平7−123128(JP,A) 特開 昭62−164345(JP,A) 特開 昭59−81731(JP,A) 特開 昭61−63139(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 13/00 H04L 29/08

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】計算機とのインタフェース回路と、通信制
    御処理を実行するマイクロプロセッサと、送受信データ
    を一時的に格納するバッファメモリと、計算機内の主メ
    モリとバッファメモリとの間でデータの転送制御を行な
    うDMAコントローラと、ネットワークとの接続制御を
    行なうLANコントローラを有する通信制御装置におい
    て、 自局が以前に送信したフレームのヘッダまたは自局が以
    前に受信したフレームのヘッダに基づいて作成され、次
    に受信が期待されるフレームのヘッダ(予測ヘッダ)を
    複数保持する手段と、 ネットワークから受信される受信データをリアルタイム
    に取り込む手段と、 予測ヘッダと受信データを同時に比較する複数の比較手
    段と、 受信データと予測ヘッダが一致した場合に、一致信号お
    よ予測ヘッダに対応した識別子を出力する手段を有する
    ことを特徴とする通信制御装置。
  2. 【請求項2】計算機とのインタフェース回路と、通信制
    御処理を実行するマイクロプロセッサと、送受信データ
    を一時的に格納するバッファメモリと、計算機内の主メ
    モリとバッファメモリとの間でデータの転送制御を行な
    うDMAコントローラと、ネットワークとの接続制御を
    行なうLANコントローラを有する通信制御装置におい
    て、 自局が以前に送信したフレームのヘッダまたは自局が以
    前に受信したフレームのヘッダに基づいて作成され、次
    に受信が期待されるフレームのヘッダ(予測ヘッダ)を
    複数保持するステップと、 ネットワークから受信される受信データをリアルタイム
    に取り込むステップと、 予測ヘッダと受信データを同
    時に比較するステップと、 受信データと予測ヘッダが一致した場合に、一致信号及
    び、予測ヘッダに対応した識別子を出力するステップを
    有することを特徴とするデータ受信方式。
  3. 【請求項3】前記予測ヘッダと受信データとを比較する
    比較手段を有し、プロトコルヘッダを一旦受信バッファ
    に格納することなく、プロトコルヘッダを受信しながら
    ヘッダの解析を行なうことを特徴とする通信制御装置。
  4. 【請求項4】前記予測ヘッダと受信データとを比較する
    比較手段により、フレームの受信が完了する前にプロト
    コルヘッダの解析を開始することを特徴とする請求項4
    に記載の通信制御装置。
  5. 【請求項5】前記予測ヘッダと受信データとを比較する
    比較手段により、ソフトウエアの介在なしに、受信した
    プロトコルヘッダの解析を行なうことを特徴とする請求
    項4に記載の通信制御装置。
  6. 【請求項6】前記予測ヘッダと受信ヘッダとを比較する
    比較手段から出力される一致信号、および、予測ヘッダ
    に対応した識別子に応答して、前記識別子に対応した通
    信プロトコル処理と受信データの計算機への転送を開始
    することを特徴とする請求項4に記載の通信制御装置。
  7. 【請求項7】計算機とのインタフェース回路と、通信制
    御処理を実行するマイクロプロセッサと、送受信データ
    を一時的に格納するバッファメモリと、計算機内の主メ
    モリとバッファメモリとの間でデータの転送制御を行な
    うDMAコントローラと、ネットワークとの接続制御を
    行なうLANコントローラを有する通信制御装置におい
    て、 自局が以前に送信したフレームのヘッダまたは自局が以
    前に受信したフレームのヘッダに基づいて作成され、次
    に受信が期待されるフレームのヘッダ(予測ヘッダ)と
    比較対象外のエリアを示すマスクデータとを複数保持す
    る手段と、 ネットワークから受信される受信データをリアルタイム
    に取り込む手段と、 受信ヘッダを該マスクデータでマスクする手段と、 該マスク手段から出力されるデータと予測ヘッダとを比
    較する複数の比較手段を有することを特徴とする通信制
    御装置。
  8. 【請求項8】計算機とのインタフェース回路と、通信制
    御処理を実行するマイクロプロセッサと、送受信データ
    を一時的に格納するバッファメモリと、計算機内の主メ
    モリとバッファメモリとの間でデータの転送制御を行な
    うDMAコントローラと、ネットワークとの接続制御を
    行なうLANコントローラを有する通信制御装置におい
    て、 自局が以前に送信したフレームのヘッダまたは自局が以
    前に受信したフレームのヘッダに基づいて作成され、次
    に受信が期待されるフレームのヘッダ(予測ヘッダ)
    と、予測ヘッダ長と、比較対象外のエリアを示すマスク
    データとを保持する手段と、 ネットワークから受信される受信データをリアルタイム
    に取り込む手段と、 受信ヘッダを該マスクデータでマスクする手段と、 該マスク手段から出力されるデータと予測ヘッダを比較
    する手段と、 予測ヘッダ長と受信データ長を比較する手段を有するこ
    とを特徴とする通信制御装置。
JP4154736A 1992-06-15 1992-06-15 データ受信方式および通信制御装置 Expired - Fee Related JP2985511B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4154736A JP2985511B2 (ja) 1992-06-15 1992-06-15 データ受信方式および通信制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4154736A JP2985511B2 (ja) 1992-06-15 1992-06-15 データ受信方式および通信制御装置

Publications (2)

Publication Number Publication Date
JPH05347650A JPH05347650A (ja) 1993-12-27
JP2985511B2 true JP2985511B2 (ja) 1999-12-06

Family

ID=15590809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4154736A Expired - Fee Related JP2985511B2 (ja) 1992-06-15 1992-06-15 データ受信方式および通信制御装置

Country Status (1)

Country Link
JP (1) JP2985511B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1320286B1 (it) 2000-03-29 2003-11-26 Campagnolo Srl Sistema di controllo multiprocessore per cicli, ad esempio perbiciclette da competizione.
IT1320289B1 (it) 2000-03-29 2003-11-26 Campagnolo Srl Sistema per il trasferimento di dati, ad esempio per cicli qualibiciclette da competizione.
IT1320285B1 (it) 2000-03-29 2003-11-26 Campagnolo Srl Procedimento per il controllo del cambio di velocita' in un ciclo,relativo sistema e relativi componenti.
US6963565B1 (en) * 2000-08-14 2005-11-08 Advanced Micro Devices, Inc. Apparatus and method for identifying data packet at wire rate on a network switch port
JPWO2003017577A1 (ja) * 2001-08-09 2004-12-09 松下電器産業株式会社 伝送装置および伝送方法

Also Published As

Publication number Publication date
JPH05347650A (ja) 1993-12-27

Similar Documents

Publication Publication Date Title
KR970007620B1 (ko) 계산기간 통신을 위한 통신제어장치 및 그것에 사용하는 집적회로
US5764930A (en) Method and apparatus for providing reset transparency on a reconfigurable bus
JPH07221760A (ja) データ捕獲装置
JP2985511B2 (ja) データ受信方式および通信制御装置
EP4131068A1 (en) Method, system and device for determining action
US7058051B2 (en) Packet processing device
JPH03140038A (ja) トークン・リング・ネツトワーク回復方法及び装置
US5179553A (en) Strip frame recognition apparatus
JP3291866B2 (ja) データ受信方式及び通信制御装置
JP2669604B2 (ja) 位置決定方法および装置
JPH0628322A (ja) 情報処理装置
JP2635691B2 (ja) 回収フレーム認識装置
JPH05134930A (ja) メモリ保護装置
JP2617648B2 (ja) ネットワークの構成認識装置
WO2023121104A1 (ko) 리눅스 커널의 인터럽트 처리 방법
CN115834281A (zh) 数据传输方法、装置、电子设备及存储介质
JP2806321B2 (ja) ハードウェアの接続状態監視方式
EP2400424A2 (en) Anti-malware system and operating method thereof
JPH07143143A (ja) 通信装置
JPH1168874A (ja) 伝送情報の解析方式
JP2614902B2 (ja) Emaトレース方式
JPH07117905B2 (ja) マイクロプロセッサ
JPH0373050A (ja) 直列ライトデータ転送方式
JP2001333138A (ja) プロトコルアナライザ、トリガ検知装置、トリガ検知のためのプログラムが記録された記録媒体及びボード
JP2000324105A (ja) 障害情報採取方式

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

LAPS Cancellation because of no payment of annual fees