JPH11261649A - データ処理装置及びそれを適用したルータ・ブリッジ - Google Patents

データ処理装置及びそれを適用したルータ・ブリッジ

Info

Publication number
JPH11261649A
JPH11261649A JP10061732A JP6173298A JPH11261649A JP H11261649 A JPH11261649 A JP H11261649A JP 10061732 A JP10061732 A JP 10061732A JP 6173298 A JP6173298 A JP 6173298A JP H11261649 A JPH11261649 A JP H11261649A
Authority
JP
Japan
Prior art keywords
packet
memory
header
data processing
processing device
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
JP10061732A
Other languages
English (en)
Inventor
Satoshi Hatanaka
諭 畑中
Nobuhito Matsuyama
信仁 松山
Kazuo Sukai
和雄 須貝
Yukisada Yamakawa
勇喜禎 山河
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
Hitachi Information and Telecommunication Engineering Ltd
Original Assignee
Hitachi Ltd
Hitachi Information Technology Co 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, Hitachi Information Technology Co Ltd filed Critical Hitachi Ltd
Priority to JP10061732A priority Critical patent/JPH11261649A/ja
Priority to US09/266,635 priority patent/US6560233B1/en
Publication of JPH11261649A publication Critical patent/JPH11261649A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 パケットのヘッダ解析のためのパケットヘッ
ダ部の読出し動作とパケットの読み書き動作でのメモリ
のアクセス競合を抑止し、パケット処理能力の向上を図
る。 【解決手段】 非同期にアクセス可能なメモリ(1)1
20とメモリ(2)130を設け、ネットワークから受
信したパケットあるいは他のデータ処理装置から転送さ
れてきたパケットをメモリ(1)120へ格納すると同
時に、該パケットのヘッダ部のみをメモリ(2)130
へも格納する。プロセッサ150は、メモリ(2)13
0からパケットのヘッダ部を読み出して解析を行い、こ
れと並行してネットワークコントローラ140やデータ
処理装置間転送回路133はメモリ(1)120に対し
て別のパケットの読み書きを実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ルータやブリッジ
の構成要素に用いられるデータ処理装置、及び、該デー
タ処理装置を適用したルータやブリッジに関する。
【0002】
【従来の技術】一般にルータやブリッジの構成要素に用
いられるデータ処理装置は、送受信パケットを格納する
メモリ、該メモリの読み書き制御や別のネットワークに
接続された他のデータ処理装置間のパケットの転送制御
を行うメモリ制御部、ネットワークからパケットを受信
しメモリ制御部を介してメモリへ転送し、また、メモリ
のパケットをメモリ制御部を介して受け取りネットワー
クへ送出するネットワークコントローラ、及び、メモリ
からパケットのヘッダ部を取り込んで解析し、該結果に
よりメモリ制御部やネットワークコントローラに対し
て、メモリからパケットを読み出して他のデータ処理装
置やネットワークへ転送する指示を出すプロセッサなど
で構成される。
【0003】このようなデータ処理装置では、ネットワ
ークコントローラとメモリ間のパケット転送処理と、プ
ロセッサによるパケットヘッダ部のメモリからの読み出
し処理、パケットをメモリから読み出して、他のデータ
処理装置に転送する処理などが非同期に発生するため、
メモリのアクセス競合が起こり、これが高速化を阻害す
る最大の要因になっていた。このため、従来は高速のメ
モリ装置を使用するか、もしくは、非同期にプロセッサ
やネットワークコントローラなどから並列アクセス可能
なメモリ装置(デュアルポートメモリ)を使用すること
で、アクセス競合の軽減を図っていた。
【0004】
【発明が解決しようとする課題】近年のネットワークの
高速化に伴い、ルータやブリッジに用いられるデータ処
理装置は、ネットワークコントローラがメモリから送信
パケットを読み出す処理、並びにメモリへ受信パケット
を書き込む処理なども高速化が必要であり、加えてプロ
セッサとのメモリのアクセス競合を考慮すると、従来の
データ処理装置においては、メモリのアクセス競合によ
って発生する性能低下を吸収するために、搭載できるネ
ットワークコントローラの数を制限したり、またはコス
ト的に非効率であるが、高速のメモリ装置もしくは非同
期にプロセッサやネットワークコントローラなどからア
クセス可能なデュアルポートメモリを使用しなければな
らない問題があった。
【0005】本発明の目的は、本来搭載できるネットワ
ークコントローラの数を制限したり、必要以上に高速の
メモリ装置やデュアルポートのメモリ装置を使用したり
することなく、パケットを格納するメモリのアクセス競
合を抑えて、パケット処理能力を向上せしめるデータ処
理装置、及び該データ処理装置を構成要素とするルータ
やブリッジを提供することにある。
【0006】
【課題を解決するための手段】上記目的を達成するため
に、本発明では、ネットワークから受信したパケットや
他のデータ処理装置から転送されたパケットを格納する
メモリ(第1のメモリ)とは別に、該第1のメモリと非
同期にアクセス可能なメモリ(第2のメモリ)を設け、
パケットを第1のメモリへ格納すると同時に該パケット
のヘッダ部を第2のメモリへも格納(コピー)するよう
にしたことである。プロセッサは第2のメモリを使用し
てパケットのヘッダ部を取り込み、該ヘッダ部を解析す
ればよく、この間、第1のメモリに対するパケットの読
み書きが可能になり、あるパケットのヘッダ解析処理と
他のパケットの転送処理等の並列動作が達成される。
【0007】
【発明の実施の形態】以下、図面を参照しながら本発明
の一実施例に係わるシステムを説明する。図1は、本発
明の一実施例に係わるデータ処理装置及び該データ処理
装置を使用したルータ・ブリッジへのブロック図であ
る。図1において、10はルータ・ブリッジであり、デ
ータ処理装置100、200を具備する。データ処理装
置100は一方のネットワークNW1に接続され、デー
タ処理装置200は他方のネットワークNW2に接続さ
れ、両データ処理装置100、200の間は内部バス1
60で接続される。データ処理装置100、200は、
各々、ネットワークNW1、NW2へのパケットの送受
信を行う同時に、内部バス160を介し、必要に応じて
両者間でパケット転送を行う。データ処理装置100、
200の構成は基本的に同様であるので、以下では、デ
ータ処理装置100について詳述することにする。
【0008】データ処理装置100中、ネットワークコ
ントローラ140はネットワークNW1へのパケットの
送信および受信を制御するLSIである。なお、接続先
がホストや端末の場合にはI/Oコントローラが使用さ
れるが、ここではネットワークコントローラで総称す
る。メモリ(1)110はネットワークNW1から受信
したパケット、ネットワークNW1へ送信するパケット
を格納する。メモリ(2)120はネットワークNW1
から受信したパケットのヘッダ部、ネットワークNW1
へ送信するパケットのヘッダ部を格納する。メモリ制御
部130はネットワークコントローラ140、プロセッ
サ150とメモリ(1)110、メモリ(2)120の
間に位置し、ネットワークコントローラ140やプロセ
ッサ150とメモリ110、120の間でパケットやパ
ケットヘッダ部の格納、読出しなどの制御を行うLSI
である。該メモリ制御部130は、パケットのヘッダ開
始位置及びヘッダ長などのヘッダ情報を格納するヘッダ
情報レジスタ131、該ヘッダ情報レジスタ131のヘ
ッダ情報をもとにパケットのヘッダ位置を検出するヘッ
ダ位置検出回路132、及び、他のデータ処理装置20
0とパケットの送受信を行うデータ処理装置間転送回路
133を具備する。メモリ制御部130内のその他の構
成については、本発明に直接関係しないため省略する。
プロセッサ150はネットワークコントローラ140の
起動制御や状態監視、メモリ(2)120からのパケッ
トヘッダ部の取り込み、データ処理装置間転送回路13
3への起動指示などを行うLSIである。
【0009】なお、図1は二つのデータ処理装置10
0、200のみを示したが、システムによっては、図2
に示すように、三つ以上のネットワークに対応して、三
つ以上のデータ処理装置100、200、300が内部
バス160で接続されて、ルータやブリッジ10を構成
することもある。また、ネットワークコントローラも一
般には二つ以上で構成される。
【0010】まず、パケットについて説明する。パケッ
トはヘッダ部111とデータ部112から構成される。
メモリ(1)110にはヘッダ部111とデータ部11
2の両方を格納するが、メモリ120にはパケットのヘ
ッダ部111のみを格納する。図3及び図4にパケット
の具体的構成例を示す。
【0011】図3は、LANとして一般化しているイー
サネットのパケットフォーマット(イーサネットフレー
ムと呼ぶ)の具体的構成を示したものである。イーサネ
ットフレームは最大1518バイト(1バイト=8ビッ
ト)からなり、先頭14バイトがMACヘッダで、その
後にデータ部及びフレームの誤り検出のためのFCS
(フレーム・チエック・シーケンス)が続く(図3の
(a))。MACヘッダは宛先アドレス(DA)、送信
元アドレス(SA)及びフレームタイプからなる(図3
の(b))。IPヘッダとTCPヘッダは、フレーム中
のMACヘッダに続くデータ部の先頭にIPヘッダ、T
CPヘッダの順に置かれる(図3の(c))。IPヘッ
ダはIP制御情報、送信元IPアドレス、宛先IPアド
レスで構成され(図3の(d))、TCPヘッダは送信
元ポート、宛先ポート、TCP制御情報で構成される
(図3の(e))。なお、図4の(e)はIPv4(バ
ージョン4)の例であり、IPv6では、IPアドレス
長が16バイトになる。
【0012】図4は、高速LANとして基幹ネットワー
クなどに採用されているFDDIネットワークのパケッ
トフォーマット(FDDフレームと呼ぶ)の具体的構成
を示したものである。FDDIフレームは最大4495
バイトからなり、イーサネットフレームと同様に先頭1
4バイトがMACヘッダで、その後にデータ部とFCS
が続く(図4の(a))。MACヘッダはフレームタイ
プ(FC:FrameControl)、宛先アドレス(DA)、
送信元アドレス(SA)からなる(図4の(b))。イ
ーサーネットフレームではMACヘッダの次のデータ部
の先頭にIPヘッダが位置したが、FDDIフレームで
は、MACヘッダの次のデータ部の先頭に送信側/相手
側プロトコル識別用のLLCヘッダが置かれる(図4の
(c))。IPヘッダ、TCPヘッダの構成はイーサネ
ットフレームの場合と同じである。
【0013】図1のヘッダ情報レジスタ131には、接
続するネットワークの種類(イーサネット、FDDIな
ど)並びに適用対象の種類(ブリッジ、ルータなど)に
応じて、それぞれ異なった値のヘッダ情報を設定する必
要がある。図3及び図4のパケットフォーマットの例に
ついて、ヘッダ情報の設定値(ヘッダ開始位置、ヘッダ
長)を示すと、次のようになる。
【0014】(1)イーサネットに接続する場合 適用対象がブリッジ:MACアドレス(プロセッサが
送信元、宛先アドレスを判定に使用)で検出し、ヘッダ
をライトするケース。 ヘッダ開始位置;FF000001を設定(パケットの
1バイト目からヘッダとしてライトする) ヘッダ長;FF000012を設定(MAC送信元、宛
先アドレス両方をライトする) 適用対象がルータ:IPアドレス(プロセッサがIP
送信元、IP宛先アドレスを判定に使用)で検出し、ヘ
ッダをライトするケース。 ヘッダ開始位置;FF000027を設定(MACヘッ
ダ14+1P制御情報12バイトの次からライトする) ヘッダ長;FF000008を設定(IP送信元、IP
宛先アドレス両方をライトする)。
【0015】(2)FDD1に接続する場合 適用対象がブリッジ:MACアドレスで検出し、ヘッ
ダをライトするケース。 ヘッダ開始位置;FF000003を設定(FC2バイ
トの次からライトする) ヘッダ長;FF000012を設定(MAC送信元、宛
先アドレス両方をライトする) 適用対象がルータ:IPアドレスで検出し、ヘッダを
ライトするケース。ヘッダ開始位置;FF000035
を設定(MACヘッダ14+LLCヘッダ8+IP制御
情報12バイトの次からライトする) ヘッダ長;FF000008を設定(IP送信元、IP
宛先アドレス両方をライトする)。
【0016】次に、図1のデータ処理装置の動作につい
て説明する。ヘッダ情報レジスタ131には、プロセッ
サ150により、あらかじめ接続するネットワークの種
類並びに適用対象の種類に応じたヘッダ情報(ヘッダ開
始位置、ヘッダ長)が設定されているものとする。
【0017】ネットワークコントローラ140はネット
ワークNW1からパケットを受信すると、制御信号12
1を“1”にして、メモリ制御部130のヘッダ位置検
出回路132に対してデータバス116に受信パケット
が出力されていることを示す。制御信号121が“0”
のときは、データバス116に受信したパケットが出力
されていないことを示す。本実施例では、データバス1
16はメモリ制御装置130を介して、実際にメモリ
(1)110に接続しているデータバス115とメモリ
(2)120に接続しているデータバス117に直接接
続する形態をとっている。
【0018】メモリ制御部130のヘッダ位置検出回路
132は受信パケットバイトカウンタを内蔵しており、
制御信号121が“1”であることを認識すると、受信
パケットバイトカウンタのカウントを開始し、該カウン
ト値(現在受信しているパケット位置)がヘッダ情報レ
ジスタ131に設定されているヘッダ開始位置の値と一
致したらメモリ(2)120に対してデータのライト指
示1信号119を“1”にする。ライト指示1信号11
9を“1”にすることで、データバス117に出力され
ているデータがメモリ(2)120にライトされる。ラ
イト指示1信号119が“0”のときはメモリ(2)1
20へのライトは行わない。ヘッダ位置検出回路132
は、その後、受信パケットバイトカウンタのカウント値
がヘッダ情報レジスタ131に設定されているヘッダ開
始位置とヘッタ長を加算した値(ヘッダ終了位置)に一
致すると、ライト指示1信号119を“0”にし、メモ
リ(2)120へのライトを終へる。メモリ(2)12
0に接続されているデータバス117とネットワークコ
ントローラ140に接続されているデータバス116
は、本実施例では直接接続されているので、ネットワー
クコントローラ140で受信したパケットは、順次その
ままデータバス117に出力されている。よって、ライ
ト指示信号119のみを制御することで、受信パケット
中の所望ヘッダ部のみをメモリ(2)120にライトす
ることができる。
【0019】また、ヘッダ位置検出回路132は、デー
タバス116に受信したパケットが出力され、制御信号
121が“1”になったことを認識した時点でライト指
示2信号122を“1”にし、データバス115を通し
て受信パケットをメモリ(1)110にライトする。そ
して、受信パケット全体がメモリ(1)110へ格納さ
れると、ライト指示2信号122を“0”にする。
【0020】受信したパケットがデータバス116に出
力完了した時点で、ネットワークコントローラ140は
プロセッサ150に対するパケット受信完了信号113
を“1”にする。受信が完了していないときは、受信完
了信号113は“0”のままである。
【0021】パケット受信完了信号113の”1”を検
出したプロセッサ150は、プロセッサバス118を使
ってメモリ制御部130を介し、メモリ(2)120か
ら受信パケットのヘッダ部111を読み出す。プロセッ
サ150は該ヘッダ部111を解析し、例えば、データ
処理装置200に受信パケットを転送する必要のある場
合には、メモリ制御部130内のデータ処理装置間転送
回路133に対する起動指示信号114を“1”にす
る。データ処理装置間転送回路133に起動指示がない
ときは、起動指示信号114は“0”である。起動指示
信号114の“1”を検出したデータ処理装置間転送回
路133は、メモリ(1)110に格納されている受信
パケットを読み出し、内部データバス160を使ってデ
ータ処理装置200へ転送する。データ処理装置200
は、転送されたパケットについて同様に格納し解析し、
例えばネットワークNW2へ送信する。
【0022】以上、ネットワークNW1からパケットが
受信された場合について図1の動作を説明したが、内部
データバス160を介して他のデータ処理装置200な
どからパケットが転送された場合についても、ネットワ
ークコントローラ140をデータ処理装置間転送回路1
33に置き換えれば、動作は基本的に同じである。以下
に簡単に説明する。
【0023】データ処理装置間転送回路133は、他の
データ処理装置200などから内部データバス160を
介してパケットが転送されてくると、ヘッダ位置検出回
路132に対する制御信号を“1”にする。ヘッダ位置
検出回路132は、データ処理装置間転送回路133か
ら出力されるパケットをメモリ(1)110に格納する
と同時に、ヘッダ情報レジスタ131のヘッダ情報に従
って該パケットの所望ヘッダ部をメモリ(2)120に
格納する。データ処理装置間転送回路133は、パケッ
トが転送完了した時点でプロセッサ150に対するパケ
ット転送完了信号を“1”にする。プロセッサ150
は、プロセッサバス118を使ってメモリ(2)120
からパケットヘッダ部を読み出し解析し、例えば、当該
パケットをネットワークNW1に送信する必要があれ
ば、ネットワークコントローラ140に対する起動指示
信号を“1”にする。ネットワークコントローラ140
は、メモリ制御部130を介してメモリ(1)110か
らパケットを読み出し、ネットワークNW1へ送信す
る。
【0024】本実施例によれば、プロセッサ150がパ
ケットヘッダ部をメモリ制御部130を介してメモリ
(2)120から読み出している間、メモリ(1)11
0はプロセッサ150が使用しないので、ネットワーク
コントローラ140やデータ処理装置間転送回路133
によるパケット送信又はパケット転送のためのアクセス
が可能になり、プロセッサ150とのメモリ(1)11
0へのアクセス競合が起こらないようにすることができ
る。
【0025】図5に、ヘッダ位置検出回路の動作フロー
の一例を示す。まず、ステップ500において、ネット
ワークコントローラ140あるいはデータ処理装置間転
送回路133からパケットを受信・転送されたか否かを
示す制御信号を判定する。この制御信号が“0”の間は
パケットの受信あるいは転送動作が行われていないこと
を示し、パケットの受信あるいは転送動作が行われるま
で、ステップ500のループを繰り返す。制御信号1が
“1”になると、パケットの受信あるいは転送動作が行
われていることを示し、ステップ510に分岐する。
【0026】ステップ510では、ライト指示2信号1
22を“1”にする。ライト指示2信号を“1”にする
ことで、メモリ制御部130を介して、メモリ(1)1
10にパケットの格納が開始する。このパケットのメモ
リ110への格納処理は、ステップ570でライト指示
2信号122が“0”になるまで実行される。
【0027】次に、ステップ520において、あらかじ
めヘッダ情報レジスタ131に設定されたヘッダ開始位
置の値と、現在受信あるいは転送されているパケットの
先頭から数えた位置(カレントパケット位置と呼ぶ)を
比較する。ヘッダ開始位置は、パケット中のヘッダ部と
して検出しようする部分を、パケットの先頭からカウン
トしたヘッダの先頭位置を示す。ステップ520にてヘ
ッダ開始位置とカレントパケット位置が一致したらステ
ップ530に分岐し、一致しなければ、ステップ540
に分岐する。ステップ530では、ライト指示1信号1
19を“1”にした後、ステップ540に分岐する。こ
のライト指示1信号119を“1”にすることで、メモ
リ制御部130を介して、メモリ(2)120へパケッ
トのヘッダ部のみの格納が開始する。ステップ540で
は、ヘッダ終了位置の値と現在受信しているパケットの
先頭から数えた位置(カレントパケット位置)を比較す
る。ヘッダ終了位置は、パケット中のヘッダ部として検
出しようとする部分の、パケットの先頭からカレントし
た最終位置を示し、これはヘッダ情報レジスタ131に
設定されたヘッダ開始位置の値にヘッダ長を加算した値
として求める。ステップ540にて、ヘッダ終了位置と
カレントパケット位置が一致したらステップ550に分
岐し、一致しなければステップ560に分岐する。ここ
で、ステップ420とステップ440を実行すること
で、パケットの所望ヘッダ部が、受信あるいは転送され
たパケットの先頭から数えてどこに位置するかを判定し
ている。ヘッダ終了位置とカレントパケット位置が一致
した場合、ステップ450ではライト1信号119を
“0”にした後、ステップ560に分岐する。ライト指
示1信号119を“0”にすることで、メモリ(2)1
20に対するパケットの所望ヘッダ部のみの格納を終了
する。
【0028】ステップ560では、ネットワークコント
ローラ140あるいはデータ処理装置間転送回路133
の制御信号が“0”かどうかを判定する。制御信号が
“0”であると、パケットの受信あるいは転送が完了し
たことを意味し、“1”であれば、パケットの受信ある
いは転送が続いていることを意味する。制御信号121
が“1”の場合、再びステップ520以下を実行する。
制御信号121が“0”の場合はステップ570に分岐
する。ステップ570では、ライト指示2信号122を
“0”にして、メモリ110へのパケットの格納を終了
する。
【0029】その後、無条件でステップ500に分岐
し、次のパケットの受信あるいは転送を待つ。そして、
パケットが受信あるいは転送されると、再びステップ5
10以下の処理を実行する。
【0030】図6にプロセッサ150の動作フローの一
例を示す。まず、ステップ600において、ネットワー
クコントローラ140からのパケット受信完了信号また
はデータ処理装置間転送回路133からのパケット転送
完了信号(パケット受信/転送完了信号と呼ぶ)が
“1”になっているか判定する。パケット受信/転送完
了信号が“0”の間は、ネットワークからのパケットの
受信も他のデータ処理装置からのパケットの転送もなか
ったことを示し、ステップ600をループする。パケッ
ト受信/転送完了信号が“1”になると、ネットワーク
からのパケットの受信または他データ処理装置からのパ
ケットの転送があったことを示し、ステップ610に分
岐する。この時点では、受信されたパケットまたは転送
されたパケットはメモリ(1)110に格納され、ま
た、当該パケットの所望ヘッダ部はメモリ(2)120
に格納されている。ステップ610では、プロセッサバ
ス118を使って、メモリ(2)120からパケットの
所望ヘッダ部をメモリ制御部130を介して読み込む。
【0031】次に、ステップ620において、読み込ん
だヘッダ部を解析して、当該パケットの宛先(他のデー
タ処理装置、ネットワークなど)を判定する。具体的に
は、読み込んだヘッダ部のアドレスを元に、プロセッサ
150に具備されているルーチングテーブルを検索する
ことで判定する。このヘッダ部の解析結果により、それ
ぞれステップ630、640、650に分岐する。
【0032】ステップ630は、受信パケットの宛先が
特定のデータ処理装置に接続されていないケースであ
り、この場合には、データ処理装置転送回路133に対
して、メモリ(1)110の該当する受信パケットを全
データ処理装置へ転送するように指示する。ステップ6
40は、受信パケットの宛先が他の特定のデータ処理装
置に接続されているケースであり、この場合には、デー
タ処理装置間転送回路133に対して、メモリ(1)1
10の該当する受信パケットを当該データ処理装置のみ
へ転送するように指示する。ステップ650は、受信ま
たは転送されてきたパケットの宛先が自データ処理装置
のネットワークコントローラに接続されているケースで
あり、この場合には、当該ネットワークコントローラに
対して、メモリ(1)110の該当するパケットを送信
するように指示する。
【0033】ステップ630、640、650の実行
後、無条件にステップ600に分岐し、パケット受信/
転送完了信号が“1”になるのを待つ。そして、パケッ
ト受信/転送完了信号が“1”になると、再びステップ
610以下を実行する。
【0034】以下、本発明の一実施例について説明した
が、ヘッダ情報レジスタ131に設定するヘッダ情報
は、あらかじめプロセッサ150においてヘッダ開始位
置とヘッダ長からヘッダ終了位置を求めるなどすること
で、ヘッダ開始位置とヘッダ終了位置の組としてもよ
く、この場合にはヘッダ位置検出回路側の加算機能を省
略できる。
【0035】また、実施例の説明では、メモリ(1)1
10及びメモリ(2)120の記憶領域の構成について
は特に触れなかったが、ネットワークコントローラ側か
らの受信パケットやそのヘッダ部を格納する領域と、デ
ータ処理装置間転送回路側からの転送パケットやそのヘ
ッダ部を格納する領域とを、それぞれ別構成としてもよ
く、このようにするとパケットの管理が容易になる。
【0036】
【発明の効果】本発明によれば、パケットのヘッダ部を
メモリから読み出す処理と、パケットをメモリへ格納あ
るいはメモリから読み出す処理の並列動作が可能であ
り、パケットを格納するメモリへのアクセス競合による
システムの性能低下が発生しないため、性能低下による
システムに搭載できるネットワークコントローラ数等の
制限が緩和され、また、ある程度サイクルタイムの遅
い、もしくはシングルポートのメモリ装置を使用できる
ようになる。
【図面の簡単な説明】
【図1】本発明の一実施例に係わるデータ処理装置の構
成図である。
【図2】データ処理装置を適用したルータ・ブリッジの
一般的構成図である。
【図3】パケットフォーマットの具体例を示す図であ
る。
【図4】パケットフォーマットの本の具体例を示す図で
ある。
【図5】図1のヘッダ位置検出回路の動作フロー例を示
す図である。
【図6】図1のプロセッサの動作フロー例を示す図であ
る。
【符号の説明】
10 ルータ・ブリッジ 100,200 データ処理装置 110 パケット格納メモリ 120 パケットヘッダ部格納メモリ 130 メモリ制御部 131 ヘッダ位置検出回路 132 ヘッダ情報レジスタ 133 データ処理装置間転送回路 140 ネットワークコントローラ 150 プロセッサ 111 パケットヘッダ部 112 パケットデータ部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 松山 信仁 神奈川県秦野市堀山下1番地 株式会社日 立インフォメーションテクノロジー内 (72)発明者 須貝 和雄 神奈川県海老名市下今泉810番地 株式会 社日立製作所サーバ開発本部内 (72)発明者 山河 勇喜禎 神奈川県秦野市堀山下1番地 株式会社日 立インフォメーションテクノロジー内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークから受信したパケットを他
    のデータ処理装置へ転送し、他のデータ処理装置から転
    送されたパケットをネットワークへ送信する処理を行う
    データ処理装置において、 パケットを格納する第1のメモリと、該第1のメモリと
    非同期にアクセス可能でパケットのヘッダ部を格納する
    第2のメモリとを具備し、 ネットワークから受信したパケットや他のデータ処理装
    置から転送されたパケットを第1のメモリへ格納する処
    理並びにパケットをネットワークや他のデータ処理装置
    へ送信・転送するために前記第1のメモリからパケット
    を読み出す処理と、パケットのヘッダ部を解析してネッ
    トワークから受信したパケットを他のデータ処理装置へ
    転送する制御や他のデータ処理装置から転送されたパケ
    ットをネットワークへ送信する制御を行うために前記第
    2のメモリからパケットヘッダ部を読み出す処理とを並
    列に実行可能としたことを特徴とするデータ処理装置。
  2. 【請求項2】 請求項1記載のデータ処理装置におい
    て、パケットのヘッダ情報を格納する手段を具備し、前
    記ヘッダ情報をもとに、第1のメモリへパケットを格納
    すると同時に当該パケットのヘッダ部を第2のメモリへ
    格納することを特徴とするデータ処理装置。
  3. 【請求項3】 請求項1もしくは2記載のデータ処理装
    置を複数個、データバスを介して接続したことを特徴と
    するルータ・ブリッジ。
JP10061732A 1998-03-12 1998-03-12 データ処理装置及びそれを適用したルータ・ブリッジ Pending JPH11261649A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10061732A JPH11261649A (ja) 1998-03-12 1998-03-12 データ処理装置及びそれを適用したルータ・ブリッジ
US09/266,635 US6560233B1 (en) 1998-03-12 1999-03-11 Data processing apparatus and network relaying apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10061732A JPH11261649A (ja) 1998-03-12 1998-03-12 データ処理装置及びそれを適用したルータ・ブリッジ

Publications (1)

Publication Number Publication Date
JPH11261649A true JPH11261649A (ja) 1999-09-24

Family

ID=13179682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10061732A Pending JPH11261649A (ja) 1998-03-12 1998-03-12 データ処理装置及びそれを適用したルータ・ブリッジ

Country Status (2)

Country Link
US (1) US6560233B1 (ja)
JP (1) JPH11261649A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020049948A (ko) * 2000-12-20 2002-06-26 엘지전자 주식회사 패킷 스위칭 시스템
KR100424473B1 (ko) * 2001-10-19 2004-03-26 삼성전자주식회사 멀티미디어 서비스 제공하는 이동통신 단말기에서의오디오 헤더 파싱방법
JP2006135574A (ja) * 2004-11-05 2006-05-25 Fujitsu Ltd パケット伝送装置
JP2006324815A (ja) * 2005-05-17 2006-11-30 Nec Access Technica Ltd 通信装置、データ読出方法およびデータ読出プログラム
JP2007166302A (ja) * 2005-12-14 2007-06-28 Denso Corp 車載ネットワーク中継装置
JP2007195240A (ja) * 2007-03-16 2007-08-02 Sanyo Electric Co Ltd パケット処理装置、通信装置
JP2009088622A (ja) * 2007-09-27 2009-04-23 Oki Semiconductor Co Ltd バッファメモリを有するパケット転送装置および方法
JP2009218743A (ja) * 2008-03-07 2009-09-24 Canon Inc Ipプロトコル処理装置及びその処理方法
JP2010009352A (ja) * 2008-06-27 2010-01-14 Fujitsu Ltd データ転送装置、情報処理装置、データ転送方法
US7843968B2 (en) 2002-09-30 2010-11-30 Sanyo Electric Co., Ltd. Communication apparatus and applications thereof
JP2011193142A (ja) * 2010-03-12 2011-09-29 Toshiba Corp 無線通信装置及び無線通信システム

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6741594B1 (en) * 2000-06-15 2004-05-25 Advanced Micro Devices, Inc. Arrangement for identifying data packet types from multiple protocol formats on a network switch port
FI20001553A7 (fi) * 2000-06-29 2001-12-30 Nokia Corp Menetelmä ja laite datapakettien reititykseen viestintäverkoissa
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
US7085802B1 (en) * 2000-10-06 2006-08-01 International Business Machines Corporation Device for connecting two workstations with several links
US20020188732A1 (en) * 2001-06-06 2002-12-12 Buckman Charles R. System and method for allocating bandwidth across a network
JP2003008627A (ja) * 2001-06-20 2003-01-10 Nec Corp データ転送装置
US7095715B2 (en) * 2001-07-02 2006-08-22 3Com Corporation System and method for processing network packet flows
US20030033519A1 (en) * 2001-08-13 2003-02-13 Tippingpoint Technologies,Inc. System and method for programming network nodes
US7239639B2 (en) * 2001-12-27 2007-07-03 3Com Corporation System and method for dynamically constructing packet classification rules
US7953087B1 (en) * 2001-12-28 2011-05-31 The Directv Group, Inc. Content filtering using static source routes
US6954798B2 (en) * 2002-08-28 2005-10-11 Matsushita Electric Works, Ltd. Content-based routing of data from a provider to a requestor
US7542465B2 (en) * 2003-03-28 2009-06-02 Broadcom Corporation Optimization of decoder instance memory consumed by the jitter control module
US20040264479A1 (en) * 2003-06-30 2004-12-30 Makaram Raghunandan Method for generating a trie having a reduced number of trie blocks
US7697528B2 (en) * 2005-11-01 2010-04-13 Nortel Networks Limited Multilink trunking for encapsulated traffic
US7773516B2 (en) * 2006-11-16 2010-08-10 Breakingpoint Systems, Inc. Focused function network processor
US7904582B2 (en) * 2007-08-27 2011-03-08 Alaxala Networks Corporation Network relay apparatus

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640599A (en) * 1991-12-30 1997-06-17 Apple Computer, Inc. Interconnect system initiating data transfer over launch bus at source's clock speed and transfering data over data path at receiver's clock speed
US5465331A (en) * 1992-12-23 1995-11-07 International Business Machines Corporation Apparatus having three separated and decentralized processors for concurrently and independently processing packets in a communication network
US6172990B1 (en) * 1997-06-19 2001-01-09 Xaqti Corporation Media access control micro-RISC stream processor and method for implementing the same
US5938736A (en) * 1997-06-30 1999-08-17 Sun Microsystems, Inc. Search engine architecture for a high performance multi-layer switch element
US5978951A (en) * 1997-09-11 1999-11-02 3Com Corporation High speed cache management unit for use in a bridge/router
US6032190A (en) * 1997-10-03 2000-02-29 Ascend Communications, Inc. System and method for processing data packets
US6160809A (en) * 1997-12-17 2000-12-12 Compaq Computer Corporation Distributed packet data with centralized snooping and header processing router

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020049948A (ko) * 2000-12-20 2002-06-26 엘지전자 주식회사 패킷 스위칭 시스템
KR100424473B1 (ko) * 2001-10-19 2004-03-26 삼성전자주식회사 멀티미디어 서비스 제공하는 이동통신 단말기에서의오디오 헤더 파싱방법
US7843968B2 (en) 2002-09-30 2010-11-30 Sanyo Electric Co., Ltd. Communication apparatus and applications thereof
JP2006135574A (ja) * 2004-11-05 2006-05-25 Fujitsu Ltd パケット伝送装置
US7496034B2 (en) 2004-11-05 2009-02-24 Fujitsu Limited Packet processing device implementing scheduling and priority for improved efficiency
JP2006324815A (ja) * 2005-05-17 2006-11-30 Nec Access Technica Ltd 通信装置、データ読出方法およびデータ読出プログラム
JP2007166302A (ja) * 2005-12-14 2007-06-28 Denso Corp 車載ネットワーク中継装置
JP2007195240A (ja) * 2007-03-16 2007-08-02 Sanyo Electric Co Ltd パケット処理装置、通信装置
JP2009088622A (ja) * 2007-09-27 2009-04-23 Oki Semiconductor Co Ltd バッファメモリを有するパケット転送装置および方法
JP2009218743A (ja) * 2008-03-07 2009-09-24 Canon Inc Ipプロトコル処理装置及びその処理方法
JP2010009352A (ja) * 2008-06-27 2010-01-14 Fujitsu Ltd データ転送装置、情報処理装置、データ転送方法
JP2011193142A (ja) * 2010-03-12 2011-09-29 Toshiba Corp 無線通信装置及び無線通信システム

Also Published As

Publication number Publication date
US6560233B1 (en) 2003-05-06

Similar Documents

Publication Publication Date Title
JPH11261649A (ja) データ処理装置及びそれを適用したルータ・ブリッジ
US8073002B2 (en) System, method, and computer program product for multi-mode network interface operation
US8477806B2 (en) Method and system for transmission control packet (TCP) segmentation offload
EP1690387B1 (en) Tcp/ip offload device with reduced sequential processing
US7197035B2 (en) Packet transfer apparatus having network address translation circuit which enables high-speed address translation during packet reception processing
US6574240B1 (en) Apparatus and method for implementing distributed layer 3 learning in a network switch
JP2002524005A (ja) 通信を高速化するインテリジェントネットワークインタフェース装置及びシステム
US7948979B2 (en) Programmable network interface card
US6633576B1 (en) Apparatus and method for interleaved packet storage
US7474672B2 (en) Frame alteration logic for network processors
US6807183B1 (en) Arrangement for reading a prescribed location of a FIFO buffer in a network switch port
KR20020059657A (ko) 네트워크 스위치 포트 상에서 데이터 패킷들의 타입을실시간으로 확인하는 장치 및 방법
JP4182180B2 (ja) ネットワーク中継装置及びネットワーク中継方法
JP4447137B2 (ja) パケット転送処理装置
US20220393908A1 (en) Message Encapsulation Method and Apparatus, and Message Decapsulation Method and Apparatus
WO2003069440A2 (en) Network processor with high-speed transceiver
US6256307B1 (en) Local area network receive filter
KR100798926B1 (ko) 패킷 스위치 시스템에서의 패킷 포워딩 장치 및 방법
WO2002059757A1 (en) Communications processor
US7310337B2 (en) Packet header alignment
KR20030022285A (ko) 다중 최소 항들로 패킷 데이터 바이트들의 버퍼-프리를평가하는 장치 및 방법
JP2929266B2 (ja) 受信フレームに対する高速処理方式
JP3189784B2 (ja) レイヤ3マルチキャスト送信方式
TWI825293B (zh) 應用在網路裝置中的電路
CN101151870B (zh) 用于减少主机以太网适配器中的延迟的系统和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041217

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050630

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050826

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A073

Effective date: 20051108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061129

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070418