JP4079764B2 - Router device - Google Patents

Router device Download PDF

Info

Publication number
JP4079764B2
JP4079764B2 JP2002369416A JP2002369416A JP4079764B2 JP 4079764 B2 JP4079764 B2 JP 4079764B2 JP 2002369416 A JP2002369416 A JP 2002369416A JP 2002369416 A JP2002369416 A JP 2002369416A JP 4079764 B2 JP4079764 B2 JP 4079764B2
Authority
JP
Japan
Prior art keywords
processing
lan communication
lan
communication controller
processor
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 - Lifetime
Application number
JP2002369416A
Other languages
Japanese (ja)
Other versions
JP2004201164A (en
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.)
NEC Platforms Ltd
Original Assignee
NEC Platforms 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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2002369416A priority Critical patent/JP4079764B2/en
Publication of JP2004201164A publication Critical patent/JP2004201164A/en
Application granted granted Critical
Publication of JP4079764B2 publication Critical patent/JP4079764B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、LANなどのネットワークにおいて、パケット転送の処理を行うルータ装置に関する。本発明は、パケット転送におけるルーティング処理とともにフィルタリング処理を行うルータ装置に利用される。
【0002】
【従来の技術】
一般的に収容ポート数の少ない小型のルータでは価格対性能比を上げるため、CPUのソフトウェア処理によるパケット転送を行っている。
【0003】
従来のソフトウェア処理でパケット転送を行うルータ装置について図11を参照して説明する。図11において、LAN通信コントローラA1101はルータ装置の主メモリであるメモリ1108とLANポート1107との間で送受信データの転送を行う。なお、LAN通信コントローラB1115はLAN通信コントローラA1101と同じ構成でLANポートB1116に対してLAN通信コントローラA1101と同様の動作を行う。
【0004】
メモリ1108はCPU1109のルータ動作プログラム1111およびルーティングテーブルおよびフィルタリングリストを含むルータ動作パラメータ1112、さらに各LAN通信コントローラ1101および1115に送受信させる通信データの送受信バッファ1113および1114を格納する。
【0005】
CPU1109はメモリ1108に格納されたルータ動作プログラム1111を実行する。ルータ動作プログラム1111は以下の動作をCPU1109に行わせる。電源投入後の起動中処理として各LAN通信コントローラのメモリにLAN通信コントローラ用動作パラメータ(自己MACアドレス)を書き込み、起動後はパラメータにしたがったフィルタリング処理(フィルタリングリストに合致したパケットの廃棄)およびルーティング動作(受信IPパケットの宛先IPアドレスのルーティングテーブル検索による転送先LANポートの決定)によりIPパケット転送を行う。
【0006】
LAN通信コントローラ1101は専用プロセッサ1102とROM1103、メモリバスインタフェース1105、LANインタフェース1106を有し、LANポートA1107とメモリ1108との間で送受信通信データの転送を行う。
【0007】
専用プロセッサ1102はROM1103に格納されたマイクロコードプログラム1110を読み出して実行する。
【0008】
ROM1103はマイクロコードプログラム1110を格納する。マイクロコードプログラム1110は専用プロセッサ1102を一般的なLAN通信コントローラとしてメモリ1108内の送受信バッファ1113とLANインタフェース1106との間で通信データを送受信させるように動作させるプログラムである。
【0009】
次にこの従来の装置の動作をLANポートAからLANポートBへのパケット転送を例として図12に示すフローチャートを使用して説明する。
【0010】
LANポートAに通信データが届くとLAN通信コントローラA1101内の専用プロセッサ1102がROM1103内にあるマイクロコードプログラム1110にしたがって受信動作を開始し、まず、LAN上のフレームに含まれるMACアドレス(=LAN上の各LANポートの物理アドレス)について、その受信したフレームの送信先MACアドレスがブロードキャストアドレス(LAN上に存在するすべてのLANポート宛のアドレス)であるか、メモリ1108に格納されたルータ動作パラメータ1112の中に設定されている自己MACアドレスと一致するかどうかの判断を行い(1201)、いずれにも一致しない場合はそのフレームは自装置宛ではないため、それ以上の受信を行わずに中止する(1202)。いずれかに一致した場合は自装置宛のフレームであると判断して受信を続行し、受信が完了するまでメモリ1108の受信バッファ1113にそのフレームの受信データを順次転送する(1203)。転送完了後は受信待ちに戻る。
【0011】
次にCPU1109は受信バッファに通信データが届いているかどうかをチェックしており(1204)、受信データがあるとフィルタリング処理に移り、メモリ1108内にあるフィルタリングリストとの比較を行って、廃棄するか転送処理を行うかの判断を行う(1205)。次に転送処理ではメモリ1108内にあるルーティングテーブル検索を行って転送先LANポート(この例ではLANポートB)を決定する。続いてそのポートの送信バッファ1114に受信データを転送し、そのポートのLAN通信コントローラの動作パラメータに対して送信指示を出すことにより実際にLANポートB1116からデータが送信される。なお、ルーティングテーブル検索動作は、当業者にとってよく知られており、その詳細な動作は省略する。
【0012】
しかしながら、従来のソフトウェア処理でパケット転送を行うルータ装置においては、次のような問題がある。
【0013】
第1の問題は、CPUでフィルタ処理とルーティング処理の両方を行っているため、フィルタリング処理が不要で動作を止めてルーティング処理のみ行っている時に比べて、フィルタリング処理も行う時には装置としての転送能力が著しく落ちるということである。
【0014】
第2の問題は、CPUでフィルタリング処理とルーティング処理の両方を行っているため、フィルタリング処理とルーティング処理の両方を行っている時の転送能力を上げる際にはCPUの性能を上げるあるいはフィルタリング処理を専用にCPUをもう1台用意するなど大きくコストがかかるということである。
【0015】
そこで、CPUでのフィルタリング処理の負荷を軽減するためにLAN通信コントローラ側でフィルタリング処理を行い、CPUはルーティング処理を行うようにその処理を分担しようとする提案がなされている(特許文献1)。
【0016】
この特許文献1に記載された構成は、CPUの処理効率を上げるため、LAN通信コントローラ側にフィルタリング制御部を設け、受信したパケットとフィルタリングリストと比較して受信しないパケットは廃棄するフィルタリング処理を行い、CPUはフィルタリング処理が行われたパケットについてルーティング処理あるいはブリッジ処理を行うようにしたものである。
【0017】
【特許文献1】
特開平7−336384号公報
【0018】
【発明が解決しようとする課題】
しかしながら、この特許文献1では、各LAN通信コントローラに設けられたフィルタリング制御部は、受信したパケット(フレーム)から抽出されたMACアドレスをCAMに設定されたアドレスと比較して廃棄すべきパケットである場合にはその廃棄を指示する構成である。このフィルタリング制御部でのフィルタリング処理はCAMのアドレスの設定は変更可能であるが、フィルタリング動作そのものは固定的な処理であり、フィルタリング処理をトラフィックの状況に応じて動的に変化させたり、あるいはVLAN(Virtual Local Area Network)のように、同一のポートに複数の仮想チャネルが入出力される処理に対応する処理が柔軟に行うことができなかった。
【0019】
本発明は上述の課題に基づくもので、ルータの主CPUの負荷を軽減するとともに、各LAN通信コントローラが行うフィルタリング処理を動的に変化させることができるルータ装置を提供することを目的とする。また本発明は、同一ポートを複数のVLANで利用するような形態において、LAN通信コントーラ側において、どのVLANのパケットであるのかを判定して、主CPUにおけるルーティング処理負担を軽減してVLAN使用時のルータのコストパフォーマンスを低下させないルータ装置を提供することを目的とする。
【0020】
【発明が解決しようとする手段】
本発明では、ルータ装置の主プロセッサが主にルーティング処理を行い、LAN通信コントローラに設けられた専用プロセッサ(LAN通信プロセッサ)がLANとの間の送受信処理を行うとともに、フィルタリング処理を行って、主プロセッサとパケット転送処理の分担を行っている。
【0021】
各LAN通信コントローラは、専用プロセッサが実行する処理プログラムとしてのマイクロコードプログラムを格納する書き換え可能なメモリ手段を備えており、専用プロセッサはこのメモリ手段に格納されたマイクロコードプログラムによりその処理を行う。メモリ手段は書き換え可能であるため、専用プロセッサが実行するマイクロコードプログラムは、ルータ装置の状況に応じて動的に書き換えられる。すなわち、専用プロセッサが実行するマイクロコードはプログラマブルである。このため、例えば、フィルタリング処理で、ネットワークのトラフィックの状況に応じて主プロセッサの負荷が変化してくるので、書き換え可能メモリに格納されたマイクロコードプログラムを主プロセッサの負荷に応じてパケットの廃棄処理に優先度を設定したマイクロコードプログラムに変更して実行することで、トラフィックの状況に応じたフィルタリング処理を実行することができる。また、一つのLANポートを複数チャネルが接続されたように扱うVLANの場合には、LAN通信コントローラの専用プロセッサでどのVLANのパケットであるかを判定して転送先受信バッファに転送する。
【0022】
すなわち、本発明はパケットのルーティング処理を行う主プロセッサと、ルーティング処理プログラムならび転送処理を行うパケットが格納される主メモリと、ネットワークに接続され送受信されるパケットの送受信処理を行うLAN通信コントローラとを備え、前記LAN通信コントローラは、LANとの間でパケットの送受信処理を行うLANインタフェース部と、前記主プロセッサならびに主メモリが接続されるバスとのインタフェース処理を行うバスインタフェース部と、このLAN通信コントローラが行うパケットの送受信処理ならびにフィルタリング処理を行うLAN通信専用プロセッサとを備えたルータ装置において、前記LAN通信コントローラは、前記LAN通信専用プロセッサが実行する処理プログラムを書き換え可能に格納する書き換え可能なメモリ手段を備えたことを特徴とする。
【0023】
ここで、前記メモリ手段に格納される処理プログラムは、ルーティング処理を行う主プロセッサの負荷に応じて優先度が設定された複数のフィルタリングリストを含み、前記LAN通信専用プロセッサは、前記主プロセッサの負荷に応じて選択された優先度が設定されたフィルタリングリストに基づいてフィルタリング処理を実行する手段を含むことができる。また、前記メモリ手段に格納される処理プログラムは、一つのLAN通信コントローラが扱うLANが複数の仮想チャネルが設定されたVLANである場合に、当該VLANごとのパケットに付与されるタグを識別してパケットの送受信処理を行うプログラムであり、前記LAN通信専用プロセッサは、VLANごとのタグを識別してパケットの送受信処理を実行する手段を含むことができる。
【0024】
また、前記メモリ手段は、送受信処理を行うパケットを格納する送受信バッファとして用いられる領域と、前記専用プロセッサが実行する処理プログラムが格納される領域ならびに通信処理動作パラメータが格納される領域とに分割されて使用されることができる。
【0025】
【発明の実施の形態】
以下図面を参照して本発明の実施の形態を説明する。
【0026】
図1は、本発明の実施の形態の一例を示すルータ装置の構成を示す図であり、図2は、図1のLAN通信コントローラ中のRAM104の使用例を示す図、図3はLAN通信コントローラに二つのLANポートが設けられた例を示す図、図4は、この実施の形態でのパケット転送処理を示すフローチャート、図5は、LAN通信コントローラでのフィルタリング処理を説明するフローチャート、図6はフィルタリングリスト(テーブル)の例を示す図、図7はCPU109によるパケット転送処理を説明するフローチャートである。
【0027】
図1を参照すると、本発明の一実施例としてのソフトウェア処理でパケット転送を行うルータ装置100が示されている。
【0028】
図1において、ルータ装置100は、主にルーティング処理を行うルータ装置の主プロセッサになるCPU109、このCPU109がパケットルーティング処理に用いるメモリ108と、それぞれLANポートを備え、LANとのパケットの送受信制御およびCPU109、メモリ108とにバスによって接続される複数のLAN通信コントーラA1101、LAN通信コントローラB・・・を備えている。
【0029】
LAN通信コントローラ101は専用プロセッサ102とROM103、RAM104、メモリバスインタフェース105、LANインタフェース106を有し、LANポートA107とメモリ108との間で送受信通信データの転送と後述のマイクロコードプログラムによるフィルタリング処理を行う。
【0030】
RAM104はCPU109から書き換えが可能で、また専用プロセッサ102からも読み書きが可能で、図2に示すようにLAN通信コントローラとしての動作パラメータ201や通信データ一時保存バッファ203、専用プロセッサ102が実行できるマイクロコードプログラム202を格納する。
【0031】
専用プロセッサ102はROM103に格納されたマイクロコードプログラム110またはRAM104に格納されたマイクロコードプログラム202を読み出して実行する。
【0032】
ROM103はマイクロコードプログラム110を格納する。マイクロコードプログラム110は専用プロセッサ102をRAM104に格納された動作パラメータ201にしたがって一般的なLAN通信コントローラとしてメモリ108とLANインタフェース106との間で通信データを転送させるように動作させ、さらにRAM104内のマイクロコードプログラム202を実行させるプログラムである。
【0033】
マイクロコードプログラム202は専用プロセッサ102をメモリ108とLANインタフェース106との間で転送される転送データに対してパターンマッチによる比較とその結果に基づく処理、すなわちフィルタリング処理を行わせるプログラムである。
【0034】
LAN通信コントローラB115はLAN通信コントローラA101と全く同一構成でLANポートB116に対して同様の動作を行う。
【0035】
メモリ108はCPU109のルータ動作プログラム111およびルータ動作パラメータ112、さらにLAN通信コントローラ101または115に送受信させる通信データの送受信バッファ113、114を格納する。
【0036】
CPU109はメモリ108に格納されたルータ動作プログラム111を実行する。ルータ動作プログラム111は以下の動作をCPUに行わせる。
【0037】
電源投入後の起動中処理としてRAM104などの各LAN通信コントローラのRAMにLAN通信コントローラ用動作パラメータ(自己MACアドレスとマイクロコード実行フラグのセット)とフィルタ動作を行うマイクロコードを書き込み、起動後はパラメータにしたがったルーティング動作(受信IPパケットの宛先IPアドレスのルーティングテーブル検索による転送先LANポートの決定)によりIPパケット転送を行う。
【0038】
以上詳細に実施例の構成を述べたが、図1のメモリ108に格納されたルータ動作ソフトウェアのルーティング検索動作は、当業者にとってよく知られているので、その詳細な説明は省略する。
【0039】
なお、上記図1に示すルータ装置の説明では、各LANポート毎にLAN通信コントローラを設けているが、図3のように1つのLAN通信コントローラで2つのLANポートの処理を行ってもよい。
【0040】
次に図1のルータ装置100の動作をLANポートA107からLANポートB116へのIPパケット転送を例として図4に示すフローチャートを使用して説明する。
【0041】
なお、図1のRAM104については、動作パラメータには自己MACアドレスとマイクロコード実行フラグが、またマイクロコードプログラム格納エリアには後述のフィルタリング動作を行うマイクロコードプログラムが、装置電源投入後のCPU109による初期化動作時に、予め書き込まれている。
【0042】
図4において、LANポートA107にLANポートB116宛の転送すべきパケットが載ったLAN上のフレームが到着すると、LAN通信コントローラA101では図1のROM103に格納されたマイクロコードプログラムにしたがって以下の動作を専用プロセッサ102が開始する。
【0043】
まず、LAN上のフレームに含まれるMACアドレス(=LAN上の各LANポートの物理アドレス)について、その受信したフレームの送信先MACアドレスがブロードキャストアドレス(LAN上に存在するすべてのLANポート宛のアドレス)であるか、または図1のRAM104に格納された動作パラメータの中に設定されている自己MACアドレスと一致するかどうかの判定を行い(401)、いずれにも一致しない場合はそのフレームは自装置宛ではないため受信対象外とし、それ以上の受信は行わない(402)。
【0044】
いずれかに一致した場合は自装置宛のフレームであると判断して受信を続行し、受信が完了するまで図1のRAM104の通信データ一時保存バッファにそのフレームの受信データを順次転送する。転送完了後、図1のRAM104に格納された動作パラメータのマイクロコード実行フラグがセットされているため、後述のフィルタリング動作(403)のマイクロコードプログラムを呼び出し実行する。その結果、廃棄と判定された場合には通信データ一時保存バッファ203にあるデータは廃棄して受信待ちに戻り、転送処理と判定された場合には通信データ一時保存バッファ203にあるデータをメモリ108の受信バッファ113へ転送(404)した後、受信待ちに戻る。
【0045】
ここで、フィルタリング動作(403)を行うマイクロコードプログラムについて図5に示すフローチャートおよび図6に示すフィルタリングリストの例を使用して説明する。
【0046】
まず図6のようなフィルタリングリストはマイクロコードプログラムの一部として含まれており、ユーザが予め転送対象とせずに受信しても廃棄するとしたIPパケットのヘッダ情報が少なくとも1つは登録されている。
【0047】
専用プロセッサ102はフィルタリングリスト206にある最初のヘッダ情報を読み出して通信データ一時保存バッファにある受信データに含まれるIPパケットのヘッダと比較し(501)、完全に一致すれば廃棄と判断してROM103のマイクロコードプログラム110に戻る(502)。一致しなければフィルタリングリストに次のヘッダ情報があるかを調べ(503)、存在しなければリスト中のすべてに一致しなかったことになるため、転送処理と判定してROM103のマイクロコードプログラム110に戻る(504)。次のヘッダ情報が存在していればそのヘッダ情報を読み出して(505)、通信データ一時保存バッファにあるIPパケットのヘッダとの比較(501)に戻る。ここまでがフィルタリング動作(403)の動作説明である。
【0048】
続いてフィルタリングリストの対象とならずメモリ108の受信バッファに転送された後のCPU109によるルーティング動作(405)について説明する。CPU109はルータ動作プログラム111にしたがって動作しており、そのソフトウェアの動作は図7に示すフローチャートのとおりである。
【0049】
まずCPU109は各LANポートの受信バッファに通信データが届いていないかどうかを他の処理がない時には常にチェックしており(701)、いずれかの受信バッファに受信データが1つでも届いていれば次の処理に移る。次にルーティングテーブル検索を行って転送先LANポート(この例ではLANポートB)を決定し(702)、そのポートの送信バッファに受信データを転送して(703)、そのポートのLAN通信コントローラの動作パラメータに対して送信指示を出した(704)後、再び受信バッファチェックに戻る。なお、ルーティングテーブル検索動作は、当業者にとってよく知られているため、その詳細な動作の説明は省略する。ここまでがCPU109のルーティング動作(405)の説明である。
【0050】
続いて図7の704にて送信指示を受けたLAN通信コントローラB115では、マイクロコードプログラムに、動作パラメータを通じてCPU109から送信指示があった時には送信バッファから通信データを順次読み出してLANインタフェースに転送するようにプログラムされているため、それにしたがって専用プロセッサが動作し、送信バッファ114からデータが読み出されてLANポートB116にデータが送信される。
【0051】
以上説明した発明の構成においては、フィルタリング処理をLAN通信コントローラで行い、CPUはルーティング処理に専念できるので、フィルタリング処理もCPUで行っている場合に比べて転送能力を向上できる。また、LAN通信コントローラでフィルタリング動作を行うマイクロコードプログラムをLAN通信コントローラRAMに格納しているので、CPUで処理した場合と同様の様々なフィルタ機能をCPUの処理を行わずに実現できる。さらに、CPUではなく、LAN通信コントローラに元々内蔵されている専用プロセッサを利用しているので、LAN通信コントローラへのRAMの追加だけで実現できるため、安価にルータ装置を実現できる。
【0052】
(応用例)
本発明の書き換え可能なメモリをLAN通信コントローラに設けて、専用プロセッサが実行する処理に必要なマイクロコードプログラムを書き換える構成での実施の形態を応用した例を説明する。
【0053】
(第一応用例)
そのルータ装置の基本的構成は図1に示した構成と同じであるが、LAN通信コントローラでのフィルタリングリストと受信データの比較を行うマイクロコードプログラムについてさらに工夫することにより、新たなルータ装置としての機能を発揮できる。
【0054】
そのフローチャートを図8に、フィルタリングリストの例を図9に示す。図8において、801はメモリ108の当該LANポートの受信バッファのうちの空いているものの割合からCPU109の負荷を高(例えば30%以下)/中(例えば50%以下)/低(例えば50%以上)に分類している。また図9は廃棄するパケットのヘッダ情報に優先度を追加したフィルタリングリストである。
【0055】
ここで優先度の定義は次のとおりである。Aは優先度が高く、負荷が中または低であればこのリストは無効としてヘッダ情報の比較をしない。Bは優先度が中間で、負荷が低であればこのリストは無効としてヘッダ情報の比較をしない。Cは優先度が低く、負荷の状態によらずリストは有効である。有効なリストについてはヘッダ情報の比較を行い、一致したら廃棄する。続いて802の処理ではそのリストの優先度と801で分類した負荷とを比較してリストが有効かを判断する。
【0056】
このように、本第一応用例では、CPUの負荷状態に対応して転送優先度に応じたフィルタリング動作を行えるので、CPUの負荷が高くて受信バッファが残り少ない時に優先度の高いパケットだけを受信バッファに転送して高優先度のパケットの廃棄を減らす、すなわち入力QoSの実現ができるという効果が得られる。
【0057】
(第二応用例)
本発明のさらに別の応用例として、その基本的構成は図1に示す構成と同じであるが、LAN通信コントローラのマイクロコードプログラムについてさらに工夫することで、新たな機能を発揮できる。
【0058】
この第二応用例では同一ポートで2つのVLANを利用している際に、受信データがどちらのVLANかの判定をCPUではなく、LAN通信コントローラのマイクロコードプログラムで行わせている。その動作例を図10に示すフローチャートを使用して説明する。MACアドレスの確認で受信対象となり、通信データ一時バッファに転送された受信データに対して、含まれるVLANタグの値が1であるか2であるかをチェックして2つのVLANのいずれかを判断する(図1001)。続いてその分岐先では各VLAN受信バッファにその受信フレームを転送している。
【0059】
このように、本応用例では、LAN通信コントローラで判定してVLAN毎の受信バッファに転送するので、CPUでのどのVLANのものかを判定する必要がなく、CPUで判定していた場合に比べて、VLAN使用時に装置としてのルーティング能力が落ちないという効果が得られる。
【0060】
以上の発明の実施の形態の説明ならびに応用例の説明では、RAMをバッファとマイクロコードプログラムと動作パラメータとの格納用として使用する例で説明したが、バッファとして使用するメモリは別途設けてもよい。また、IPパケットを一時保存するバッファを別途設けたときは、マイクロコードプログラムを格納するRAMは、専用プロセッサからは動作パラメータ、フィルタリングリストの読み出しが主となり、書き込み回数がそれほどではなくなるので、書き込み回数が少なくてもよいEEROMやフラッシュメモリなどで構成されたメモリでもよい。
【0061】
さらに、マイクロコードプログラムを格納するROMは、マイクロコードプログラムが書き換え可能であるメモリ、例えばEEROM、SRAM等を用い、外部からLAN通信コントローラが実行する処理内容を書き換えることができる構成にしてもよい。外部からマイクロコードプログラムを書き換えることにより、LAN構成の変更、処理内容の変更、バージョンの変更に柔軟に対応することが可能である。
【0062】
【発明の効果】
本発明では、LAN通信コントローラの専用プロセッサはその書き換え可能なRAMに格納されたマイクロコードプログラムが変更可能であるため、柔軟にフィルタリング処理を行うことができるため、主プロセッサであるCPUの負担を軽減させ、処理能力を向上させることができる。またマイクロコードプログラムをプログラマブルに書き換えることにより、トラフィックの状態に応じて優先度の高いパケットの廃棄を減らし、高いQoSの通信を実現することが可能である。また、VLANを利用した場合にも、いままでCPUで処理していたパケットがどのVLANのものであるかをLAN通信コントローラで判定することができるため、ルータのCPUの処理負担を軽減し、ルータとしてのパフォーマンスを向上させることができる。また、LAN通信コントローラの専用プロセッサによる処理は、もともとLAN通信コントローラに内蔵されている専用プロセッサを利用するため、LAN通信コントローラに書き換え可能なメモリを追加するだけで上述のLAN通信コントローラの機能を実現することができるため、ルータ装置の機能向上を安価に行うことができる。
【図面の簡単な説明】
【図1】本発明の実施の形態のルータ装置の構成を示す図
【図2】LAN通信コントローラのRAMの構成を示す図。
【図3】LAN通信コントローラの別の構成を示す図。
【図4】ルータ装置の動作を説明するフローチャート。
【図5】LAN通信コントローラのフィルタリング動作を説明するフローチャート。
【図6】フィルタリングリストの例を示す図。
【図7】CPUのルーティング動作を説明するフローチャート。
【図8】第一応用例のフィルタリング動作を説明するフローチャート。
【図9】第一応用例のフィルタリングリストの例を示す図。
【図10】第二応用例のLAN通信コントローラの動作を説明するフローチャート。
【図11】従来のルータ装置の構成を示す図。
【図12】従来のルータ装置の動作を説明するフローチャート。
【符号の説明】
100、1100 ルータ装置
101 115、1101、1115 LAN通信コントローラ
102、1102 専用プロセッサ
103、1103 ROM
104 RAM
105、1105 メモリバスインタフェース
106、1106 LANインタフェース
107、1107、116、1116 LANポート
108、1108 メモリ
109、1109 CPU
110 1110 マイクロコード
111、1111 ルータ動作プログラム
112、1112 ルータ動作パラメータ
113、114、1113、1114 バッファ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a router apparatus that performs packet transfer processing in a network such as a LAN. The present invention is used in a router apparatus that performs a filtering process together with a routing process in packet transfer.
[0002]
[Prior art]
In general, a small router with a small number of accommodating ports performs packet transfer by CPU software processing in order to increase the price-performance ratio.
[0003]
A router apparatus that performs packet transfer by conventional software processing will be described with reference to FIG. In FIG. 11, a LAN communication controller A 1101 transfers transmission / reception data between a memory 1108 as a main memory of the router device and a LAN port 1107. Note that the LAN communication controller B 1115 performs the same operation as the LAN communication controller A 1101 for the LAN port B 1116 with the same configuration as the LAN communication controller A 1101.
[0004]
The memory 1108 stores a router operation program 1111 of the CPU 1109, router operation parameters 1112 including a routing table and a filtering list, and communication data transmission / reception buffers 1113 and 1114 to be transmitted / received to / from each LAN communication controller 1101 and 1115.
[0005]
The CPU 1109 executes the router operation program 1111 stored in the memory 1108. The router operation program 1111 causes the CPU 1109 to perform the following operations. As a process during startup after power-on, the LAN communication controller operation parameter (self MAC address) is written to the memory of each LAN communication controller. After startup, filtering processing (discarding packets that match the filtering list) and routing according to the parameter The IP packet is transferred by the operation (determination of the transfer destination LAN port by searching the routing table of the destination IP address of the received IP packet).
[0006]
The LAN communication controller 1101 includes a dedicated processor 1102, a ROM 1103, a memory bus interface 1105, and a LAN interface 1106, and transfers transmission / reception communication data between the LAN port A 1107 and the memory 1108.
[0007]
The dedicated processor 1102 reads and executes the microcode program 1110 stored in the ROM 1103.
[0008]
The ROM 1103 stores a microcode program 1110. The microcode program 1110 is a program for operating the dedicated processor 1102 to transmit and receive communication data between the transmission / reception buffer 1113 in the memory 1108 and the LAN interface 1106 using a general LAN communication controller.
[0009]
Next, the operation of this conventional apparatus will be described with reference to the flowchart shown in FIG. 12, taking as an example the packet transfer from LAN port A to LAN port B.
[0010]
When communication data arrives at the LAN port A, the dedicated processor 1102 in the LAN communication controller A 1101 starts receiving operation according to the microcode program 1110 in the ROM 1103. First, the MAC address (= on LAN) included in the frame on the LAN The physical MAC address of each LAN port) is a broadcast address (address to all LAN ports existing on the LAN) or the router operation parameter 1112 stored in the memory 1108. (1201), and if it does not match any of the frames, the frame is not addressed to the own device, so it is canceled without receiving any more. (1202). If it matches any of the frames, it is determined that the frame is addressed to its own device, and the reception is continued. The reception data of the frame is sequentially transferred to the reception buffer 1113 of the memory 1108 until the reception is completed (1203). After transfer is completed, the process returns to reception waiting.
[0011]
Next, the CPU 1109 checks whether communication data has arrived in the reception buffer (1204). If there is reception data, the CPU 1109 moves to filtering processing, compares with the filtering list in the memory 1108, and discards it. It is determined whether to perform the transfer process (1205). Next, in the transfer process, the routing table in the memory 1108 is searched to determine the transfer destination LAN port (LAN port B in this example). Subsequently, the reception data is transferred to the transmission buffer 1114 of the port, and the data is actually transmitted from the LAN port B 1116 by issuing a transmission instruction to the operation parameter of the LAN communication controller of the port. Note that the routing table search operation is well known to those skilled in the art, and detailed operation thereof is omitted.
[0012]
However, a router device that performs packet transfer by conventional software processing has the following problems.
[0013]
The first problem is that both the filtering process and the routing process are performed by the CPU, so that the filtering capability is not necessary and the transfer capability as a device when the filtering process is performed as compared with the case where only the routing process is performed. Is significantly reduced.
[0014]
The second problem is that both the filtering process and the routing process are performed by the CPU. Therefore, when the transfer capability is increased when both the filtering process and the routing process are performed, the CPU performance is increased or the filtering process is performed. This means that there is a large cost such as preparing another CPU for exclusive use.
[0015]
Therefore, a proposal has been made to perform filtering processing on the LAN communication controller side in order to reduce the filtering processing load on the CPU, and to share the processing so that the CPU performs routing processing (Patent Document 1).
[0016]
In the configuration described in Patent Document 1, a filtering control unit is provided on the LAN communication controller side in order to increase the processing efficiency of the CPU, and a filtering process is performed to discard packets that are not received in comparison with a received packet and a filtering list. The CPU performs a routing process or a bridge process on the packet subjected to the filtering process.
[0017]
[Patent Document 1]
JP 7-336384 A
[0018]
[Problems to be solved by the invention]
However, in Patent Document 1, the filtering control unit provided in each LAN communication controller is a packet to be discarded by comparing the MAC address extracted from the received packet (frame) with the address set in the CAM. In such a case, the disposal is instructed. In the filtering process in this filtering control unit, the setting of the CAM address can be changed, but the filtering operation itself is a fixed process, and the filtering process can be dynamically changed according to the traffic situation or VLAN. Like (Virtual Local Area Network), processing corresponding to processing in which a plurality of virtual channels are input to and output from the same port cannot be performed flexibly.
[0019]
The present invention is based on the above-described problems, and an object thereof is to provide a router device that can reduce the load on the main CPU of the router and can dynamically change the filtering process performed by each LAN communication controller. Further, in the present invention, in a form in which the same port is used in a plurality of VLANs, the LAN communication controller side determines which VLAN packet is used, and reduces the routing processing load on the main CPU to use the VLAN. An object of the present invention is to provide a router device that does not lower the cost performance of the router.
[0020]
Means to be Solved by the Invention
In the present invention, the main processor of the router apparatus mainly performs routing processing, and a dedicated processor (LAN communication processor) provided in the LAN communication controller performs transmission / reception processing with the LAN and performs filtering processing. The processor and the packet transfer process are shared.
[0021]
Each LAN communication controller is provided with rewritable memory means for storing a microcode program as a processing program executed by the dedicated processor, and the dedicated processor performs the process by the microcode program stored in the memory means. Since the memory means is rewritable, the microcode program executed by the dedicated processor is dynamically rewritten according to the status of the router device. That is, the microcode executed by the dedicated processor is programmable. For this reason, for example, in the filtering process, the load on the main processor changes according to the traffic situation of the network. Therefore, the microcode program stored in the rewritable memory can be discarded according to the load on the main processor. By changing to a microcode program in which priority is set to and executing it, a filtering process according to the traffic situation can be executed. In the case of a VLAN that handles a single LAN port as if multiple channels are connected, the dedicated processor of the LAN communication controller determines which VLAN packet it is and transfers it to the transfer destination reception buffer.
[0022]
That is, the present invention comprises a main processor that performs packet routing processing, a main memory that stores packets for routing processing programs and transfer processing, and a LAN communication controller that is connected to a network and performs transmission / reception processing for packets transmitted and received. The LAN communication controller includes a LAN interface unit that performs transmission / reception processing of packets with the LAN, a bus interface unit that performs interface processing with a bus to which the main processor and the main memory are connected, and the LAN communication controller. In the router apparatus provided with a processor dedicated to LAN communication that performs packet transmission / reception processing and filtering processing performed by the LAN, the LAN communication controller can rewrite a processing program executed by the LAN communication dedicated processor. Characterized by comprising a memory means capable of rewriting to be stored.
[0023]
Here, the processing program stored in the memory means includes a plurality of filtering lists in which priorities are set according to the load of the main processor that performs routing processing, and the processor dedicated to LAN communication includes the load of the main processor And a means for executing a filtering process based on a filtering list in which a priority selected in accordance with is set. The processing program stored in the memory means identifies a tag attached to a packet for each VLAN when the LAN handled by one LAN communication controller is a VLAN in which a plurality of virtual channels are set. It is a program for performing packet transmission / reception processing, and the processor dedicated to LAN communication can include means for identifying a tag for each VLAN and executing packet transmission / reception processing.
[0024]
The memory means is divided into an area used as a transmission / reception buffer for storing a packet for transmission / reception processing, an area for storing a processing program executed by the dedicated processor, and an area for storing a communication processing operation parameter. Can be used.
[0025]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0026]
FIG. 1 is a diagram showing a configuration of a router apparatus showing an example of an embodiment of the present invention, FIG. 2 is a diagram showing an example of use of a RAM 104 in the LAN communication controller of FIG. 1, and FIG. 3 is a LAN communication controller FIG. 4 is a flowchart illustrating packet transfer processing in this embodiment, FIG. 5 is a flowchart illustrating filtering processing in the LAN communication controller, and FIG. FIG. 7 is a flowchart illustrating an example of a filtering list (table). FIG.
[0027]
Referring to FIG. 1, there is shown a router device 100 that performs packet transfer by software processing as one embodiment of the present invention.
[0028]
In FIG. 1, a router device 100 is provided with a CPU 109 that mainly serves as a main processor of a router device that performs routing processing, a memory 108 that the CPU 109 uses for packet routing processing, and a LAN port, respectively, and transmission / reception control of packets with the LAN. A plurality of LAN communication controllers A 1101, LAN communication controllers B... Connected to the CPU 109 and the memory 108 via a bus.
[0029]
The LAN communication controller 101 includes a dedicated processor 102, a ROM 103, a RAM 104, a memory bus interface 105, and a LAN interface 106. The LAN communication controller 101 transfers transmission / reception communication data between the LAN port A 107 and the memory 108 and performs a filtering process using a microcode program described later. Do.
[0030]
The RAM 104 can be rewritten from the CPU 109 and can also be read from and written to by the dedicated processor 102. As shown in FIG. 2, the operation parameter 201 as the LAN communication controller, the communication data temporary storage buffer 203, and the microcode that can be executed by the dedicated processor 102 The program 202 is stored.
[0031]
The dedicated processor 102 reads and executes the microcode program 110 stored in the ROM 103 or the microcode program 202 stored in the RAM 104.
[0032]
The ROM 103 stores a microcode program 110. The microcode program 110 operates the dedicated processor 102 to transfer communication data between the memory 108 and the LAN interface 106 as a general LAN communication controller according to the operation parameter 201 stored in the RAM 104, and This is a program for executing the microcode program 202.
[0033]
The microcode program 202 is a program that causes the dedicated processor 102 to perform comparison based on pattern matching on the transfer data transferred between the memory 108 and the LAN interface 106 and processing based on the result, that is, filtering processing.
[0034]
The LAN communication controller B115 performs the same operation on the LAN port B116 with exactly the same configuration as the LAN communication controller A101.
[0035]
The memory 108 stores a router operation program 111 and a router operation parameter 112 of the CPU 109 and communication data transmission / reception buffers 113 and 114 to be transmitted / received to / from the LAN communication controller 101 or 115.
[0036]
The CPU 109 executes the router operation program 111 stored in the memory 108. The router operation program 111 causes the CPU to perform the following operations.
[0037]
As a process during startup after power-on, the LAN communication controller operation parameters (set of the self MAC address and microcode execution flag) and microcode for performing the filter operation are written in the RAM of each LAN communication controller such as the RAM 104. The IP packet is transferred by the routing operation according to the above (determination of the transfer destination LAN port by searching the routing table of the destination IP address of the received IP packet).
[0038]
Although the configuration of the embodiment has been described in detail above, the routing search operation of the router operation software stored in the memory 108 of FIG. 1 is well known to those skilled in the art, and thus detailed description thereof is omitted.
[0039]
In the description of the router device shown in FIG. 1, a LAN communication controller is provided for each LAN port. However, two LAN ports may be processed by one LAN communication controller as shown in FIG.
[0040]
Next, the operation of the router apparatus 100 in FIG. 1 will be described using the flow chart shown in FIG. 4 by taking IP packet transfer from the LAN port A 107 to the LAN port B 116 as an example.
[0041]
In the RAM 104 of FIG. 1, a self-MAC address and a microcode execution flag are set as operation parameters, and a microcode program for performing a filtering operation described later is set in the microcode program storage area by the CPU 109 after the apparatus power is turned on. It is written in advance during the conversion operation.
[0042]
In FIG. 4, when a frame on the LAN carrying a packet to be transferred to the LAN port B 116 arrives at the LAN port A 107, the LAN communication controller A 101 performs the following operation according to the microcode program stored in the ROM 103 of FIG. The dedicated processor 102 starts.
[0043]
First, for a MAC address included in a frame on the LAN (= physical address of each LAN port on the LAN), the destination MAC address of the received frame is a broadcast address (addresses to all LAN ports existing on the LAN) ) Or the self-MAC address set in the operation parameter stored in the RAM 104 in FIG. 1 is determined (401). Since it is not addressed to the device, it is not subject to reception and no further reception is performed (402).
[0044]
If it matches any of the frames, it is determined that the frame is addressed to its own device, and the reception is continued. The received data of the frame is sequentially transferred to the communication data temporary storage buffer of the RAM 104 in FIG. 1 until the reception is completed. After completion of the transfer, since the microcode execution flag of the operation parameter stored in the RAM 104 of FIG. 1 is set, a microcode program for the filtering operation (403) described later is called and executed. As a result, when it is determined to be discarded, the data in the communication data temporary storage buffer 203 is discarded and the process returns to waiting for reception. When it is determined to be transfer processing, the data in the communication data temporary storage buffer 203 is stored in the memory 108. After transfer (404) to the reception buffer 113, the process returns to reception waiting.
[0045]
Here, the microcode program for performing the filtering operation (403) will be described using the flowchart shown in FIG. 5 and the example of the filtering list shown in FIG.
[0046]
First, the filtering list as shown in FIG. 6 is included as a part of the microcode program, and at least one header information of the IP packet that the user discards even if it is received without being subject to transfer in advance is registered. .
[0047]
The dedicated processor 102 reads the first header information in the filtering list 206 and compares it with the header of the IP packet included in the received data in the communication data temporary storage buffer (501). Return to the microcode program 110 of (502). If they do not match, it is checked whether there is the next header information in the filtering list (503). If it does not exist, it does not match all the items in the list. Return to (504). If the next header information exists, the header information is read (505), and the process returns to the comparison (501) with the header of the IP packet in the communication data temporary storage buffer. This is the description of the filtering operation (403).
[0048]
Next, the routing operation (405) by the CPU 109 after being transferred to the reception buffer of the memory 108 without being subject to the filtering list will be described. The CPU 109 operates according to the router operation program 111, and the operation of the software is as shown in the flowchart shown in FIG.
[0049]
First, the CPU 109 always checks whether communication data does not reach the reception buffer of each LAN port when there is no other processing (701), and if any reception data reaches any of the reception buffers. Move on to the next process. Next, a routing table search is performed to determine the transfer destination LAN port (LAN port B in this example) (702), the received data is transferred to the transmission buffer of that port (703), and the LAN communication controller of that port is After issuing a transmission instruction to the operation parameter (704), the process returns to the reception buffer check again. Since the routing table search operation is well known to those skilled in the art, a detailed description of the operation is omitted. Up to here, the routing operation (405) of the CPU 109 has been described.
[0050]
Subsequently, in the LAN communication controller B115 that receives the transmission instruction at 704 in FIG. 7, when there is a transmission instruction from the CPU 109 through the operation parameter in the microcode program, the communication data is sequentially read from the transmission buffer and transferred to the LAN interface. Therefore, the dedicated processor operates accordingly, the data is read from the transmission buffer 114, and the data is transmitted to the LAN port B116.
[0051]
In the configuration of the invention described above, the filtering process is performed by the LAN communication controller and the CPU can concentrate on the routing process, so that the transfer capability can be improved as compared with the case where the filtering process is also performed by the CPU. In addition, since the microcode program for performing the filtering operation by the LAN communication controller is stored in the LAN communication controller RAM, various filter functions similar to those performed by the CPU can be realized without performing the processing of the CPU. Furthermore, since a dedicated processor originally incorporated in the LAN communication controller is used instead of the CPU, the router device can be realized at low cost because it can be realized only by adding RAM to the LAN communication controller.
[0052]
(Application examples)
An example will be described in which the rewritable memory of the present invention is provided in a LAN communication controller, and an embodiment in which the microcode program necessary for processing executed by a dedicated processor is rewritten is applied.
[0053]
(First application example)
The basic configuration of the router device is the same as the configuration shown in FIG. 1, but by further devising a microcode program that compares the filtering list and received data in the LAN communication controller, The function can be demonstrated.
[0054]
The flowchart is shown in FIG. 8, and an example of the filtering list is shown in FIG. In FIG. 8, reference numeral 801 indicates that the load on the CPU 109 is high (for example, 30% or less) / medium (for example, 50% or less) / low (for example, 50% or more) from the ratio of the reception buffers of the LAN port of the memory 108 that are free. ). FIG. 9 is a filtering list in which priority is added to header information of packets to be discarded.
[0055]
Here, the definition of priority is as follows. If A has a high priority and the load is medium or low, this list is invalid and the header information is not compared. If the priority of B is medium and the load is low, this list is invalid and the header information is not compared. C has a low priority, and the list is valid regardless of the load state. For valid lists, compare header information and discard if they match. Subsequently, in the process 802, it is determined whether the list is valid by comparing the priority of the list with the load classified in 801.
[0056]
As described above, in the first application example, since the filtering operation according to the transfer priority can be performed in accordance with the load state of the CPU, only the high priority packet is received when the CPU load is high and the reception buffer is low. The effect of reducing the discard of high priority packets by transferring to the buffer, that is, realizing the input QoS can be obtained.
[0057]
(Second application example)
As another application example of the present invention, the basic configuration is the same as the configuration shown in FIG. 1, but a new function can be exhibited by further devising the microcode program of the LAN communication controller.
[0058]
In this second application example, when two VLANs are used on the same port, the determination of which VLAN the received data is is performed by the microcode program of the LAN communication controller instead of the CPU. An example of the operation will be described with reference to the flowchart shown in FIG. Checks whether the VLAN tag value is 1 or 2 for the received data transferred to the communication data temporary buffer, which is subject to reception when the MAC address is confirmed, and determines one of the two VLANs. (FIG. 1001). Subsequently, the reception frame is transferred to each VLAN reception buffer at the branch destination.
[0059]
As described above, in this application example, since the determination is made by the LAN communication controller and the data is transferred to the reception buffer for each VLAN, it is not necessary to determine which VLAN in the CPU, and compared with the case where the determination is made by the CPU. Thus, there is an effect that the routing capability as a device does not deteriorate when the VLAN is used.
[0060]
In the above description of the embodiment of the invention and the description of the application example, the RAM is used as an example for storing the buffer, the microcode program, and the operation parameter. However, the memory used as the buffer may be provided separately. . In addition, when a buffer for temporarily storing IP packets is separately provided, the RAM for storing the microcode program mainly reads the operation parameters and the filtering list from the dedicated processor, and the number of times of writing is not so large. It may be a memory composed of an EEROM, a flash memory, or the like, which may be less.
[0061]
Further, the ROM for storing the microcode program may be configured such that the processing contents executed by the LAN communication controller from the outside can be rewritten using a memory in which the microcode program can be rewritten, for example, EEROM, SRAM or the like. By rewriting the microcode program from the outside, it is possible to flexibly cope with changes in the LAN configuration, changes in processing contents, and changes in version.
[0062]
【The invention's effect】
In the present invention, the dedicated processor of the LAN communication controller can change the microcode program stored in its rewritable RAM, so that the filtering process can be performed flexibly, reducing the burden on the CPU as the main processor. And the processing capacity can be improved. In addition, by rewriting the microcode program in a programmable manner, it is possible to reduce the discard of packets with high priority according to the traffic state and realize high QoS communication. Further, even when a VLAN is used, since the LAN communication controller can determine which VLAN the packet that has been processed by the CPU so far is, the processing load on the CPU of the router is reduced. As a performance can be improved. In addition, the processing by the dedicated processor of the LAN communication controller uses the dedicated processor originally built in the LAN communication controller, so the above-mentioned functions of the LAN communication controller are realized simply by adding a rewritable memory to the LAN communication controller. Therefore, the function of the router device can be improved at a low cost.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a router device according to an embodiment of the present invention.
FIG. 2 is a diagram showing a configuration of a RAM of a LAN communication controller.
FIG. 3 is a diagram showing another configuration of the LAN communication controller.
FIG. 4 is a flowchart for explaining the operation of the router device.
FIG. 5 is a flowchart for explaining a filtering operation of the LAN communication controller.
FIG. 6 is a diagram showing an example of a filtering list.
FIG. 7 is a flowchart for explaining a CPU routing operation.
FIG. 8 is a flowchart for explaining a filtering operation of the first application example.
FIG. 9 is a diagram showing an example of a filtering list of the first application example.
FIG. 10 is a flowchart for explaining the operation of the LAN communication controller of the second application example.
FIG. 11 is a diagram showing a configuration of a conventional router device.
FIG. 12 is a flowchart for explaining the operation of a conventional router device.
[Explanation of symbols]
100, 1100 router device
101 115, 1101, 1115 LAN communication controller
102, 1102 dedicated processor
103, 1103 ROM
104 RAM
105, 1105 Memory bus interface
106, 1106 LAN interface
107, 1107, 116, 1116 LAN port
108, 1108 memory
109, 1109 CPU
110 1110 Microcode
111, 1111 router operation program
112, 1112 Router operating parameters
113, 114, 1113, 1114 buffer

Claims (3)

パケットのルーティング処理を行う主プロセッサと、ルーティング処理プログラムならび転送処理を行うパケットが格納される主メモリと、ネットワークに接続され送受信されるパケットの送受信処理を行うLAN通信コントローラとを備え、
前記LAN通信コントローラは、LANとの間でパケットの送受信処理を行うLANインタフェース部と、前記主プロセッサならびに主メモリが接続されるバスとのインタフェース処理を行うバスインタフェース部と、このLAN通信コントローラが行うパケットの送受信処理ならびにフィルタリング処理を行うLAN通信専用プロセッサとを備えた
ルータ装置において、
前記LAN通信コントローラは、前記LAN通信専用プロセッサが実行する処理プログラムを書き換え可能に格納する書き換え可能なメモリ手段を備え、
前記メモリ手段に格納される処理プログラムは、ルーティング処理を行う主プロセッサの負荷に応じて優先度が設定された複数のフィルタリングリストを含み、前記LAN通信専用プロセッサは、前記主プロセッサの負荷に応じて選択された優先度が設定されたフィルタリングリストに基づいてフィルタリング処理を実行する手段を含む
ことを特徴とするルータ装置。
A main processor for performing packet routing processing, a main memory for storing packets for routing processing programs and transfer processing, and a LAN communication controller for performing transmission / reception processing for packets transmitted and received connected to the network,
The LAN communication controller performs a LAN interface unit that performs packet transmission / reception processing with a LAN, a bus interface unit that performs interface processing with the bus to which the main processor and main memory are connected, and the LAN communication controller. In a router device equipped with a dedicated processor for LAN communication that performs packet transmission / reception processing and filtering processing,
The LAN communication controller includes rewritable memory means for storing a processing program executed by the processor dedicated to LAN communication in a rewritable manner,
The processing program stored in the memory means includes a plurality of filtering lists in which priorities are set according to the load of the main processor that performs routing processing, and the processor dedicated to LAN communication corresponds to the load of the main processor A router device comprising: means for performing filtering processing based on a filtering list in which a selected priority is set .
前記メモリ手段は、送受信処理を行うパケットを格納する送受信バッファとして用いられる領域と、前記LAN通信専用プロセッサが実行する処理プログラムが格納される領域ならびに通信処理動作パラメータが格納される領域とに分割されて使用される請求項1記載のルータ装置。 The memory means is divided into an area used as a transmission / reception buffer for storing a packet for transmission / reception processing, an area for storing a processing program executed by the processor dedicated to LAN communication, and an area for storing communication processing operation parameters. The router device according to claim 1, wherein the router device is used. パケットのルーティング処理を行う主プロセッサと、ルーティング処理プログラムならび転送処理を行うパケットが格納される主メモリと、ネットワークに接続され送受信されるパケットの送受信処理を行うLAN通信コントローラとを備え、
前記LAN通信コントローラは、LANとの間でパケットの送受信処理を行うLANインタフェース部と、前記主プロセッサならびに主メモリが接続されるバスとのインタフェース処理を行うバスインタフェース部と、このLAN通信コントローラが行うパケットの送受信処理ならびにフィルタリング処理を行うLAN通信専用プロセッサとを備えた
ルータ装置において、
前記LAN通信コントローラは、前記LAN通信専用プロセッサが実行する処理プログラムを書き換え可能に格納する書き換え可能なメモリ手段を備え、
前記メモリ手段は、送受信処理を行うパケットを格納する送受信バッファとして用いられる領域と、前記専用プロセッサが実行する処理プログラムが格納される領域ならびに通信処理動作パラメータが格納される領域とに分割されて使用される
ことを特徴とするルータ装置。
A main processor for performing packet routing processing, a main memory for storing packets for routing processing programs and transfer processing, and a LAN communication controller for performing transmission / reception processing for packets transmitted and received connected to the network,
The LAN communication controller performs a LAN interface unit that performs packet transmission / reception processing with a LAN, a bus interface unit that performs interface processing with the bus to which the main processor and main memory are connected, and the LAN communication controller. A dedicated processor for LAN communication that performs packet transmission / reception processing and filtering processing
In the router device,
The LAN communication controller includes rewritable memory means for storing a processing program executed by the processor dedicated to LAN communication in a rewritable manner,
The memory means is divided into an area used as a transmission / reception buffer for storing packets for transmission / reception processing, an area for storing a processing program executed by the dedicated processor, and an area for storing communication processing operation parameters. Be done
A router device characterized by that .
JP2002369416A 2002-12-20 2002-12-20 Router device Expired - Lifetime JP4079764B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002369416A JP4079764B2 (en) 2002-12-20 2002-12-20 Router device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002369416A JP4079764B2 (en) 2002-12-20 2002-12-20 Router device

Publications (2)

Publication Number Publication Date
JP2004201164A JP2004201164A (en) 2004-07-15
JP4079764B2 true JP4079764B2 (en) 2008-04-23

Family

ID=32765648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002369416A Expired - Lifetime JP4079764B2 (en) 2002-12-20 2002-12-20 Router device

Country Status (1)

Country Link
JP (1) JP4079764B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4648182B2 (en) 2005-12-19 2011-03-09 富士通株式会社 Packet relay system
CN100365575C (en) * 2006-03-18 2008-01-30 华为技术有限公司 Method for realizing network processor dynamic loading micro code and network device

Also Published As

Publication number Publication date
JP2004201164A (en) 2004-07-15

Similar Documents

Publication Publication Date Title
US7558268B2 (en) Apparatus and method for combining forwarding tables in a distributed architecture router
JP5962808B2 (en) Switch system, switch control method, and storage medium
JP4115721B2 (en) Classification and tagging rules for switching nodes
US7646790B2 (en) Communications processor
US6798788B1 (en) Arrangement determining policies for layer 3 frame fragments in a network switch
US6571291B1 (en) Apparatus and method for validating and updating an IP checksum in a network switching system
US6032190A (en) System and method for processing data packets
JPH10262075A (en) Switching hub
JP2002314571A5 (en)
US7248584B2 (en) Network packet processing
JP2004159019A (en) Extended vlan tag swap system
US7245615B1 (en) Multi-link protocol reassembly assist in a parallel 1-D systolic array system
JP4079764B2 (en) Router device
JP2005260415A (en) Network repeating device
WO2024083219A1 (en) Message processing method and apparatus, and device and storage medium
JP4766344B2 (en) Information processing apparatus and frame relay method
JP4029708B2 (en) Router device and transfer control method
WO1999014893A2 (en) Multi-port bridge with triplet architecture and periodical update of address look-up table
JP2790550B2 (en) Gateway device
JP2003158523A (en) Packet communication apparatus
JP3508057B2 (en) Layer 3 switch
JP3831920B2 (en) Data transfer device, data transfer method, data transfer program, and storage medium on which data transfer program is recorded
JP2002281071A (en) Router device and ip filtering processing method to be used for the same device and its program
US20070140249A1 (en) Processor comprising components
JP2000092082A (en) Network address converter

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051115

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20070307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080205

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4079764

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120215

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120215

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130215

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130215

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140215

Year of fee payment: 6

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term